/// <reference path="android-declarations.d.ts"/>

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: "android.permission.ACCEPT_HANDOVER";
			public static ACCESS_BACKGROUND_LOCATION: "android.permission.ACCESS_BACKGROUND_LOCATION";
			public static ACCESS_BLOBS_ACROSS_USERS: "android.permission.ACCESS_BLOBS_ACROSS_USERS";
			public static ACCESS_CHECKIN_PROPERTIES: "android.permission.ACCESS_CHECKIN_PROPERTIES";
			public static ACCESS_COARSE_LOCATION: "android.permission.ACCESS_COARSE_LOCATION";
			public static ACCESS_FINE_LOCATION: "android.permission.ACCESS_FINE_LOCATION";
			public static ACCESS_HIDDEN_PROFILES: "android.permission.ACCESS_HIDDEN_PROFILES";
			public static ACCESS_LOCATION_EXTRA_COMMANDS: "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS";
			public static ACCESS_MEDIA_LOCATION: "android.permission.ACCESS_MEDIA_LOCATION";
			public static ACCESS_NETWORK_STATE: "android.permission.ACCESS_NETWORK_STATE";
			public static ACCESS_NOTIFICATION_POLICY: "android.permission.ACCESS_NOTIFICATION_POLICY";
			public static ACCESS_WIFI_STATE: "android.permission.ACCESS_WIFI_STATE";
			public static ACCOUNT_MANAGER: "android.permission.ACCOUNT_MANAGER";
			public static ACTIVITY_RECOGNITION: "android.permission.ACTIVITY_RECOGNITION";
			public static ADD_VOICEMAIL: "com.android.voicemail.permission.ADD_VOICEMAIL";
			public static ANSWER_PHONE_CALLS: "android.permission.ANSWER_PHONE_CALLS";
			public static BATTERY_STATS: "android.permission.BATTERY_STATS";
			public static BIND_ACCESSIBILITY_SERVICE: "android.permission.BIND_ACCESSIBILITY_SERVICE";
			public static BIND_APPWIDGET: "android.permission.BIND_APPWIDGET";
			public static BIND_AUTOFILL_SERVICE: "android.permission.BIND_AUTOFILL_SERVICE";
			public static BIND_CALL_REDIRECTION_SERVICE: "android.permission.BIND_CALL_REDIRECTION_SERVICE";
			public static BIND_CARRIER_MESSAGING_CLIENT_SERVICE: "android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE";
			public static BIND_CARRIER_MESSAGING_SERVICE: "android.permission.BIND_CARRIER_MESSAGING_SERVICE";
			public static BIND_CARRIER_SERVICES: "android.permission.BIND_CARRIER_SERVICES";
			public static BIND_CHOOSER_TARGET_SERVICE: "android.permission.BIND_CHOOSER_TARGET_SERVICE";
			public static BIND_COMPANION_DEVICE_SERVICE: "android.permission.BIND_COMPANION_DEVICE_SERVICE";
			public static BIND_CONDITION_PROVIDER_SERVICE: "android.permission.BIND_CONDITION_PROVIDER_SERVICE";
			public static BIND_CONTROLS: "android.permission.BIND_CONTROLS";
			public static BIND_CREDENTIAL_PROVIDER_SERVICE: "android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE";
			public static BIND_DEVICE_ADMIN: "android.permission.BIND_DEVICE_ADMIN";
			public static BIND_DREAM_SERVICE: "android.permission.BIND_DREAM_SERVICE";
			public static BIND_INCALL_SERVICE: "android.permission.BIND_INCALL_SERVICE";
			public static BIND_INPUT_METHOD: "android.permission.BIND_INPUT_METHOD";
			public static BIND_MIDI_DEVICE_SERVICE: "android.permission.BIND_MIDI_DEVICE_SERVICE";
			public static BIND_NFC_SERVICE: "android.permission.BIND_NFC_SERVICE";
			public static BIND_NOTIFICATION_LISTENER_SERVICE: "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE";
			public static BIND_PRINT_SERVICE: "android.permission.BIND_PRINT_SERVICE";
			public static BIND_QUICK_ACCESS_WALLET_SERVICE: "android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE";
			public static BIND_QUICK_SETTINGS_TILE: "android.permission.BIND_QUICK_SETTINGS_TILE";
			public static BIND_REMOTEVIEWS: "android.permission.BIND_REMOTEVIEWS";
			public static BIND_SCREENING_SERVICE: "android.permission.BIND_SCREENING_SERVICE";
			public static BIND_TELECOM_CONNECTION_SERVICE: "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
			public static BIND_TEXT_SERVICE: "android.permission.BIND_TEXT_SERVICE";
			public static BIND_TV_INPUT: "android.permission.BIND_TV_INPUT";
			public static BIND_TV_INTERACTIVE_APP: "android.permission.BIND_TV_INTERACTIVE_APP";
			public static BIND_VISUAL_VOICEMAIL_SERVICE: "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE";
			public static BIND_VOICE_INTERACTION: "android.permission.BIND_VOICE_INTERACTION";
			public static BIND_VPN_SERVICE: "android.permission.BIND_VPN_SERVICE";
			public static BIND_VR_LISTENER_SERVICE: "android.permission.BIND_VR_LISTENER_SERVICE";
			public static BIND_WALLPAPER: "android.permission.BIND_WALLPAPER";
			public static BLUETOOTH: "android.permission.BLUETOOTH";
			public static BLUETOOTH_ADMIN: "android.permission.BLUETOOTH_ADMIN";
			public static BLUETOOTH_ADVERTISE: "android.permission.BLUETOOTH_ADVERTISE";
			public static BLUETOOTH_CONNECT: "android.permission.BLUETOOTH_CONNECT";
			public static BLUETOOTH_PRIVILEGED: "android.permission.BLUETOOTH_PRIVILEGED";
			public static BLUETOOTH_SCAN: "android.permission.BLUETOOTH_SCAN";
			public static BODY_SENSORS: "android.permission.BODY_SENSORS";
			public static BODY_SENSORS_BACKGROUND: "android.permission.BODY_SENSORS_BACKGROUND";
			public static BROADCAST_PACKAGE_REMOVED: "android.permission.BROADCAST_PACKAGE_REMOVED";
			public static BROADCAST_SMS: "android.permission.BROADCAST_SMS";
			public static BROADCAST_STICKY: "android.permission.BROADCAST_STICKY";
			public static BROADCAST_WAP_PUSH: "android.permission.BROADCAST_WAP_PUSH";
			public static CALL_COMPANION_APP: "android.permission.CALL_COMPANION_APP";
			public static CALL_PHONE: "android.permission.CALL_PHONE";
			public static CALL_PRIVILEGED: "android.permission.CALL_PRIVILEGED";
			public static CAMERA: "android.permission.CAMERA";
			public static CAPTURE_AUDIO_OUTPUT: "android.permission.CAPTURE_AUDIO_OUTPUT";
			public static CHANGE_COMPONENT_ENABLED_STATE: "android.permission.CHANGE_COMPONENT_ENABLED_STATE";
			public static CHANGE_CONFIGURATION: "android.permission.CHANGE_CONFIGURATION";
			public static CHANGE_NETWORK_STATE: "android.permission.CHANGE_NETWORK_STATE";
			public static CHANGE_WIFI_MULTICAST_STATE: "android.permission.CHANGE_WIFI_MULTICAST_STATE";
			public static CHANGE_WIFI_STATE: "android.permission.CHANGE_WIFI_STATE";
			public static CLEAR_APP_CACHE: "android.permission.CLEAR_APP_CACHE";
			public static CONFIGURE_WIFI_DISPLAY: "android.permission.CONFIGURE_WIFI_DISPLAY";
			public static CONTROL_LOCATION_UPDATES: "android.permission.CONTROL_LOCATION_UPDATES";
			public static CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS: "android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS";
			public static CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS: "android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS";
			public static CREDENTIAL_MANAGER_SET_ORIGIN: "android.permission.CREDENTIAL_MANAGER_SET_ORIGIN";
			public static DELETE_CACHE_FILES: "android.permission.DELETE_CACHE_FILES";
			public static DELETE_PACKAGES: "android.permission.DELETE_PACKAGES";
			public static DELIVER_COMPANION_MESSAGES: "android.permission.DELIVER_COMPANION_MESSAGES";
			public static DETECT_SCREEN_CAPTURE: "android.permission.DETECT_SCREEN_CAPTURE";
			public static DETECT_SCREEN_RECORDING: "android.permission.DETECT_SCREEN_RECORDING";
			public static DIAGNOSTIC: "android.permission.DIAGNOSTIC";
			public static DISABLE_KEYGUARD: "android.permission.DISABLE_KEYGUARD";
			public static DUMP: "android.permission.DUMP";
			public static ENFORCE_UPDATE_OWNERSHIP: "android.permission.ENFORCE_UPDATE_OWNERSHIP";
			public static EXECUTE_APP_ACTION: "android.permission.EXECUTE_APP_ACTION";
			public static EXPAND_STATUS_BAR: "android.permission.EXPAND_STATUS_BAR";
			public static FACTORY_TEST: "android.permission.FACTORY_TEST";
			public static FOREGROUND_SERVICE: "android.permission.FOREGROUND_SERVICE";
			public static FOREGROUND_SERVICE_CAMERA: "android.permission.FOREGROUND_SERVICE_CAMERA";
			public static FOREGROUND_SERVICE_CONNECTED_DEVICE: "android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE";
			public static FOREGROUND_SERVICE_DATA_SYNC: "android.permission.FOREGROUND_SERVICE_DATA_SYNC";
			public static FOREGROUND_SERVICE_HEALTH: "android.permission.FOREGROUND_SERVICE_HEALTH";
			public static FOREGROUND_SERVICE_LOCATION: "android.permission.FOREGROUND_SERVICE_LOCATION";
			public static FOREGROUND_SERVICE_MEDIA_PLAYBACK: "android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK";
			public static FOREGROUND_SERVICE_MEDIA_PROCESSING: "android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING";
			public static FOREGROUND_SERVICE_MEDIA_PROJECTION: "android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION";
			public static FOREGROUND_SERVICE_MICROPHONE: "android.permission.FOREGROUND_SERVICE_MICROPHONE";
			public static FOREGROUND_SERVICE_PHONE_CALL: "android.permission.FOREGROUND_SERVICE_PHONE_CALL";
			public static FOREGROUND_SERVICE_REMOTE_MESSAGING: "android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING";
			public static FOREGROUND_SERVICE_SPECIAL_USE: "android.permission.FOREGROUND_SERVICE_SPECIAL_USE";
			public static FOREGROUND_SERVICE_SYSTEM_EXEMPTED: "android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED";
			public static GET_ACCOUNTS: "android.permission.GET_ACCOUNTS";
			public static GET_ACCOUNTS_PRIVILEGED: "android.permission.GET_ACCOUNTS_PRIVILEGED";
			public static GET_PACKAGE_SIZE: "android.permission.GET_PACKAGE_SIZE";
			public static GET_TASKS: "android.permission.GET_TASKS";
			public static GLOBAL_SEARCH: "android.permission.GLOBAL_SEARCH";
			public static HIDE_OVERLAY_WINDOWS: "android.permission.HIDE_OVERLAY_WINDOWS";
			public static HIGH_SAMPLING_RATE_SENSORS: "android.permission.HIGH_SAMPLING_RATE_SENSORS";
			public static INSTALL_LOCATION_PROVIDER: "android.permission.INSTALL_LOCATION_PROVIDER";
			public static INSTALL_PACKAGES: "android.permission.INSTALL_PACKAGES";
			public static INSTALL_SHORTCUT: "com.android.launcher.permission.INSTALL_SHORTCUT";
			public static INSTANT_APP_FOREGROUND_SERVICE: "android.permission.INSTANT_APP_FOREGROUND_SERVICE";
			public static INTERACT_ACROSS_PROFILES: "android.permission.INTERACT_ACROSS_PROFILES";
			public static INTERNET: "android.permission.INTERNET";
			public static KILL_BACKGROUND_PROCESSES: "android.permission.KILL_BACKGROUND_PROCESSES";
			public static LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE: "android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE";
			public static LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK: "android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK";
			public static LOADER_USAGE_STATS: "android.permission.LOADER_USAGE_STATS";
			public static LOCATION_HARDWARE: "android.permission.LOCATION_HARDWARE";
			public static MANAGE_DEVICE_LOCK_STATE: "android.permission.MANAGE_DEVICE_LOCK_STATE";
			public static MANAGE_DEVICE_POLICY_ACCESSIBILITY: "android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY";
			public static MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT: "android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT";
			public static MANAGE_DEVICE_POLICY_ACROSS_USERS: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS";
			public static MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL";
			public static MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL: "android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL";
			public static MANAGE_DEVICE_POLICY_AIRPLANE_MODE: "android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE";
			public static MANAGE_DEVICE_POLICY_APPS_CONTROL: "android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL";
			public static MANAGE_DEVICE_POLICY_APP_RESTRICTIONS: "android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS";
			public static MANAGE_DEVICE_POLICY_APP_USER_DATA: "android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA";
			public static MANAGE_DEVICE_POLICY_ASSIST_CONTENT: "android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT";
			public static MANAGE_DEVICE_POLICY_AUDIO_OUTPUT: "android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT";
			public static MANAGE_DEVICE_POLICY_AUTOFILL: "android.permission.MANAGE_DEVICE_POLICY_AUTOFILL";
			public static MANAGE_DEVICE_POLICY_BACKUP_SERVICE: "android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE";
			public static MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL: "android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL";
			public static MANAGE_DEVICE_POLICY_BLUETOOTH: "android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH";
			public static MANAGE_DEVICE_POLICY_BUGREPORT: "android.permission.MANAGE_DEVICE_POLICY_BUGREPORT";
			public static MANAGE_DEVICE_POLICY_CALLS: "android.permission.MANAGE_DEVICE_POLICY_CALLS";
			public static MANAGE_DEVICE_POLICY_CAMERA: "android.permission.MANAGE_DEVICE_POLICY_CAMERA";
			public static MANAGE_DEVICE_POLICY_CAMERA_TOGGLE: "android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE";
			public static MANAGE_DEVICE_POLICY_CERTIFICATES: "android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES";
			public static MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE: "android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE";
			public static MANAGE_DEVICE_POLICY_CONTENT_PROTECTION: "android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION";
			public static MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES: "android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES";
			public static MANAGE_DEVICE_POLICY_DEFAULT_SMS: "android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS";
			public static MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS: "android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS";
			public static MANAGE_DEVICE_POLICY_DISPLAY: "android.permission.MANAGE_DEVICE_POLICY_DISPLAY";
			public static MANAGE_DEVICE_POLICY_FACTORY_RESET: "android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET";
			public static MANAGE_DEVICE_POLICY_FUN: "android.permission.MANAGE_DEVICE_POLICY_FUN";
			public static MANAGE_DEVICE_POLICY_INPUT_METHODS: "android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS";
			public static MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES: "android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES";
			public static MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES: "android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES";
			public static MANAGE_DEVICE_POLICY_KEYGUARD: "android.permission.MANAGE_DEVICE_POLICY_KEYGUARD";
			public static MANAGE_DEVICE_POLICY_LOCALE: "android.permission.MANAGE_DEVICE_POLICY_LOCALE";
			public static MANAGE_DEVICE_POLICY_LOCATION: "android.permission.MANAGE_DEVICE_POLICY_LOCATION";
			public static MANAGE_DEVICE_POLICY_LOCK: "android.permission.MANAGE_DEVICE_POLICY_LOCK";
			public static MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS: "android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS";
			public static MANAGE_DEVICE_POLICY_LOCK_TASK: "android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK";
			public static MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS: "android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS";
			public static MANAGE_DEVICE_POLICY_METERED_DATA: "android.permission.MANAGE_DEVICE_POLICY_METERED_DATA";
			public static MANAGE_DEVICE_POLICY_MICROPHONE: "android.permission.MANAGE_DEVICE_POLICY_MICROPHONE";
			public static MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE: "android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE";
			public static MANAGE_DEVICE_POLICY_MOBILE_NETWORK: "android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK";
			public static MANAGE_DEVICE_POLICY_MODIFY_USERS: "android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS";
			public static MANAGE_DEVICE_POLICY_MTE: "android.permission.MANAGE_DEVICE_POLICY_MTE";
			public static MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION: "android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION";
			public static MANAGE_DEVICE_POLICY_NETWORK_LOGGING: "android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING";
			public static MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY: "android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY";
			public static MANAGE_DEVICE_POLICY_OVERRIDE_APN: "android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN";
			public static MANAGE_DEVICE_POLICY_PACKAGE_STATE: "android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE";
			public static MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA: "android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA";
			public static MANAGE_DEVICE_POLICY_PRINTING: "android.permission.MANAGE_DEVICE_POLICY_PRINTING";
			public static MANAGE_DEVICE_POLICY_PRIVATE_DNS: "android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS";
			public static MANAGE_DEVICE_POLICY_PROFILES: "android.permission.MANAGE_DEVICE_POLICY_PROFILES";
			public static MANAGE_DEVICE_POLICY_PROFILE_INTERACTION: "android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION";
			public static MANAGE_DEVICE_POLICY_PROXY: "android.permission.MANAGE_DEVICE_POLICY_PROXY";
			public static MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES: "android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES";
			public static MANAGE_DEVICE_POLICY_RESET_PASSWORD: "android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD";
			public static MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS: "android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS";
			public static MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS: "android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS";
			public static MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND: "android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND";
			public static MANAGE_DEVICE_POLICY_SAFE_BOOT: "android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT";
			public static MANAGE_DEVICE_POLICY_SCREEN_CAPTURE: "android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE";
			public static MANAGE_DEVICE_POLICY_SCREEN_CONTENT: "android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT";
			public static MANAGE_DEVICE_POLICY_SECURITY_LOGGING: "android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING";
			public static MANAGE_DEVICE_POLICY_SETTINGS: "android.permission.MANAGE_DEVICE_POLICY_SETTINGS";
			public static MANAGE_DEVICE_POLICY_SMS: "android.permission.MANAGE_DEVICE_POLICY_SMS";
			public static MANAGE_DEVICE_POLICY_STATUS_BAR: "android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR";
			public static MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE: "android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE";
			public static MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS: "android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS";
			public static MANAGE_DEVICE_POLICY_SYSTEM_APPS: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS";
			public static MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS";
			public static MANAGE_DEVICE_POLICY_SYSTEM_UPDATES: "android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES";
			public static MANAGE_DEVICE_POLICY_TIME: "android.permission.MANAGE_DEVICE_POLICY_TIME";
			public static MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING: "android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING";
			public static MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER: "android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER";
			public static MANAGE_DEVICE_POLICY_USERS: "android.permission.MANAGE_DEVICE_POLICY_USERS";
			public static MANAGE_DEVICE_POLICY_VPN: "android.permission.MANAGE_DEVICE_POLICY_VPN";
			public static MANAGE_DEVICE_POLICY_WALLPAPER: "android.permission.MANAGE_DEVICE_POLICY_WALLPAPER";
			public static MANAGE_DEVICE_POLICY_WIFI: "android.permission.MANAGE_DEVICE_POLICY_WIFI";
			public static MANAGE_DEVICE_POLICY_WINDOWS: "android.permission.MANAGE_DEVICE_POLICY_WINDOWS";
			public static MANAGE_DEVICE_POLICY_WIPE_DATA: "android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA";
			public static MANAGE_DOCUMENTS: "android.permission.MANAGE_DOCUMENTS";
			public static MANAGE_EXTERNAL_STORAGE: "android.permission.MANAGE_EXTERNAL_STORAGE";
			public static MANAGE_MEDIA: "android.permission.MANAGE_MEDIA";
			public static MANAGE_ONGOING_CALLS: "android.permission.MANAGE_ONGOING_CALLS";
			public static MANAGE_OWN_CALLS: "android.permission.MANAGE_OWN_CALLS";
			public static MANAGE_WIFI_INTERFACES: "android.permission.MANAGE_WIFI_INTERFACES";
			public static MANAGE_WIFI_NETWORK_SELECTION: "android.permission.MANAGE_WIFI_NETWORK_SELECTION";
			public static MASTER_CLEAR: "android.permission.MASTER_CLEAR";
			public static MEDIA_CONTENT_CONTROL: "android.permission.MEDIA_CONTENT_CONTROL";
			public static MEDIA_ROUTING_CONTROL: "android.permission.MEDIA_ROUTING_CONTROL";
			public static MODIFY_AUDIO_SETTINGS: "android.permission.MODIFY_AUDIO_SETTINGS";
			public static MODIFY_PHONE_STATE: "android.permission.MODIFY_PHONE_STATE";
			public static MOUNT_FORMAT_FILESYSTEMS: "android.permission.MOUNT_FORMAT_FILESYSTEMS";
			public static MOUNT_UNMOUNT_FILESYSTEMS: "android.permission.MOUNT_UNMOUNT_FILESYSTEMS";
			public static NEARBY_WIFI_DEVICES: "android.permission.NEARBY_WIFI_DEVICES";
			public static NFC: "android.permission.NFC";
			public static NFC_PREFERRED_PAYMENT_INFO: "android.permission.NFC_PREFERRED_PAYMENT_INFO";
			public static NFC_TRANSACTION_EVENT: "android.permission.NFC_TRANSACTION_EVENT";
			public static OVERRIDE_WIFI_CONFIG: "android.permission.OVERRIDE_WIFI_CONFIG";
			public static PACKAGE_USAGE_STATS: "android.permission.PACKAGE_USAGE_STATS";
			public static PERSISTENT_ACTIVITY: "android.permission.PERSISTENT_ACTIVITY";
			public static POST_NOTIFICATIONS: "android.permission.POST_NOTIFICATIONS";
			public static PROCESS_OUTGOING_CALLS: "android.permission.PROCESS_OUTGOING_CALLS";
			public static PROVIDE_OWN_AUTOFILL_SUGGESTIONS: "android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS";
			public static PROVIDE_REMOTE_CREDENTIALS: "android.permission.PROVIDE_REMOTE_CREDENTIALS";
			public static QUERY_ALL_PACKAGES: "android.permission.QUERY_ALL_PACKAGES";
			public static READ_ASSISTANT_APP_SEARCH_DATA: "android.permission.READ_ASSISTANT_APP_SEARCH_DATA";
			public static READ_BASIC_PHONE_STATE: "android.permission.READ_BASIC_PHONE_STATE";
			public static READ_CALENDAR: "android.permission.READ_CALENDAR";
			public static READ_CALL_LOG: "android.permission.READ_CALL_LOG";
			public static READ_CONTACTS: "android.permission.READ_CONTACTS";
			public static READ_DROPBOX_DATA: "android.permission.READ_DROPBOX_DATA";
			public static READ_EXTERNAL_STORAGE: "android.permission.READ_EXTERNAL_STORAGE";
			public static READ_HOME_APP_SEARCH_DATA: "android.permission.READ_HOME_APP_SEARCH_DATA";
			public static READ_INPUT_STATE: "android.permission.READ_INPUT_STATE";
			public static READ_LOGS: "android.permission.READ_LOGS";
			public static READ_MEDIA_AUDIO: "android.permission.READ_MEDIA_AUDIO";
			public static READ_MEDIA_IMAGES: "android.permission.READ_MEDIA_IMAGES";
			public static READ_MEDIA_VIDEO: "android.permission.READ_MEDIA_VIDEO";
			public static READ_MEDIA_VISUAL_USER_SELECTED: "android.permission.READ_MEDIA_VISUAL_USER_SELECTED";
			public static READ_NEARBY_STREAMING_POLICY: "android.permission.READ_NEARBY_STREAMING_POLICY";
			public static READ_PHONE_NUMBERS: "android.permission.READ_PHONE_NUMBERS";
			public static READ_PHONE_STATE: "android.permission.READ_PHONE_STATE";
			public static READ_PRECISE_PHONE_STATE: "android.permission.READ_PRECISE_PHONE_STATE";
			public static READ_SMS: "android.permission.READ_SMS";
			public static READ_SYNC_SETTINGS: "android.permission.READ_SYNC_SETTINGS";
			public static READ_SYNC_STATS: "android.permission.READ_SYNC_STATS";
			public static READ_VOICEMAIL: "com.android.voicemail.permission.READ_VOICEMAIL";
			public static REBOOT: "android.permission.REBOOT";
			public static RECEIVE_BOOT_COMPLETED: "android.permission.RECEIVE_BOOT_COMPLETED";
			public static RECEIVE_MMS: "android.permission.RECEIVE_MMS";
			public static RECEIVE_SMS: "android.permission.RECEIVE_SMS";
			public static RECEIVE_WAP_PUSH: "android.permission.RECEIVE_WAP_PUSH";
			public static RECORD_AUDIO: "android.permission.RECORD_AUDIO";
			public static REORDER_TASKS: "android.permission.REORDER_TASKS";
			public static REQUEST_COMPANION_PROFILE_APP_STREAMING: "android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING";
			public static REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION: "android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION";
			public static REQUEST_COMPANION_PROFILE_COMPUTER: "android.permission.REQUEST_COMPANION_PROFILE_COMPUTER";
			public static REQUEST_COMPANION_PROFILE_GLASSES: "android.permission.REQUEST_COMPANION_PROFILE_GLASSES";
			public static REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING: "android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING";
			public static REQUEST_COMPANION_PROFILE_WATCH: "android.permission.REQUEST_COMPANION_PROFILE_WATCH";
			public static REQUEST_COMPANION_RUN_IN_BACKGROUND: "android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND";
			public static REQUEST_COMPANION_SELF_MANAGED: "android.permission.REQUEST_COMPANION_SELF_MANAGED";
			public static REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND: "android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND";
			public static REQUEST_COMPANION_USE_DATA_IN_BACKGROUND: "android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND";
			public static REQUEST_DELETE_PACKAGES: "android.permission.REQUEST_DELETE_PACKAGES";
			public static REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS";
			public static REQUEST_INSTALL_PACKAGES: "android.permission.REQUEST_INSTALL_PACKAGES";
			public static REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE: "android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE";
			public static REQUEST_PASSWORD_COMPLEXITY: "android.permission.REQUEST_PASSWORD_COMPLEXITY";
			public static RESTART_PACKAGES: "android.permission.RESTART_PACKAGES";
			public static RUN_USER_INITIATED_JOBS: "android.permission.RUN_USER_INITIATED_JOBS";
			public static SCHEDULE_EXACT_ALARM: "android.permission.SCHEDULE_EXACT_ALARM";
			public static SEND_RESPOND_VIA_MESSAGE: "android.permission.SEND_RESPOND_VIA_MESSAGE";
			public static SEND_SMS: "android.permission.SEND_SMS";
			public static SET_ALARM: "com.android.alarm.permission.SET_ALARM";
			public static SET_ALWAYS_FINISH: "android.permission.SET_ALWAYS_FINISH";
			public static SET_ANIMATION_SCALE: "android.permission.SET_ANIMATION_SCALE";
			public static SET_BIOMETRIC_DIALOG_ADVANCED: "android.permission.SET_BIOMETRIC_DIALOG_ADVANCED";
			public static SET_DEBUG_APP: "android.permission.SET_DEBUG_APP";
			public static SET_PREFERRED_APPLICATIONS: "android.permission.SET_PREFERRED_APPLICATIONS";
			public static SET_PROCESS_LIMIT: "android.permission.SET_PROCESS_LIMIT";
			public static SET_TIME: "android.permission.SET_TIME";
			public static SET_TIME_ZONE: "android.permission.SET_TIME_ZONE";
			public static SET_WALLPAPER: "android.permission.SET_WALLPAPER";
			public static SET_WALLPAPER_HINTS: "android.permission.SET_WALLPAPER_HINTS";
			public static SIGNAL_PERSISTENT_PROCESSES: "android.permission.SIGNAL_PERSISTENT_PROCESSES";
			public static SMS_FINANCIAL_TRANSACTIONS: "android.permission.SMS_FINANCIAL_TRANSACTIONS";
			public static START_FOREGROUND_SERVICES_FROM_BACKGROUND: "android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND";
			public static START_VIEW_APP_FEATURES: "android.permission.START_VIEW_APP_FEATURES";
			public static START_VIEW_PERMISSION_USAGE: "android.permission.START_VIEW_PERMISSION_USAGE";
			public static STATUS_BAR: "android.permission.STATUS_BAR";
			public static SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE: "android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE";
			public static SYSTEM_ALERT_WINDOW: "android.permission.SYSTEM_ALERT_WINDOW";
			public static TRANSMIT_IR: "android.permission.TRANSMIT_IR";
			public static TURN_SCREEN_ON: "android.permission.TURN_SCREEN_ON";
			public static UNINSTALL_SHORTCUT: "com.android.launcher.permission.UNINSTALL_SHORTCUT";
			public static UPDATE_DEVICE_STATS: "android.permission.UPDATE_DEVICE_STATS";
			public static UPDATE_PACKAGES_WITHOUT_USER_ACTION: "android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION";
			public static USE_BIOMETRIC: "android.permission.USE_BIOMETRIC";
			public static USE_EXACT_ALARM: "android.permission.USE_EXACT_ALARM";
			public static USE_FINGERPRINT: "android.permission.USE_FINGERPRINT";
			public static USE_FULL_SCREEN_INTENT: "android.permission.USE_FULL_SCREEN_INTENT";
			public static USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER: "android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER";
			public static USE_SIP: "android.permission.USE_SIP";
			public static UWB_RANGING: "android.permission.UWB_RANGING";
			public static VIBRATE: "android.permission.VIBRATE";
			public static WAKE_LOCK: "android.permission.WAKE_LOCK";
			public static WRITE_APN_SETTINGS: "android.permission.WRITE_APN_SETTINGS";
			public static WRITE_CALENDAR: "android.permission.WRITE_CALENDAR";
			public static WRITE_CALL_LOG: "android.permission.WRITE_CALL_LOG";
			public static WRITE_CONTACTS: "android.permission.WRITE_CONTACTS";
			public static WRITE_EXTERNAL_STORAGE: "android.permission.WRITE_EXTERNAL_STORAGE";
			public static WRITE_GSERVICES: "android.permission.WRITE_GSERVICES";
			public static WRITE_SECURE_SETTINGS: "android.permission.WRITE_SECURE_SETTINGS";
			public static WRITE_SETTINGS: "android.permission.WRITE_SETTINGS";
			public static WRITE_SYNC_SETTINGS: "android.permission.WRITE_SYNC_SETTINGS";
			public static WRITE_VOICEMAIL: "com.android.voicemail.permission.WRITE_VOICEMAIL";
			public constructor();
		}
		export class permission_group extends java.lang.Object {
			public static class: java.lang.Class<android.Manifest.permission_group>;
			public static ACTIVITY_RECOGNITION: "android.permission-group.ACTIVITY_RECOGNITION";
			public static CALENDAR: "android.permission-group.CALENDAR";
			public static CALL_LOG: "android.permission-group.CALL_LOG";
			public static CAMERA: "android.permission-group.CAMERA";
			public static CONTACTS: "android.permission-group.CONTACTS";
			public static LOCATION: "android.permission-group.LOCATION";
			public static MICROPHONE: "android.permission-group.MICROPHONE";
			public static NEARBY_DEVICES: "android.permission-group.NEARBY_DEVICES";
			public static NOTIFICATIONS: "android.permission-group.NOTIFICATIONS";
			public static PHONE: "android.permission-group.PHONE";
			public static READ_MEDIA_AURAL: "android.permission-group.READ_MEDIA_AURAL";
			public static READ_MEDIA_VISUAL: "android.permission-group.READ_MEDIA_VISUAL";
			public static SENSORS: "android.permission-group.SENSORS";
			public static SMS: "android.permission-group.SMS";
			public static STORAGE: "android.permission-group.STORAGE";
			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: 17432580;
			public static accelerate_interpolator: 17432581;
			public static anticipate_interpolator: 17432583;
			public static anticipate_overshoot_interpolator: 17432585;
			public static bounce_interpolator: 17432586;
			public static cycle_interpolator: 17432588;
			public static decelerate_interpolator: 17432582;
			public static fade_in: 17432576;
			public static fade_out: 17432577;
			public static linear_interpolator: 17432587;
			public static overshoot_interpolator: 17432584;
			public static slide_in_left: 17432578;
			public static slide_out_right: 17432579;
			public constructor();
		}
		export class animator extends java.lang.Object {
			public static class: java.lang.Class<android.R.animator>;
			public static fade_in: 17498112;
			public static fade_out: 17498113;
			public constructor();
		}
		export class array extends java.lang.Object {
			public static class: java.lang.Class<android.R.array>;
			public static emailAddressTypes: 17235968;
			public static imProtocols: 17235969;
			public static organizationTypes: 17235970;
			public static phoneTypes: 17235971;
			public static postalAddressTypes: 17235972;
			public constructor();
		}
		export class attr extends java.lang.Object {
			public static class: java.lang.Class<android.R.attr>;
			public static absListViewStyle: 16842858;
			public static accessibilityDataSensitive: 16844407;
			public static accessibilityEventTypes: 16843648;
			public static accessibilityFeedbackType: 16843650;
			public static accessibilityFlags: 16843652;
			public static accessibilityHeading: 16844160;
			public static accessibilityLiveRegion: 16843758;
			public static accessibilityPaneTitle: 16844156;
			public static accessibilityTraversalAfter: 16843986;
			public static accessibilityTraversalBefore: 16843985;
			public static accountPreferences: 16843423;
			public static accountType: 16843407;
			public static action: 16842797;
			public static actionBarDivider: 16843675;
			public static actionBarItemBackground: 16843676;
			public static actionBarPopupTheme: 16843917;
			public static actionBarSize: 16843499;
			public static actionBarSplitStyle: 16843656;
			public static actionBarStyle: 16843470;
			public static actionBarTabBarStyle: 16843508;
			public static actionBarTabStyle: 16843507;
			public static actionBarTabTextStyle: 16843509;
			public static actionBarTheme: 16843825;
			public static actionBarWidgetTheme: 16843671;
			public static actionButtonStyle: 16843480;
			public static actionDropDownStyle: 16843479;
			public static actionLayout: 16843515;
			public static actionMenuTextAppearance: 16843616;
			public static actionMenuTextColor: 16843617;
			public static actionModeBackground: 16843483;
			public static actionModeCloseButtonStyle: 16843511;
			public static actionModeCloseDrawable: 16843484;
			public static actionModeCopyDrawable: 16843538;
			public static actionModeCutDrawable: 16843537;
			public static actionModeFindDrawable: 16843898;
			public static actionModePasteDrawable: 16843539;
			public static actionModeSelectAllDrawable: 16843646;
			public static actionModeShareDrawable: 16843897;
			public static actionModeSplitBackground: 16843677;
			public static actionModeStyle: 16843668;
			public static actionModeWebSearchDrawable: 16843899;
			public static actionOverflowButtonStyle: 16843510;
			public static actionOverflowMenuStyle: 16843844;
			public static actionProviderClass: 16843657;
			public static actionViewClass: 16843516;
			public static activatedBackgroundIndicator: 16843517;
			public static activityCloseEnterAnimation: 16842938;
			public static activityCloseExitAnimation: 16842939;
			public static activityOpenEnterAnimation: 16842936;
			public static activityOpenExitAnimation: 16842937;
			public static addPrintersActivity: 16843750;
			public static addStatesFromChildren: 16842992;
			public static adjustViewBounds: 16843038;
			public static advancedPrintOptionsActivity: 16843761;
			public static alertDialogIcon: 16843605;
			public static alertDialogStyle: 16842845;
			public static alertDialogTheme: 16843529;
			public static alignmentMode: 16843642;
			public static allContactsName: 16843468;
			public static allow: 16844430;
			public static allowAudioPlaybackCapture: 16844289;
			public static allowBackup: 16843392;
			public static allowClearUserData: 16842757;
			public static allowClickWhenDisabled: 16844312;
			public static allowCrossUidActivitySwitchFromBelow: 16844449;
			public static allowEmbedded: 16843765;
			public static allowGameAngleDriver: 16844376;
			public static allowGameDownscaling: 16844377;
			public static allowGameFpsOverride: 16844378;
			public static allowNativeHeapPointerTagging: 16844306;
			public static allowParallelSyncs: 16843570;
			public static allowSharedIsolatedProcess: 16844413;
			public static allowSingleTap: 16843353;
			public static allowTaskReparenting: 16843268;
			public static allowUndo: 16843999;
			public static allowUntrustedActivityEmbedding: 16844393;
			public static allowUpdateOwnership: 16844416;
			public static alpha: 16843551;
			public static alphabeticModifiers: 16844110;
			public static alphabeticShortcut: 16843235;
			public static alwaysDrawnWithCache: 16842991;
			public static alwaysRetainTaskState: 16843267;
			public static amPmBackgroundColor: 16843941;
			public static amPmTextColor: 16843940;
			public static ambientShadowAlpha: 16843966;
			public static angle: 16843168;
			public static animateFirstView: 16843477;
			public static animateLayoutChanges: 16843506;
			public static animateOnClick: 16843356;
			public static animatedImageDrawable: 16844298;
			public static animation: 16843213;
			public static animationCache: 16842989;
			public static animationDuration: 16843026;
			public static animationOrder: 16843214;
			public static animationResolution: 16843546;
			public static antialias: 16843034;
			public static anyDensity: 16843372;
			public static apduServiceBanner: 16843757;
			public static apiKey: 16843281;
			public static appCategory: 16844101;
			public static appComponentFactory: 16844154;
			public static attributionTags: 16844354;
			public static attributionsAreUserVisible: 16844363;
			public static author: 16843444;
			public static authorities: 16842776;
			public static autoAdvanceViewId: 16843535;
			public static autoCompleteTextViewStyle: 16842859;
			public static autoHandwritingEnabled: 16844382;
			public static autoLink: 16842928;
			public static autoMirrored: 16843754;
			public static autoRemoveFromRecents: 16843847;
			public static autoRevokePermissions: 16844307;
			public static autoSizeMaxTextSize: 16844102;
			public static autoSizeMinTextSize: 16844088;
			public static autoSizePresetSizes: 16844087;
			public static autoSizeStepGranularity: 16844086;
			public static autoSizeTextType: 16844085;
			public static autoStart: 16843445;
			public static autoText: 16843114;
			public static autoTransact: 16844441;
			public static autoUrlDetect: 16843404;
			public static autoVerify: 16844014;
			public static autofillHints: 16844118;
			public static autofilledHighlight: 16844136;
			public static backdropColor: 16844402;
			public static background: 16842964;
			public static backgroundDimAmount: 16842802;
			public static backgroundDimEnabled: 16843295;
			public static backgroundSplit: 16843659;
			public static backgroundStacked: 16843658;
			public static backgroundTint: 16843883;
			public static backgroundTintMode: 16843884;
			public static backupAgent: 16843391;
			public static backupInForeground: 16844058;
			public static banner: 16843762;
			public static baseline: 16843548;
			public static baselineAlignBottom: 16843042;
			public static baselineAligned: 16843046;
			public static baselineAlignedChildIndex: 16843047;
			public static bitmap: 16844054;
			public static borderlessButtonStyle: 16843563;
			public static bottom: 16843184;
			public static bottomBright: 16842957;
			public static bottomDark: 16842953;
			public static bottomLeftRadius: 16843179;
			public static bottomMedium: 16842958;
			public static bottomOffset: 16843351;
			public static bottomRightRadius: 16843180;
			public static breadCrumbShortTitle: 16843524;
			public static breadCrumbTitle: 16843523;
			public static breakStrategy: 16843997;
			public static bufferType: 16843086;
			public static button: 16843015;
			public static buttonBarButtonStyle: 16843567;
			public static buttonBarNegativeButtonStyle: 16843915;
			public static buttonBarNeutralButtonStyle: 16843914;
			public static buttonBarPositiveButtonStyle: 16843913;
			public static buttonBarStyle: 16843566;
			public static buttonCornerRadius: 16844149;
			public static buttonGravity: 16844030;
			public static buttonStyle: 16842824;
			public static buttonStyleInset: 16842826;
			public static buttonStyleSmall: 16842825;
			public static buttonStyleToggle: 16842827;
			public static buttonTint: 16843887;
			public static buttonTintMode: 16843888;
			public static cacheColorHint: 16843009;
			public static calendarTextColor: 16843931;
			public static calendarViewShown: 16843596;
			public static calendarViewStyle: 16843613;
			public static canControlMagnification: 16844039;
			public static canDisplayOnRemoteDevices: 16844368;
			public static canPauseRecording: 16844314;
			public static canPerformGestures: 16844045;
			public static canRecord: 16844060;
			public static canRequestEnhancedWebAccessibility: 16843736;
			public static canRequestFilterKeyEvents: 16843737;
			public static canRequestFingerprintGestures: 16844109;
			public static canRequestTouchExplorationMode: 16843735;
			public static canRetrieveWindowContent: 16843653;
			public static canTakeScreenshot: 16844303;
			public static candidatesTextStyleSpans: 16843312;
			public static cantSaveState: 16844142;
			public static capability: 16844423;
			public static capitalize: 16843113;
			public static category: 16843752;
			public static centerBright: 16842956;
			public static centerColor: 16843275;
			public static centerDark: 16842952;
			public static centerMedium: 16842959;
			public static centerX: 16843170;
			public static centerY: 16843171;
			public static certDigest: 16844104;
			public static checkBoxPreferenceStyle: 16842895;
			public static checkMark: 16843016;
			public static checkMarkTint: 16843943;
			public static checkMarkTintMode: 16843944;
			public static checkable: 16843237;
			public static checkableBehavior: 16843232;
			public static checkboxStyle: 16842860;
			public static checked: 16843014;
			public static checkedButton: 16843080;
			public static checkedTextViewStyle: 16843720;
			public static childDivider: 16843025;
			public static childIndicator: 16843020;
			public static childIndicatorEnd: 16843732;
			public static childIndicatorLeft: 16843023;
			public static childIndicatorRight: 16843024;
			public static childIndicatorStart: 16843731;
			public static choiceMode: 16843051;
			public static classLoader: 16844139;
			public static clearTaskOnLaunch: 16842773;
			public static clickable: 16842981;
			public static clipChildren: 16842986;
			public static clipOrientation: 16843274;
			public static clipToOutline: 16844328;
			public static clipToPadding: 16842987;
			public static closeIcon: 16843905;
			public static codes: 16843330;
			public static collapseColumns: 16843083;
			public static collapseContentDescription: 16843984;
			public static collapseIcon: 16844031;
			public static color: 16843173;
			public static colorAccent: 16843829;
			public static colorActivatedHighlight: 16843664;
			public static colorBackground: 16842801;
			public static colorBackgroundCacheHint: 16843435;
			public static colorBackgroundFloating: 16844002;
			public static colorButtonNormal: 16843819;
			public static colorControlActivated: 16843818;
			public static colorControlHighlight: 16843820;
			public static colorControlNormal: 16843817;
			public static colorEdgeEffect: 16843982;
			public static colorError: 16844099;
			public static colorFocusedHighlight: 16843663;
			public static colorForeground: 16842800;
			public static colorForegroundInverse: 16843270;
			public static colorLongPressedHighlight: 16843662;
			public static colorMode: 16844106;
			public static colorMultiSelectHighlight: 16843665;
			public static colorPressedHighlight: 16843661;
			public static colorPrimary: 16843827;
			public static colorPrimaryDark: 16843828;
			public static colorSecondary: 16844080;
			public static columnCount: 16843639;
			public static columnDelay: 16843215;
			public static columnOrderPreserved: 16843640;
			public static columnWidth: 16843031;
			public static commitIcon: 16843909;
			public static compatibleWidthLimitDp: 16843621;
			public static completionHint: 16843122;
			public static completionHintView: 16843123;
			public static completionThreshold: 16843124;
			public static configChanges: 16842783;
			public static configure: 16843357;
			public static constantSize: 16843158;
			public static content: 16843355;
			public static contentAgeHint: 16843961;
			public static contentAuthority: 16843408;
			public static contentDescription: 16843379;
			public static contentInsetEnd: 16843860;
			public static contentInsetEndWithActions: 16844067;
			public static contentInsetLeft: 16843861;
			public static contentInsetRight: 16843862;
			public static contentInsetStart: 16843859;
			public static contentInsetStartWithNavigation: 16844066;
			public static contentSensitivity: 16844446;
			public static contextClickable: 16844007;
			public static contextDescription: 16844078;
			public static contextPopupMenuStyle: 16844033;
			public static contextUri: 16844077;
			public static controlX1: 16843772;
			public static controlX2: 16843774;
			public static controlY1: 16843773;
			public static controlY2: 16843775;
			public static countDown: 16844059;
			public static country: 16843962;
			public static cropToPadding: 16843043;
			public static crossProfile: 16844302;
			public static cursorVisible: 16843090;
			public static customNavigationLayout: 16843474;
			public static customTokens: 16843579;
			public static cycles: 16843220;
			public static dashGap: 16843175;
			public static dashWidth: 16843174;
			public static data: 16842798;
			public static dataExtractionRules: 16844350;
			public static datePickerDialogTheme: 16843948;
			public static datePickerMode: 16843955;
			public static datePickerStyle: 16843612;
			public static dateTextAppearance: 16843593;
			public static dayOfWeekBackground: 16843924;
			public static dayOfWeekTextAppearance: 16843925;
			public static debuggable: 16842767;
			public static defaultFocusHighlightEnabled: 16844130;
			public static defaultHeight: 16844021;
			public static defaultLocale: 16844424;
			public static defaultToDeviceProtectedStorage: 16844036;
			public static defaultValue: 16843245;
			public static defaultWidth: 16844020;
			public static delay: 16843212;
			public static dependency: 16843244;
			public static descendantFocusability: 16842993;
			public static description: 16842784;
			public static detachWallpaper: 16843430;
			public static detailColumn: 16843427;
			public static detailSocialSummary: 16843428;
			public static detailsElementBackground: 16843598;
			public static dial: 16843010;
			public static dialTint: 16844342;
			public static dialTintMode: 16844343;
			public static dialogCornerRadius: 16844145;
			public static dialogIcon: 16843252;
			public static dialogLayout: 16843255;
			public static dialogMessage: 16843251;
			public static dialogPreferenceStyle: 16842897;
			public static dialogPreferredPadding: 16843987;
			public static dialogTheme: 16843528;
			public static dialogTitle: 16843250;
			public static digits: 16843110;
			public static directBootAware: 16844037;
			public static direction: 16843217;
			public static directionDescriptions: 16843681;
			public static directionPriority: 16843218;
			public static disableDependentsState: 16843249;
			public static disabledAlpha: 16842803;
			public static displayOptions: 16843472;
			public static dither: 16843036;
			public static divider: 16843049;
			public static dividerHeight: 16843050;
			public static dividerHorizontal: 16843564;
			public static dividerPadding: 16843562;
			public static dividerVertical: 16843530;
			public static documentLaunchMode: 16843845;
			public static drawSelectorOnTop: 16843004;
			public static drawable: 16843161;
			public static drawableBottom: 16843118;
			public static drawableEnd: 16843667;
			public static drawableLeft: 16843119;
			public static drawablePadding: 16843121;
			public static drawableRight: 16843120;
			public static drawableStart: 16843666;
			public static drawableTint: 16843990;
			public static drawableTintMode: 16843991;
			public static drawableTop: 16843117;
			public static drawingCacheQuality: 16842984;
			public static dropDownAnchor: 16843363;
			public static dropDownHeight: 16843395;
			public static dropDownHintAppearance: 16842888;
			public static dropDownHorizontalOffset: 16843436;
			public static dropDownItemStyle: 16842886;
			public static dropDownListViewStyle: 16842861;
			public static dropDownSelector: 16843125;
			public static dropDownSpinnerStyle: 16843478;
			public static dropDownVerticalOffset: 16843437;
			public static dropDownWidth: 16843362;
			public static duplicateParentState: 16842985;
			public static duration: 16843160;
			public static editTextBackground: 16843602;
			public static editTextColor: 16843601;
			public static editTextPreferenceStyle: 16842898;
			public static editTextStyle: 16842862;
			public static editable: 16843115;
			public static editorExtras: 16843300;
			public static effectColor: 16844361;
			public static elegantTextHeight: 16843869;
			public static elevation: 16843840;
			public static ellipsize: 16842923;
			public static ems: 16843096;
			public static enableOnBackInvokedCallback: 16844396;
			public static enableTextStylingShortcuts: 16844408;
			public static enableVrMode: 16844069;
			public static enabled: 16842766;
			public static end: 16843996;
			public static endColor: 16843166;
			public static endX: 16844050;
			public static endY: 16844051;
			public static endYear: 16843133;
			public static enforceNavigationBarContrast: 16844293;
			public static enforceStatusBarContrast: 16844292;
			public static enterFadeDuration: 16843532;
			public static entries: 16842930;
			public static entryValues: 16843256;
			public static eventsInterceptionEnabled: 16843389;
			public static excludeClass: 16843842;
			public static excludeFromRecents: 16842775;
			public static excludeId: 16843841;
			public static excludeName: 16843854;
			public static exitFadeDuration: 16843533;
			public static expandableListPreferredChildIndicatorLeft: 16842834;
			public static expandableListPreferredChildIndicatorRight: 16842835;
			public static expandableListPreferredChildPaddingLeft: 16842831;
			public static expandableListPreferredItemIndicatorLeft: 16842832;
			public static expandableListPreferredItemIndicatorRight: 16842833;
			public static expandableListPreferredItemPaddingLeft: 16842830;
			public static expandableListViewStyle: 16842863;
			public static expandableListViewWhiteStyle: 16843446;
			public static exported: 16842768;
			public static externalService: 16844046;
			public static extraTension: 16843371;
			public static extractNativeLibs: 16844010;
			public static factor: 16843219;
			public static fadeDuration: 16843384;
			public static fadeEnabled: 16843390;
			public static fadeOffset: 16843383;
			public static fadeScrollbars: 16843434;
			public static fadingEdge: 16842975;
			public static fadingEdgeLength: 16842976;
			public static fadingMode: 16843745;
			public static fallbackLineSpacing: 16844155;
			public static fastScrollAlwaysVisible: 16843573;
			public static fastScrollEnabled: 16843302;
			public static fastScrollOverlayPosition: 16843578;
			public static fastScrollPreviewBackgroundLeft: 16843575;
			public static fastScrollPreviewBackgroundRight: 16843576;
			public static fastScrollStyle: 16843767;
			public static fastScrollTextColor: 16843609;
			public static fastScrollThumbDrawable: 16843574;
			public static fastScrollTrackDrawable: 16843577;
			public static fillAfter: 16843197;
			public static fillAlpha: 16843980;
			public static fillBefore: 16843196;
			public static fillColor: 16843780;
			public static fillEnabled: 16843343;
			public static fillType: 16844062;
			public static fillViewport: 16843130;
			public static filter: 16843035;
			public static filterTouchesWhenObscured: 16843460;
			public static fingerprintAuthDrawable: 16844008;
			public static finishOnCloseSystemDialogs: 16843431;
			public static finishOnTaskLaunch: 16842772;
			public static firstBaselineToTopHeight: 16844157;
			public static firstDayOfWeek: 16843581;
			public static fitsSystemWindows: 16842973;
			public static flipInterval: 16843129;
			public static focusable: 16842970;
			public static focusableInTouchMode: 16842971;
			public static focusedByDefault: 16844100;
			public static focusedMonthDateColor: 16843587;
			public static focusedSearchResultHighlightColor: 16844419;
			public static font: 16844082;
			public static fontFamily: 16843692;
			public static fontFeatureSettings: 16843959;
			public static fontProviderAuthority: 16844112;
			public static fontProviderCerts: 16844125;
			public static fontProviderPackage: 16844119;
			public static fontProviderQuery: 16844113;
			public static fontProviderSystemFontFamily: 16844322;
			public static fontStyle: 16844095;
			public static fontVariationSettings: 16844144;
			public static fontWeight: 16844083;
			public static footerDividersEnabled: 16843311;
			public static forceDarkAllowed: 16844172;
			public static forceHasOverlappingRendering: 16844065;
			public static forceQueryable: 16844296;
			public static forceUriPermissions: 16844191;
			public static foreground: 16843017;
			public static foregroundGravity: 16843264;
			public static foregroundServiceType: 16844185;
			public static foregroundTint: 16843885;
			public static foregroundTintMode: 16843886;
			public static format: 16843013;
			public static format12Hour: 16843722;
			public static format24Hour: 16843723;
			public static fraction: 16843992;
			public static fragment: 16843491;
			public static fragmentAdvancedPattern: 16844438;
			public static fragmentAllowEnterTransitionOverlap: 16843976;
			public static fragmentAllowReturnTransitionOverlap: 16843977;
			public static fragmentCloseEnterAnimation: 16843495;
			public static fragmentCloseExitAnimation: 16843496;
			public static fragmentEnterTransition: 16843971;
			public static fragmentExitTransition: 16843970;
			public static fragmentFadeEnterAnimation: 16843497;
			public static fragmentFadeExitAnimation: 16843498;
			public static fragmentOpenEnterAnimation: 16843493;
			public static fragmentOpenExitAnimation: 16843494;
			public static fragmentPattern: 16844437;
			public static fragmentPrefix: 16844436;
			public static fragmentReenterTransition: 16843975;
			public static fragmentReturnTransition: 16843973;
			public static fragmentSharedElementEnterTransition: 16843972;
			public static fragmentSharedElementReturnTransition: 16843974;
			public static fragmentSuffix: 16844439;
			public static freezesText: 16843116;
			public static fromAlpha: 16843210;
			public static fromDegrees: 16843187;
			public static fromExtendBottom: 16844386;
			public static fromExtendLeft: 16844383;
			public static fromExtendRight: 16844385;
			public static fromExtendTop: 16844384;
			public static fromId: 16843850;
			public static fromScene: 16843741;
			public static fromXDelta: 16843206;
			public static fromXScale: 16843202;
			public static fromYDelta: 16843208;
			public static fromYScale: 16843204;
			public static fullBackupContent: 16844011;
			public static fullBackupOnly: 16843891;
			public static fullBright: 16842954;
			public static fullDark: 16842950;
			public static functionalTest: 16842787;
			public static galleryItemBackground: 16842828;
			public static galleryStyle: 16842864;
			public static gestureColor: 16843381;
			public static gestureStrokeAngleThreshold: 16843388;
			public static gestureStrokeLengthThreshold: 16843386;
			public static gestureStrokeSquarenessThreshold: 16843387;
			public static gestureStrokeType: 16843385;
			public static gestureStrokeWidth: 16843380;
			public static glEsVersion: 16843393;
			public static goIcon: 16843906;
			public static gradientRadius: 16843172;
			public static grantUriPermissions: 16842779;
			public static gravity: 16842927;
			public static gridViewStyle: 16842865;
			public static groupIndicator: 16843019;
			public static gwpAsanMode: 16844310;
			public static hand_hour: 16843011;
			public static hand_hourTint: 16844344;
			public static hand_hourTintMode: 16844345;
			public static hand_minute: 16843012;
			public static hand_minuteTint: 16844346;
			public static hand_minuteTintMode: 16844347;
			public static hand_second: 16844323;
			public static hand_secondTint: 16844348;
			public static hand_secondTintMode: 16844349;
			public static handle: 16843354;
			public static handleProfiling: 16842786;
			public static handwritingBoundsOffsetBottom: 16844406;
			public static handwritingBoundsOffsetLeft: 16844403;
			public static handwritingBoundsOffsetRight: 16844405;
			public static handwritingBoundsOffsetTop: 16844404;
			public static hapticFeedbackEnabled: 16843358;
			public static hardwareAccelerated: 16843475;
			public static hasCode: 16842764;
			public static hasFragileUserData: 16844186;
			public static headerAmPmTextAppearance: 16843936;
			public static headerBackground: 16843055;
			public static headerDayOfMonthTextAppearance: 16843927;
			public static headerDividersEnabled: 16843310;
			public static headerMonthTextAppearance: 16843926;
			public static headerTimeTextAppearance: 16843935;
			public static headerYearTextAppearance: 16843928;
			public static height: 16843093;
			public static hideOnContentScroll: 16843843;
			public static hint: 16843088;
			public static homeAsUpIndicator: 16843531;
			public static homeLayout: 16843549;
			public static horizontalDivider: 16843053;
			public static horizontalGap: 16843327;
			public static horizontalScrollViewStyle: 16843603;
			public static horizontalSpacing: 16843028;
			public static host: 16842792;
			public static hotSpotX: 16844055;
			public static hotSpotY: 16844056;
			public static htmlDescription: 16844299;
			public static hyphenationFrequency: 16843998;
			public static icon: 16842754;
			public static iconPreview: 16843337;
			public static iconSpaceReserved: 16844129;
			public static iconTint: 16844126;
			public static iconTintMode: 16844127;
			public static iconifiedByDefault: 16843514;
			public static id: 16842960;
			public static identifier: 16844294;
			public static ignoreGravity: 16843263;
			public static imageButtonStyle: 16842866;
			public static imageWellStyle: 16842867;
			public static imeActionId: 16843366;
			public static imeActionLabel: 16843365;
			public static imeExtractEnterAnimation: 16843368;
			public static imeExtractExitAnimation: 16843369;
			public static imeFullscreenBackground: 16843308;
			public static imeOptions: 16843364;
			public static imeSubtypeExtraValue: 16843502;
			public static imeSubtypeLocale: 16843500;
			public static imeSubtypeMode: 16843501;
			public static immersive: 16843456;
			public static importantForAccessibility: 16843690;
			public static importantForAutofill: 16844120;
			public static importantForContentCapture: 16844295;
			public static inAnimation: 16843127;
			public static includeFontPadding: 16843103;
			public static includeInGlobalSearch: 16843374;
			public static indeterminate: 16843065;
			public static indeterminateBehavior: 16843070;
			public static indeterminateDrawable: 16843067;
			public static indeterminateDuration: 16843069;
			public static indeterminateOnly: 16843066;
			public static indeterminateProgressStyle: 16843544;
			public static indeterminateTint: 16843881;
			public static indeterminateTintMode: 16843882;
			public static indicatorEnd: 16843730;
			public static indicatorLeft: 16843021;
			public static indicatorRight: 16843022;
			public static indicatorStart: 16843729;
			public static inflatedId: 16842995;
			public static inheritShowWhenLocked: 16844188;
			public static initOrder: 16842778;
			public static initialKeyguardLayout: 16843714;
			public static initialLayout: 16843345;
			public static innerRadius: 16843359;
			public static innerRadiusRatio: 16843163;
			public static inputMethod: 16843112;
			public static inputType: 16843296;
			public static inset: 16843957;
			public static insetBottom: 16843194;
			public static insetLeft: 16843191;
			public static insetRight: 16843192;
			public static insetTop: 16843193;
			public static installLocation: 16843447;
			public static interactiveUiTimeout: 16844181;
			public static interpolator: 16843073;
			public static intro: 16844395;
			public static isAccessibilityTool: 16844353;
			public static isAlwaysSyncable: 16843571;
			public static isAsciiCapable: 16843753;
			public static isAuxiliary: 16843647;
			public static isCredential: 16844417;
			public static isDefault: 16843297;
			public static isFeatureSplit: 16844123;
			public static isGame: 16843764;
			public static isIndicator: 16843079;
			public static isLightTheme: 16844176;
			public static isModifier: 16843334;
			public static isRepeatable: 16843336;
			public static isScrollContainer: 16843342;
			public static isSplitRequired: 16844177;
			public static isStatic: 16844122;
			public static isSticky: 16843335;
			public static isolatedProcess: 16843689;
			public static isolatedSplits: 16844107;
			public static itemBackground: 16843056;
			public static itemIconDisabledAlpha: 16843057;
			public static itemPadding: 16843565;
			public static itemTextAppearance: 16843052;
			public static justificationMode: 16844135;
			public static keepScreenOn: 16843286;
			public static key: 16843240;
			public static keyBackground: 16843315;
			public static keyEdgeFlags: 16843333;
			public static keyHeight: 16843326;
			public static keyIcon: 16843340;
			public static keyLabel: 16843339;
			public static keyOutputText: 16843338;
			public static keyPreviewHeight: 16843321;
			public static keyPreviewLayout: 16843319;
			public static keyPreviewOffset: 16843320;
			public static keySet: 16843739;
			public static keyTextColor: 16843318;
			public static keyTextSize: 16843316;
			public static keyWidth: 16843325;
			public static keyboardLayout: 16843691;
			public static keyboardLayoutType: 16844415;
			public static keyboardLocale: 16844414;
			public static keyboardMode: 16843341;
			public static keyboardNavigationCluster: 16844096;
			public static keycode: 16842949;
			public static killAfterRestore: 16843420;
			public static knownActivityEmbeddingCerts: 16844394;
			public static knownCerts: 16844330;
			public static lStar: 16844359;
			public static label: 16842753;
			public static labelFor: 16843718;
			public static labelTextSize: 16843317;
			public static languageTag: 16844040;
			public static largeHeap: 16843610;
			public static largeScreens: 16843398;
			public static largestWidthLimitDp: 16843622;
			public static lastBaselineToBottomHeight: 16844158;
			public static launchMode: 16842781;
			public static launchTaskBehindSourceAnimation: 16843922;
			public static launchTaskBehindTargetAnimation: 16843921;
			public static layerType: 16843604;
			public static layout: 16842994;
			public static layoutAnimation: 16842988;
			public static layoutDirection: 16843698;
			public static layoutMode: 16843738;
			public static layout_above: 16843140;
			public static layout_alignBaseline: 16843142;
			public static layout_alignBottom: 16843146;
			public static layout_alignEnd: 16843706;
			public static layout_alignLeft: 16843143;
			public static layout_alignParentBottom: 16843150;
			public static layout_alignParentEnd: 16843708;
			public static layout_alignParentLeft: 16843147;
			public static layout_alignParentRight: 16843149;
			public static layout_alignParentStart: 16843707;
			public static layout_alignParentTop: 16843148;
			public static layout_alignRight: 16843145;
			public static layout_alignStart: 16843705;
			public static layout_alignTop: 16843144;
			public static layout_alignWithParentIfMissing: 16843154;
			public static layout_below: 16843141;
			public static layout_centerHorizontal: 16843152;
			public static layout_centerInParent: 16843151;
			public static layout_centerVertical: 16843153;
			public static layout_column: 16843084;
			public static layout_columnSpan: 16843645;
			public static layout_columnWeight: 16843865;
			public static layout_gravity: 16842931;
			public static layout_height: 16842997;
			public static layout_margin: 16842998;
			public static layout_marginBottom: 16843002;
			public static layout_marginEnd: 16843702;
			public static layout_marginHorizontal: 16844091;
			public static layout_marginLeft: 16842999;
			public static layout_marginRight: 16843001;
			public static layout_marginStart: 16843701;
			public static layout_marginTop: 16843000;
			public static layout_marginVertical: 16844092;
			public static layout_row: 16843643;
			public static layout_rowSpan: 16843644;
			public static layout_rowWeight: 16843864;
			public static layout_scale: 16843155;
			public static layout_span: 16843085;
			public static layout_toEndOf: 16843704;
			public static layout_toLeftOf: 16843138;
			public static layout_toRightOf: 16843139;
			public static layout_toStartOf: 16843703;
			public static layout_weight: 16843137;
			public static layout_width: 16842996;
			public static layout_x: 16843135;
			public static layout_y: 16843136;
			public static left: 16843181;
			public static letterSpacing: 16843958;
			public static level: 16844032;
			public static lineBreakStyle: 16844398;
			public static lineBreakWordStyle: 16844399;
			public static lineHeight: 16844159;
			public static lineSpacingExtra: 16843287;
			public static lineSpacingMultiplier: 16843288;
			public static lines: 16843092;
			public static linksClickable: 16842929;
			public static listChoiceBackgroundIndicator: 16843504;
			public static listChoiceIndicatorMultiple: 16843290;
			public static listChoiceIndicatorSingle: 16843289;
			public static listDivider: 16843284;
			public static listDividerAlertDialog: 16843525;
			public static listMenuViewStyle: 16844018;
			public static listPopupWindowStyle: 16843519;
			public static listPreferredItemHeight: 16842829;
			public static listPreferredItemHeightLarge: 16843654;
			public static listPreferredItemHeightSmall: 16843655;
			public static listPreferredItemPaddingEnd: 16843710;
			public static listPreferredItemPaddingLeft: 16843683;
			public static listPreferredItemPaddingRight: 16843684;
			public static listPreferredItemPaddingStart: 16843709;
			public static listSelector: 16843003;
			public static listSeparatorTextViewStyle: 16843272;
			public static listViewStyle: 16842868;
			public static listViewWhiteStyle: 16842869;
			public static localeConfig: 16844379;
			public static lockTaskMode: 16844013;
			public static logo: 16843454;
			public static logoDescription: 16844009;
			public static longClickable: 16842982;
			public static loopViews: 16843527;
			public static manageSpaceActivity: 16842756;
			public static mapViewStyle: 16842890;
			public static marqueeRepeatLimit: 16843293;
			public static matchOrder: 16843855;
			public static max: 16843062;
			public static maxAspectRatio: 16844128;
			public static maxButtonHeight: 16844029;
			public static maxDate: 16843584;
			public static maxEms: 16843095;
			public static maxHeight: 16843040;
			public static maxItemsPerRow: 16843060;
			public static maxLength: 16843104;
			public static maxLevel: 16843186;
			public static maxLines: 16843091;
			public static maxLongVersionCode: 16844163;
			public static maxRecents: 16843846;
			public static maxResizeHeight: 16844339;
			public static maxResizeWidth: 16844338;
			public static maxRows: 16843059;
			public static maxSdkVersion: 16843377;
			public static maxWidth: 16843039;
			public static maximumAngle: 16843903;
			public static measureAllChildren: 16843018;
			public static measureWithLargestChild: 16843476;
			public static mediaRouteButtonStyle: 16843693;
			public static mediaRouteTypes: 16843694;
			public static memtagMode: 16844324;
			public static menuCategory: 16843230;
			public static mimeGroup: 16844309;
			public static mimeType: 16842790;
			public static min: 16844089;
			public static minAspectRatio: 16844187;
			public static minDate: 16843583;
			public static minEms: 16843098;
			public static minHeight: 16843072;
			public static minLevel: 16843185;
			public static minLines: 16843094;
			public static minResizeHeight: 16843670;
			public static minResizeWidth: 16843669;
			public static minSdkVersion: 16843276;
			public static minWidth: 16843071;
			public static minimumHorizontalAngle: 16843901;
			public static minimumVerticalAngle: 16843902;
			public static mipMap: 16843725;
			public static mirrorForRtl: 16843726;
			public static mode: 16843134;
			public static moreIcon: 16843061;
			public static multiArch: 16843918;
			public static multiprocess: 16842771;
			public static name: 16842755;
			public static nativeHeapZeroInitialized: 16844325;
			public static navigationBarColor: 16843858;
			public static navigationBarDividerColor: 16844141;
			public static navigationContentDescription: 16843969;
			public static navigationIcon: 16843968;
			public static navigationMode: 16843471;
			public static negativeButtonText: 16843254;
			public static nestedScrollingEnabled: 16843830;
			public static networkSecurityConfig: 16844071;
			public static nextClusterForward: 16844098;
			public static nextFocusDown: 16842980;
			public static nextFocusForward: 16843580;
			public static nextFocusLeft: 16842977;
			public static nextFocusRight: 16842978;
			public static nextFocusUp: 16842979;
			public static noHistory: 16843309;
			public static nonInteractiveUiTimeout: 16844175;
			public static normalScreens: 16843397;
			public static notificationTimeout: 16843651;
			public static numColumns: 16843032;
			public static numStars: 16843076;
			public static numberPickerStyle: 16844068;
			public static numbersBackgroundColor: 16843938;
			public static numbersInnerTextColor: 16844001;
			public static numbersSelectorColor: 16843939;
			public static numbersTextColor: 16843937;
			public static numeric: 16843109;
			public static numericModifiers: 16844111;
			public static numericShortcut: 16843236;
			public static offset: 16844052;
			public static onClick: 16843375;
			public static oneshot: 16843159;
			public static opacity: 16843550;
			public static opticalInsetBottom: 16844171;
			public static opticalInsetLeft: 16844168;
			public static opticalInsetRight: 16844170;
			public static opticalInsetTop: 16844169;
			public static order: 16843242;
			public static orderInCategory: 16843231;
			public static ordering: 16843490;
			public static orderingFromXml: 16843239;
			public static orientation: 16842948;
			public static outAnimation: 16843128;
			public static outlineAmbientShadowColor: 16844162;
			public static outlineProvider: 16843960;
			public static outlineSpotShadowColor: 16844161;
			public static overScrollFooter: 16843459;
			public static overScrollHeader: 16843458;
			public static overScrollMode: 16843457;
			public static overlapAnchor: 16843874;
			public static overridesImplicitlyEnabledSubtype: 16843682;
			public static packageNames: 16843649;
			public static packageType: 16844167;
			public static padding: 16842965;
			public static paddingBottom: 16842969;
			public static paddingEnd: 16843700;
			public static paddingHorizontal: 16844093;
			public static paddingLeft: 16842966;
			public static paddingMode: 16843863;
			public static paddingRight: 16842968;
			public static paddingStart: 16843699;
			public static paddingTop: 16842967;
			public static paddingVertical: 16844094;
			public static panelBackground: 16842846;
			public static panelColorBackground: 16842849;
			public static panelColorForeground: 16842848;
			public static panelFullBackground: 16842847;
			public static panelTextAppearance: 16842850;
			public static parentActivityName: 16843687;
			public static password: 16843100;
			public static passwordsActivity: 16844351;
			public static path: 16842794;
			public static pathAdvancedPattern: 16844320;
			public static pathData: 16843781;
			public static pathPattern: 16842796;
			public static pathPrefix: 16842795;
			public static pathSuffix: 16844318;
			public static patternPathData: 16843978;
			public static permission: 16842758;
			public static permissionFlags: 16843719;
			public static permissionGroup: 16842762;
			public static permissionGroupFlags: 16843717;
			public static persistableMode: 16843821;
			public static persistent: 16842765;
			public static persistentDrawingCache: 16842990;
			public static persistentWhenFeatureAvailable: 16844131;
			public static phoneNumber: 16843111;
			public static physicalKeyboardHintLanguageTag: 16844411;
			public static physicalKeyboardHintLayoutType: 16844412;
			public static pivotX: 16843189;
			public static pivotY: 16843190;
			public static pointerIcon: 16844041;
			public static popupAnimationStyle: 16843465;
			public static popupBackground: 16843126;
			public static popupCharacters: 16843332;
			public static popupElevation: 16843916;
			public static popupEnterTransition: 16844063;
			public static popupExitTransition: 16844064;
			public static popupKeyboard: 16843331;
			public static popupLayout: 16843323;
			public static popupMenuStyle: 16843520;
			public static popupTheme: 16843945;
			public static popupWindowStyle: 16842870;
			public static port: 16842793;
			public static positiveButtonText: 16843253;
			public static preferKeepClear: 16844381;
			public static preferMinimalPostProcessing: 16844300;
			public static preferenceCategoryStyle: 16842892;
			public static preferenceFragmentStyle: 16844038;
			public static preferenceInformationStyle: 16842893;
			public static preferenceLayoutChild: 16842900;
			public static preferenceScreenStyle: 16842891;
			public static preferenceStyle: 16842894;
			public static presentationTheme: 16843712;
			public static preserveLegacyExternalStorage: 16844308;
			public static previewImage: 16843482;
			public static previewLayout: 16844327;
			public static primaryContentAlpha: 16844114;
			public static priority: 16842780;
			public static privateImeOptions: 16843299;
			public static process: 16842769;
			public static progress: 16843063;
			public static progressBackgroundTint: 16843877;
			public static progressBackgroundTintMode: 16843878;
			public static progressBarPadding: 16843545;
			public static progressBarStyle: 16842871;
			public static progressBarStyleHorizontal: 16842872;
			public static progressBarStyleInverse: 16843399;
			public static progressBarStyleLarge: 16842874;
			public static progressBarStyleLargeInverse: 16843401;
			public static progressBarStyleSmall: 16842873;
			public static progressBarStyleSmallInverse: 16843400;
			public static progressBarStyleSmallTitle: 16843279;
			public static progressDrawable: 16843068;
			public static progressTint: 16843875;
			public static progressTintMode: 16843876;
			public static prompt: 16843131;
			public static propertyName: 16843489;
			public static propertyXName: 16843892;
			public static propertyYName: 16843893;
			public static protectionLevel: 16842761;
			public static publicKey: 16843686;
			public static query: 16844431;
			public static queryActionMsg: 16843227;
			public static queryAdvancedPattern: 16844434;
			public static queryAfterZeroResults: 16843394;
			public static queryBackground: 16843911;
			public static queryHint: 16843608;
			public static queryPattern: 16844433;
			public static queryPrefix: 16844432;
			public static querySuffix: 16844435;
			public static quickContactBadgeStyleSmallWindowLarge: 16843443;
			public static quickContactBadgeStyleSmallWindowMedium: 16843442;
			public static quickContactBadgeStyleSmallWindowSmall: 16843441;
			public static quickContactBadgeStyleWindowLarge: 16843440;
			public static quickContactBadgeStyleWindowMedium: 16843439;
			public static quickContactBadgeStyleWindowSmall: 16843438;
			public static radioButtonStyle: 16842878;
			public static radius: 16843176;
			public static rating: 16843077;
			public static ratingBarStyle: 16842876;
			public static ratingBarStyleIndicator: 16843280;
			public static ratingBarStyleSmall: 16842877;
			public static readPermission: 16842759;
			public static recognitionService: 16843932;
			public static recreateOnConfigChanges: 16844103;
			public static recycleEnabled: 16844121;
			public static relinquishTaskIdentity: 16843894;
			public static reparent: 16843964;
			public static reparentWithOverlay: 16843965;
			public static repeatCount: 16843199;
			public static repeatMode: 16843200;
			public static reqFiveWayNav: 16843314;
			public static reqHardKeyboard: 16843305;
			public static reqKeyboardType: 16843304;
			public static reqNavigation: 16843306;
			public static reqTouchScreen: 16843303;
			public static requestLegacyExternalStorage: 16844291;
			public static requestRawExternalStorageAccess: 16844357;
			public static requireContentUriPermissionFromCaller: 16844443;
			public static requireDeviceScreenOn: 16844317;
			public static requireDeviceUnlock: 16843756;
			public static required: 16843406;
			public static requiredAccountType: 16843734;
			public static requiredDisplayCategory: 16844409;
			public static requiredFeature: 16844116;
			public static requiredForAllUsers: 16843728;
			public static requiredNotFeature: 16844117;
			public static requiredSplitTypes: 16844366;
			public static requiresFadingEdge: 16843685;
			public static requiresSmallestWidthDp: 16843620;
			public static resetEnabledSettingsOnAppDataCleared: 16844370;
			public static resizeClip: 16843983;
			public static resizeMode: 16843619;
			public static resizeable: 16843405;
			public static resizeableActivity: 16844022;
			public static resource: 16842789;
			public static resourcesMap: 16844297;
			public static restoreAnyVersion: 16843450;
			public static restoreNeedsApplication: 16843421;
			public static restrictedAccountType: 16843733;
			public static restrictionType: 16843923;
			public static resumeWhilePausing: 16843954;
			public static reversible: 16843851;
			public static revisionCode: 16843989;
			public static right: 16843183;
			public static ringtonePreferenceStyle: 16842899;
			public static ringtoneType: 16843257;
			public static rollbackDataPolicy: 16844311;
			public static rotation: 16843558;
			public static rotationAnimation: 16844090;
			public static rotationX: 16843559;
			public static rotationY: 16843560;
			public static roundIcon: 16844076;
			public static rowCount: 16843637;
			public static rowDelay: 16843216;
			public static rowEdgeFlags: 16843329;
			public static rowHeight: 16843058;
			public static rowOrderPreserved: 16843638;
			public static saveEnabled: 16842983;
			public static scaleGravity: 16843262;
			public static scaleHeight: 16843261;
			public static scaleType: 16843037;
			public static scaleWidth: 16843260;
			public static scaleX: 16843556;
			public static scaleY: 16843557;
			public static scheme: 16842791;
			public static screenDensity: 16843467;
			public static screenOrientation: 16842782;
			public static screenReaderFocusable: 16844148;
			public static screenSize: 16843466;
			public static scrollHorizontally: 16843099;
			public static scrollIndicators: 16844006;
			public static scrollViewStyle: 16842880;
			public static scrollX: 16842962;
			public static scrollY: 16842963;
			public static scrollbarAlwaysDrawHorizontalTrack: 16842856;
			public static scrollbarAlwaysDrawVerticalTrack: 16842857;
			public static scrollbarDefaultDelayBeforeFade: 16843433;
			public static scrollbarFadeDuration: 16843432;
			public static scrollbarSize: 16842851;
			public static scrollbarStyle: 16842879;
			public static scrollbarThumbHorizontal: 16842852;
			public static scrollbarThumbVertical: 16842853;
			public static scrollbarTrackHorizontal: 16842854;
			public static scrollbarTrackVertical: 16842855;
			public static scrollbars: 16842974;
			public static scrollingCache: 16843006;
			public static searchButtonText: 16843269;
			public static searchHintIcon: 16843988;
			public static searchIcon: 16843907;
			public static searchMode: 16843221;
			public static searchResultHighlightColor: 16844418;
			public static searchSettingsDescription: 16843402;
			public static searchSuggestAuthority: 16843222;
			public static searchSuggestIntentAction: 16843225;
			public static searchSuggestIntentData: 16843226;
			public static searchSuggestPath: 16843223;
			public static searchSuggestSelection: 16843224;
			public static searchSuggestThreshold: 16843373;
			public static searchViewStyle: 16843904;
			public static secondaryContentAlpha: 16844115;
			public static secondaryProgress: 16843064;
			public static secondaryProgressTint: 16843879;
			public static secondaryProgressTintMode: 16843880;
			public static secureElementName: 16844290;
			public static seekBarStyle: 16842875;
			public static segmentedButtonStyle: 16843568;
			public static selectAllOnFocus: 16843102;
			public static selectable: 16843238;
			public static selectableAsDefault: 16844352;
			public static selectableItemBackground: 16843534;
			public static selectableItemBackgroundBorderless: 16843868;
			public static selectedDateVerticalBar: 16843591;
			public static selectedWeekBackgroundColor: 16843586;
			public static selectionDividerHeight: 16844184;
			public static sessionService: 16843837;
			public static settingsActivity: 16843301;
			public static settingsSliceUri: 16844179;
			public static settingsSubtitle: 16844422;
			public static setupActivity: 16843766;
			public static shadowColor: 16843105;
			public static shadowDx: 16843106;
			public static shadowDy: 16843107;
			public static shadowRadius: 16843108;
			public static shape: 16843162;
			public static shareInterpolator: 16843195;
			public static sharedUserId: 16842763;
			public static sharedUserLabel: 16843361;
			public static sharedUserMaxSdkVersion: 16844365;
			public static shell: 16844180;
			public static shiftDrawingOffsetForStartOverhang: 16844450;
			public static shortcutDisabledMessage: 16844075;
			public static shortcutId: 16844072;
			public static shortcutLongLabel: 16844074;
			public static shortcutShortLabel: 16844073;
			public static shouldDefaultToObserveMode: 16844448;
			public static shouldDisableView: 16843246;
			public static shouldUseDefaultUnfoldTransition: 16844364;
			public static showAsAction: 16843481;
			public static showBackdrop: 16844380;
			public static showClockAndComplications: 16844372;
			public static showDefault: 16843258;
			public static showDividers: 16843561;
			public static showForAllUsers: 16844015;
			public static showInInputMethodPicker: 16844360;
			public static showMetadataInPreview: 16844079;
			public static showOnLockScreen: 16843721;
			public static showSilent: 16843259;
			public static showText: 16843949;
			public static showWeekNumber: 16843582;
			public static showWhenLocked: 16844137;
			public static shownWeekCount: 16843585;
			public static shrinkColumns: 16843082;
			public static singleLine: 16843101;
			public static singleLineTitle: 16844124;
			public static singleUser: 16843711;
			public static slideEdge: 16843824;
			public static smallIcon: 16843422;
			public static smallScreens: 16843396;
			public static smoothScrollbar: 16843313;
			public static soundEffectsEnabled: 16843285;
			public static spacing: 16843027;
			public static spinnerDropDownItemStyle: 16842887;
			public static spinnerItemStyle: 16842889;
			public static spinnerMode: 16843505;
			public static spinnerStyle: 16842881;
			public static spinnersShown: 16843595;
			public static splashScreenTheme: 16844337;
			public static splitMotionEvents: 16843503;
			public static splitName: 16844105;
			public static splitTrack: 16843852;
			public static splitTypes: 16844367;
			public static spotShadowAlpha: 16843967;
			public static src: 16843033;
			public static ssp: 16843747;
			public static sspAdvancedPattern: 16844321;
			public static sspPattern: 16843749;
			public static sspPrefix: 16843748;
			public static sspSuffix: 16844319;
			public static stackFromBottom: 16843005;
			public static stackViewStyle: 16843838;
			public static starStyle: 16842882;
			public static start: 16843995;
			public static startColor: 16843165;
			public static startDelay: 16843746;
			public static startOffset: 16843198;
			public static startX: 16844048;
			public static startY: 16844049;
			public static startYear: 16843132;
			public static stateListAnimator: 16843848;
			public static stateNotNeeded: 16842774;
			public static state_above_anchor: 16842922;
			public static state_accelerated: 16843547;
			public static state_activated: 16843518;
			public static state_active: 16842914;
			public static state_checkable: 16842911;
			public static state_checked: 16842912;
			public static state_drag_can_accept: 16843624;
			public static state_drag_hovered: 16843625;
			public static state_empty: 16842921;
			public static state_enabled: 16842910;
			public static state_expanded: 16842920;
			public static state_first: 16842916;
			public static state_focused: 16842908;
			public static state_hovered: 16843623;
			public static state_last: 16842918;
			public static state_long_pressable: 16843324;
			public static state_middle: 16842917;
			public static state_multiline: 16843597;
			public static state_pressed: 16842919;
			public static state_selected: 16842913;
			public static state_single: 16842915;
			public static state_window_focused: 16842909;
			public static staticWallpaperPreview: 16843569;
			public static statusBarColor: 16843857;
			public static stepSize: 16843078;
			public static stopWithTask: 16843626;
			public static streamType: 16843273;
			public static stretchColumns: 16843081;
			public static stretchMode: 16843030;
			public static strokeAlpha: 16843979;
			public static strokeColor: 16843782;
			public static strokeLineCap: 16843787;
			public static strokeLineJoin: 16843788;
			public static strokeMiterLimit: 16843789;
			public static strokeWidth: 16843783;
			public static stylusHandwritingSettingsActivity: 16844420;
			public static subMenuArrow: 16844019;
			public static submitBackground: 16843912;
			public static subtitle: 16843473;
			public static subtitleTextAppearance: 16843823;
			public static subtitleTextColor: 16844004;
			public static subtitleTextStyle: 16843513;
			public static subtypeExtraValue: 16843674;
			public static subtypeId: 16843713;
			public static subtypeLocale: 16843673;
			public static suggestActionMsg: 16843228;
			public static suggestActionMsgColumn: 16843229;
			public static suggestionRowLayout: 16843910;
			public static summary: 16843241;
			public static summaryColumn: 16843426;
			public static summaryOff: 16843248;
			public static summaryOn: 16843247;
			public static supportedTypes: 16844369;
			public static supportsAssist: 16844016;
			public static supportsBatteryGameMode: 16844374;
			public static supportsConnectionlessStylusHandwriting: 16844447;
			public static supportsInlineSuggestions: 16844301;
			public static supportsInlineSuggestionsWithTouchExploration: 16844397;
			public static supportsLaunchVoiceAssistFromKeyguard: 16844017;
			public static supportsLocalInteraction: 16844047;
			public static supportsMultipleDisplays: 16844182;
			public static supportsPerformanceGameMode: 16844375;
			public static supportsPictureInPicture: 16844023;
			public static supportsRtl: 16843695;
			public static supportsStylusHandwriting: 16844371;
			public static supportsSwitchingToNextInputMethod: 16843755;
			public static supportsUploading: 16843419;
			public static suppressesSpellChecker: 16844355;
			public static switchMinWidth: 16843632;
			public static switchPadding: 16843633;
			public static switchPreferenceStyle: 16843629;
			public static switchStyle: 16843839;
			public static switchTextAppearance: 16843630;
			public static switchTextOff: 16843628;
			public static switchTextOn: 16843627;
			public static syncable: 16842777;
			public static systemUserOnly: 16844429;
			public static tabStripEnabled: 16843453;
			public static tabStripLeft: 16843451;
			public static tabStripRight: 16843452;
			public static tabWidgetStyle: 16842883;
			public static tag: 16842961;
			public static targetActivity: 16843266;
			public static targetCellHeight: 16844341;
			public static targetCellWidth: 16844340;
			public static targetClass: 16842799;
			public static targetDescriptions: 16843680;
			public static targetId: 16843740;
			public static targetName: 16843853;
			public static targetPackage: 16842785;
			public static targetProcesses: 16844097;
			public static targetSandboxVersion: 16844108;
			public static targetSdkVersion: 16843376;
			public static taskAffinity: 16842770;
			public static taskCloseEnterAnimation: 16842942;
			public static taskCloseExitAnimation: 16842943;
			public static taskOpenEnterAnimation: 16842940;
			public static taskOpenExitAnimation: 16842941;
			public static taskToBackEnterAnimation: 16842946;
			public static taskToBackExitAnimation: 16842947;
			public static taskToFrontEnterAnimation: 16842944;
			public static taskToFrontExitAnimation: 16842945;
			public static tension: 16843370;
			public static testOnly: 16843378;
			public static text: 16843087;
			public static textAlignment: 16843697;
			public static textAllCaps: 16843660;
			public static textAppearance: 16842804;
			public static textAppearanceButton: 16843271;
			public static textAppearanceInverse: 16842805;
			public static textAppearanceLarge: 16842816;
			public static textAppearanceLargeInverse: 16842819;
			public static textAppearanceLargePopupMenu: 16843521;
			public static textAppearanceListItem: 16843678;
			public static textAppearanceListItemSecondary: 16843826;
			public static textAppearanceListItemSmall: 16843679;
			public static textAppearanceMedium: 16842817;
			public static textAppearanceMediumInverse: 16842820;
			public static textAppearancePopupMenuHeader: 16844034;
			public static textAppearanceSearchResultSubtitle: 16843424;
			public static textAppearanceSearchResultTitle: 16843425;
			public static textAppearanceSmall: 16842818;
			public static textAppearanceSmallInverse: 16842821;
			public static textAppearanceSmallPopupMenu: 16843522;
			public static textCheckMark: 16842822;
			public static textCheckMarkInverse: 16842823;
			public static textColor: 16842904;
			public static textColorAlertDialogListItem: 16843526;
			public static textColorHighlight: 16842905;
			public static textColorHighlightInverse: 16843599;
			public static textColorHint: 16842906;
			public static textColorHintInverse: 16842815;
			public static textColorLink: 16842907;
			public static textColorLinkInverse: 16843600;
			public static textColorPrimary: 16842806;
			public static textColorPrimaryDisableOnly: 16842807;
			public static textColorPrimaryInverse: 16842809;
			public static textColorPrimaryInverseDisableOnly: 16843403;
			public static textColorPrimaryInverseNoDisable: 16842813;
			public static textColorPrimaryNoDisable: 16842811;
			public static textColorSecondary: 16842808;
			public static textColorSecondaryInverse: 16842810;
			public static textColorSecondaryInverseNoDisable: 16842814;
			public static textColorSecondaryNoDisable: 16842812;
			public static textColorTertiary: 16843282;
			public static textColorTertiaryInverse: 16843283;
			public static textCursorDrawable: 16843618;
			public static textDirection: 16843696;
			public static textEditNoPasteWindowLayout: 16843541;
			public static textEditPasteWindowLayout: 16843540;
			public static textEditSideNoPasteWindowLayout: 16843615;
			public static textEditSidePasteWindowLayout: 16843614;
			public static textEditSuggestionItemLayout: 16843636;
			public static textFilterEnabled: 16843007;
			public static textFontWeight: 16844165;
			public static textIsSelectable: 16843542;
			public static textLocale: 16844178;
			public static textOff: 16843045;
			public static textOn: 16843044;
			public static textScaleX: 16843089;
			public static textSelectHandle: 16843463;
			public static textSelectHandleLeft: 16843461;
			public static textSelectHandleRight: 16843462;
			public static textSelectHandleWindowStyle: 16843464;
			public static textSize: 16842901;
			public static textStyle: 16842903;
			public static textSuggestionsWindowStyle: 16843635;
			public static textViewStyle: 16842884;
			public static theme: 16842752;
			public static thickness: 16843360;
			public static thicknessRatio: 16843164;
			public static thumb: 16843074;
			public static thumbOffset: 16843075;
			public static thumbPosition: 16844005;
			public static thumbTextPadding: 16843634;
			public static thumbTint: 16843889;
			public static thumbTintMode: 16843890;
			public static thumbnail: 16843429;
			public static tickMark: 16844042;
			public static tickMarkTint: 16844043;
			public static tickMarkTintMode: 16844044;
			public static tileMode: 16843265;
			public static tileModeX: 16843895;
			public static tileModeY: 16843896;
			public static tileService: 16844391;
			public static timePickerDialogTheme: 16843934;
			public static timePickerMode: 16843956;
			public static timePickerStyle: 16843933;
			public static timeZone: 16843724;
			public static tint: 16843041;
			public static tintMode: 16843771;
			public static title: 16843233;
			public static titleCondensed: 16843234;
			public static titleMargin: 16844024;
			public static titleMarginBottom: 16844028;
			public static titleMarginEnd: 16844026;
			public static titleMarginStart: 16844025;
			public static titleMarginTop: 16844027;
			public static titleTextAppearance: 16843822;
			public static titleTextColor: 16844003;
			public static titleTextStyle: 16843512;
			public static toAlpha: 16843211;
			public static toDegrees: 16843188;
			public static toExtendBottom: 16844390;
			public static toExtendLeft: 16844387;
			public static toExtendRight: 16844389;
			public static toExtendTop: 16844388;
			public static toId: 16843849;
			public static toScene: 16843742;
			public static toXDelta: 16843207;
			public static toXScale: 16843203;
			public static toYDelta: 16843209;
			public static toYScale: 16843205;
			public static toolbarStyle: 16843946;
			public static tooltipText: 16844084;
			public static top: 16843182;
			public static topBright: 16842955;
			public static topDark: 16842951;
			public static topLeftRadius: 16843177;
			public static topOffset: 16843352;
			public static topRightRadius: 16843178;
			public static touchscreenBlocksFocus: 16843919;
			public static track: 16843631;
			public static trackTint: 16843993;
			public static trackTintMode: 16843994;
			public static transcriptMode: 16843008;
			public static transformPivotX: 16843552;
			public static transformPivotY: 16843553;
			public static transition: 16843743;
			public static transitionGroup: 16843777;
			public static transitionName: 16843776;
			public static transitionOrdering: 16843744;
			public static transitionVisibilityMode: 16843900;
			public static translateX: 16843866;
			public static translateY: 16843867;
			public static translationX: 16843554;
			public static translationY: 16843555;
			public static translationZ: 16843770;
			public static trimPathEnd: 16843785;
			public static trimPathOffset: 16843786;
			public static trimPathStart: 16843784;
			public static ttcIndex: 16844143;
			public static tunerCount: 16844061;
			public static turnScreenOn: 16844138;
			public static type: 16843169;
			public static typeface: 16842902;
			public static uiOptions: 16843672;
			public static uncertainGestureColor: 16843382;
			public static unfocusedMonthDateColor: 16843588;
			public static unselectedAlpha: 16843278;
			public static updatePeriodMillis: 16843344;
			public static use32bitAbi: 16844053;
			public static useAppZygote: 16844183;
			public static useBoundsForWidth: 16844440;
			public static useDefaultMargins: 16843641;
			public static useEmbeddedDex: 16844190;
			public static useIntrinsicSizeAsMinimum: 16843536;
			public static useLevel: 16843167;
			public static useLocalePreferredLineHeightForMinimum: 16844445;
			public static userVisible: 16843409;
			public static usesCleartextTraffic: 16844012;
			public static usesPermissionFlags: 16844356;
			public static value: 16842788;
			public static valueFrom: 16843486;
			public static valueTo: 16843487;
			public static valueType: 16843488;
			public static variablePadding: 16843157;
			public static vendor: 16843751;
			public static version: 16844057;
			public static versionCode: 16843291;
			public static versionCodeMajor: 16844150;
			public static versionMajor: 16844151;
			public static versionName: 16843292;
			public static verticalCorrection: 16843322;
			public static verticalDivider: 16843054;
			public static verticalGap: 16843328;
			public static verticalScrollbarPosition: 16843572;
			public static verticalSpacing: 16843029;
			public static viewportHeight: 16843779;
			public static viewportWidth: 16843778;
			public static visibility: 16842972;
			public static visible: 16843156;
			public static visibleToInstantApps: 16844081;
			public static vmSafeMode: 16843448;
			public static voiceIcon: 16843908;
			public static voiceLanguage: 16843349;
			public static voiceLanguageModel: 16843347;
			public static voiceMaxResults: 16843350;
			public static voicePromptText: 16843348;
			public static voiceSearchMode: 16843346;
			public static wallpaperCloseEnterAnimation: 16843413;
			public static wallpaperCloseExitAnimation: 16843414;
			public static wallpaperIntraCloseEnterAnimation: 16843417;
			public static wallpaperIntraCloseExitAnimation: 16843418;
			public static wallpaperIntraOpenEnterAnimation: 16843415;
			public static wallpaperIntraOpenExitAnimation: 16843416;
			public static wallpaperOpenEnterAnimation: 16843411;
			public static wallpaperOpenExitAnimation: 16843412;
			public static webTextViewStyle: 16843449;
			public static webViewStyle: 16842885;
			public static weekDayTextAppearance: 16843592;
			public static weekNumberColor: 16843589;
			public static weekSeparatorLineColor: 16843590;
			public static weightSum: 16843048;
			public static widgetCategory: 16843716;
			public static widgetFeatures: 16844153;
			public static widgetLayout: 16843243;
			public static width: 16843097;
			public static windowActionBar: 16843469;
			public static windowActionBarOverlay: 16843492;
			public static windowActionModeOverlay: 16843485;
			public static windowActivityTransitions: 16843981;
			public static windowAllowEnterTransitionOverlap: 16843836;
			public static windowAllowReturnTransitionOverlap: 16843835;
			public static windowAnimationStyle: 16842926;
			public static windowBackground: 16842836;
			public static windowBackgroundBlurRadius: 16844331;
			public static windowBackgroundFallback: 16844035;
			public static windowBlurBehindEnabled: 16844316;
			public static windowBlurBehindRadius: 16844315;
			public static windowClipToOutline: 16843947;
			public static windowCloseOnTouchOutside: 16843611;
			public static windowContentOverlay: 16842841;
			public static windowContentTransitionManager: 16843769;
			public static windowContentTransitions: 16843768;
			public static windowDisablePreview: 16843298;
			public static windowDrawsSystemBarBackgrounds: 16843856;
			public static windowElevation: 16843920;
			public static windowEnableSplitTouch: 16843543;
			public static windowEnterAnimation: 16842932;
			public static windowEnterTransition: 16843831;
			public static windowExitAnimation: 16842933;
			public static windowExitTransition: 16843832;
			public static windowFrame: 16842837;
			public static windowFullscreen: 16843277;
			public static windowHideAnimation: 16842935;
			public static windowIsFloating: 16842839;
			public static windowIsFrameRatePowerSavingsBalanced: 16844451;
			public static windowIsTranslucent: 16842840;
			public static windowLayoutAffinity: 16844313;
			public static windowLayoutInDisplayCutoutMode: 16844166;
			public static windowLightNavigationBar: 16844140;
			public static windowLightStatusBar: 16844000;
			public static windowMinWidthMajor: 16843606;
			public static windowMinWidthMinor: 16843607;
			public static windowNoDisplay: 16843294;
			public static windowNoMoveAnimation: 16844421;
			public static windowNoTitle: 16842838;
			public static windowOptOutEdgeToEdgeEnforcement: 16844442;
			public static windowOverscan: 16843727;
			public static windowReenterTransition: 16843951;
			public static windowReturnTransition: 16843950;
			public static windowSharedElementEnterTransition: 16843833;
			public static windowSharedElementExitTransition: 16843834;
			public static windowSharedElementReenterTransition: 16843953;
			public static windowSharedElementReturnTransition: 16843952;
			public static windowSharedElementsUseOverlay: 16843963;
			public static windowShowAnimation: 16842934;
			public static windowShowWallpaper: 16843410;
			public static windowSoftInputMode: 16843307;
			public static windowSplashScreenAnimatedIcon: 16844333;
			public static windowSplashScreenAnimationDuration: 16844334;
			public static windowSplashScreenBackground: 16844332;
			public static windowSplashScreenBehavior: 16844392;
			public static windowSplashScreenBrandingImage: 16844335;
			public static windowSplashScreenIconBackgroundColor: 16844336;
			public static windowSplashscreenContent: 16844132;
			public static windowSwipeToDismiss: 16843763;
			public static windowTitleBackgroundStyle: 16842844;
			public static windowTitleSize: 16842842;
			public static windowTitleStyle: 16842843;
			public static windowTransitionBackgroundFadeDuration: 16843873;
			public static windowTranslucentNavigation: 16843760;
			public static windowTranslucentStatus: 16843759;
			public static writePermission: 16842760;
			public static x: 16842924;
			public static xlargeScreens: 16843455;
			public static y: 16842925;
			public static yearListItemTextAppearance: 16843929;
			public static yearListSelectorColor: 16843930;
			public static yesNoPreferenceStyle: 16842896;
			public static zAdjustment: 16843201;
			public static zygotePreloadName: 16844189;
			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: 17170446;
			public static background_light: 17170447;
			public static black: 17170444;
			public static darker_gray: 17170432;
			public static holo_blue_bright: 17170459;
			public static holo_blue_dark: 17170451;
			public static holo_blue_light: 17170450;
			public static holo_green_dark: 17170453;
			public static holo_green_light: 17170452;
			public static holo_orange_dark: 17170457;
			public static holo_orange_light: 17170456;
			public static holo_purple: 17170458;
			public static holo_red_dark: 17170455;
			public static holo_red_light: 17170454;
			public static primary_text_dark: 17170433;
			public static primary_text_dark_nodisable: 17170434;
			public static primary_text_light: 17170435;
			public static primary_text_light_nodisable: 17170436;
			public static secondary_text_dark: 17170437;
			public static secondary_text_dark_nodisable: 17170438;
			public static secondary_text_light: 17170439;
			public static secondary_text_light_nodisable: 17170440;
			public static system_accent1_0: 17170487;
			public static system_accent1_10: 17170488;
			public static system_accent1_100: 17170490;
			public static system_accent1_1000: 17170499;
			public static system_accent1_200: 17170491;
			public static system_accent1_300: 17170492;
			public static system_accent1_400: 17170493;
			public static system_accent1_50: 17170489;
			public static system_accent1_500: 17170494;
			public static system_accent1_600: 17170495;
			public static system_accent1_700: 17170496;
			public static system_accent1_800: 17170497;
			public static system_accent1_900: 17170498;
			public static system_accent2_0: 17170500;
			public static system_accent2_10: 17170501;
			public static system_accent2_100: 17170503;
			public static system_accent2_1000: 17170512;
			public static system_accent2_200: 17170504;
			public static system_accent2_300: 17170505;
			public static system_accent2_400: 17170506;
			public static system_accent2_50: 17170502;
			public static system_accent2_500: 17170507;
			public static system_accent2_600: 17170508;
			public static system_accent2_700: 17170509;
			public static system_accent2_800: 17170510;
			public static system_accent2_900: 17170511;
			public static system_accent3_0: 17170513;
			public static system_accent3_10: 17170514;
			public static system_accent3_100: 17170516;
			public static system_accent3_1000: 17170525;
			public static system_accent3_200: 17170517;
			public static system_accent3_300: 17170518;
			public static system_accent3_400: 17170519;
			public static system_accent3_50: 17170515;
			public static system_accent3_500: 17170520;
			public static system_accent3_600: 17170521;
			public static system_accent3_700: 17170522;
			public static system_accent3_800: 17170523;
			public static system_accent3_900: 17170524;
			public static system_background_dark: 17170581;
			public static system_background_light: 17170538;
			public static system_control_activated_dark: 17170599;
			public static system_control_activated_light: 17170556;
			public static system_control_highlight_dark: 17170601;
			public static system_control_highlight_light: 17170558;
			public static system_control_normal_dark: 17170600;
			public static system_control_normal_light: 17170557;
			public static system_error_0: 17170629;
			public static system_error_10: 17170630;
			public static system_error_100: 17170632;
			public static system_error_1000: 17170641;
			public static system_error_200: 17170633;
			public static system_error_300: 17170634;
			public static system_error_400: 17170635;
			public static system_error_50: 17170631;
			public static system_error_500: 17170636;
			public static system_error_600: 17170637;
			public static system_error_700: 17170638;
			public static system_error_800: 17170639;
			public static system_error_900: 17170640;
			public static system_error_container_dark: 17170597;
			public static system_error_container_light: 17170554;
			public static system_error_dark: 17170595;
			public static system_error_light: 17170552;
			public static system_neutral1_0: 17170461;
			public static system_neutral1_10: 17170462;
			public static system_neutral1_100: 17170464;
			public static system_neutral1_1000: 17170473;
			public static system_neutral1_200: 17170465;
			public static system_neutral1_300: 17170466;
			public static system_neutral1_400: 17170467;
			public static system_neutral1_50: 17170463;
			public static system_neutral1_500: 17170468;
			public static system_neutral1_600: 17170469;
			public static system_neutral1_700: 17170470;
			public static system_neutral1_800: 17170471;
			public static system_neutral1_900: 17170472;
			public static system_neutral2_0: 17170474;
			public static system_neutral2_10: 17170475;
			public static system_neutral2_100: 17170477;
			public static system_neutral2_1000: 17170486;
			public static system_neutral2_200: 17170478;
			public static system_neutral2_300: 17170479;
			public static system_neutral2_400: 17170480;
			public static system_neutral2_50: 17170476;
			public static system_neutral2_500: 17170481;
			public static system_neutral2_600: 17170482;
			public static system_neutral2_700: 17170483;
			public static system_neutral2_800: 17170484;
			public static system_neutral2_900: 17170485;
			public static system_on_background_dark: 17170582;
			public static system_on_background_light: 17170539;
			public static system_on_error_container_dark: 17170598;
			public static system_on_error_container_light: 17170555;
			public static system_on_error_dark: 17170596;
			public static system_on_error_light: 17170553;
			public static system_on_primary_container_dark: 17170570;
			public static system_on_primary_container_light: 17170527;
			public static system_on_primary_dark: 17170572;
			public static system_on_primary_fixed: 17170614;
			public static system_on_primary_fixed_variant: 17170615;
			public static system_on_primary_light: 17170529;
			public static system_on_secondary_container_dark: 17170574;
			public static system_on_secondary_container_light: 17170531;
			public static system_on_secondary_dark: 17170576;
			public static system_on_secondary_fixed: 17170618;
			public static system_on_secondary_fixed_variant: 17170619;
			public static system_on_secondary_light: 17170533;
			public static system_on_surface_dark: 17170584;
			public static system_on_surface_disabled: 17170627;
			public static system_on_surface_light: 17170541;
			public static system_on_surface_variant_dark: 17170593;
			public static system_on_surface_variant_light: 17170550;
			public static system_on_tertiary_container_dark: 17170578;
			public static system_on_tertiary_container_light: 17170535;
			public static system_on_tertiary_dark: 17170580;
			public static system_on_tertiary_fixed: 17170622;
			public static system_on_tertiary_fixed_variant: 17170623;
			public static system_on_tertiary_light: 17170537;
			public static system_outline_dark: 17170594;
			public static system_outline_disabled: 17170628;
			public static system_outline_light: 17170551;
			public static system_outline_variant_dark: 17170625;
			public static system_outline_variant_light: 17170624;
			public static system_palette_key_color_neutral_dark: 17170610;
			public static system_palette_key_color_neutral_light: 17170567;
			public static system_palette_key_color_neutral_variant_dark: 17170611;
			public static system_palette_key_color_neutral_variant_light: 17170568;
			public static system_palette_key_color_primary_dark: 17170607;
			public static system_palette_key_color_primary_light: 17170564;
			public static system_palette_key_color_secondary_dark: 17170608;
			public static system_palette_key_color_secondary_light: 17170565;
			public static system_palette_key_color_tertiary_dark: 17170609;
			public static system_palette_key_color_tertiary_light: 17170566;
			public static system_primary_container_dark: 17170569;
			public static system_primary_container_light: 17170526;
			public static system_primary_dark: 17170571;
			public static system_primary_fixed: 17170612;
			public static system_primary_fixed_dim: 17170613;
			public static system_primary_light: 17170528;
			public static system_secondary_container_dark: 17170573;
			public static system_secondary_container_light: 17170530;
			public static system_secondary_dark: 17170575;
			public static system_secondary_fixed: 17170616;
			public static system_secondary_fixed_dim: 17170617;
			public static system_secondary_light: 17170532;
			public static system_surface_bright_dark: 17170590;
			public static system_surface_bright_light: 17170547;
			public static system_surface_container_dark: 17170587;
			public static system_surface_container_high_dark: 17170588;
			public static system_surface_container_high_light: 17170545;
			public static system_surface_container_highest_dark: 17170589;
			public static system_surface_container_highest_light: 17170546;
			public static system_surface_container_light: 17170544;
			public static system_surface_container_low_dark: 17170585;
			public static system_surface_container_low_light: 17170542;
			public static system_surface_container_lowest_dark: 17170586;
			public static system_surface_container_lowest_light: 17170543;
			public static system_surface_dark: 17170583;
			public static system_surface_dim_dark: 17170591;
			public static system_surface_dim_light: 17170548;
			public static system_surface_disabled: 17170626;
			public static system_surface_light: 17170540;
			public static system_surface_variant_dark: 17170592;
			public static system_surface_variant_light: 17170549;
			public static system_tertiary_container_dark: 17170577;
			public static system_tertiary_container_light: 17170534;
			public static system_tertiary_dark: 17170579;
			public static system_tertiary_fixed: 17170620;
			public static system_tertiary_fixed_dim: 17170621;
			public static system_tertiary_light: 17170536;
			public static system_text_hint_inverse_dark: 17170606;
			public static system_text_hint_inverse_light: 17170563;
			public static system_text_primary_inverse_dark: 17170602;
			public static system_text_primary_inverse_disable_only_dark: 17170604;
			public static system_text_primary_inverse_disable_only_light: 17170561;
			public static system_text_primary_inverse_light: 17170559;
			public static system_text_secondary_and_tertiary_inverse_dark: 17170603;
			public static system_text_secondary_and_tertiary_inverse_disabled_dark: 17170605;
			public static system_text_secondary_and_tertiary_inverse_disabled_light: 17170562;
			public static system_text_secondary_and_tertiary_inverse_light: 17170560;
			public static tab_indicator_text: 17170441;
			public static tertiary_text_dark: 17170448;
			public static tertiary_text_light: 17170449;
			public static transparent: 17170445;
			public static white: 17170443;
			public static widget_edittext_dark: 17170442;
			public constructor();
		}
		export class dimen extends java.lang.Object {
			public static class: java.lang.Class<android.R.dimen>;
			public static app_icon_size: 17104896;
			public static dialog_min_width_major: 17104899;
			public static dialog_min_width_minor: 17104900;
			public static notification_large_icon_height: 17104902;
			public static notification_large_icon_width: 17104901;
			public static system_app_widget_background_radius: 17104904;
			public static system_app_widget_inner_radius: 17104905;
			public static thumbnail_height: 17104897;
			public static thumbnail_width: 17104898;
			public constructor();
		}
		export class drawable extends java.lang.Object {
			public static class: java.lang.Class<android.R.drawable>;
			public static alert_dark_frame: 17301504;
			public static alert_light_frame: 17301505;
			public static arrow_down_float: 17301506;
			public static arrow_up_float: 17301507;
			public static bottom_bar: 17301658;
			public static btn_default: 17301508;
			public static btn_default_small: 17301509;
			public static btn_dialog: 17301527;
			public static btn_dropdown: 17301510;
			public static btn_minus: 17301511;
			public static btn_plus: 17301512;
			public static btn_radio: 17301513;
			public static btn_star: 17301514;
			public static btn_star_big_off: 17301515;
			public static btn_star_big_on: 17301516;
			public static button_onoff_indicator_off: 17301518;
			public static button_onoff_indicator_on: 17301517;
			public static checkbox_off_background: 17301519;
			public static checkbox_on_background: 17301520;
			public static dark_header: 17301669;
			public static dialog_frame: 17301521;
			public static dialog_holo_dark_frame: 17301682;
			public static dialog_holo_light_frame: 17301683;
			public static divider_horizontal_bright: 17301522;
			public static divider_horizontal_dark: 17301524;
			public static divider_horizontal_dim_dark: 17301525;
			public static divider_horizontal_textfield: 17301523;
			public static edit_text: 17301526;
			public static editbox_background: 17301528;
			public static editbox_background_normal: 17301529;
			public static editbox_dropdown_dark_frame: 17301530;
			public static editbox_dropdown_light_frame: 17301531;
			public static gallery_thumb: 17301532;
			public static ic_btn_speak_now: 17301668;
			public static ic_delete: 17301533;
			public static ic_dialog_alert: 17301543;
			public static ic_dialog_dialer: 17301544;
			public static ic_dialog_email: 17301545;
			public static ic_dialog_info: 17301659;
			public static ic_dialog_map: 17301546;
			public static ic_input_add: 17301547;
			public static ic_input_delete: 17301548;
			public static ic_input_get: 17301549;
			public static ic_lock_idle_alarm: 17301550;
			public static ic_lock_idle_charging: 17301534;
			public static ic_lock_idle_lock: 17301535;
			public static ic_lock_idle_low_battery: 17301536;
			public static ic_lock_lock: 17301551;
			public static ic_lock_power_off: 17301552;
			public static ic_lock_silent_mode: 17301553;
			public static ic_lock_silent_mode_off: 17301554;
			public static ic_media_ff: 17301537;
			public static ic_media_next: 17301538;
			public static ic_media_pause: 17301539;
			public static ic_media_play: 17301540;
			public static ic_media_previous: 17301541;
			public static ic_media_rew: 17301542;
			public static ic_menu_add: 17301555;
			public static ic_menu_agenda: 17301556;
			public static ic_menu_always_landscape_portrait: 17301557;
			public static ic_menu_call: 17301558;
			public static ic_menu_camera: 17301559;
			public static ic_menu_close_clear_cancel: 17301560;
			public static ic_menu_compass: 17301561;
			public static ic_menu_crop: 17301562;
			public static ic_menu_day: 17301563;
			public static ic_menu_delete: 17301564;
			public static ic_menu_directions: 17301565;
			public static ic_menu_edit: 17301566;
			public static ic_menu_gallery: 17301567;
			public static ic_menu_help: 17301568;
			public static ic_menu_info_details: 17301569;
			public static ic_menu_manage: 17301570;
			public static ic_menu_mapmode: 17301571;
			public static ic_menu_month: 17301572;
			public static ic_menu_more: 17301573;
			public static ic_menu_my_calendar: 17301574;
			public static ic_menu_mylocation: 17301575;
			public static ic_menu_myplaces: 17301576;
			public static ic_menu_preferences: 17301577;
			public static ic_menu_recent_history: 17301578;
			public static ic_menu_report_image: 17301579;
			public static ic_menu_revert: 17301580;
			public static ic_menu_rotate: 17301581;
			public static ic_menu_save: 17301582;
			public static ic_menu_search: 17301583;
			public static ic_menu_send: 17301584;
			public static ic_menu_set_as: 17301585;
			public static ic_menu_share: 17301586;
			public static ic_menu_slideshow: 17301587;
			public static ic_menu_sort_alphabetically: 17301660;
			public static ic_menu_sort_by_size: 17301661;
			public static ic_menu_today: 17301588;
			public static ic_menu_upload: 17301589;
			public static ic_menu_upload_you_tube: 17301590;
			public static ic_menu_view: 17301591;
			public static ic_menu_week: 17301592;
			public static ic_menu_zoom: 17301593;
			public static ic_notification_clear_all: 17301594;
			public static ic_notification_overlay: 17301595;
			public static ic_partial_secure: 17301596;
			public static ic_popup_disk_full: 17301597;
			public static ic_popup_reminder: 17301598;
			public static ic_popup_sync: 17301599;
			public static ic_search_category_default: 17301600;
			public static ic_secure: 17301601;
			public static list_selector_background: 17301602;
			public static menu_frame: 17301603;
			public static menu_full_frame: 17301604;
			public static menuitem_background: 17301605;
			public static picture_frame: 17301606;
			public static presence_audio_away: 17301679;
			public static presence_audio_busy: 17301680;
			public static presence_audio_online: 17301681;
			public static presence_away: 17301607;
			public static presence_busy: 17301608;
			public static presence_invisible: 17301609;
			public static presence_offline: 17301610;
			public static presence_online: 17301611;
			public static presence_video_away: 17301676;
			public static presence_video_busy: 17301677;
			public static presence_video_online: 17301678;
			public static progress_horizontal: 17301612;
			public static progress_indeterminate_horizontal: 17301613;
			public static radiobutton_off_background: 17301614;
			public static radiobutton_on_background: 17301615;
			public static screen_background_dark: 17301656;
			public static screen_background_dark_transparent: 17301673;
			public static screen_background_light: 17301657;
			public static screen_background_light_transparent: 17301674;
			public static spinner_background: 17301616;
			public static spinner_dropdown_background: 17301617;
			public static star_big_off: 17301619;
			public static star_big_on: 17301618;
			public static star_off: 17301621;
			public static star_on: 17301620;
			public static stat_notify_call_mute: 17301622;
			public static stat_notify_chat: 17301623;
			public static stat_notify_error: 17301624;
			public static stat_notify_missed_call: 17301631;
			public static stat_notify_more: 17301625;
			public static stat_notify_sdcard: 17301626;
			public static stat_notify_sdcard_prepare: 17301675;
			public static stat_notify_sdcard_usb: 17301627;
			public static stat_notify_sync: 17301628;
			public static stat_notify_sync_noanim: 17301629;
			public static stat_notify_voicemail: 17301630;
			public static stat_sys_data_bluetooth: 17301632;
			public static stat_sys_download: 17301633;
			public static stat_sys_download_done: 17301634;
			public static stat_sys_headset: 17301635;
			public static stat_sys_phone_call: 17301636;
			public static stat_sys_phone_call_forward: 17301637;
			public static stat_sys_phone_call_on_hold: 17301638;
			public static stat_sys_speakerphone: 17301639;
			public static stat_sys_upload: 17301640;
			public static stat_sys_upload_done: 17301641;
			public static stat_sys_vp_phone_call: 17301671;
			public static stat_sys_vp_phone_call_on_hold: 17301672;
			public static stat_sys_warning: 17301642;
			public static status_bar_item_app_background: 17301643;
			public static status_bar_item_background: 17301644;
			public static sym_action_call: 17301645;
			public static sym_action_chat: 17301646;
			public static sym_action_email: 17301647;
			public static sym_call_incoming: 17301648;
			public static sym_call_missed: 17301649;
			public static sym_call_outgoing: 17301650;
			public static sym_contact_card: 17301652;
			public static sym_def_app_icon: 17301651;
			public static title_bar: 17301653;
			public static title_bar_tall: 17301670;
			public static toast_frame: 17301654;
			public static zoom_plate: 17301655;
			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: 16908348;
			public static accessibilityActionDragCancel: 16908375;
			public static accessibilityActionDragDrop: 16908374;
			public static accessibilityActionDragStart: 16908373;
			public static accessibilityActionHideTooltip: 16908357;
			public static accessibilityActionImeEnter: 16908372;
			public static accessibilityActionMoveWindow: 16908354;
			public static accessibilityActionPageDown: 16908359;
			public static accessibilityActionPageLeft: 16908360;
			public static accessibilityActionPageRight: 16908361;
			public static accessibilityActionPageUp: 16908358;
			public static accessibilityActionPressAndHold: 16908362;
			public static accessibilityActionScrollDown: 16908346;
			public static accessibilityActionScrollInDirection: 16908382;
			public static accessibilityActionScrollLeft: 16908345;
			public static accessibilityActionScrollRight: 16908347;
			public static accessibilityActionScrollToPosition: 16908343;
			public static accessibilityActionScrollUp: 16908344;
			public static accessibilityActionSetProgress: 16908349;
			public static accessibilityActionShowOnScreen: 16908342;
			public static accessibilityActionShowTextSuggestions: 16908376;
			public static accessibilityActionShowTooltip: 16908356;
			public static accessibilitySystemActionBack: 16908363;
			public static accessibilitySystemActionHome: 16908364;
			public static accessibilitySystemActionLockScreen: 16908370;
			public static accessibilitySystemActionNotifications: 16908366;
			public static accessibilitySystemActionPowerDialog: 16908368;
			public static accessibilitySystemActionQuickSettings: 16908367;
			public static accessibilitySystemActionRecents: 16908365;
			public static accessibilitySystemActionTakeScreenshot: 16908371;
			public static accessibilitySystemActionToggleSplitScreen: 16908369;
			public static addToDictionary: 16908330;
			public static autofill: 16908355;
			public static background: 16908288;
			public static bold: 16908379;
			public static button1: 16908313;
			public static button2: 16908314;
			public static button3: 16908315;
			public static candidatesArea: 16908317;
			public static checkbox: 16908289;
			public static closeButton: 16908327;
			public static content: 16908290;
			public static copy: 16908321;
			public static copyUrl: 16908323;
			public static custom: 16908331;
			public static cut: 16908320;
			public static edit: 16908291;
			public static empty: 16908292;
			public static extractArea: 16908316;
			public static hint: 16908293;
			public static home: 16908332;
			public static icon: 16908294;
			public static icon1: 16908295;
			public static icon2: 16908296;
			public static icon_frame: 16908350;
			public static input: 16908297;
			public static inputArea: 16908318;
			public static inputExtractAccessories: 16908378;
			public static inputExtractAction: 16908377;
			public static inputExtractEditText: 16908325;
			public static italic: 16908380;
			public static keyboardView: 16908326;
			public static list: 16908298;
			public static list_container: 16908351;
			public static mask: 16908334;
			public static message: 16908299;
			public static navigationBarBackground: 16908336;
			public static paste: 16908322;
			public static pasteAsPlainText: 16908337;
			public static primary: 16908300;
			public static progress: 16908301;
			public static redo: 16908339;
			public static replaceText: 16908340;
			public static secondaryProgress: 16908303;
			public static selectAll: 16908319;
			public static selectTextMode: 16908333;
			public static selectedIcon: 16908302;
			public static shareText: 16908341;
			public static startSelectingText: 16908328;
			public static statusBarBackground: 16908335;
			public static stopSelectingText: 16908329;
			public static summary: 16908304;
			public static switchInputMethod: 16908324;
			public static switch_widget: 16908352;
			public static tabcontent: 16908305;
			public static tabhost: 16908306;
			public static tabs: 16908307;
			public static text1: 16908308;
			public static text2: 16908309;
			public static textAssist: 16908353;
			public static title: 16908310;
			public static toggle: 16908311;
			public static underline: 16908381;
			public static undo: 16908338;
			public static widget_frame: 16908312;
			public constructor();
		}
		export class integer extends java.lang.Object {
			public static class: java.lang.Class<android.R.integer>;
			public static config_longAnimTime: 17694722;
			public static config_mediumAnimTime: 17694721;
			public static config_shortAnimTime: 17694720;
			public static status_bar_notification_info_maxnum: 17694723;
			public constructor();
		}
		export class interpolator extends java.lang.Object {
			public static class: java.lang.Class<android.R.interpolator>;
			public static accelerate_cubic: 17563650;
			public static accelerate_decelerate: 17563654;
			public static accelerate_quad: 17563648;
			public static accelerate_quint: 17563652;
			public static anticipate: 17563655;
			public static anticipate_overshoot: 17563657;
			public static bounce: 17563658;
			public static cycle: 17563660;
			public static decelerate_cubic: 17563651;
			public static decelerate_quad: 17563649;
			public static decelerate_quint: 17563653;
			public static fast_out_extra_slow_in: 17563674;
			public static fast_out_linear_in: 17563663;
			public static fast_out_slow_in: 17563661;
			public static linear: 17563659;
			public static linear_out_slow_in: 17563662;
			public static overshoot: 17563656;
			public constructor();
		}
		export class layout extends java.lang.Object {
			public static class: java.lang.Class<android.R.layout>;
			public static activity_list_item: 17367040;
			public static browser_link_context_header: 17367054;
			public static expandable_list_content: 17367041;
			public static list_content: 17367060;
			public static preference_category: 17367042;
			public static select_dialog_item: 17367057;
			public static select_dialog_multichoice: 17367059;
			public static select_dialog_singlechoice: 17367058;
			public static simple_dropdown_item_1line: 17367050;
			public static simple_expandable_list_item_1: 17367046;
			public static simple_expandable_list_item_2: 17367047;
			public static simple_gallery_item: 17367051;
			public static simple_list_item_1: 17367043;
			public static simple_list_item_2: 17367044;
			public static simple_list_item_activated_1: 17367062;
			public static simple_list_item_activated_2: 17367063;
			public static simple_list_item_checked: 17367045;
			public static simple_list_item_multiple_choice: 17367056;
			public static simple_list_item_single_choice: 17367055;
			public static simple_selectable_list_item: 17367061;
			public static simple_spinner_dropdown_item: 17367049;
			public static simple_spinner_item: 17367048;
			public static test_list_item: 17367052;
			public static two_line_list_item: 17367053;
			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: 17629184;
			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: 16973824;
			public static Animation_Activity: 16973825;
			public static Animation_Dialog: 16973826;
			public static Animation_InputMethod: 16973910;
			public static Animation_Toast: 16973828;
			public static Animation_Translucent: 16973827;
			public static DeviceDefault_ButtonBar: 16974287;
			public static DeviceDefault_ButtonBar_AlertDialog: 16974288;
			public static DeviceDefault_Light_ButtonBar: 16974290;
			public static DeviceDefault_Light_ButtonBar_AlertDialog: 16974291;
			public static DeviceDefault_Light_SegmentedButton: 16974292;
			public static DeviceDefault_SegmentedButton: 16974289;
			public static Holo_ButtonBar: 16974053;
			public static Holo_ButtonBar_AlertDialog: 16974055;
			public static Holo_Light_ButtonBar: 16974054;
			public static Holo_Light_ButtonBar_AlertDialog: 16974056;
			public static Holo_Light_SegmentedButton: 16974058;
			public static Holo_SegmentedButton: 16974057;
			public static MediaButton: 16973879;
			public static MediaButton_Ffwd: 16973883;
			public static MediaButton_Next: 16973881;
			public static MediaButton_Pause: 16973885;
			public static MediaButton_Play: 16973882;
			public static MediaButton_Previous: 16973880;
			public static MediaButton_Rew: 16973884;
			public static TextAppearance: 16973886;
			public static TextAppearance_DeviceDefault: 16974253;
			public static TextAppearance_DeviceDefault_DialogWindowTitle: 16974264;
			public static TextAppearance_DeviceDefault_Headline: 16974565;
			public static TextAppearance_DeviceDefault_Inverse: 16974254;
			public static TextAppearance_DeviceDefault_Large: 16974255;
			public static TextAppearance_DeviceDefault_Large_Inverse: 16974256;
			public static TextAppearance_DeviceDefault_Medium: 16974257;
			public static TextAppearance_DeviceDefault_Medium_Inverse: 16974258;
			public static TextAppearance_DeviceDefault_SearchResult_Subtitle: 16974262;
			public static TextAppearance_DeviceDefault_SearchResult_Title: 16974261;
			public static TextAppearance_DeviceDefault_Small: 16974259;
			public static TextAppearance_DeviceDefault_Small_Inverse: 16974260;
			public static TextAppearance_DeviceDefault_Widget: 16974265;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Menu: 16974286;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle: 16974279;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse: 16974283;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Title: 16974278;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse: 16974282;
			public static TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle: 16974281;
			public static TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse: 16974285;
			public static TextAppearance_DeviceDefault_Widget_ActionMode_Title: 16974280;
			public static TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse: 16974284;
			public static TextAppearance_DeviceDefault_Widget_Button: 16974266;
			public static TextAppearance_DeviceDefault_Widget_DropDownHint: 16974271;
			public static TextAppearance_DeviceDefault_Widget_DropDownItem: 16974272;
			public static TextAppearance_DeviceDefault_Widget_EditText: 16974274;
			public static TextAppearance_DeviceDefault_Widget_IconMenu_Item: 16974267;
			public static TextAppearance_DeviceDefault_Widget_PopupMenu: 16974275;
			public static TextAppearance_DeviceDefault_Widget_PopupMenu_Large: 16974276;
			public static TextAppearance_DeviceDefault_Widget_PopupMenu_Small: 16974277;
			public static TextAppearance_DeviceDefault_Widget_TabWidget: 16974268;
			public static TextAppearance_DeviceDefault_Widget_TextView: 16974269;
			public static TextAppearance_DeviceDefault_Widget_TextView_PopupMenu: 16974270;
			public static TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem: 16974273;
			public static TextAppearance_DeviceDefault_WindowTitle: 16974263;
			public static TextAppearance_DialogWindowTitle: 16973889;
			public static TextAppearance_Holo: 16974075;
			public static TextAppearance_Holo_DialogWindowTitle: 16974103;
			public static TextAppearance_Holo_Inverse: 16974076;
			public static TextAppearance_Holo_Large: 16974077;
			public static TextAppearance_Holo_Large_Inverse: 16974078;
			public static TextAppearance_Holo_Medium: 16974079;
			public static TextAppearance_Holo_Medium_Inverse: 16974080;
			public static TextAppearance_Holo_SearchResult_Subtitle: 16974084;
			public static TextAppearance_Holo_SearchResult_Title: 16974083;
			public static TextAppearance_Holo_Small: 16974081;
			public static TextAppearance_Holo_Small_Inverse: 16974082;
			public static TextAppearance_Holo_Widget: 16974085;
			public static TextAppearance_Holo_Widget_ActionBar_Menu: 16974112;
			public static TextAppearance_Holo_Widget_ActionBar_Subtitle: 16974099;
			public static TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse: 16974109;
			public static TextAppearance_Holo_Widget_ActionBar_Title: 16974098;
			public static TextAppearance_Holo_Widget_ActionBar_Title_Inverse: 16974108;
			public static TextAppearance_Holo_Widget_ActionMode_Subtitle: 16974101;
			public static TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse: 16974111;
			public static TextAppearance_Holo_Widget_ActionMode_Title: 16974100;
			public static TextAppearance_Holo_Widget_ActionMode_Title_Inverse: 16974110;
			public static TextAppearance_Holo_Widget_Button: 16974086;
			public static TextAppearance_Holo_Widget_DropDownHint: 16974091;
			public static TextAppearance_Holo_Widget_DropDownItem: 16974092;
			public static TextAppearance_Holo_Widget_EditText: 16974094;
			public static TextAppearance_Holo_Widget_IconMenu_Item: 16974087;
			public static TextAppearance_Holo_Widget_PopupMenu: 16974095;
			public static TextAppearance_Holo_Widget_PopupMenu_Large: 16974096;
			public static TextAppearance_Holo_Widget_PopupMenu_Small: 16974097;
			public static TextAppearance_Holo_Widget_TabWidget: 16974088;
			public static TextAppearance_Holo_Widget_TextView: 16974089;
			public static TextAppearance_Holo_Widget_TextView_PopupMenu: 16974090;
			public static TextAppearance_Holo_Widget_TextView_SpinnerItem: 16974093;
			public static TextAppearance_Holo_WindowTitle: 16974102;
			public static TextAppearance_Inverse: 16973887;
			public static TextAppearance_Large: 16973890;
			public static TextAppearance_Large_Inverse: 16973891;
			public static TextAppearance_Material: 16974317;
			public static TextAppearance_Material_Body1: 16974320;
			public static TextAppearance_Material_Body2: 16974319;
			public static TextAppearance_Material_Button: 16974318;
			public static TextAppearance_Material_Caption: 16974321;
			public static TextAppearance_Material_DialogWindowTitle: 16974322;
			public static TextAppearance_Material_Display1: 16974326;
			public static TextAppearance_Material_Display2: 16974325;
			public static TextAppearance_Material_Display3: 16974324;
			public static TextAppearance_Material_Display4: 16974323;
			public static TextAppearance_Material_Headline: 16974327;
			public static TextAppearance_Material_Inverse: 16974328;
			public static TextAppearance_Material_Large: 16974329;
			public static TextAppearance_Material_Large_Inverse: 16974330;
			public static TextAppearance_Material_Medium: 16974331;
			public static TextAppearance_Material_Medium_Inverse: 16974332;
			public static TextAppearance_Material_Menu: 16974333;
			public static TextAppearance_Material_Notification: 16974334;
			public static TextAppearance_Material_Notification_Emphasis: 16974335;
			public static TextAppearance_Material_Notification_Info: 16974336;
			public static TextAppearance_Material_Notification_Line2: 16974337;
			public static TextAppearance_Material_Notification_Time: 16974338;
			public static TextAppearance_Material_Notification_Title: 16974339;
			public static TextAppearance_Material_SearchResult_Subtitle: 16974340;
			public static TextAppearance_Material_SearchResult_Title: 16974341;
			public static TextAppearance_Material_Small: 16974342;
			public static TextAppearance_Material_Small_Inverse: 16974343;
			public static TextAppearance_Material_Subhead: 16974344;
			public static TextAppearance_Material_Title: 16974345;
			public static TextAppearance_Material_Widget: 16974347;
			public static TextAppearance_Material_Widget_ActionBar_Menu: 16974348;
			public static TextAppearance_Material_Widget_ActionBar_Subtitle: 16974349;
			public static TextAppearance_Material_Widget_ActionBar_Subtitle_Inverse: 16974350;
			public static TextAppearance_Material_Widget_ActionBar_Title: 16974351;
			public static TextAppearance_Material_Widget_ActionBar_Title_Inverse: 16974352;
			public static TextAppearance_Material_Widget_ActionMode_Subtitle: 16974353;
			public static TextAppearance_Material_Widget_ActionMode_Subtitle_Inverse: 16974354;
			public static TextAppearance_Material_Widget_ActionMode_Title: 16974355;
			public static TextAppearance_Material_Widget_ActionMode_Title_Inverse: 16974356;
			public static TextAppearance_Material_Widget_Button: 16974357;
			public static TextAppearance_Material_Widget_Button_Borderless_Colored: 16974559;
			public static TextAppearance_Material_Widget_Button_Colored: 16974558;
			public static TextAppearance_Material_Widget_Button_Inverse: 16974548;
			public static TextAppearance_Material_Widget_DropDownHint: 16974358;
			public static TextAppearance_Material_Widget_DropDownItem: 16974359;
			public static TextAppearance_Material_Widget_EditText: 16974360;
			public static TextAppearance_Material_Widget_IconMenu_Item: 16974361;
			public static TextAppearance_Material_Widget_PopupMenu: 16974362;
			public static TextAppearance_Material_Widget_PopupMenu_Large: 16974363;
			public static TextAppearance_Material_Widget_PopupMenu_Small: 16974364;
			public static TextAppearance_Material_Widget_TabWidget: 16974365;
			public static TextAppearance_Material_Widget_TextView: 16974366;
			public static TextAppearance_Material_Widget_TextView_PopupMenu: 16974367;
			public static TextAppearance_Material_Widget_TextView_SpinnerItem: 16974368;
			public static TextAppearance_Material_Widget_Toolbar_Subtitle: 16974369;
			public static TextAppearance_Material_Widget_Toolbar_Title: 16974370;
			public static TextAppearance_Material_WindowTitle: 16974346;
			public static TextAppearance_Medium: 16973892;
			public static TextAppearance_Medium_Inverse: 16973893;
			public static TextAppearance_Small: 16973894;
			public static TextAppearance_Small_Inverse: 16973895;
			public static TextAppearance_StatusBar_EventContent: 16973927;
			public static TextAppearance_StatusBar_EventContent_Title: 16973928;
			public static TextAppearance_StatusBar_Icon: 16973926;
			public static TextAppearance_StatusBar_Title: 16973925;
			public static TextAppearance_SuggestionHighlight: 16974104;
			public static TextAppearance_Theme: 16973888;
			public static TextAppearance_Theme_Dialog: 16973896;
			public static TextAppearance_Widget: 16973897;
			public static TextAppearance_Widget_Button: 16973898;
			public static TextAppearance_Widget_DropDownHint: 16973904;
			public static TextAppearance_Widget_DropDownItem: 16973905;
			public static TextAppearance_Widget_EditText: 16973900;
			public static TextAppearance_Widget_IconMenu_Item: 16973899;
			public static TextAppearance_Widget_PopupMenu_Large: 16973952;
			public static TextAppearance_Widget_PopupMenu_Small: 16973953;
			public static TextAppearance_Widget_TabWidget: 16973901;
			public static TextAppearance_Widget_TextView: 16973902;
			public static TextAppearance_Widget_TextView_PopupMenu: 16973903;
			public static TextAppearance_Widget_TextView_SpinnerItem: 16973906;
			public static TextAppearance_WindowTitle: 16973907;
			public static Theme: 16973829;
			public static ThemeOverlay: 16974407;
			public static ThemeOverlay_DeviceDefault_Accent_DayNight: 16974564;
			public static ThemeOverlay_Material: 16974408;
			public static ThemeOverlay_Material_ActionBar: 16974409;
			public static ThemeOverlay_Material_Dark: 16974411;
			public static ThemeOverlay_Material_Dark_ActionBar: 16974412;
			public static ThemeOverlay_Material_Dialog: 16974550;
			public static ThemeOverlay_Material_Dialog_Alert: 16974551;
			public static ThemeOverlay_Material_Light: 16974410;
			public static Theme_Black: 16973832;
			public static Theme_Black_NoTitleBar: 16973833;
			public static Theme_Black_NoTitleBar_Fullscreen: 16973834;
			public static Theme_DeviceDefault: 16974120;
			public static Theme_DeviceDefault_DayNight: 16974563;
			public static Theme_DeviceDefault_Dialog: 16974126;
			public static Theme_DeviceDefault_DialogWhenLarge: 16974134;
			public static Theme_DeviceDefault_DialogWhenLarge_NoActionBar: 16974135;
			public static Theme_DeviceDefault_Dialog_Alert: 16974545;
			public static Theme_DeviceDefault_Dialog_MinWidth: 16974127;
			public static Theme_DeviceDefault_Dialog_NoActionBar: 16974128;
			public static Theme_DeviceDefault_Dialog_NoActionBar_MinWidth: 16974129;
			public static Theme_DeviceDefault_InputMethod: 16974142;
			public static Theme_DeviceDefault_Light: 16974123;
			public static Theme_DeviceDefault_Light_DarkActionBar: 16974143;
			public static Theme_DeviceDefault_Light_Dialog: 16974130;
			public static Theme_DeviceDefault_Light_DialogWhenLarge: 16974136;
			public static Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar: 16974137;
			public static Theme_DeviceDefault_Light_Dialog_Alert: 16974546;
			public static Theme_DeviceDefault_Light_Dialog_MinWidth: 16974131;
			public static Theme_DeviceDefault_Light_Dialog_NoActionBar: 16974132;
			public static Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth: 16974133;
			public static Theme_DeviceDefault_Light_NoActionBar: 16974124;
			public static Theme_DeviceDefault_Light_NoActionBar_Fullscreen: 16974125;
			public static Theme_DeviceDefault_Light_NoActionBar_Overscan: 16974304;
			public static Theme_DeviceDefault_Light_NoActionBar_TranslucentDecor: 16974308;
			public static Theme_DeviceDefault_Light_Panel: 16974139;
			public static Theme_DeviceDefault_NoActionBar: 16974121;
			public static Theme_DeviceDefault_NoActionBar_Fullscreen: 16974122;
			public static Theme_DeviceDefault_NoActionBar_Overscan: 16974303;
			public static Theme_DeviceDefault_NoActionBar_TranslucentDecor: 16974307;
			public static Theme_DeviceDefault_Panel: 16974138;
			public static Theme_DeviceDefault_Settings: 16974371;
			public static Theme_DeviceDefault_Wallpaper: 16974140;
			public static Theme_DeviceDefault_Wallpaper_NoTitleBar: 16974141;
			public static Theme_Dialog: 16973835;
			public static Theme_Holo: 16973931;
			public static Theme_Holo_Dialog: 16973935;
			public static Theme_Holo_DialogWhenLarge: 16973943;
			public static Theme_Holo_DialogWhenLarge_NoActionBar: 16973944;
			public static Theme_Holo_Dialog_MinWidth: 16973936;
			public static Theme_Holo_Dialog_NoActionBar: 16973937;
			public static Theme_Holo_Dialog_NoActionBar_MinWidth: 16973938;
			public static Theme_Holo_InputMethod: 16973951;
			public static Theme_Holo_Light: 16973934;
			public static Theme_Holo_Light_DarkActionBar: 16974105;
			public static Theme_Holo_Light_Dialog: 16973939;
			public static Theme_Holo_Light_DialogWhenLarge: 16973945;
			public static Theme_Holo_Light_DialogWhenLarge_NoActionBar: 16973946;
			public static Theme_Holo_Light_Dialog_MinWidth: 16973940;
			public static Theme_Holo_Light_Dialog_NoActionBar: 16973941;
			public static Theme_Holo_Light_Dialog_NoActionBar_MinWidth: 16973942;
			public static Theme_Holo_Light_NoActionBar: 16974064;
			public static Theme_Holo_Light_NoActionBar_Fullscreen: 16974065;
			public static Theme_Holo_Light_NoActionBar_Overscan: 16974302;
			public static Theme_Holo_Light_NoActionBar_TranslucentDecor: 16974306;
			public static Theme_Holo_Light_Panel: 16973948;
			public static Theme_Holo_NoActionBar: 16973932;
			public static Theme_Holo_NoActionBar_Fullscreen: 16973933;
			public static Theme_Holo_NoActionBar_Overscan: 16974301;
			public static Theme_Holo_NoActionBar_TranslucentDecor: 16974305;
			public static Theme_Holo_Panel: 16973947;
			public static Theme_Holo_Wallpaper: 16973949;
			public static Theme_Holo_Wallpaper_NoTitleBar: 16973950;
			public static Theme_InputMethod: 16973908;
			public static Theme_Light: 16973836;
			public static Theme_Light_NoTitleBar: 16973837;
			public static Theme_Light_NoTitleBar_Fullscreen: 16973838;
			public static Theme_Light_Panel: 16973914;
			public static Theme_Light_WallpaperSettings: 16973922;
			public static Theme_Material: 16974372;
			public static Theme_Material_Dialog: 16974373;
			public static Theme_Material_DialogWhenLarge: 16974379;
			public static Theme_Material_DialogWhenLarge_NoActionBar: 16974380;
			public static Theme_Material_Dialog_Alert: 16974374;
			public static Theme_Material_Dialog_MinWidth: 16974375;
			public static Theme_Material_Dialog_NoActionBar: 16974376;
			public static Theme_Material_Dialog_NoActionBar_MinWidth: 16974377;
			public static Theme_Material_Dialog_Presentation: 16974378;
			public static Theme_Material_InputMethod: 16974381;
			public static Theme_Material_Light: 16974391;
			public static Theme_Material_Light_DarkActionBar: 16974392;
			public static Theme_Material_Light_Dialog: 16974393;
			public static Theme_Material_Light_DialogWhenLarge: 16974399;
			public static Theme_Material_Light_DialogWhenLarge_DarkActionBar: 16974552;
			public static Theme_Material_Light_DialogWhenLarge_NoActionBar: 16974400;
			public static Theme_Material_Light_Dialog_Alert: 16974394;
			public static Theme_Material_Light_Dialog_MinWidth: 16974395;
			public static Theme_Material_Light_Dialog_NoActionBar: 16974396;
			public static Theme_Material_Light_Dialog_NoActionBar_MinWidth: 16974397;
			public static Theme_Material_Light_Dialog_Presentation: 16974398;
			public static Theme_Material_Light_LightStatusBar: 16974549;
			public static Theme_Material_Light_NoActionBar: 16974401;
			public static Theme_Material_Light_NoActionBar_Fullscreen: 16974402;
			public static Theme_Material_Light_NoActionBar_Overscan: 16974403;
			public static Theme_Material_Light_NoActionBar_TranslucentDecor: 16974404;
			public static Theme_Material_Light_Panel: 16974405;
			public static Theme_Material_Light_Voice: 16974406;
			public static Theme_Material_NoActionBar: 16974382;
			public static Theme_Material_NoActionBar_Fullscreen: 16974383;
			public static Theme_Material_NoActionBar_Overscan: 16974384;
			public static Theme_Material_NoActionBar_TranslucentDecor: 16974385;
			public static Theme_Material_Panel: 16974386;
			public static Theme_Material_Settings: 16974387;
			public static Theme_Material_Voice: 16974388;
			public static Theme_Material_Wallpaper: 16974389;
			public static Theme_Material_Wallpaper_NoTitleBar: 16974390;
			public static Theme_NoDisplay: 16973909;
			public static Theme_NoTitleBar: 16973830;
			public static Theme_NoTitleBar_Fullscreen: 16973831;
			public static Theme_NoTitleBar_OverlayActionModes: 16973930;
			public static Theme_Panel: 16973913;
			public static Theme_Translucent: 16973839;
			public static Theme_Translucent_NoTitleBar: 16973840;
			public static Theme_Translucent_NoTitleBar_Fullscreen: 16973841;
			public static Theme_Wallpaper: 16973918;
			public static Theme_WallpaperSettings: 16973921;
			public static Theme_Wallpaper_NoTitleBar: 16973919;
			public static Theme_Wallpaper_NoTitleBar_Fullscreen: 16973920;
			public static Theme_WithActionBar: 16973929;
			public static Widget: 16973842;
			public static Widget_AbsListView: 16973843;
			public static Widget_ActionBar: 16973954;
			public static Widget_ActionBar_TabBar: 16974068;
			public static Widget_ActionBar_TabText: 16974067;
			public static Widget_ActionBar_TabView: 16974066;
			public static Widget_ActionButton: 16973956;
			public static Widget_ActionButton_CloseMode: 16973960;
			public static Widget_ActionButton_Overflow: 16973959;
			public static Widget_AutoCompleteTextView: 16973863;
			public static Widget_Button: 16973844;
			public static Widget_Button_Inset: 16973845;
			public static Widget_Button_Small: 16973846;
			public static Widget_Button_Toggle: 16973847;
			public static Widget_CalendarView: 16974059;
			public static Widget_CompoundButton: 16973848;
			public static Widget_CompoundButton_CheckBox: 16973849;
			public static Widget_CompoundButton_RadioButton: 16973850;
			public static Widget_CompoundButton_Star: 16973851;
			public static Widget_DatePicker: 16974062;
			public static Widget_DeviceDefault: 16974144;
			public static Widget_DeviceDefault_ActionBar: 16974187;
			public static Widget_DeviceDefault_ActionBar_Solid: 16974195;
			public static Widget_DeviceDefault_ActionBar_TabBar: 16974194;
			public static Widget_DeviceDefault_ActionBar_TabText: 16974193;
			public static Widget_DeviceDefault_ActionBar_TabView: 16974192;
			public static Widget_DeviceDefault_ActionButton: 16974182;
			public static Widget_DeviceDefault_ActionButton_CloseMode: 16974186;
			public static Widget_DeviceDefault_ActionButton_Overflow: 16974183;
			public static Widget_DeviceDefault_ActionButton_TextButton: 16974184;
			public static Widget_DeviceDefault_ActionMode: 16974185;
			public static Widget_DeviceDefault_AutoCompleteTextView: 16974151;
			public static Widget_DeviceDefault_Button: 16974145;
			public static Widget_DeviceDefault_Button_Borderless: 16974188;
			public static Widget_DeviceDefault_Button_Borderless_Colored: 16974561;
			public static Widget_DeviceDefault_Button_Borderless_Small: 16974149;
			public static Widget_DeviceDefault_Button_Colored: 16974560;
			public static Widget_DeviceDefault_Button_Inset: 16974147;
			public static Widget_DeviceDefault_Button_Small: 16974146;
			public static Widget_DeviceDefault_Button_Toggle: 16974148;
			public static Widget_DeviceDefault_CalendarView: 16974190;
			public static Widget_DeviceDefault_CheckedTextView: 16974299;
			public static Widget_DeviceDefault_CompoundButton_CheckBox: 16974152;
			public static Widget_DeviceDefault_CompoundButton_RadioButton: 16974169;
			public static Widget_DeviceDefault_CompoundButton_Star: 16974173;
			public static Widget_DeviceDefault_DatePicker: 16974191;
			public static Widget_DeviceDefault_DropDownItem: 16974177;
			public static Widget_DeviceDefault_DropDownItem_Spinner: 16974178;
			public static Widget_DeviceDefault_EditText: 16974154;
			public static Widget_DeviceDefault_ExpandableListView: 16974155;
			public static Widget_DeviceDefault_FastScroll: 16974313;
			public static Widget_DeviceDefault_GridView: 16974156;
			public static Widget_DeviceDefault_HorizontalScrollView: 16974171;
			public static Widget_DeviceDefault_ImageButton: 16974157;
			public static Widget_DeviceDefault_Light: 16974196;
			public static Widget_DeviceDefault_Light_ActionBar: 16974243;
			public static Widget_DeviceDefault_Light_ActionBar_Solid: 16974247;
			public static Widget_DeviceDefault_Light_ActionBar_Solid_Inverse: 16974248;
			public static Widget_DeviceDefault_Light_ActionBar_TabBar: 16974246;
			public static Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse: 16974249;
			public static Widget_DeviceDefault_Light_ActionBar_TabText: 16974245;
			public static Widget_DeviceDefault_Light_ActionBar_TabText_Inverse: 16974251;
			public static Widget_DeviceDefault_Light_ActionBar_TabView: 16974244;
			public static Widget_DeviceDefault_Light_ActionBar_TabView_Inverse: 16974250;
			public static Widget_DeviceDefault_Light_ActionButton: 16974239;
			public static Widget_DeviceDefault_Light_ActionButton_CloseMode: 16974242;
			public static Widget_DeviceDefault_Light_ActionButton_Overflow: 16974240;
			public static Widget_DeviceDefault_Light_ActionMode: 16974241;
			public static Widget_DeviceDefault_Light_ActionMode_Inverse: 16974252;
			public static Widget_DeviceDefault_Light_AutoCompleteTextView: 16974203;
			public static Widget_DeviceDefault_Light_Button: 16974197;
			public static Widget_DeviceDefault_Light_Button_Borderless_Small: 16974201;
			public static Widget_DeviceDefault_Light_Button_Inset: 16974199;
			public static Widget_DeviceDefault_Light_Button_Small: 16974198;
			public static Widget_DeviceDefault_Light_Button_Toggle: 16974200;
			public static Widget_DeviceDefault_Light_CalendarView: 16974238;
			public static Widget_DeviceDefault_Light_CheckedTextView: 16974300;
			public static Widget_DeviceDefault_Light_CompoundButton_CheckBox: 16974204;
			public static Widget_DeviceDefault_Light_CompoundButton_RadioButton: 16974224;
			public static Widget_DeviceDefault_Light_CompoundButton_Star: 16974228;
			public static Widget_DeviceDefault_Light_DropDownItem: 16974232;
			public static Widget_DeviceDefault_Light_DropDownItem_Spinner: 16974233;
			public static Widget_DeviceDefault_Light_EditText: 16974206;
			public static Widget_DeviceDefault_Light_ExpandableListView: 16974207;
			public static Widget_DeviceDefault_Light_FastScroll: 16974315;
			public static Widget_DeviceDefault_Light_GridView: 16974208;
			public static Widget_DeviceDefault_Light_HorizontalScrollView: 16974226;
			public static Widget_DeviceDefault_Light_ImageButton: 16974209;
			public static Widget_DeviceDefault_Light_ListPopupWindow: 16974235;
			public static Widget_DeviceDefault_Light_ListView: 16974210;
			public static Widget_DeviceDefault_Light_ListView_DropDown: 16974205;
			public static Widget_DeviceDefault_Light_MediaRouteButton: 16974296;
			public static Widget_DeviceDefault_Light_PopupMenu: 16974236;
			public static Widget_DeviceDefault_Light_PopupWindow: 16974211;
			public static Widget_DeviceDefault_Light_ProgressBar: 16974212;
			public static Widget_DeviceDefault_Light_ProgressBar_Horizontal: 16974213;
			public static Widget_DeviceDefault_Light_ProgressBar_Inverse: 16974217;
			public static Widget_DeviceDefault_Light_ProgressBar_Large: 16974216;
			public static Widget_DeviceDefault_Light_ProgressBar_Large_Inverse: 16974219;
			public static Widget_DeviceDefault_Light_ProgressBar_Small: 16974214;
			public static Widget_DeviceDefault_Light_ProgressBar_Small_Inverse: 16974218;
			public static Widget_DeviceDefault_Light_ProgressBar_Small_Title: 16974215;
			public static Widget_DeviceDefault_Light_RatingBar: 16974221;
			public static Widget_DeviceDefault_Light_RatingBar_Indicator: 16974222;
			public static Widget_DeviceDefault_Light_RatingBar_Small: 16974223;
			public static Widget_DeviceDefault_Light_ScrollView: 16974225;
			public static Widget_DeviceDefault_Light_SeekBar: 16974220;
			public static Widget_DeviceDefault_Light_Spinner: 16974227;
			public static Widget_DeviceDefault_Light_StackView: 16974316;
			public static Widget_DeviceDefault_Light_Tab: 16974237;
			public static Widget_DeviceDefault_Light_TabWidget: 16974229;
			public static Widget_DeviceDefault_Light_TextView: 16974202;
			public static Widget_DeviceDefault_Light_TextView_SpinnerItem: 16974234;
			public static Widget_DeviceDefault_Light_WebTextView: 16974230;
			public static Widget_DeviceDefault_Light_WebView: 16974231;
			public static Widget_DeviceDefault_ListPopupWindow: 16974180;
			public static Widget_DeviceDefault_ListView: 16974158;
			public static Widget_DeviceDefault_ListView_DropDown: 16974153;
			public static Widget_DeviceDefault_MediaRouteButton: 16974295;
			public static Widget_DeviceDefault_PopupMenu: 16974181;
			public static Widget_DeviceDefault_PopupWindow: 16974159;
			public static Widget_DeviceDefault_ProgressBar: 16974160;
			public static Widget_DeviceDefault_ProgressBar_Horizontal: 16974161;
			public static Widget_DeviceDefault_ProgressBar_Large: 16974164;
			public static Widget_DeviceDefault_ProgressBar_Small: 16974162;
			public static Widget_DeviceDefault_ProgressBar_Small_Title: 16974163;
			public static Widget_DeviceDefault_RatingBar: 16974166;
			public static Widget_DeviceDefault_RatingBar_Indicator: 16974167;
			public static Widget_DeviceDefault_RatingBar_Small: 16974168;
			public static Widget_DeviceDefault_ScrollView: 16974170;
			public static Widget_DeviceDefault_SeekBar: 16974165;
			public static Widget_DeviceDefault_Spinner: 16974172;
			public static Widget_DeviceDefault_StackView: 16974314;
			public static Widget_DeviceDefault_Tab: 16974189;
			public static Widget_DeviceDefault_TabWidget: 16974174;
			public static Widget_DeviceDefault_TextView: 16974150;
			public static Widget_DeviceDefault_TextView_SpinnerItem: 16974179;
			public static Widget_DeviceDefault_WebTextView: 16974175;
			public static Widget_DeviceDefault_WebView: 16974176;
			public static Widget_DropDownItem: 16973867;
			public static Widget_DropDownItem_Spinner: 16973868;
			public static Widget_EditText: 16973859;
			public static Widget_ExpandableListView: 16973860;
			public static Widget_FastScroll: 16974309;
			public static Widget_FragmentBreadCrumbs: 16973961;
			public static Widget_Gallery: 16973877;
			public static Widget_GridView: 16973874;
			public static Widget_Holo: 16973962;
			public static Widget_Holo_ActionBar: 16974004;
			public static Widget_Holo_ActionBar_Solid: 16974113;
			public static Widget_Holo_ActionBar_TabBar: 16974071;
			public static Widget_Holo_ActionBar_TabText: 16974070;
			public static Widget_Holo_ActionBar_TabView: 16974069;
			public static Widget_Holo_ActionButton: 16973999;
			public static Widget_Holo_ActionButton_CloseMode: 16974003;
			public static Widget_Holo_ActionButton_Overflow: 16974000;
			public static Widget_Holo_ActionButton_TextButton: 16974001;
			public static Widget_Holo_ActionMode: 16974002;
			public static Widget_Holo_AutoCompleteTextView: 16973968;
			public static Widget_Holo_Button: 16973963;
			public static Widget_Holo_Button_Borderless: 16974050;
			public static Widget_Holo_Button_Borderless_Small: 16974106;
			public static Widget_Holo_Button_Inset: 16973965;
			public static Widget_Holo_Button_Small: 16973964;
			public static Widget_Holo_Button_Toggle: 16973966;
			public static Widget_Holo_CalendarView: 16974060;
			public static Widget_Holo_CheckedTextView: 16974297;
			public static Widget_Holo_CompoundButton_CheckBox: 16973969;
			public static Widget_Holo_CompoundButton_RadioButton: 16973986;
			public static Widget_Holo_CompoundButton_Star: 16973990;
			public static Widget_Holo_DatePicker: 16974063;
			public static Widget_Holo_DropDownItem: 16973994;
			public static Widget_Holo_DropDownItem_Spinner: 16973995;
			public static Widget_Holo_EditText: 16973971;
			public static Widget_Holo_ExpandableListView: 16973972;
			public static Widget_Holo_GridView: 16973973;
			public static Widget_Holo_HorizontalScrollView: 16973988;
			public static Widget_Holo_ImageButton: 16973974;
			public static Widget_Holo_Light: 16974005;
			public static Widget_Holo_Light_ActionBar: 16974049;
			public static Widget_Holo_Light_ActionBar_Solid: 16974114;
			public static Widget_Holo_Light_ActionBar_Solid_Inverse: 16974115;
			public static Widget_Holo_Light_ActionBar_TabBar: 16974074;
			public static Widget_Holo_Light_ActionBar_TabBar_Inverse: 16974116;
			public static Widget_Holo_Light_ActionBar_TabText: 16974073;
			public static Widget_Holo_Light_ActionBar_TabText_Inverse: 16974118;
			public static Widget_Holo_Light_ActionBar_TabView: 16974072;
			public static Widget_Holo_Light_ActionBar_TabView_Inverse: 16974117;
			public static Widget_Holo_Light_ActionButton: 16974045;
			public static Widget_Holo_Light_ActionButton_CloseMode: 16974048;
			public static Widget_Holo_Light_ActionButton_Overflow: 16974046;
			public static Widget_Holo_Light_ActionMode: 16974047;
			public static Widget_Holo_Light_ActionMode_Inverse: 16974119;
			public static Widget_Holo_Light_AutoCompleteTextView: 16974011;
			public static Widget_Holo_Light_Button: 16974006;
			public static Widget_Holo_Light_Button_Borderless_Small: 16974107;
			public static Widget_Holo_Light_Button_Inset: 16974008;
			public static Widget_Holo_Light_Button_Small: 16974007;
			public static Widget_Holo_Light_Button_Toggle: 16974009;
			public static Widget_Holo_Light_CalendarView: 16974061;
			public static Widget_Holo_Light_CheckedTextView: 16974298;
			public static Widget_Holo_Light_CompoundButton_CheckBox: 16974012;
			public static Widget_Holo_Light_CompoundButton_RadioButton: 16974032;
			public static Widget_Holo_Light_CompoundButton_Star: 16974036;
			public static Widget_Holo_Light_DropDownItem: 16974040;
			public static Widget_Holo_Light_DropDownItem_Spinner: 16974041;
			public static Widget_Holo_Light_EditText: 16974014;
			public static Widget_Holo_Light_ExpandableListView: 16974015;
			public static Widget_Holo_Light_GridView: 16974016;
			public static Widget_Holo_Light_HorizontalScrollView: 16974034;
			public static Widget_Holo_Light_ImageButton: 16974017;
			public static Widget_Holo_Light_ListPopupWindow: 16974043;
			public static Widget_Holo_Light_ListView: 16974018;
			public static Widget_Holo_Light_ListView_DropDown: 16974013;
			public static Widget_Holo_Light_MediaRouteButton: 16974294;
			public static Widget_Holo_Light_PopupMenu: 16974044;
			public static Widget_Holo_Light_PopupWindow: 16974019;
			public static Widget_Holo_Light_ProgressBar: 16974020;
			public static Widget_Holo_Light_ProgressBar_Horizontal: 16974021;
			public static Widget_Holo_Light_ProgressBar_Inverse: 16974025;
			public static Widget_Holo_Light_ProgressBar_Large: 16974024;
			public static Widget_Holo_Light_ProgressBar_Large_Inverse: 16974027;
			public static Widget_Holo_Light_ProgressBar_Small: 16974022;
			public static Widget_Holo_Light_ProgressBar_Small_Inverse: 16974026;
			public static Widget_Holo_Light_ProgressBar_Small_Title: 16974023;
			public static Widget_Holo_Light_RatingBar: 16974029;
			public static Widget_Holo_Light_RatingBar_Indicator: 16974030;
			public static Widget_Holo_Light_RatingBar_Small: 16974031;
			public static Widget_Holo_Light_ScrollView: 16974033;
			public static Widget_Holo_Light_SeekBar: 16974028;
			public static Widget_Holo_Light_Spinner: 16974035;
			public static Widget_Holo_Light_Tab: 16974052;
			public static Widget_Holo_Light_TabWidget: 16974037;
			public static Widget_Holo_Light_TextView: 16974010;
			public static Widget_Holo_Light_TextView_SpinnerItem: 16974042;
			public static Widget_Holo_Light_WebTextView: 16974038;
			public static Widget_Holo_Light_WebView: 16974039;
			public static Widget_Holo_ListPopupWindow: 16973997;
			public static Widget_Holo_ListView: 16973975;
			public static Widget_Holo_ListView_DropDown: 16973970;
			public static Widget_Holo_MediaRouteButton: 16974293;
			public static Widget_Holo_PopupMenu: 16973998;
			public static Widget_Holo_PopupWindow: 16973976;
			public static Widget_Holo_ProgressBar: 16973977;
			public static Widget_Holo_ProgressBar_Horizontal: 16973978;
			public static Widget_Holo_ProgressBar_Large: 16973981;
			public static Widget_Holo_ProgressBar_Small: 16973979;
			public static Widget_Holo_ProgressBar_Small_Title: 16973980;
			public static Widget_Holo_RatingBar: 16973983;
			public static Widget_Holo_RatingBar_Indicator: 16973984;
			public static Widget_Holo_RatingBar_Small: 16973985;
			public static Widget_Holo_ScrollView: 16973987;
			public static Widget_Holo_SeekBar: 16973982;
			public static Widget_Holo_Spinner: 16973989;
			public static Widget_Holo_Tab: 16974051;
			public static Widget_Holo_TabWidget: 16973991;
			public static Widget_Holo_TextView: 16973967;
			public static Widget_Holo_TextView_SpinnerItem: 16973996;
			public static Widget_Holo_WebTextView: 16973992;
			public static Widget_Holo_WebView: 16973993;
			public static Widget_ImageButton: 16973862;
			public static Widget_ImageWell: 16973861;
			public static Widget_KeyboardView: 16973911;
			public static Widget_ListPopupWindow: 16973957;
			public static Widget_ListView: 16973870;
			public static Widget_ListView_DropDown: 16973872;
			public static Widget_ListView_Menu: 16973873;
			public static Widget_ListView_White: 16973871;
			public static Widget_Material: 16974413;
			public static Widget_Material_ActionBar: 16974414;
			public static Widget_Material_ActionBar_Solid: 16974415;
			public static Widget_Material_ActionBar_TabBar: 16974416;
			public static Widget_Material_ActionBar_TabText: 16974417;
			public static Widget_Material_ActionBar_TabView: 16974418;
			public static Widget_Material_ActionButton: 16974419;
			public static Widget_Material_ActionButton_CloseMode: 16974420;
			public static Widget_Material_ActionButton_Overflow: 16974421;
			public static Widget_Material_ActionMode: 16974422;
			public static Widget_Material_AutoCompleteTextView: 16974423;
			public static Widget_Material_Button: 16974424;
			public static Widget_Material_ButtonBar: 16974431;
			public static Widget_Material_ButtonBar_AlertDialog: 16974432;
			public static Widget_Material_Button_Borderless: 16974425;
			public static Widget_Material_Button_Borderless_Colored: 16974426;
			public static Widget_Material_Button_Borderless_Small: 16974427;
			public static Widget_Material_Button_Colored: 16974547;
			public static Widget_Material_Button_Inset: 16974428;
			public static Widget_Material_Button_Small: 16974429;
			public static Widget_Material_Button_Toggle: 16974430;
			public static Widget_Material_CalendarView: 16974433;
			public static Widget_Material_CheckedTextView: 16974434;
			public static Widget_Material_CompoundButton_CheckBox: 16974435;
			public static Widget_Material_CompoundButton_RadioButton: 16974436;
			public static Widget_Material_CompoundButton_Star: 16974437;
			public static Widget_Material_CompoundButton_Switch: 16974554;
			public static Widget_Material_DatePicker: 16974438;
			public static Widget_Material_DropDownItem: 16974439;
			public static Widget_Material_DropDownItem_Spinner: 16974440;
			public static Widget_Material_EditText: 16974441;
			public static Widget_Material_ExpandableListView: 16974442;
			public static Widget_Material_FastScroll: 16974443;
			public static Widget_Material_GridView: 16974444;
			public static Widget_Material_HorizontalScrollView: 16974445;
			public static Widget_Material_ImageButton: 16974446;
			public static Widget_Material_Light: 16974478;
			public static Widget_Material_Light_ActionBar: 16974479;
			public static Widget_Material_Light_ActionBar_Solid: 16974480;
			public static Widget_Material_Light_ActionBar_TabBar: 16974481;
			public static Widget_Material_Light_ActionBar_TabText: 16974482;
			public static Widget_Material_Light_ActionBar_TabView: 16974483;
			public static Widget_Material_Light_ActionButton: 16974484;
			public static Widget_Material_Light_ActionButton_CloseMode: 16974485;
			public static Widget_Material_Light_ActionButton_Overflow: 16974486;
			public static Widget_Material_Light_ActionMode: 16974487;
			public static Widget_Material_Light_AutoCompleteTextView: 16974488;
			public static Widget_Material_Light_Button: 16974489;
			public static Widget_Material_Light_ButtonBar: 16974496;
			public static Widget_Material_Light_ButtonBar_AlertDialog: 16974497;
			public static Widget_Material_Light_Button_Borderless: 16974490;
			public static Widget_Material_Light_Button_Borderless_Colored: 16974491;
			public static Widget_Material_Light_Button_Borderless_Small: 16974492;
			public static Widget_Material_Light_Button_Inset: 16974493;
			public static Widget_Material_Light_Button_Small: 16974494;
			public static Widget_Material_Light_Button_Toggle: 16974495;
			public static Widget_Material_Light_CalendarView: 16974498;
			public static Widget_Material_Light_CheckedTextView: 16974499;
			public static Widget_Material_Light_CompoundButton_CheckBox: 16974500;
			public static Widget_Material_Light_CompoundButton_RadioButton: 16974501;
			public static Widget_Material_Light_CompoundButton_Star: 16974502;
			public static Widget_Material_Light_CompoundButton_Switch: 16974555;
			public static Widget_Material_Light_DatePicker: 16974503;
			public static Widget_Material_Light_DropDownItem: 16974504;
			public static Widget_Material_Light_DropDownItem_Spinner: 16974505;
			public static Widget_Material_Light_EditText: 16974506;
			public static Widget_Material_Light_ExpandableListView: 16974507;
			public static Widget_Material_Light_FastScroll: 16974508;
			public static Widget_Material_Light_GridView: 16974509;
			public static Widget_Material_Light_HorizontalScrollView: 16974510;
			public static Widget_Material_Light_ImageButton: 16974511;
			public static Widget_Material_Light_ListPopupWindow: 16974512;
			public static Widget_Material_Light_ListView: 16974513;
			public static Widget_Material_Light_ListView_DropDown: 16974514;
			public static Widget_Material_Light_MediaRouteButton: 16974515;
			public static Widget_Material_Light_NumberPicker: 16974557;
			public static Widget_Material_Light_PopupMenu: 16974516;
			public static Widget_Material_Light_PopupMenu_Overflow: 16974517;
			public static Widget_Material_Light_PopupWindow: 16974518;
			public static Widget_Material_Light_ProgressBar: 16974519;
			public static Widget_Material_Light_ProgressBar_Horizontal: 16974520;
			public static Widget_Material_Light_ProgressBar_Inverse: 16974521;
			public static Widget_Material_Light_ProgressBar_Large: 16974522;
			public static Widget_Material_Light_ProgressBar_Large_Inverse: 16974523;
			public static Widget_Material_Light_ProgressBar_Small: 16974524;
			public static Widget_Material_Light_ProgressBar_Small_Inverse: 16974525;
			public static Widget_Material_Light_ProgressBar_Small_Title: 16974526;
			public static Widget_Material_Light_RatingBar: 16974527;
			public static Widget_Material_Light_RatingBar_Indicator: 16974528;
			public static Widget_Material_Light_RatingBar_Small: 16974529;
			public static Widget_Material_Light_ScrollView: 16974530;
			public static Widget_Material_Light_SearchView: 16974531;
			public static Widget_Material_Light_SeekBar: 16974532;
			public static Widget_Material_Light_SegmentedButton: 16974533;
			public static Widget_Material_Light_Spinner: 16974535;
			public static Widget_Material_Light_Spinner_Underlined: 16974536;
			public static Widget_Material_Light_StackView: 16974534;
			public static Widget_Material_Light_Tab: 16974537;
			public static Widget_Material_Light_TabWidget: 16974538;
			public static Widget_Material_Light_TextView: 16974539;
			public static Widget_Material_Light_TextView_SpinnerItem: 16974540;
			public static Widget_Material_Light_TimePicker: 16974541;
			public static Widget_Material_Light_WebTextView: 16974542;
			public static Widget_Material_Light_WebView: 16974543;
			public static Widget_Material_ListPopupWindow: 16974447;
			public static Widget_Material_ListView: 16974448;
			public static Widget_Material_ListView_DropDown: 16974449;
			public static Widget_Material_MediaRouteButton: 16974450;
			public static Widget_Material_NumberPicker: 16974556;
			public static Widget_Material_PopupMenu: 16974451;
			public static Widget_Material_PopupMenu_Overflow: 16974452;
			public static Widget_Material_PopupWindow: 16974453;
			public static Widget_Material_ProgressBar: 16974454;
			public static Widget_Material_ProgressBar_Horizontal: 16974455;
			public static Widget_Material_ProgressBar_Large: 16974456;
			public static Widget_Material_ProgressBar_Small: 16974457;
			public static Widget_Material_ProgressBar_Small_Title: 16974458;
			public static Widget_Material_RatingBar: 16974459;
			public static Widget_Material_RatingBar_Indicator: 16974460;
			public static Widget_Material_RatingBar_Small: 16974461;
			public static Widget_Material_ScrollView: 16974462;
			public static Widget_Material_SearchView: 16974463;
			public static Widget_Material_SeekBar: 16974464;
			public static Widget_Material_SeekBar_Discrete: 16974553;
			public static Widget_Material_SegmentedButton: 16974465;
			public static Widget_Material_Spinner: 16974467;
			public static Widget_Material_Spinner_Underlined: 16974468;
			public static Widget_Material_StackView: 16974466;
			public static Widget_Material_Tab: 16974469;
			public static Widget_Material_TabWidget: 16974470;
			public static Widget_Material_TextView: 16974471;
			public static Widget_Material_TextView_SpinnerItem: 16974472;
			public static Widget_Material_TimePicker: 16974473;
			public static Widget_Material_Toolbar: 16974474;
			public static Widget_Material_Toolbar_Button_Navigation: 16974475;
			public static Widget_Material_WebTextView: 16974476;
			public static Widget_Material_WebView: 16974477;
			public static Widget_PopupMenu: 16973958;
			public static Widget_PopupWindow: 16973878;
			public static Widget_ProgressBar: 16973852;
			public static Widget_ProgressBar_Horizontal: 16973855;
			public static Widget_ProgressBar_Inverse: 16973915;
			public static Widget_ProgressBar_Large: 16973853;
			public static Widget_ProgressBar_Large_Inverse: 16973916;
			public static Widget_ProgressBar_Small: 16973854;
			public static Widget_ProgressBar_Small_Inverse: 16973917;
			public static Widget_RatingBar: 16973857;
			public static Widget_ScrollView: 16973869;
			public static Widget_SeekBar: 16973856;
			public static Widget_Spinner: 16973864;
			public static Widget_Spinner_DropDown: 16973955;
			public static Widget_StackView: 16974310;
			public static Widget_TabWidget: 16973876;
			public static Widget_TextView: 16973858;
			public static Widget_TextView_PopupMenu: 16973865;
			public static Widget_TextView_SpinnerItem: 16973866;
			public static Widget_Toolbar: 16974311;
			public static Widget_Toolbar_Button_Navigation: 16974312;
			public static Widget_WebView: 16973875;
			public constructor();
		}
		export class transition extends java.lang.Object {
			public static class: java.lang.Class<android.R.transition>;
			public static explode: 17760259;
			public static fade: 17760258;
			public static move: 17760257;
			public static no_transition: 17760256;
			public static slide_bottom: 17760260;
			public static slide_left: 17760263;
			public static slide_right: 17760262;
			public static slide_top: 17760261;
			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 unregisterAccessibilityButtonCallback(callback: android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback): void;
			public registerAccessibilityButtonCallback(callback: android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback, handler: android.os.Handler): void;
			public isAccessibilityButtonAvailable(): boolean;
			public registerAccessibilityButtonCallback(callback: 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 onClicked(controller: android.accessibilityservice.AccessibilityButtonController): void;
				public onAvailabilityChanged(controller: android.accessibilityservice.AccessibilityButtonController, available: boolean): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class AccessibilityGestureEvent extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.accessibilityservice.AccessibilityGestureEvent>;
			public static CREATOR: android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityGestureEvent>;
			public constructor(gestureId: number, displayId: number, motionEvents: java.util.List<android.view.MotionEvent>);
			public getGestureId(): number;
			public getMotionEvents(): java.util.List<android.view.MotionEvent>;
			public toString(): string;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDisplayId(): number;
			public static gestureIdToString(id: number): string;
		}
	}
}

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 ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR: 1;
			public static ERROR_TAKE_SCREENSHOT_INTERVAL_TIME_SHORT: 3;
			public static ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY: 4;
			public static ERROR_TAKE_SCREENSHOT_INVALID_WINDOW: 5;
			public static ERROR_TAKE_SCREENSHOT_NO_ACCESSIBILITY_ACCESS: 2;
			public static ERROR_TAKE_SCREENSHOT_SECURE_WINDOW: 6;
			public static GESTURE_2_FINGER_DOUBLE_TAP: 20;
			public static GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD: 40;
			public static GESTURE_2_FINGER_SINGLE_TAP: 19;
			public static GESTURE_2_FINGER_SWIPE_DOWN: 26;
			public static GESTURE_2_FINGER_SWIPE_LEFT: 27;
			public static GESTURE_2_FINGER_SWIPE_RIGHT: 28;
			public static GESTURE_2_FINGER_SWIPE_UP: 25;
			public static GESTURE_2_FINGER_TRIPLE_TAP: 21;
			public static GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD: 43;
			public static GESTURE_3_FINGER_DOUBLE_TAP: 23;
			public static GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD: 41;
			public static GESTURE_3_FINGER_SINGLE_TAP: 22;
			public static GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD: 44;
			public static GESTURE_3_FINGER_SWIPE_DOWN: 30;
			public static GESTURE_3_FINGER_SWIPE_LEFT: 31;
			public static GESTURE_3_FINGER_SWIPE_RIGHT: 32;
			public static GESTURE_3_FINGER_SWIPE_UP: 29;
			public static GESTURE_3_FINGER_TRIPLE_TAP: 24;
			public static GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD: 45;
			public static GESTURE_4_FINGER_DOUBLE_TAP: 38;
			public static GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD: 42;
			public static GESTURE_4_FINGER_SINGLE_TAP: 37;
			public static GESTURE_4_FINGER_SWIPE_DOWN: 34;
			public static GESTURE_4_FINGER_SWIPE_LEFT: 35;
			public static GESTURE_4_FINGER_SWIPE_RIGHT: 36;
			public static GESTURE_4_FINGER_SWIPE_UP: 33;
			public static GESTURE_4_FINGER_TRIPLE_TAP: 39;
			public static GESTURE_DOUBLE_TAP: 17;
			public static GESTURE_DOUBLE_TAP_AND_HOLD: 18;
			public static GESTURE_SWIPE_DOWN: 2;
			public static GESTURE_SWIPE_DOWN_AND_LEFT: 15;
			public static GESTURE_SWIPE_DOWN_AND_RIGHT: 16;
			public static GESTURE_SWIPE_DOWN_AND_UP: 8;
			public static GESTURE_SWIPE_LEFT: 3;
			public static GESTURE_SWIPE_LEFT_AND_DOWN: 10;
			public static GESTURE_SWIPE_LEFT_AND_RIGHT: 5;
			public static GESTURE_SWIPE_LEFT_AND_UP: 9;
			public static GESTURE_SWIPE_RIGHT: 4;
			public static GESTURE_SWIPE_RIGHT_AND_DOWN: 12;
			public static GESTURE_SWIPE_RIGHT_AND_LEFT: 6;
			public static GESTURE_SWIPE_RIGHT_AND_UP: 11;
			public static GESTURE_SWIPE_UP: 1;
			public static GESTURE_SWIPE_UP_AND_DOWN: 7;
			public static GESTURE_SWIPE_UP_AND_LEFT: 13;
			public static GESTURE_SWIPE_UP_AND_RIGHT: 14;
			public static GESTURE_UNKNOWN: 0;
			public static GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS: 14;
			public static GLOBAL_ACTION_ACCESSIBILITY_BUTTON: 11;
			public static GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER: 12;
			public static GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT: 13;
			public static GLOBAL_ACTION_BACK: 1;
			public static GLOBAL_ACTION_DISMISS_NOTIFICATION_SHADE: 15;
			public static GLOBAL_ACTION_DPAD_CENTER: 20;
			public static GLOBAL_ACTION_DPAD_DOWN: 17;
			public static GLOBAL_ACTION_DPAD_LEFT: 18;
			public static GLOBAL_ACTION_DPAD_RIGHT: 19;
			public static GLOBAL_ACTION_DPAD_UP: 16;
			public static GLOBAL_ACTION_HOME: 2;
			public static GLOBAL_ACTION_KEYCODE_HEADSETHOOK: 10;
			public static GLOBAL_ACTION_LOCK_SCREEN: 8;
			public static GLOBAL_ACTION_NOTIFICATIONS: 4;
			public static GLOBAL_ACTION_POWER_DIALOG: 6;
			public static GLOBAL_ACTION_QUICK_SETTINGS: 5;
			public static GLOBAL_ACTION_RECENTS: 3;
			public static GLOBAL_ACTION_TAKE_SCREENSHOT: 9;
			public static GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN: 7;
			public static SERVICE_INTERFACE: "android.accessibilityservice.AccessibilityService";
			public static SERVICE_META_DATA: "android.accessibilityservice";
			public static SHOW_MODE_AUTO: 0;
			public static SHOW_MODE_HIDDEN: 1;
			public static SHOW_MODE_IGNORE_HARD_KEYBOARD: 2;
			public setGestureDetectionPassthroughRegion(displayId: number, region: android.graphics.Region): void;
			public createDisplayContext(display: android.view.Display): android.content.Context;
			public getSoftKeyboardController(): android.accessibilityservice.AccessibilityService.SoftKeyboardController;
			public getAccessibilityButtonController(displayId: number): android.accessibilityservice.AccessibilityButtonController;
			public getSystemService(serviceClass: java.lang.Class<any>): any;
			public setCacheEnabled(enabled: boolean): boolean;
			public onAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): void;
			public getTouchInteractionController(displayId: number): android.accessibilityservice.TouchInteractionController;
			public createWindowContext(type: number, options: android.os.Bundle): android.content.Context;
			public getWindowsOnAllDisplays(): android.util.SparseArray<java.util.List<android.view.accessibility.AccessibilityWindowInfo>>;
			public clearCache(): boolean;
			public clearCachedSubtree(node: android.view.accessibility.AccessibilityNodeInfo): boolean;
			public takeScreenshot(displayId: number, executor: java.util.concurrent.Executor, callback: android.accessibilityservice.AccessibilityService.TakeScreenshotCallback): void;
			public isNodeInCache(node: android.view.accessibility.AccessibilityNodeInfo): boolean;
			/** @deprecated */
			public onGesture(gestureId: number): boolean;
			public takeScreenshotOfWindow(accessibilityWindowId: number, executor: java.util.concurrent.Executor, callback: android.accessibilityservice.AccessibilityService.TakeScreenshotCallback): void;
			public setAnimationScale(scale: number): void;
			public attachAccessibilityOverlayToDisplay(displayId: number, sc: android.view.SurfaceControl): void;
			public setAccessibilityFocusAppearance(strokeWidth: number, color: number): void;
			public getAccessibilityButtonController(): android.accessibilityservice.AccessibilityButtonController;
			public constructor();
			public getSystemActions(): java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction>;
			public setTouchExplorationPassthroughRegion(displayId: number, region: android.graphics.Region): void;
			public performGlobalAction(action: number): boolean;
			public getFingerprintGestureController(): android.accessibilityservice.FingerprintGestureController;
			public findFocus(focus: number): android.view.accessibility.AccessibilityNodeInfo;
			public dispatchGesture(gesture: android.accessibilityservice.GestureDescription, callback: android.accessibilityservice.AccessibilityService.GestureResultCallback, handler: android.os.Handler): boolean;
			public getSystemService(name: string): any;
			public getWindows(): java.util.List<android.view.accessibility.AccessibilityWindowInfo>;
			public onKeyEvent(event: android.view.KeyEvent): boolean;
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public getRootInActiveWindow(): android.view.accessibility.AccessibilityNodeInfo;
			public disableSelf(): void;
			public onTrimMemory(param0: number): void;
			public getRootInActiveWindow(prefetchingStrategy: number): android.view.accessibility.AccessibilityNodeInfo;
			public getBrailleDisplayController(): android.accessibilityservice.BrailleDisplayController;
			public createWindowContext(display: android.view.Display, type: number, options: android.os.Bundle): android.content.Context;
			public onMotionEvent(event: android.view.MotionEvent): void;
			public onCreateInputMethod(): android.accessibilityservice.InputMethod;
			public attachAccessibilityOverlayToWindow(accessibilityWindowId: number, sc: android.view.SurfaceControl): void;
			public setServiceInfo(info: android.accessibilityservice.AccessibilityServiceInfo): void;
			public onGesture(gestureEvent: android.accessibilityservice.AccessibilityGestureEvent): boolean;
			public onSystemActionsChanged(): void;
			public getInputMethod(): android.accessibilityservice.InputMethod;
			public onServiceConnected(): void;
			public getServiceInfo(): android.accessibilityservice.AccessibilityServiceInfo;
			public getMagnificationController(): android.accessibilityservice.AccessibilityService.MagnificationController;
			public isCacheEnabled(): boolean;
			public constructor(base: android.content.Context);
			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 onCompleted(gestureDescription: android.accessibilityservice.GestureDescription): void;
				public onCancelled(gestureDescription: android.accessibilityservice.GestureDescription): void;
				public constructor();
			}
			export class MagnificationController extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.MagnificationController>;
				/** @deprecated */
				public setCenter(centerX: number, centerY: number, animate: boolean): boolean;
				public getMagnificationConfig(): android.accessibilityservice.MagnificationConfig;
				public removeListener(listener: android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener): boolean;
				/** @deprecated */
				public getCenterY(): number;
				public addListener(listener: android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener): void;
				public reset(animate: boolean): boolean;
				public addListener(listener: android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener, handler: android.os.Handler): void;
				public getCurrentMagnificationRegion(): android.graphics.Region;
				/** @deprecated */
				public getScale(): number;
				/** @deprecated */
				public getMagnificationRegion(): android.graphics.Region;
				/** @deprecated */
				public getCenterX(): number;
				/** @deprecated */
				public setScale(scale: number, animate: boolean): boolean;
				public resetCurrentMagnification(animate: boolean): boolean;
				public setMagnificationConfig(config: android.accessibilityservice.MagnificationConfig, animate: 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;
						onMagnificationChanged(controller: android.accessibilityservice.AccessibilityService.MagnificationController, region: android.graphics.Region, config: android.accessibilityservice.MagnificationConfig): void;
					});
					public constructor();
					public onMagnificationChanged(controller: android.accessibilityservice.AccessibilityService.MagnificationController, region: android.graphics.Region, config: android.accessibilityservice.MagnificationConfig): void;
					/** @deprecated */
					public onMagnificationChanged(param0: android.accessibilityservice.AccessibilityService.MagnificationController, param1: android.graphics.Region, param2: number, param3: number, param4: number): void;
				}
			}
			export class ScreenshotResult extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.ScreenshotResult>;
				public getHardwareBuffer(): android.hardware.HardwareBuffer;
				public getTimestamp(): number;
				public getColorSpace(): android.graphics.ColorSpace;
			}
			export class SoftKeyboardController extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.SoftKeyboardController>;
				public static ENABLE_IME_FAIL_BY_ADMIN: 1;
				public static ENABLE_IME_FAIL_UNKNOWN: 2;
				public static ENABLE_IME_SUCCESS: 0;
				public switchToInputMethod(imeId: string): boolean;
				public addOnShowModeChangedListener(listener: android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener): void;
				public setShowMode(showMode: number): boolean;
				public setInputMethodEnabled(imeId: string, enabled: boolean): number;
				public addOnShowModeChangedListener(listener: android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener, handler: android.os.Handler): void;
				public removeOnShowModeChangedListener(listener: android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener): boolean;
				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;
				}
			}
			export class TakeScreenshotCallback extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.TakeScreenshotCallback>;
				/**
				 * Constructs a new instance of the android.accessibilityservice.AccessibilityService$TakeScreenshotCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSuccess(param0: android.accessibilityservice.AccessibilityService.ScreenshotResult): void;
					onFailure(param0: number): void;
				});
				public constructor();
				public onFailure(param0: number): void;
				public onSuccess(param0: android.accessibilityservice.AccessibilityService.ScreenshotResult): 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: 16;
			public static CAPABILITY_CAN_PERFORM_GESTURES: 32;
			public static CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY: 4;
			public static CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS: 8;
			public static CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES: 64;
			public static CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION: 2;
			public static CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT: 1;
			public static CAPABILITY_CAN_TAKE_SCREENSHOT: 128;
			public static CREATOR: android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityServiceInfo>;
			public static DEFAULT: 1;
			public static FEEDBACK_ALL_MASK: -1;
			public static FEEDBACK_AUDIBLE: 4;
			public static FEEDBACK_BRAILLE: 32;
			public static FEEDBACK_GENERIC: 16;
			public static FEEDBACK_HAPTIC: 2;
			public static FEEDBACK_SPOKEN: 1;
			public static FEEDBACK_VISUAL: 8;
			public static FLAG_ENABLE_ACCESSIBILITY_VOLUME: 128;
			public static FLAG_INCLUDE_NOT_IMPORTANT_VIEWS: 2;
			public static FLAG_INPUT_METHOD_EDITOR: 32768;
			public static FLAG_REPORT_VIEW_IDS: 16;
			public static FLAG_REQUEST_2_FINGER_PASSTHROUGH: 8192;
			public static FLAG_REQUEST_ACCESSIBILITY_BUTTON: 256;
			public static FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY: 8;
			public static FLAG_REQUEST_FILTER_KEY_EVENTS: 32;
			public static FLAG_REQUEST_FINGERPRINT_GESTURES: 512;
			public static FLAG_REQUEST_MULTI_FINGER_GESTURES: 4096;
			public static FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK: 1024;
			public static FLAG_REQUEST_TOUCH_EXPLORATION_MODE: 4;
			public static FLAG_RETRIEVE_INTERACTIVE_WINDOWS: 64;
			public static FLAG_SEND_MOTION_EVENTS: 16384;
			public static FLAG_SERVICE_HANDLES_DOUBLE_TAP: 2048;
			public eventTypes: number;
			public feedbackType: number;
			public flags: number;
			public notificationTimeout: number;
			public packageNames: androidNative.Array<string>;
			public getResolveInfo(): android.content.pm.ResolveInfo;
			public getInteractiveUiTimeoutMillis(): number;
			public loadIntro(packageManager: android.content.pm.PackageManager): string;
			public getNonInteractiveUiTimeoutMillis(): number;
			/** @deprecated */
			public getDescription(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public loadSummary(packageManager: android.content.pm.PackageManager): string;
			public writeToParcel(parcel: android.os.Parcel, flagz: number): void;
			public static flagToString(flag: number): string;
			public getSettingsActivityName(): string;
			public static capabilityToString(capability: number): string;
			public setMotionEventSources(motionEventSources: number): void;
			public getTileServiceName(): string;
			public isAccessibilityTool(): boolean;
			public constructor();
			public getCapabilities(): number;
			public setNonInteractiveUiTimeoutMillis(timeout: number): void;
			public loadDescription(packageManager: android.content.pm.PackageManager): string;
			public getId(): string;
			public toString(): string;
			public equals(obj: any): boolean;
			public getMotionEventSources(): number;
			public setInteractiveUiTimeoutMillis(timeout: number): void;
			public describeContents(): number;
			public static feedbackTypeToString(feedbackType: number): string;
			/** @deprecated */
			public getCanRetrieveWindowContent(): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class BrailleDisplayController extends java.lang.Object {
			public static class: java.lang.Class<android.accessibilityservice.BrailleDisplayController>;
			/**
			 * Constructs a new instance of the android.accessibilityservice.BrailleDisplayController interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				connect(param0: android.bluetooth.BluetoothDevice, param1: android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback): void;
				connect(param0: android.bluetooth.BluetoothDevice, param1: java.util.concurrent.Executor, param2: android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback): void;
				connect(param0: android.hardware.usb.UsbDevice, param1: android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback): void;
				connect(param0: android.hardware.usb.UsbDevice, param1: java.util.concurrent.Executor, param2: android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback): void;
				isConnected(): boolean;
				write(param0: androidNative.Array<number>): void;
				disconnect(): void;
			});
			public constructor();
			public connect(param0: android.bluetooth.BluetoothDevice, param1: java.util.concurrent.Executor, param2: android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback): void;
			public connect(param0: android.hardware.usb.UsbDevice, param1: android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback): void;
			public isConnected(): boolean;
			public connect(param0: android.hardware.usb.UsbDevice, param1: java.util.concurrent.Executor, param2: android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback): void;
			public write(param0: androidNative.Array<number>): void;
			public connect(param0: android.bluetooth.BluetoothDevice, param1: android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback): void;
			public disconnect(): void;
		}
		export module BrailleDisplayController {
			export class BrailleDisplayCallback extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback>;
				/**
				 * Constructs a new instance of the android.accessibilityservice.BrailleDisplayController$BrailleDisplayCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onConnected(param0: androidNative.Array<number>): void;
					onConnectionFailed(param0: number): void;
					onInput(param0: androidNative.Array<number>): void;
					onDisconnected(): void;
				});
				public constructor();
				public static FLAG_ERROR_CANNOT_ACCESS: 1;
				public static FLAG_ERROR_BRAILLE_DISPLAY_NOT_FOUND: 2;
				public onConnected(param0: androidNative.Array<number>): void;
				public onConnectionFailed(param0: number): void;
				public onInput(param0: androidNative.Array<number>): void;
				public onDisconnected(): void;
			}
		}
	}
}

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: 8;
			public static FINGERPRINT_GESTURE_SWIPE_LEFT: 2;
			public static FINGERPRINT_GESTURE_SWIPE_RIGHT: 1;
			public static FINGERPRINT_GESTURE_SWIPE_UP: 4;
			public registerFingerprintGestureCallback(callback: android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback, handler: android.os.Handler): void;
			public isGestureDetectionAvailable(): boolean;
			public unregisterFingerprintGestureCallback(callback: 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 onGestureDetectionAvailabilityChanged(available: boolean): void;
				public onGestureDetected(gesture: number): 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 static getMaxStrokeCount(): number;
			public getStroke(index: number): android.accessibilityservice.GestureDescription.StrokeDescription;
			public getDisplayId(): 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 setDisplayId(displayId: number): android.accessibilityservice.GestureDescription.Builder;
				public addStroke(strokeDescription: 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 getPath(): android.graphics.Path;
				public continueStroke(path: android.graphics.Path, startTime: number, duration: number, willContinue: boolean): android.accessibilityservice.GestureDescription.StrokeDescription;
				public getDuration(): number;
				public constructor(path: android.graphics.Path, startTime: number, duration: number);
				public constructor(path: android.graphics.Path, startTime: number, duration: number, willContinue: boolean);
				public willContinue(): boolean;
				public getStartTime(): number;
			}
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class InputMethod extends java.lang.Object {
			public static class: java.lang.Class<android.accessibilityservice.InputMethod>;
			public onStartInput(attribute: android.view.inputmethod.EditorInfo, restarting: boolean): void;
			public getCurrentInputStarted(): boolean;
			public getCurrentInputEditorInfo(): android.view.inputmethod.EditorInfo;
			public constructor(service: android.accessibilityservice.AccessibilityService);
			public getCurrentInputConnection(): android.accessibilityservice.InputMethod.AccessibilityInputConnection;
			public onFinishInput(): void;
			public onUpdateSelection(oldSelStart: number, oldSelEnd: number, newSelStart: number, newSelEnd: number, candidatesStart: number, candidatesEnd: number): void;
		}
		export module InputMethod {
			export class AccessibilityInputConnection extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.InputMethod.AccessibilityInputConnection>;
				public deleteSurroundingText(beforeLength: number, afterLength: number): void;
				public getCursorCapsMode(reqModes: number): number;
				public getSurroundingText(beforeLength: number, afterLength: number, flags: number): android.view.inputmethod.SurroundingText;
				public performContextMenuAction(id: number): void;
				public commitText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): void;
				public sendKeyEvent(event: android.view.KeyEvent): void;
				public clearMetaKeyStates(states: number): void;
				public performEditorAction(editorAction: number): void;
				public setSelection(start: number, end: number): void;
			}
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class MagnificationConfig extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.accessibilityservice.MagnificationConfig>;
			public static CREATOR: android.os.Parcelable.Creator<android.accessibilityservice.MagnificationConfig>;
			public static MAGNIFICATION_MODE_DEFAULT: 0;
			public static MAGNIFICATION_MODE_FULLSCREEN: 1;
			public static MAGNIFICATION_MODE_WINDOW: 2;
			public isActivated(): boolean;
			public getCenterX(): number;
			public toString(): string;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getScale(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMode(): number;
			public getCenterY(): number;
		}
		export module MagnificationConfig {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.MagnificationConfig.Builder>;
				public build(): android.accessibilityservice.MagnificationConfig;
				public setMode(mode: number): android.accessibilityservice.MagnificationConfig.Builder;
				public setActivated(activated: boolean): android.accessibilityservice.MagnificationConfig.Builder;
				public setCenterY(centerY: number): android.accessibilityservice.MagnificationConfig.Builder;
				public setScale(scale: number): android.accessibilityservice.MagnificationConfig.Builder;
				public setCenterX(centerX: number): android.accessibilityservice.MagnificationConfig.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class TouchInteractionController extends java.lang.Object {
			public static class: java.lang.Class<android.accessibilityservice.TouchInteractionController>;
			public static STATE_CLEAR: 0;
			public static STATE_DELEGATING: 4;
			public static STATE_DRAGGING: 3;
			public static STATE_TOUCH_EXPLORING: 2;
			public static STATE_TOUCH_INTERACTING: 1;
			public registerCallback(executor: java.util.concurrent.Executor, callback: android.accessibilityservice.TouchInteractionController.Callback): void;
			public unregisterAllCallbacks(): void;
			public performLongClickAndStartDrag(): void;
			public static stateToString(state: number): string;
			public requestTouchExploration(): void;
			public requestDragging(pointerId: number): void;
			public getMaxPointerCount(): number;
			public getDisplayId(): number;
			public getState(): number;
			public unregisterCallback(callback: android.accessibilityservice.TouchInteractionController.Callback): boolean;
			public requestDelegating(): void;
			public performClick(): void;
		}
		export module TouchInteractionController {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.TouchInteractionController.Callback>;
				/**
				 * Constructs a new instance of the android.accessibilityservice.TouchInteractionController$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMotionEvent(param0: android.view.MotionEvent): void;
					onStateChanged(param0: number): void;
				});
				public constructor();
				public onMotionEvent(param0: android.view.MotionEvent): void;
				public onStateChanged(param0: number): void;
			}
		}
	}
}

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: "android.accounts.expiry";
			public getIBinder(): android.os.IBinder;
			public getAuthToken(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: string, param3: android.os.Bundle): android.os.Bundle;
			public startAddAccountSession(response: android.accounts.AccountAuthenticatorResponse, accountType: string, authTokenType: string, requiredFeatures: androidNative.Array<string>, options: android.os.Bundle): android.os.Bundle;
			public addAccount(param0: android.accounts.AccountAuthenticatorResponse, param1: string, param2: string, param3: androidNative.Array<string>, param4: android.os.Bundle): android.os.Bundle;
			public updateCredentials(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: string, param3: android.os.Bundle): android.os.Bundle;
			public getAccountRemovalAllowed(response: android.accounts.AccountAuthenticatorResponse, account: android.accounts.Account): android.os.Bundle;
			public isCredentialsUpdateSuggested(response: android.accounts.AccountAuthenticatorResponse, account: android.accounts.Account, statusToken: string): android.os.Bundle;
			public finishSession(response: android.accounts.AccountAuthenticatorResponse, accountType: string, sessionBundle: android.os.Bundle): android.os.Bundle;
			public constructor(context: android.content.Context);
			public hasFeatures(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: androidNative.Array<string>): android.os.Bundle;
			public editProperties(param0: android.accounts.AccountAuthenticatorResponse, param1: string): android.os.Bundle;
			public startUpdateCredentialsSession(response: android.accounts.AccountAuthenticatorResponse, account: android.accounts.Account, authTokenType: string, options: android.os.Bundle): android.os.Bundle;
			public getAuthTokenLabel(param0: string): string;
			public addAccountFromCredentials(response: android.accounts.AccountAuthenticatorResponse, account: android.accounts.Account, accountCredentials: android.os.Bundle): android.os.Bundle;
			public getAccountCredentialsForCloning(response: android.accounts.AccountAuthenticatorResponse, account: android.accounts.Account): 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 toString(): string;
			public constructor(in_: android.os.Parcel);
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(name: string, type: string);
			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;
			/** @deprecated */
			public setAccountAuthenticatorResult(result: android.os.Bundle): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			/** @deprecated */
			public finish(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public constructor();
			public onTrimMemory(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			/** @deprecated */
			public onCreate(icicle: android.os.Bundle): 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 onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): 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 onPointerCaptureChanged(hasCapture: boolean): void;
			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 constructor(base: android.content.Context);
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public onResult(result: android.os.Bundle): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public onRequestContinued(): void;
			public onError(errorCode: number, errorMessage: string): void;
			public constructor(parcel: android.os.Parcel);
		}
	}
}

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: "android.accounts.action.ACCOUNT_REMOVED";
			public static ACTION_AUTHENTICATOR_INTENT: "android.accounts.AccountAuthenticator";
			public static AUTHENTICATOR_ATTRIBUTES_NAME: "account-authenticator";
			public static AUTHENTICATOR_META_DATA_NAME: "android.accounts.AccountAuthenticator";
			public static ERROR_CODE_BAD_ARGUMENTS: 7;
			public static ERROR_CODE_BAD_AUTHENTICATION: 9;
			public static ERROR_CODE_BAD_REQUEST: 8;
			public static ERROR_CODE_CANCELED: 4;
			public static ERROR_CODE_INVALID_RESPONSE: 5;
			public static ERROR_CODE_NETWORK_ERROR: 3;
			public static ERROR_CODE_REMOTE_EXCEPTION: 1;
			public static ERROR_CODE_UNSUPPORTED_OPERATION: 6;
			public static KEY_ACCOUNTS: "accounts";
			public static KEY_ACCOUNT_AUTHENTICATOR_RESPONSE: "accountAuthenticatorResponse";
			public static KEY_ACCOUNT_MANAGER_RESPONSE: "accountManagerResponse";
			public static KEY_ACCOUNT_NAME: "authAccount";
			public static KEY_ACCOUNT_SESSION_BUNDLE: "accountSessionBundle";
			public static KEY_ACCOUNT_STATUS_TOKEN: "accountStatusToken";
			public static KEY_ACCOUNT_TYPE: "accountType";
			public static KEY_ANDROID_PACKAGE_NAME: "androidPackageName";
			public static KEY_AUTHENTICATOR_TYPES: "authenticator_types";
			public static KEY_AUTHTOKEN: "authtoken";
			public static KEY_AUTH_FAILED_MESSAGE: "authFailedMessage";
			public static KEY_AUTH_TOKEN_LABEL: "authTokenLabelKey";
			public static KEY_BOOLEAN_RESULT: "booleanResult";
			public static KEY_CALLER_PID: "callerPid";
			public static KEY_CALLER_UID: "callerUid";
			public static KEY_ERROR_CODE: "errorCode";
			public static KEY_ERROR_MESSAGE: "errorMessage";
			public static KEY_INTENT: "intent";
			public static KEY_LAST_AUTHENTICATED_TIME: "lastAuthenticatedTime";
			public static KEY_PASSWORD: "password";
			public static KEY_USERDATA: "userdata";
			public static LOGIN_ACCOUNTS_CHANGED_ACTION: "android.accounts.LOGIN_ACCOUNTS_CHANGED";
			public static PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE: "android:accounts:key_legacy_not_visible";
			public static PACKAGE_NAME_KEY_LEGACY_VISIBLE: "android:accounts:key_legacy_visible";
			public static VISIBILITY_NOT_VISIBLE: 3;
			public static VISIBILITY_UNDEFINED: 0;
			public static VISIBILITY_USER_MANAGED_NOT_VISIBLE: 4;
			public static VISIBILITY_USER_MANAGED_VISIBLE: 2;
			public static VISIBILITY_VISIBLE: 1;
			public setUserData(account: android.accounts.Account, key: string, value: string): void;
			public editProperties(accountType: string, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public updateCredentials(account: android.accounts.Account, authTokenType: string, options: android.os.Bundle, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public setAuthToken(account: android.accounts.Account, authTokenType: string, authToken: string): void;
			public getPackagesAndVisibilityForAccount(account: android.accounts.Account): java.util.Map<string,java.lang.Integer>;
			public static newChooseAccountIntent(selectedAccount: android.accounts.Account, allowableAccounts: java.util.List<android.accounts.Account>, allowableAccountTypes: androidNative.Array<string>, descriptionOverrideText: string, addAccountAuthTokenType: string, addAccountRequiredFeatures: androidNative.Array<string>, addAccountOptions: android.os.Bundle): android.content.Intent;
			public getAccounts(): androidNative.Array<android.accounts.Account>;
			public getAccountsByTypeForPackage(type: string, packageName: string): androidNative.Array<android.accounts.Account>;
			public addOnAccountsUpdatedListener(listener: android.accounts.OnAccountsUpdateListener, handler: android.os.Handler, updateImmediately: boolean, accountTypes: androidNative.Array<string>): void;
			public addOnAccountsUpdatedListener(listener: android.accounts.OnAccountsUpdateListener, handler: android.os.Handler, updateImmediately: boolean): void;
			public getAccountVisibility(account: android.accounts.Account, packageName: string): number;
			/** @deprecated */
			public removeAccount(account: android.accounts.Account, callback: android.accounts.AccountManagerCallback<java.lang.Boolean>, handler: android.os.Handler): android.accounts.AccountManagerFuture<java.lang.Boolean>;
			public confirmCredentials(account: android.accounts.Account, options: android.os.Bundle, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public notifyAccountAuthenticated(account: android.accounts.Account): boolean;
			public getAuthToken(account: android.accounts.Account, authTokenType: string, options: android.os.Bundle, notifyAuthFailure: boolean, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public getPreviousName(account: android.accounts.Account): string;
			public getPassword(account: android.accounts.Account): string;
			public removeOnAccountsUpdatedListener(listener: android.accounts.OnAccountsUpdateListener): void;
			public removeAccount(account: android.accounts.Account, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public blockingGetAuthToken(account: android.accounts.Account, authTokenType: string, notifyAuthFailure: boolean): string;
			public getAuthTokenByFeatures(accountType: string, authTokenType: string, features: androidNative.Array<string>, activity: android.app.Activity, addAccountOptions: android.os.Bundle, getAuthTokenOptions: android.os.Bundle, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public getAccountsByType(type: string): androidNative.Array<android.accounts.Account>;
			public addAccountExplicitly(account: android.accounts.Account, password: string, userdata: android.os.Bundle): boolean;
			public hasFeatures(account: android.accounts.Account, features: androidNative.Array<string>, callback: android.accounts.AccountManagerCallback<java.lang.Boolean>, handler: android.os.Handler): android.accounts.AccountManagerFuture<java.lang.Boolean>;
			public invalidateAuthToken(accountType: string, authToken: string): void;
			public startAddAccountSession(accountType: string, authTokenType: string, requiredFeatures: androidNative.Array<string>, options: android.os.Bundle, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public setAccountVisibility(account: android.accounts.Account, packageName: string, visibility: number): boolean;
			public getAuthenticatorTypes(): androidNative.Array<android.accounts.AuthenticatorDescription>;
			public removeAccountExplicitly(account: android.accounts.Account): boolean;
			public addAccount(accountType: string, authTokenType: string, requiredFeatures: androidNative.Array<string>, addAccountOptions: android.os.Bundle, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public getUserData(account: android.accounts.Account, key: string): string;
			public startUpdateCredentialsSession(account: android.accounts.Account, authTokenType: string, options: android.os.Bundle, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public addAccountExplicitly(account: android.accounts.Account, password: string, extras: android.os.Bundle, visibility: java.util.Map<string,java.lang.Integer>): boolean;
			/** @deprecated */
			public static newChooseAccountIntent(selectedAccount: android.accounts.Account, allowableAccounts: java.util.ArrayList<android.accounts.Account>, allowableAccountTypes: androidNative.Array<string>, alwaysPromptForAccount: boolean, descriptionOverrideText: string, addAccountAuthTokenType: string, addAccountRequiredFeatures: androidNative.Array<string>, addAccountOptions: android.os.Bundle): android.content.Intent;
			public finishSession(sessionBundle: android.os.Bundle, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public getAuthToken(account: android.accounts.Account, authTokenType: string, options: android.os.Bundle, activity: android.app.Activity, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public getAccountsByTypeAndFeatures(type: string, features: androidNative.Array<string>, callback: android.accounts.AccountManagerCallback<androidNative.Array<android.accounts.Account>>, handler: android.os.Handler): android.accounts.AccountManagerFuture<androidNative.Array<android.accounts.Account>>;
			public clearPassword(account: android.accounts.Account): void;
			public static get(context: android.content.Context): android.accounts.AccountManager;
			public isCredentialsUpdateSuggested(account: android.accounts.Account, statusToken: string, callback: android.accounts.AccountManagerCallback<java.lang.Boolean>, handler: android.os.Handler): android.accounts.AccountManagerFuture<java.lang.Boolean>;
			public renameAccount(account: android.accounts.Account, newName: string, callback: android.accounts.AccountManagerCallback<android.accounts.Account>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.accounts.Account>;
			public getAccountsAndVisibilityForPackage(packageName: string, accountType: string): java.util.Map<android.accounts.Account,java.lang.Integer>;
			/** @deprecated */
			public getAuthToken(account: android.accounts.Account, authTokenType: string, notifyAuthFailure: boolean, callback: android.accounts.AccountManagerCallback<android.os.Bundle>, handler: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public peekAuthToken(account: android.accounts.Account, authTokenType: string): string;
			public setPassword(account: android.accounts.Account, password: string): void;
		}
	}
}

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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static newKey(type: string): android.accounts.AuthenticatorDescription;
			public constructor(type: string, packageName: string, labelId: number, iconId: number, smallIconId: number, prefId: number, customTokens: boolean);
			public constructor(type: string, packageName: string, labelId: number, iconId: number, smallIconId: number, prefId: number);
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module accounts {
		export class NetworkErrorException extends android.accounts.AccountsException {
			public static class: java.lang.Class<android.accounts.NetworkErrorException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: androidNative.Array<android.accounts.Account>): void;
			});
			public constructor();
			public onAccountsUpdated(param0: androidNative.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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module adservices {
		export class AdServicesState extends java.lang.Object {
			public static class: java.lang.Class<android.adservices.AdServicesState>;
			public static isAdServicesStateEnabled(): boolean;
		}
	}
}

declare module android {
	export module adservices {
		export module adid {
			export class AdId extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adid.AdId>;
				public static ZERO_OUT: "00000000-0000-0000-0000-000000000000";
				public hashCode(): number;
				public isLimitAdTrackingEnabled(): boolean;
				public equals(o: any): boolean;
				public toString(): string;
				public constructor(adId: string, limitAdTrackingEnabled: boolean);
				public getAdId(): string;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adid {
			export class AdIdManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adid.AdIdManager>;
				public getAdId(executor: java.util.concurrent.Executor, callback: android.adservices.common.AdServicesOutcomeReceiver<android.adservices.adid.AdId,java.lang.Exception>): void;
				public static get(context: android.content.Context): android.adservices.adid.AdIdManager;
				public getAdId(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.adservices.adid.AdId,java.lang.Exception>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class AdSelectionConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.adselection.AdSelectionConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.adselection.AdSelectionConfig>;
				public getAdSelectionSignals(): android.adservices.common.AdSelectionSignals;
				public getPerBuyerSignals(): java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.common.AdSelectionSignals>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSeller(): android.adservices.common.AdTechIdentifier;
				public getTrustedScoringSignalsUri(): android.net.Uri;
				public getPerBuyerSignedContextualAds(): java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.adselection.SignedContextualAds>;
				public getDecisionLogicUri(): android.net.Uri;
				public getSellerSignals(): android.adservices.common.AdSelectionSignals;
				public hashCode(): number;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getCustomAudienceBuyers(): java.util.List<android.adservices.common.AdTechIdentifier>;
			}
			export module AdSelectionConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.AdSelectionConfig.Builder>;
					public setDecisionLogicUri(decisionLogicUri: android.net.Uri): android.adservices.adselection.AdSelectionConfig.Builder;
					public constructor();
					public setSeller(seller: android.adservices.common.AdTechIdentifier): android.adservices.adselection.AdSelectionConfig.Builder;
					public setPerBuyerSignedContextualAds(buyerSignedContextualAds: java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.adselection.SignedContextualAds>): android.adservices.adselection.AdSelectionConfig.Builder;
					public build(): android.adservices.adselection.AdSelectionConfig;
					public setAdSelectionSignals(adSelectionSignals: android.adservices.common.AdSelectionSignals): android.adservices.adselection.AdSelectionConfig.Builder;
					public setSellerSignals(sellerSignals: android.adservices.common.AdSelectionSignals): android.adservices.adselection.AdSelectionConfig.Builder;
					public setCustomAudienceBuyers(customAudienceBuyers: java.util.List<android.adservices.common.AdTechIdentifier>): android.adservices.adselection.AdSelectionConfig.Builder;
					public setTrustedScoringSignalsUri(trustedScoringSignalsUri: android.net.Uri): android.adservices.adselection.AdSelectionConfig.Builder;
					public setPerBuyerSignals(perBuyerSignals: java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.common.AdSelectionSignals>): android.adservices.adselection.AdSelectionConfig.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class AdSelectionFromOutcomesConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.adselection.AdSelectionFromOutcomesConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.adselection.AdSelectionFromOutcomesConfig>;
				public getSelectionSignals(): android.adservices.common.AdSelectionSignals;
				public getSelectionLogicUri(): android.net.Uri;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getAdSelectionIds(): java.util.List<java.lang.Long>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSeller(): android.adservices.common.AdTechIdentifier;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
			export module AdSelectionFromOutcomesConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.AdSelectionFromOutcomesConfig.Builder>;
					public constructor();
					public setAdSelectionIds(adSelectionIds: java.util.List<java.lang.Long>): android.adservices.adselection.AdSelectionFromOutcomesConfig.Builder;
					public setSelectionLogicUri(selectionLogicUri: android.net.Uri): android.adservices.adselection.AdSelectionFromOutcomesConfig.Builder;
					public setSelectionSignals(selectionSignals: android.adservices.common.AdSelectionSignals): android.adservices.adselection.AdSelectionFromOutcomesConfig.Builder;
					public setSeller(seller: android.adservices.common.AdTechIdentifier): android.adservices.adselection.AdSelectionFromOutcomesConfig.Builder;
					public build(): android.adservices.adselection.AdSelectionFromOutcomesConfig;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class AdSelectionManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.AdSelectionManager>;
				public reportEvent(request: android.adservices.adselection.ReportEventRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public updateAdCounterHistogram(updateAdCounterHistogramRequest: android.adservices.adselection.UpdateAdCounterHistogramRequest, executor: java.util.concurrent.Executor, outcomeReceiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public persistAdSelectionResult(request: android.adservices.adselection.PersistAdSelectionResultRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.adservices.adselection.AdSelectionOutcome,java.lang.Exception>): void;
				public selectAds(adSelectionConfig: android.adservices.adselection.AdSelectionConfig, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.adservices.adselection.AdSelectionOutcome,java.lang.Exception>): void;
				public static get(context: android.content.Context): android.adservices.adselection.AdSelectionManager;
				public getAdSelectionData(request: android.adservices.adselection.GetAdSelectionDataRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.adservices.adselection.GetAdSelectionDataOutcome,java.lang.Exception>): void;
				public selectAds(adSelectionFromOutcomesConfig: android.adservices.adselection.AdSelectionFromOutcomesConfig, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.adservices.adselection.AdSelectionOutcome,java.lang.Exception>): void;
				public getTestAdSelectionManager(): android.adservices.adselection.TestAdSelectionManager;
				public reportImpression(request: android.adservices.adselection.ReportImpressionRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public setAppInstallAdvertisers(request: android.adservices.adselection.SetAppInstallAdvertisersRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class AdSelectionOutcome extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.AdSelectionOutcome>;
				public static NO_OUTCOME: android.adservices.adselection.AdSelectionOutcome;
				public hashCode(): number;
				public getAdSelectionId(): number;
				public hasOutcome(): boolean;
				public equals(o: any): boolean;
				public getRenderUri(): android.net.Uri;
			}
			export module AdSelectionOutcome {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.AdSelectionOutcome.Builder>;
					public setAdSelectionId(adSelectionId: number): android.adservices.adselection.AdSelectionOutcome.Builder;
					public constructor();
					public setRenderUri(renderUri: android.net.Uri): android.adservices.adselection.AdSelectionOutcome.Builder;
					public build(): android.adservices.adselection.AdSelectionOutcome;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class AdWithBid extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.adselection.AdWithBid>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.adselection.AdWithBid>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(adData: android.adservices.common.AdData, bid: number);
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getAdData(): android.adservices.common.AdData;
				public getBid(): number;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class AddAdSelectionFromOutcomesOverrideRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.AddAdSelectionFromOutcomesOverrideRequest>;
				public constructor(adSelectionFromOutcomesConfig: android.adservices.adselection.AdSelectionFromOutcomesConfig, outcomeSelectionLogicJs: string, outcomeSelectionTrustedSignals: android.adservices.common.AdSelectionSignals);
				public getOutcomeSelectionLogicJs(): string;
				public getOutcomeSelectionTrustedSignals(): android.adservices.common.AdSelectionSignals;
				public getAdSelectionFromOutcomesConfig(): android.adservices.adselection.AdSelectionFromOutcomesConfig;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class AddAdSelectionOverrideRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.AddAdSelectionOverrideRequest>;
				public getAdSelectionConfig(): android.adservices.adselection.AdSelectionConfig;
				public getDecisionLogicJs(): string;
				public constructor(adSelectionConfig: android.adservices.adselection.AdSelectionConfig, decisionLogicJs: string, trustedScoringSignals: android.adservices.common.AdSelectionSignals, perBuyerDecisionLogic: android.adservices.adselection.PerBuyerDecisionLogic);
				public getTrustedScoringSignals(): android.adservices.common.AdSelectionSignals;
				public constructor(adSelectionConfig: android.adservices.adselection.AdSelectionConfig, decisionLogicJs: string, trustedScoringSignals: android.adservices.common.AdSelectionSignals);
				public getPerBuyerDecisionLogic(): android.adservices.adselection.PerBuyerDecisionLogic;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class DecisionLogic extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.adselection.DecisionLogic>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.adselection.DecisionLogic>;
				public constructor(buyerDecisionLogic: string);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getLogic(): string;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class GetAdSelectionDataOutcome extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.GetAdSelectionDataOutcome>;
				/** @deprecated */
				public getAdSelectionId(): number;
				public getAdSelectionDataId(): number;
				public getAdSelectionData(): androidNative.Array<number>;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class GetAdSelectionDataRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.GetAdSelectionDataRequest>;
				public getCoordinatorOriginUri(): android.net.Uri;
				public getSeller(): android.adservices.common.AdTechIdentifier;
			}
			export module GetAdSelectionDataRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.GetAdSelectionDataRequest.Builder>;
					public setSeller(seller: android.adservices.common.AdTechIdentifier): android.adservices.adselection.GetAdSelectionDataRequest.Builder;
					public constructor();
					public build(): android.adservices.adselection.GetAdSelectionDataRequest;
					public setCoordinatorOriginUri(coordinatorOriginUri: android.net.Uri): android.adservices.adselection.GetAdSelectionDataRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class PerBuyerDecisionLogic extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.adselection.PerBuyerDecisionLogic>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.adselection.PerBuyerDecisionLogic>;
				public static EMPTY: android.adservices.adselection.PerBuyerDecisionLogic;
				public getPerBuyerLogicMap(): java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.adselection.DecisionLogic>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(perBuyerLogicMap: java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.adselection.DecisionLogic>);
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class PersistAdSelectionResultRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.PersistAdSelectionResultRequest>;
				public getAdSelectionResult(): androidNative.Array<number>;
				public getSeller(): android.adservices.common.AdTechIdentifier;
				/** @deprecated */
				public getAdSelectionId(): number;
				public getAdSelectionDataId(): number;
			}
			export module PersistAdSelectionResultRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.PersistAdSelectionResultRequest.Builder>;
					public build(): android.adservices.adselection.PersistAdSelectionResultRequest;
					public setSeller(seller: android.adservices.common.AdTechIdentifier): android.adservices.adselection.PersistAdSelectionResultRequest.Builder;
					public constructor();
					/** @deprecated */
					public setAdSelectionId(adSelectionId: number): android.adservices.adselection.PersistAdSelectionResultRequest.Builder;
					public setAdSelectionResult(adSelectionResult: androidNative.Array<number>): android.adservices.adselection.PersistAdSelectionResultRequest.Builder;
					public setAdSelectionDataId(adSelectionDataId: number): android.adservices.adselection.PersistAdSelectionResultRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class RemoveAdSelectionFromOutcomesOverrideRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.RemoveAdSelectionFromOutcomesOverrideRequest>;
				public constructor(config: android.adservices.adselection.AdSelectionFromOutcomesConfig);
				public getAdSelectionFromOutcomesConfig(): android.adservices.adselection.AdSelectionFromOutcomesConfig;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class RemoveAdSelectionOverrideRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.RemoveAdSelectionOverrideRequest>;
				public getAdSelectionConfig(): android.adservices.adselection.AdSelectionConfig;
				public constructor(adSelectionConfig: android.adservices.adselection.AdSelectionConfig);
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class ReportEventRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.ReportEventRequest>;
				public static FLAG_REPORTING_DESTINATION_BUYER: 2;
				public static FLAG_REPORTING_DESTINATION_SELLER: 1;
				public getData(): string;
				public getAdSelectionId(): number;
				public getInputEvent(): android.view.InputEvent;
				public getReportingDestinations(): number;
				public getKey(): string;
			}
			export module ReportEventRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.ReportEventRequest.Builder>;
					public setAdSelectionId(adSelectionId: number): android.adservices.adselection.ReportEventRequest.Builder;
					public setInputEvent(inputEvent: android.view.InputEvent): android.adservices.adselection.ReportEventRequest.Builder;
					public setReportingDestinations(reportingDestinations: number): android.adservices.adselection.ReportEventRequest.Builder;
					public build(): android.adservices.adselection.ReportEventRequest;
					public constructor(adSelectionId: number, eventKey: string, eventData: string, reportingDestinations: number);
					public setKey(eventKey: string): android.adservices.adselection.ReportEventRequest.Builder;
					public setData(eventData: string): android.adservices.adselection.ReportEventRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class ReportImpressionRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.ReportImpressionRequest>;
				public getAdSelectionConfig(): android.adservices.adselection.AdSelectionConfig;
				public constructor(adSelectionId: number, adSelectionConfig: android.adservices.adselection.AdSelectionConfig);
				public getAdSelectionId(): number;
				public constructor(adSelectionId: number);
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class SetAppInstallAdvertisersRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.SetAppInstallAdvertisersRequest>;
				public getAdvertisers(): java.util.Set<android.adservices.common.AdTechIdentifier>;
			}
			export module SetAppInstallAdvertisersRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.SetAppInstallAdvertisersRequest.Builder>;
					public build(): android.adservices.adselection.SetAppInstallAdvertisersRequest;
					public constructor();
					public setAdvertisers(advertisers: java.util.Set<android.adservices.common.AdTechIdentifier>): android.adservices.adselection.SetAppInstallAdvertisersRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class SignedContextualAds extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.adselection.SignedContextualAds>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.adselection.SignedContextualAds>;
				public getAdsWithBid(): java.util.List<android.adservices.adselection.AdWithBid>;
				public getBuyer(): android.adservices.common.AdTechIdentifier;
				public getDecisionLogicUri(): android.net.Uri;
				public getSignature(): androidNative.Array<number>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
			export module SignedContextualAds {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.SignedContextualAds.Builder>;
					public setBuyer(buyer: android.adservices.common.AdTechIdentifier): android.adservices.adselection.SignedContextualAds.Builder;
					public setDecisionLogicUri(decisionLogicUri: android.net.Uri): android.adservices.adselection.SignedContextualAds.Builder;
					public setAdsWithBid(adsWithBid: java.util.List<android.adservices.adselection.AdWithBid>): android.adservices.adselection.SignedContextualAds.Builder;
					public setSignature(signature: androidNative.Array<number>): android.adservices.adselection.SignedContextualAds.Builder;
					public constructor();
					public constructor(signedContextualAds: android.adservices.adselection.SignedContextualAds);
					public build(): android.adservices.adselection.SignedContextualAds;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class TestAdSelectionManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.TestAdSelectionManager>;
				public removeAdSelectionFromOutcomesConfigRemoteInfoOverride(request: android.adservices.adselection.RemoveAdSelectionFromOutcomesOverrideRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public removeAdSelectionConfigRemoteInfoOverride(request: android.adservices.adselection.RemoveAdSelectionOverrideRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public overrideAdSelectionConfigRemoteInfo(request: android.adservices.adselection.AddAdSelectionOverrideRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public resetAllAdSelectionConfigRemoteOverrides(executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public overrideAdSelectionFromOutcomesConfigRemoteInfo(request: android.adservices.adselection.AddAdSelectionFromOutcomesOverrideRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public resetAllAdSelectionFromOutcomesConfigRemoteOverrides(executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module adselection {
			export class UpdateAdCounterHistogramRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.adselection.UpdateAdCounterHistogramRequest>;
				public hashCode(): number;
				public getAdSelectionId(): number;
				public getCallerAdTech(): android.adservices.common.AdTechIdentifier;
				public getAdEventType(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
			export module UpdateAdCounterHistogramRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.adselection.UpdateAdCounterHistogramRequest.Builder>;
					public build(): android.adservices.adselection.UpdateAdCounterHistogramRequest;
					public setCallerAdTech(callerAdTech: android.adservices.common.AdTechIdentifier): android.adservices.adselection.UpdateAdCounterHistogramRequest.Builder;
					public constructor(adSelectionId: number, adEventType: number, callerAdTech: android.adservices.common.AdTechIdentifier);
					public setAdSelectionId(adSelectionId: number): android.adservices.adselection.UpdateAdCounterHistogramRequest.Builder;
					public setAdEventType(adEventType: number): android.adservices.adselection.UpdateAdCounterHistogramRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module appsetid {
			export class AppSetId extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.appsetid.AppSetId>;
				public static SCOPE_APP: 1;
				public static SCOPE_DEVELOPER: 2;
				public getId(): string;
				public hashCode(): number;
				public constructor(appSetId: string, appSetIdScope: number);
				public getScope(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module appsetid {
			export class AppSetIdManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.appsetid.AppSetIdManager>;
				public getAppSetId(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.adservices.appsetid.AppSetId,java.lang.Exception>): void;
				public static get(context: android.content.Context): android.adservices.appsetid.AppSetIdManager;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class AdData extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.common.AdData>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.common.AdData>;
				public getAdCounterKeys(): java.util.Set<java.lang.Integer>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getAdRenderId(): string;
				public getAdFilters(): android.adservices.common.AdFilters;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getRenderUri(): android.net.Uri;
				public toString(): string;
				public getMetadata(): string;
			}
			export module AdData {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.common.AdData.Builder>;
					public build(): android.adservices.common.AdData;
					public constructor();
					public setAdFilters(adFilters: android.adservices.common.AdFilters): android.adservices.common.AdData.Builder;
					public setRenderUri(renderUri: android.net.Uri): android.adservices.common.AdData.Builder;
					public setAdRenderId(adRenderId: string): android.adservices.common.AdData.Builder;
					public setMetadata(metadata: string): android.adservices.common.AdData.Builder;
					public setAdCounterKeys(adCounterKeys: java.util.Set<java.lang.Integer>): android.adservices.common.AdData.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class AdFilters extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.common.AdFilters>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.common.AdFilters>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getAppInstallFilters(): android.adservices.common.AppInstallFilters;
				public equals(o: any): boolean;
				public toString(): string;
				public getFrequencyCapFilters(): android.adservices.common.FrequencyCapFilters;
			}
			export module AdFilters {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.common.AdFilters.Builder>;
					public setAppInstallFilters(appInstallFilters: android.adservices.common.AppInstallFilters): android.adservices.common.AdFilters.Builder;
					public setFrequencyCapFilters(frequencyCapFilters: android.adservices.common.FrequencyCapFilters): android.adservices.common.AdFilters.Builder;
					public constructor();
					public build(): android.adservices.common.AdFilters;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class AdSelectionSignals extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.common.AdSelectionSignals>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.common.AdSelectionSignals>;
				public static EMPTY: android.adservices.common.AdSelectionSignals;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public static fromString(source: string): android.adservices.common.AdSelectionSignals;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class AdServicesOutcomeReceiver<R, E>  extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.common.AdServicesOutcomeReceiver<any,any>>;
				/**
				 * Constructs a new instance of the android.adservices.common.AdServicesOutcomeReceiver<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onResult(param0: R): void;
					onError(error: E): void;
				});
				public constructor();
				public onError(error: E): void;
				public onResult(param0: R): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class AdServicesPermissions extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.common.AdServicesPermissions>;
				public static ACCESS_ADSERVICES_AD_ID: "android.permission.ACCESS_ADSERVICES_AD_ID";
				public static ACCESS_ADSERVICES_AD_SELECTION: "android.permission.ACCESS_ADSERVICES_AD_SELECTION";
				public static ACCESS_ADSERVICES_ATTRIBUTION: "android.permission.ACCESS_ADSERVICES_ATTRIBUTION";
				public static ACCESS_ADSERVICES_CUSTOM_AUDIENCE: "android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE";
				public static ACCESS_ADSERVICES_PROTECTED_SIGNALS: "android.permission.ACCESS_ADSERVICES_PROTECTED_SIGNALS";
				public static ACCESS_ADSERVICES_TOPICS: "android.permission.ACCESS_ADSERVICES_TOPICS";
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class AdTechIdentifier extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.common.AdTechIdentifier>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.common.AdTechIdentifier>;
				public static fromString(source: string): android.adservices.common.AdTechIdentifier;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class AppInstallFilters extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.common.AppInstallFilters>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.common.AppInstallFilters>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageNames(): java.util.Set<string>;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
			export module AppInstallFilters {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.common.AppInstallFilters.Builder>;
					public setPackageNames(packageNames: java.util.Set<string>): android.adservices.common.AppInstallFilters.Builder;
					public build(): android.adservices.common.AppInstallFilters;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class FrequencyCapFilters extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.common.FrequencyCapFilters>;
				public static AD_EVENT_TYPE_CLICK: 3;
				public static AD_EVENT_TYPE_IMPRESSION: 1;
				public static AD_EVENT_TYPE_VIEW: 2;
				public static AD_EVENT_TYPE_WIN: 0;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.common.FrequencyCapFilters>;
				public getKeyedFrequencyCapsForImpressionEvents(): java.util.List<android.adservices.common.KeyedFrequencyCap>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getKeyedFrequencyCapsForClickEvents(): java.util.List<android.adservices.common.KeyedFrequencyCap>;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getKeyedFrequencyCapsForWinEvents(): java.util.List<android.adservices.common.KeyedFrequencyCap>;
				public getKeyedFrequencyCapsForViewEvents(): java.util.List<android.adservices.common.KeyedFrequencyCap>;
			}
			export module FrequencyCapFilters {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.common.FrequencyCapFilters.Builder>;
					public setKeyedFrequencyCapsForImpressionEvents(keyedFrequencyCapsForImpressionEvents: java.util.List<android.adservices.common.KeyedFrequencyCap>): android.adservices.common.FrequencyCapFilters.Builder;
					public constructor();
					public setKeyedFrequencyCapsForViewEvents(keyedFrequencyCapsForViewEvents: java.util.List<android.adservices.common.KeyedFrequencyCap>): android.adservices.common.FrequencyCapFilters.Builder;
					public build(): android.adservices.common.FrequencyCapFilters;
					public setKeyedFrequencyCapsForWinEvents(keyedFrequencyCapsForWinEvents: java.util.List<android.adservices.common.KeyedFrequencyCap>): android.adservices.common.FrequencyCapFilters.Builder;
					public setKeyedFrequencyCapsForClickEvents(keyedFrequencyCapsForClickEvents: java.util.List<android.adservices.common.KeyedFrequencyCap>): android.adservices.common.FrequencyCapFilters.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module common {
			export class KeyedFrequencyCap extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.common.KeyedFrequencyCap>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.common.KeyedFrequencyCap>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getAdCounterKey(): number;
				public getInterval(): java.time.Duration;
				public getMaxCount(): number;
				public toString(): string;
			}
			export module KeyedFrequencyCap {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.common.KeyedFrequencyCap.Builder>;
					public setAdCounterKey(adCounterKey: number): android.adservices.common.KeyedFrequencyCap.Builder;
					public constructor(adCounterKey: number, maxCount: number, interval: java.time.Duration);
					public setMaxCount(maxCount: number): android.adservices.common.KeyedFrequencyCap.Builder;
					public build(): android.adservices.common.KeyedFrequencyCap;
					public setInterval(interval: java.time.Duration): android.adservices.common.KeyedFrequencyCap.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class AddCustomAudienceOverrideRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.customaudience.AddCustomAudienceOverrideRequest>;
				public getBuyer(): android.adservices.common.AdTechIdentifier;
				public constructor(buyer: android.adservices.common.AdTechIdentifier, name: string, biddingLogicJs: string, trustedBiddingSignals: android.adservices.common.AdSelectionSignals);
				public getBiddingLogicJs(): string;
				public getName(): string;
				public getBiddingLogicJsVersion(): number;
				public getTrustedBiddingSignals(): android.adservices.common.AdSelectionSignals;
			}
			export module AddCustomAudienceOverrideRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder>;
					public setTrustedBiddingSignals(trustedBiddingSignals: android.adservices.common.AdSelectionSignals): android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder;
					public constructor();
					public setBuyer(buyer: android.adservices.common.AdTechIdentifier): android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder;
					public build(): android.adservices.customaudience.AddCustomAudienceOverrideRequest;
					public setName(name: string): android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder;
					public setBiddingLogicJs(biddingLogicJs: string): android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder;
					public setBiddingLogicJsVersion(biddingLogicJsVersion: number): android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class CustomAudience extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.customaudience.CustomAudience>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.customaudience.CustomAudience>;
				public static FLAG_AUCTION_SERVER_REQUEST_OMIT_ADS: 1;
				public getBuyer(): android.adservices.common.AdTechIdentifier;
				public getAuctionServerRequestFlags(): number;
				public getDailyUpdateUri(): android.net.Uri;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getName(): string;
				public toString(): string;
				public getAds(): java.util.List<android.adservices.common.AdData>;
				public getTrustedBiddingData(): android.adservices.customaudience.TrustedBiddingData;
				public getUserBiddingSignals(): android.adservices.common.AdSelectionSignals;
				public hashCode(): number;
				public describeContents(): number;
				public getExpirationTime(): java.time.Instant;
				public getBiddingLogicUri(): android.net.Uri;
				public equals(o: any): boolean;
				public getActivationTime(): java.time.Instant;
			}
			export module CustomAudience {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.CustomAudience.Builder>;
					public setAds(ads: java.util.List<android.adservices.common.AdData>): android.adservices.customaudience.CustomAudience.Builder;
					public setUserBiddingSignals(userBiddingSignals: android.adservices.common.AdSelectionSignals): android.adservices.customaudience.CustomAudience.Builder;
					public setAuctionServerRequestFlags(auctionServerRequestFlags: number): android.adservices.customaudience.CustomAudience.Builder;
					public setBuyer(buyer: android.adservices.common.AdTechIdentifier): android.adservices.customaudience.CustomAudience.Builder;
					public constructor();
					public setName(name: string): android.adservices.customaudience.CustomAudience.Builder;
					public setActivationTime(activationTime: java.time.Instant): android.adservices.customaudience.CustomAudience.Builder;
					public build(): android.adservices.customaudience.CustomAudience;
					public setDailyUpdateUri(dailyUpdateUri: android.net.Uri): android.adservices.customaudience.CustomAudience.Builder;
					public setExpirationTime(expirationTime: java.time.Instant): android.adservices.customaudience.CustomAudience.Builder;
					public setTrustedBiddingData(trustedBiddingData: android.adservices.customaudience.TrustedBiddingData): android.adservices.customaudience.CustomAudience.Builder;
					public setBiddingLogicUri(biddingLogicUri: android.net.Uri): android.adservices.customaudience.CustomAudience.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class CustomAudienceManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.customaudience.CustomAudienceManager>;
				public getTestCustomAudienceManager(): android.adservices.customaudience.TestCustomAudienceManager;
				public joinCustomAudience(joinCustomAudienceRequest: android.adservices.customaudience.JoinCustomAudienceRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public static get(context: android.content.Context): android.adservices.customaudience.CustomAudienceManager;
				public fetchAndJoinCustomAudience(fetchAndJoinCustomAudienceRequest: android.adservices.customaudience.FetchAndJoinCustomAudienceRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public leaveCustomAudience(leaveCustomAudienceRequest: android.adservices.customaudience.LeaveCustomAudienceRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public scheduleCustomAudienceUpdate(request: android.adservices.customaudience.ScheduleCustomAudienceUpdateRequest, executor: java.util.concurrent.Executor, receiver: android.adservices.common.AdServicesOutcomeReceiver<any,java.lang.Exception>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class FetchAndJoinCustomAudienceRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.customaudience.FetchAndJoinCustomAudienceRequest>;
				public getUserBiddingSignals(): android.adservices.common.AdSelectionSignals;
				public hashCode(): number;
				public getExpirationTime(): java.time.Instant;
				public getName(): string;
				public equals(o: any): boolean;
				public getActivationTime(): java.time.Instant;
				public toString(): string;
				public getFetchUri(): android.net.Uri;
			}
			export module FetchAndJoinCustomAudienceRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.FetchAndJoinCustomAudienceRequest.Builder>;
					public setExpirationTime(expirationTime: java.time.Instant): android.adservices.customaudience.FetchAndJoinCustomAudienceRequest.Builder;
					public setName(name: string): android.adservices.customaudience.FetchAndJoinCustomAudienceRequest.Builder;
					public constructor(fetchUri: android.net.Uri);
					public build(): android.adservices.customaudience.FetchAndJoinCustomAudienceRequest;
					public setFetchUri(fetchUri: android.net.Uri): android.adservices.customaudience.FetchAndJoinCustomAudienceRequest.Builder;
					public setActivationTime(activationTime: java.time.Instant): android.adservices.customaudience.FetchAndJoinCustomAudienceRequest.Builder;
					public setUserBiddingSignals(userBiddingSignals: android.adservices.common.AdSelectionSignals): android.adservices.customaudience.FetchAndJoinCustomAudienceRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class JoinCustomAudienceRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.customaudience.JoinCustomAudienceRequest>;
				public getCustomAudience(): android.adservices.customaudience.CustomAudience;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
			export module JoinCustomAudienceRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.JoinCustomAudienceRequest.Builder>;
					public constructor();
					public build(): android.adservices.customaudience.JoinCustomAudienceRequest;
					public setCustomAudience(customAudience: android.adservices.customaudience.CustomAudience): android.adservices.customaudience.JoinCustomAudienceRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class LeaveCustomAudienceRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.customaudience.LeaveCustomAudienceRequest>;
				public getBuyer(): android.adservices.common.AdTechIdentifier;
				public hashCode(): number;
				public getName(): string;
				public equals(o: any): boolean;
			}
			export module LeaveCustomAudienceRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.LeaveCustomAudienceRequest.Builder>;
					public build(): android.adservices.customaudience.LeaveCustomAudienceRequest;
					public constructor();
					public setName(name: string): android.adservices.customaudience.LeaveCustomAudienceRequest.Builder;
					public setBuyer(buyer: android.adservices.common.AdTechIdentifier): android.adservices.customaudience.LeaveCustomAudienceRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class PartialCustomAudience extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.customaudience.PartialCustomAudience>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.customaudience.PartialCustomAudience>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getUserBiddingSignals(): android.adservices.common.AdSelectionSignals;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getExpirationTime(): java.time.Instant;
				public describeContents(): number;
				public getName(): string;
				public equals(o: any): boolean;
				public getActivationTime(): java.time.Instant;
				public toString(): string;
			}
			export module PartialCustomAudience {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.PartialCustomAudience.Builder>;
					public setUserBiddingSignals(userBiddingSignals: android.adservices.common.AdSelectionSignals): android.adservices.customaudience.PartialCustomAudience.Builder;
					public constructor(name: string);
					public setActivationTime(activationTime: java.time.Instant): android.adservices.customaudience.PartialCustomAudience.Builder;
					public build(): android.adservices.customaudience.PartialCustomAudience;
					public setExpirationTime(expirationTime: java.time.Instant): android.adservices.customaudience.PartialCustomAudience.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class RemoveCustomAudienceOverrideRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.customaudience.RemoveCustomAudienceOverrideRequest>;
				public getBuyer(): android.adservices.common.AdTechIdentifier;
				public getName(): string;
				public constructor(buyer: android.adservices.common.AdTechIdentifier, name: string);
			}
			export module RemoveCustomAudienceOverrideRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.RemoveCustomAudienceOverrideRequest.Builder>;
					public setName(name: string): android.adservices.customaudience.RemoveCustomAudienceOverrideRequest.Builder;
					public constructor();
					public setBuyer(buyer: android.adservices.common.AdTechIdentifier): android.adservices.customaudience.RemoveCustomAudienceOverrideRequest.Builder;
					public build(): android.adservices.customaudience.RemoveCustomAudienceOverrideRequest;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class ScheduleCustomAudienceUpdateRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.customaudience.ScheduleCustomAudienceUpdateRequest>;
				public getMinDelay(): java.time.Duration;
				public getPartialCustomAudienceList(): java.util.List<android.adservices.customaudience.PartialCustomAudience>;
				public hashCode(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getUpdateUri(): android.net.Uri;
			}
			export module ScheduleCustomAudienceUpdateRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.ScheduleCustomAudienceUpdateRequest.Builder>;
					public setPartialCustomAudienceList(partialCustomAudiences: java.util.List<android.adservices.customaudience.PartialCustomAudience>): android.adservices.customaudience.ScheduleCustomAudienceUpdateRequest.Builder;
					public setUpdateUri(updateUri: android.net.Uri): android.adservices.customaudience.ScheduleCustomAudienceUpdateRequest.Builder;
					public constructor(updateUri: android.net.Uri, minDelay: java.time.Duration, partialCustomAudienceList: java.util.List<android.adservices.customaudience.PartialCustomAudience>);
					public setMinDelay(minDelay: java.time.Duration): android.adservices.customaudience.ScheduleCustomAudienceUpdateRequest.Builder;
					public build(): android.adservices.customaudience.ScheduleCustomAudienceUpdateRequest;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class TestCustomAudienceManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.customaudience.TestCustomAudienceManager>;
				public overrideCustomAudienceRemoteInfo(request: android.adservices.customaudience.AddCustomAudienceOverrideRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public removeCustomAudienceRemoteInfoOverride(request: android.adservices.customaudience.RemoveCustomAudienceOverrideRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public resetAllCustomAudienceOverrides(executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module customaudience {
			export class TrustedBiddingData extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.customaudience.TrustedBiddingData>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.customaudience.TrustedBiddingData>;
				public getTrustedBiddingUri(): android.net.Uri;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getTrustedBiddingKeys(): java.util.List<string>;
				public equals(o: any): boolean;
			}
			export module TrustedBiddingData {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.customaudience.TrustedBiddingData.Builder>;
					public setTrustedBiddingUri(trustedBiddingUri: android.net.Uri): android.adservices.customaudience.TrustedBiddingData.Builder;
					public setTrustedBiddingKeys(trustedBiddingKeys: java.util.List<string>): android.adservices.customaudience.TrustedBiddingData.Builder;
					public constructor();
					public build(): android.adservices.customaudience.TrustedBiddingData;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module exceptions {
			export class AdServicesException extends java.lang.Exception {
				public static class: java.lang.Class<android.adservices.exceptions.AdServicesException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, e: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

declare module android {
	export module adservices {
		export module measurement {
			export class DeletionRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.measurement.DeletionRequest>;
				public static DELETION_MODE_ALL: 0;
				public static DELETION_MODE_EXCLUDE_INTERNAL_DATA: 1;
				public static MATCH_BEHAVIOR_DELETE: 0;
				public static MATCH_BEHAVIOR_PRESERVE: 1;
				public getStart(): java.time.Instant;
				public getEnd(): java.time.Instant;
				public getMatchBehavior(): number;
				public getDomainUris(): java.util.List<android.net.Uri>;
				public getOriginUris(): java.util.List<android.net.Uri>;
				public getDeletionMode(): number;
			}
			export module DeletionRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.measurement.DeletionRequest.Builder>;
					public setEnd(end: java.time.Instant): android.adservices.measurement.DeletionRequest.Builder;
					public constructor();
					public setStart(start: java.time.Instant): android.adservices.measurement.DeletionRequest.Builder;
					public setMatchBehavior(matchBehavior: number): android.adservices.measurement.DeletionRequest.Builder;
					public setDeletionMode(deletionMode: number): android.adservices.measurement.DeletionRequest.Builder;
					public setOriginUris(originUris: java.util.List<android.net.Uri>): android.adservices.measurement.DeletionRequest.Builder;
					public build(): android.adservices.measurement.DeletionRequest;
					public setDomainUris(domainUris: java.util.List<android.net.Uri>): android.adservices.measurement.DeletionRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module measurement {
			export class MeasurementManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.measurement.MeasurementManager>;
				public static MEASUREMENT_API_STATE_DISABLED: 0;
				public static MEASUREMENT_API_STATE_ENABLED: 1;
				public getMeasurementApiStatus(executor: java.util.concurrent.Executor, callback: android.adservices.common.AdServicesOutcomeReceiver<java.lang.Integer,java.lang.Exception>): void;
				public static get(context: android.content.Context): android.adservices.measurement.MeasurementManager;
				public getMeasurementApiStatus(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Integer,java.lang.Exception>): void;
				public deleteRegistrations(deletionRequest: android.adservices.measurement.DeletionRequest, executor: java.util.concurrent.Executor, callback: android.adservices.common.AdServicesOutcomeReceiver<any,java.lang.Exception>): void;
				public registerSource(request: android.adservices.measurement.SourceRegistrationRequest, executor: java.util.concurrent.Executor, callback: android.adservices.common.AdServicesOutcomeReceiver<any,java.lang.Exception>): void;
				public deleteRegistrations(deletionRequest: android.adservices.measurement.DeletionRequest, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public registerTrigger(trigger: android.net.Uri, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public registerSource(attributionSource: android.net.Uri, inputEvent: android.view.InputEvent, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public registerSource(request: android.adservices.measurement.SourceRegistrationRequest, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public registerWebSource(request: android.adservices.measurement.WebSourceRegistrationRequest, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public registerSource(attributionSource: android.net.Uri, inputEvent: android.view.InputEvent, executor: java.util.concurrent.Executor, callback: android.adservices.common.AdServicesOutcomeReceiver<any,java.lang.Exception>): void;
				public registerWebTrigger(request: android.adservices.measurement.WebTriggerRegistrationRequest, executor: java.util.concurrent.Executor, callback: android.adservices.common.AdServicesOutcomeReceiver<any,java.lang.Exception>): void;
				public registerWebSource(request: android.adservices.measurement.WebSourceRegistrationRequest, executor: java.util.concurrent.Executor, callback: android.adservices.common.AdServicesOutcomeReceiver<any,java.lang.Exception>): void;
				public registerWebTrigger(request: android.adservices.measurement.WebTriggerRegistrationRequest, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
				public registerTrigger(trigger: android.net.Uri, executor: java.util.concurrent.Executor, callback: android.adservices.common.AdServicesOutcomeReceiver<any,java.lang.Exception>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module measurement {
			export class SourceRegistrationRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.measurement.SourceRegistrationRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.measurement.SourceRegistrationRequest>;
				public getRegistrationUris(): java.util.List<android.net.Uri>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getInputEvent(): android.view.InputEvent;
				public describeContents(): number;
				public equals(o: any): boolean;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
			}
			export module SourceRegistrationRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.measurement.SourceRegistrationRequest.Builder>;
					public build(): android.adservices.measurement.SourceRegistrationRequest;
					public constructor(registrationUris: java.util.List<android.net.Uri>);
					public setInputEvent(inputEvent: android.view.InputEvent): android.adservices.measurement.SourceRegistrationRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module measurement {
			export class WebSourceParams extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.measurement.WebSourceParams>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.measurement.WebSourceParams>;
				public isDebugKeyAllowed(): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRegistrationUri(): android.net.Uri;
				public describeContents(): number;
				public equals(o: any): boolean;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
			}
			export module WebSourceParams {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.measurement.WebSourceParams.Builder>;
					public setDebugKeyAllowed(debugKeyAllowed: boolean): android.adservices.measurement.WebSourceParams.Builder;
					public build(): android.adservices.measurement.WebSourceParams;
					public constructor(registrationUri: android.net.Uri);
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module measurement {
			export class WebSourceRegistrationRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.measurement.WebSourceRegistrationRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.measurement.WebSourceRegistrationRequest>;
				public getTopOriginUri(): android.net.Uri;
				public getAppDestination(): android.net.Uri;
				public getVerifiedDestination(): android.net.Uri;
				public getSourceParams(): java.util.List<android.adservices.measurement.WebSourceParams>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getInputEvent(): android.view.InputEvent;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getWebDestination(): android.net.Uri;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
			}
			export module WebSourceRegistrationRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.measurement.WebSourceRegistrationRequest.Builder>;
					public setVerifiedDestination(verifiedDestination: android.net.Uri): android.adservices.measurement.WebSourceRegistrationRequest.Builder;
					public setWebDestination(webDestination: android.net.Uri): android.adservices.measurement.WebSourceRegistrationRequest.Builder;
					public setAppDestination(appDestination: android.net.Uri): android.adservices.measurement.WebSourceRegistrationRequest.Builder;
					public constructor(webSourceParams: java.util.List<android.adservices.measurement.WebSourceParams>, topOriginUri: android.net.Uri);
					public setInputEvent(inputEvent: android.view.InputEvent): android.adservices.measurement.WebSourceRegistrationRequest.Builder;
					public build(): android.adservices.measurement.WebSourceRegistrationRequest;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module measurement {
			export class WebTriggerParams extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.measurement.WebTriggerParams>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.measurement.WebTriggerParams>;
				public isDebugKeyAllowed(): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRegistrationUri(): android.net.Uri;
				public describeContents(): number;
				public equals(o: any): boolean;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
			}
			export module WebTriggerParams {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.measurement.WebTriggerParams.Builder>;
					public setDebugKeyAllowed(debugKeyAllowed: boolean): android.adservices.measurement.WebTriggerParams.Builder;
					public constructor(registrationUri: android.net.Uri);
					public build(): android.adservices.measurement.WebTriggerParams;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module measurement {
			export class WebTriggerRegistrationRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.measurement.WebTriggerRegistrationRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.measurement.WebTriggerRegistrationRequest>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getTriggerParams(): java.util.List<android.adservices.measurement.WebTriggerParams>;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getDestination(): android.net.Uri;
			}
			export module WebTriggerRegistrationRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.measurement.WebTriggerRegistrationRequest.Builder>;
					public constructor(webTriggerParams: java.util.List<android.adservices.measurement.WebTriggerParams>, destination: android.net.Uri);
					public build(): android.adservices.measurement.WebTriggerRegistrationRequest;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class AppInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.AppInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.AppInfo>;
				public isInstalled(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class DownloadCompletedInput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.DownloadCompletedInput>;
				public hashCode(): number;
				public equals(o: any): boolean;
				public getDownloadedContents(): android.adservices.ondevicepersonalization.KeyValueStore;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class DownloadCompletedOutput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.DownloadCompletedOutput>;
				public hashCode(): number;
				public getRetainedKeys(): java.util.List<string>;
				public equals(o: any): boolean;
			}
			export module DownloadCompletedOutput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.DownloadCompletedOutput.Builder>;
					public addRetainedKey(value: string): android.adservices.ondevicepersonalization.DownloadCompletedOutput.Builder;
					public setRetainedKeys(value: java.util.List<string>): android.adservices.ondevicepersonalization.DownloadCompletedOutput.Builder;
					public constructor();
					public build(): android.adservices.ondevicepersonalization.DownloadCompletedOutput;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class EventInput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.EventInput>;
				public hashCode(): number;
				public getParameters(): any;
				public equals(o: any): boolean;
				public getRequestLogRecord(): android.adservices.ondevicepersonalization.RequestLogRecord;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class EventLogRecord extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.EventLogRecord>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.EventLogRecord>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public getRowIndex(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getData(): android.content.ContentValues;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getRequestLogRecord(): android.adservices.ondevicepersonalization.RequestLogRecord;
				public getTime(): java.time.Instant;
			}
			export module EventLogRecord {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.EventLogRecord.Builder>;
					public setRowIndex(value: number): android.adservices.ondevicepersonalization.EventLogRecord.Builder;
					public constructor();
					public setData(value: android.content.ContentValues): android.adservices.ondevicepersonalization.EventLogRecord.Builder;
					public build(): android.adservices.ondevicepersonalization.EventLogRecord;
					public setRequestLogRecord(value: android.adservices.ondevicepersonalization.RequestLogRecord): android.adservices.ondevicepersonalization.EventLogRecord.Builder;
					public setType(value: number): android.adservices.ondevicepersonalization.EventLogRecord.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class EventOutput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.EventOutput>;
				public hashCode(): number;
				public getEventLogRecord(): android.adservices.ondevicepersonalization.EventLogRecord;
				public equals(o: any): boolean;
			}
			export module EventOutput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.EventOutput.Builder>;
					public build(): android.adservices.ondevicepersonalization.EventOutput;
					public constructor();
					public setEventLogRecord(value: android.adservices.ondevicepersonalization.EventLogRecord): android.adservices.ondevicepersonalization.EventOutput.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class EventUrlProvider extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.EventUrlProvider>;
				public createEventTrackingUrlWithResponse(eventParams: any, responseData: androidNative.Array<number>, mimeType: string): android.net.Uri;
				public createEventTrackingUrlWithRedirect(eventParams: any, destinationUrl: android.net.Uri): android.net.Uri;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class ExecuteInput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.ExecuteInput>;
				public getAppParams(): any;
				public getAppPackageName(): string;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class ExecuteOutput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.ExecuteOutput>;
				public getRenderingConfig(): android.adservices.ondevicepersonalization.RenderingConfig;
				public getOutputData(): androidNative.Array<number>;
				public getEventLogRecords(): java.util.List<android.adservices.ondevicepersonalization.EventLogRecord>;
				public hashCode(): number;
				public equals(o: any): boolean;
				public getRequestLogRecord(): android.adservices.ondevicepersonalization.RequestLogRecord;
			}
			export module ExecuteOutput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.ExecuteOutput.Builder>;
					public setEventLogRecords(value: java.util.List<android.adservices.ondevicepersonalization.EventLogRecord>): android.adservices.ondevicepersonalization.ExecuteOutput.Builder;
					public build(): android.adservices.ondevicepersonalization.ExecuteOutput;
					public constructor();
					public setRequestLogRecord(value: android.adservices.ondevicepersonalization.RequestLogRecord): android.adservices.ondevicepersonalization.ExecuteOutput.Builder;
					public setRenderingConfig(value: android.adservices.ondevicepersonalization.RenderingConfig): android.adservices.ondevicepersonalization.ExecuteOutput.Builder;
					public setOutputData(value: androidNative.Array<number>): android.adservices.ondevicepersonalization.ExecuteOutput.Builder;
					public addEventLogRecord(value: android.adservices.ondevicepersonalization.EventLogRecord): android.adservices.ondevicepersonalization.ExecuteOutput.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class FederatedComputeInput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.FederatedComputeInput>;
				public hashCode(): number;
				public getPopulationName(): string;
				public equals(o: any): boolean;
			}
			export module FederatedComputeInput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.FederatedComputeInput.Builder>;
					public setPopulationName(value: string): android.adservices.ondevicepersonalization.FederatedComputeInput.Builder;
					public constructor();
					public build(): android.adservices.ondevicepersonalization.FederatedComputeInput;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class FederatedComputeScheduler extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.FederatedComputeScheduler>;
				public cancel(input: android.adservices.ondevicepersonalization.FederatedComputeInput): void;
				public schedule(params: android.adservices.ondevicepersonalization.FederatedComputeScheduler.Params, input: android.adservices.ondevicepersonalization.FederatedComputeInput): void;
			}
			export module FederatedComputeScheduler {
				export class Params extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.FederatedComputeScheduler.Params>;
					public getTrainingInterval(): android.adservices.ondevicepersonalization.TrainingInterval;
					public constructor(trainingInterval: android.adservices.ondevicepersonalization.TrainingInterval);
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class InferenceInput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.InferenceInput>;
				public hashCode(): number;
				public getExpectedOutputStructure(): android.adservices.ondevicepersonalization.InferenceOutput;
				public getInputData(): androidNative.Array<any>;
				public getBatchSize(): number;
				public equals(o: any): boolean;
				public getParams(): android.adservices.ondevicepersonalization.InferenceInput.Params;
			}
			export module InferenceInput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.InferenceInput.Builder>;
					public setBatchSize(value: number): android.adservices.ondevicepersonalization.InferenceInput.Builder;
					public setExpectedOutputStructure(value: android.adservices.ondevicepersonalization.InferenceOutput): android.adservices.ondevicepersonalization.InferenceInput.Builder;
					public setParams(value: android.adservices.ondevicepersonalization.InferenceInput.Params): android.adservices.ondevicepersonalization.InferenceInput.Builder;
					public setInputData(value: androidNative.Array<any>): android.adservices.ondevicepersonalization.InferenceInput.Builder;
					public build(): android.adservices.ondevicepersonalization.InferenceInput;
					public constructor(params: android.adservices.ondevicepersonalization.InferenceInput.Params, inputData: androidNative.Array<any>, expectedOutputStructure: android.adservices.ondevicepersonalization.InferenceOutput);
				}
				export class Params extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.InferenceInput.Params>;
					public static DELEGATE_CPU: 1;
					public static MODEL_TYPE_TENSORFLOW_LITE: 1;
					public getKeyValueStore(): android.adservices.ondevicepersonalization.KeyValueStore;
					public getModelType(): number;
					public getDelegateType(): number;
					public getRecommendedNumThreads(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getModelKey(): string;
				}
				export module Params {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.adservices.ondevicepersonalization.InferenceInput.Params.Builder>;
						public setRecommendedNumThreads(value: number): android.adservices.ondevicepersonalization.InferenceInput.Params.Builder;
						public build(): android.adservices.ondevicepersonalization.InferenceInput.Params;
						public constructor(keyValueStore: android.adservices.ondevicepersonalization.KeyValueStore, modelKey: string);
						public setModelType(value: number): android.adservices.ondevicepersonalization.InferenceInput.Params.Builder;
						public setDelegateType(value: number): android.adservices.ondevicepersonalization.InferenceInput.Params.Builder;
						public setKeyValueStore(value: android.adservices.ondevicepersonalization.KeyValueStore): android.adservices.ondevicepersonalization.InferenceInput.Params.Builder;
						public setModelKey(value: string): android.adservices.ondevicepersonalization.InferenceInput.Params.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class InferenceOutput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.InferenceOutput>;
				public getDataOutputs(): java.util.Map<java.lang.Integer,any>;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
			export module InferenceOutput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.InferenceOutput.Builder>;
					public constructor();
					public setDataOutputs(value: java.util.Map<java.lang.Integer,any>): android.adservices.ondevicepersonalization.InferenceOutput.Builder;
					public addDataOutput(key: number, value: any): android.adservices.ondevicepersonalization.InferenceOutput.Builder;
					public build(): android.adservices.ondevicepersonalization.InferenceOutput;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export abstract class IsolatedService extends android.app.Service {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.IsolatedService>;
				public getUserData(requestToken: android.adservices.ondevicepersonalization.RequestToken): android.adservices.ondevicepersonalization.UserData;
				public getLogReader(requestToken: android.adservices.ondevicepersonalization.RequestToken): android.adservices.ondevicepersonalization.LogReader;
				public getLocalData(requestToken: android.adservices.ondevicepersonalization.RequestToken): android.adservices.ondevicepersonalization.MutableKeyValueStore;
				public onRequest(param0: android.adservices.ondevicepersonalization.RequestToken): android.adservices.ondevicepersonalization.IsolatedWorker;
				public getEventUrlProvider(requestToken: android.adservices.ondevicepersonalization.RequestToken): android.adservices.ondevicepersonalization.EventUrlProvider;
				public getFederatedComputeScheduler(requestToken: android.adservices.ondevicepersonalization.RequestToken): android.adservices.ondevicepersonalization.FederatedComputeScheduler;
				public constructor(base: android.content.Context);
				public constructor();
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onCreate(): void;
				public getRemoteData(requestToken: android.adservices.ondevicepersonalization.RequestToken): android.adservices.ondevicepersonalization.KeyValueStore;
				public getModelManager(requestToken: android.adservices.ondevicepersonalization.RequestToken): android.adservices.ondevicepersonalization.ModelManager;
				public onTrimMemory(param0: number): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class IsolatedServiceException extends java.lang.Exception {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.IsolatedServiceException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
				public constructor(errorCode: number);
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class IsolatedWorker extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.IsolatedWorker>;
				/**
				 * Constructs a new instance of the android.adservices.ondevicepersonalization.IsolatedWorker interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onExecute(input: android.adservices.ondevicepersonalization.ExecuteInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.ExecuteOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
					onDownloadCompleted(input: android.adservices.ondevicepersonalization.DownloadCompletedInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.DownloadCompletedOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
					onRender(input: android.adservices.ondevicepersonalization.RenderInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.RenderOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
					onEvent(input: android.adservices.ondevicepersonalization.EventInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.EventOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
					onTrainingExamples(input: android.adservices.ondevicepersonalization.TrainingExamplesInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.TrainingExamplesOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
					onWebTrigger(input: android.adservices.ondevicepersonalization.WebTriggerInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.WebTriggerOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
				});
				public constructor();
				public onRender(input: android.adservices.ondevicepersonalization.RenderInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.RenderOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
				public onEvent(input: android.adservices.ondevicepersonalization.EventInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.EventOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
				public onWebTrigger(input: android.adservices.ondevicepersonalization.WebTriggerInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.WebTriggerOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
				public onExecute(input: android.adservices.ondevicepersonalization.ExecuteInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.ExecuteOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
				public onTrainingExamples(input: android.adservices.ondevicepersonalization.TrainingExamplesInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.TrainingExamplesOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
				public onDownloadCompleted(input: android.adservices.ondevicepersonalization.DownloadCompletedInput, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.DownloadCompletedOutput,android.adservices.ondevicepersonalization.IsolatedServiceException>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class KeyValueStore extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.KeyValueStore>;
				/**
				 * Constructs a new instance of the android.adservices.ondevicepersonalization.KeyValueStore interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					get(param0: string): androidNative.Array<number>;
					keySet(): java.util.Set<string>;
				});
				public constructor();
				public get(param0: string): androidNative.Array<number>;
				public keySet(): java.util.Set<string>;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class LogReader extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.LogReader>;
				public getRequests(startTime: java.time.Instant, endTime: java.time.Instant): java.util.List<android.adservices.ondevicepersonalization.RequestLogRecord>;
				public getJoinedEvents(startTime: java.time.Instant, endTime: java.time.Instant): java.util.List<android.adservices.ondevicepersonalization.EventLogRecord>;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class ModelManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.ModelManager>;
				public run(input: android.adservices.ondevicepersonalization.InferenceInput, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.InferenceOutput,java.lang.Exception>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class MutableKeyValueStore extends java.lang.Object implements android.adservices.ondevicepersonalization.KeyValueStore {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.MutableKeyValueStore>;
				/**
				 * Constructs a new instance of the android.adservices.ondevicepersonalization.MutableKeyValueStore interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					put(param0: string, param1: androidNative.Array<number>): androidNative.Array<number>;
					remove(param0: string): androidNative.Array<number>;
					get(param0: string): androidNative.Array<number>;
					keySet(): java.util.Set<string>;
				});
				public constructor();
				public get(param0: string): androidNative.Array<number>;
				public keySet(): java.util.Set<string>;
				public remove(param0: string): androidNative.Array<number>;
				public put(param0: string, param1: androidNative.Array<number>): androidNative.Array<number>;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class OnDevicePersonalizationException extends java.lang.Exception {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.OnDevicePersonalizationException>;
				public static ERROR_ISOLATED_SERVICE_FAILED: 1;
				public static ERROR_PERSONALIZATION_DISABLED: 2;
				public getErrorCode(): number;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class OnDevicePersonalizationManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.OnDevicePersonalizationManager>;
				public requestSurfacePackage(surfacePackageToken: android.adservices.ondevicepersonalization.SurfacePackageToken, surfaceViewHostToken: android.os.IBinder, displayId: number, width: number, height: number, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.view.SurfaceControlViewHost.SurfacePackage,java.lang.Exception>): void;
				public execute(service: android.content.ComponentName, params: any, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.adservices.ondevicepersonalization.OnDevicePersonalizationManager.ExecuteResult,java.lang.Exception>): void;
			}
			export module OnDevicePersonalizationManager {
				export class ExecuteResult extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.OnDevicePersonalizationManager.ExecuteResult>;
					public getOutputData(): androidNative.Array<number>;
					public getSurfacePackageToken(): android.adservices.ondevicepersonalization.SurfacePackageToken;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class RenderInput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.RenderInput>;
				public getRenderingConfig(): android.adservices.ondevicepersonalization.RenderingConfig;
				public getWidth(): number;
				public getHeight(): number;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class RenderOutput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.RenderOutput>;
				public getTemplateId(): string;
				public getTemplateParams(): any;
				public hashCode(): number;
				public getContent(): string;
				public equals(o: any): boolean;
			}
			export module RenderOutput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.RenderOutput.Builder>;
					public constructor();
					public setTemplateParams(value: any): android.adservices.ondevicepersonalization.RenderOutput.Builder;
					public build(): android.adservices.ondevicepersonalization.RenderOutput;
					public setContent(value: string): android.adservices.ondevicepersonalization.RenderOutput.Builder;
					public setTemplateId(value: string): android.adservices.ondevicepersonalization.RenderOutput.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class RenderingConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.RenderingConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.RenderingConfig>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getKeys(): java.util.List<string>;
			}
			export module RenderingConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.RenderingConfig.Builder>;
					public addKey(value: string): android.adservices.ondevicepersonalization.RenderingConfig.Builder;
					public setKeys(value: java.util.List<string>): android.adservices.ondevicepersonalization.RenderingConfig.Builder;
					public constructor();
					public build(): android.adservices.ondevicepersonalization.RenderingConfig;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class RequestLogRecord extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.RequestLogRecord>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.RequestLogRecord>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getRows(): java.util.List<android.content.ContentValues>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getTime(): java.time.Instant;
			}
			export module RequestLogRecord {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.RequestLogRecord.Builder>;
					public addRow(value: android.content.ContentValues): android.adservices.ondevicepersonalization.RequestLogRecord.Builder;
					public constructor();
					public setRows(value: java.util.List<android.content.ContentValues>): android.adservices.ondevicepersonalization.RequestLogRecord.Builder;
					public build(): android.adservices.ondevicepersonalization.RequestLogRecord;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class RequestToken extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.RequestToken>;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class SurfacePackageToken extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.SurfacePackageToken>;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class TrainingExampleRecord extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.TrainingExampleRecord>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.TrainingExampleRecord>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTrainingExample(): androidNative.Array<number>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getResumptionToken(): androidNative.Array<number>;
			}
			export module TrainingExampleRecord {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.TrainingExampleRecord.Builder>;
					public constructor();
					public setResumptionToken(value: androidNative.Array<number>): android.adservices.ondevicepersonalization.TrainingExampleRecord.Builder;
					public build(): android.adservices.ondevicepersonalization.TrainingExampleRecord;
					public setTrainingExample(value: androidNative.Array<number>): android.adservices.ondevicepersonalization.TrainingExampleRecord.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class TrainingExamplesInput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.TrainingExamplesInput>;
				public hashCode(): number;
				public getPopulationName(): string;
				public equals(o: any): boolean;
				public getResumptionToken(): androidNative.Array<number>;
				public getTaskName(): string;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class TrainingExamplesOutput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.TrainingExamplesOutput>;
				public getTrainingExampleRecords(): java.util.List<android.adservices.ondevicepersonalization.TrainingExampleRecord>;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
			export module TrainingExamplesOutput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.TrainingExamplesOutput.Builder>;
					public build(): android.adservices.ondevicepersonalization.TrainingExamplesOutput;
					public constructor();
					public addTrainingExampleRecord(value: android.adservices.ondevicepersonalization.TrainingExampleRecord): android.adservices.ondevicepersonalization.TrainingExamplesOutput.Builder;
					public setTrainingExampleRecords(value: java.util.List<android.adservices.ondevicepersonalization.TrainingExampleRecord>): android.adservices.ondevicepersonalization.TrainingExamplesOutput.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class TrainingInterval extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.TrainingInterval>;
				public static SCHEDULING_MODE_ONE_TIME: 1;
				public static SCHEDULING_MODE_RECURRENT: 2;
				public getMinimumInterval(): java.time.Duration;
				public getSchedulingMode(): number;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
			export module TrainingInterval {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.TrainingInterval.Builder>;
					public setSchedulingMode(value: number): android.adservices.ondevicepersonalization.TrainingInterval.Builder;
					public setMinimumInterval(value: java.time.Duration): android.adservices.ondevicepersonalization.TrainingInterval.Builder;
					public constructor();
					public build(): android.adservices.ondevicepersonalization.TrainingInterval;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class UserData extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.UserData>;
				public static CREATOR: android.os.Parcelable.Creator<android.adservices.ondevicepersonalization.UserData>;
				public getDataNetworkType(): number;
				public getAppInfos(): java.util.Map<string,android.adservices.ondevicepersonalization.AppInfo>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getCarrier(): string;
				public getBatteryPercentage(): number;
				public getOrientation(): number;
				public getAvailableStorageBytes(): number;
				public hashCode(): number;
				public getTimezoneUtcOffset(): java.time.Duration;
				public getNetworkCapabilities(): android.net.NetworkCapabilities;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class WebTriggerInput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.WebTriggerInput>;
				public getAppPackageName(): string;
				public hashCode(): number;
				public getData(): androidNative.Array<number>;
				public equals(o: any): boolean;
				public getDestinationUrl(): android.net.Uri;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module ondevicepersonalization {
			export class WebTriggerOutput extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.ondevicepersonalization.WebTriggerOutput>;
				public getEventLogRecords(): java.util.List<android.adservices.ondevicepersonalization.EventLogRecord>;
				public hashCode(): number;
				public equals(o: any): boolean;
				public getRequestLogRecord(): android.adservices.ondevicepersonalization.RequestLogRecord;
			}
			export module WebTriggerOutput {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.ondevicepersonalization.WebTriggerOutput.Builder>;
					public setEventLogRecords(value: java.util.List<android.adservices.ondevicepersonalization.EventLogRecord>): android.adservices.ondevicepersonalization.WebTriggerOutput.Builder;
					public constructor();
					public addEventLogRecord(value: android.adservices.ondevicepersonalization.EventLogRecord): android.adservices.ondevicepersonalization.WebTriggerOutput.Builder;
					public build(): android.adservices.ondevicepersonalization.WebTriggerOutput;
					public setRequestLogRecord(value: android.adservices.ondevicepersonalization.RequestLogRecord): android.adservices.ondevicepersonalization.WebTriggerOutput.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module signals {
			export class ProtectedSignalsManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.signals.ProtectedSignalsManager>;
				public static get(context: android.content.Context): android.adservices.signals.ProtectedSignalsManager;
				public updateSignals(updateSignalsRequest: android.adservices.signals.UpdateSignalsRequest, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<any,java.lang.Exception>): void;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module signals {
			export class UpdateSignalsRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.signals.UpdateSignalsRequest>;
				public hashCode(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getUpdateUri(): android.net.Uri;
			}
			export module UpdateSignalsRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.signals.UpdateSignalsRequest.Builder>;
					public setUpdateUri(updateUri: android.net.Uri): android.adservices.signals.UpdateSignalsRequest.Builder;
					public constructor(updateUri: android.net.Uri);
					public build(): android.adservices.signals.UpdateSignalsRequest;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module topics {
			export class EncryptedTopic extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.topics.EncryptedTopic>;
				public getEncryptedTopic(): androidNative.Array<number>;
				public getKeyIdentifier(): string;
				public getEncapsulatedKey(): androidNative.Array<number>;
				public constructor(encryptedTopic: androidNative.Array<number>, keyIdentifier: string, encapsulatedKey: androidNative.Array<number>);
				public hashCode(): number;
				public toString(): string;
				public equals(object: any): boolean;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module topics {
			export class GetTopicsRequest extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.topics.GetTopicsRequest>;
				public shouldRecordObservation(): boolean;
				public getAdsSdkName(): string;
			}
			export module GetTopicsRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.topics.GetTopicsRequest.Builder>;
					public constructor();
					public build(): android.adservices.topics.GetTopicsRequest;
					public setAdsSdkName(adsSdkName: string): android.adservices.topics.GetTopicsRequest.Builder;
					public setShouldRecordObservation(recordObservation: boolean): android.adservices.topics.GetTopicsRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module topics {
			export class GetTopicsResponse extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.topics.GetTopicsResponse>;
				public hashCode(): number;
				public getEncryptedTopics(): java.util.List<android.adservices.topics.EncryptedTopic>;
				public getTopics(): java.util.List<android.adservices.topics.Topic>;
				public equals(o: any): boolean;
			}
			export module GetTopicsResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.adservices.topics.GetTopicsResponse.Builder>;
					public constructor(topics: java.util.List<android.adservices.topics.Topic>, encryptedTopics: java.util.List<android.adservices.topics.EncryptedTopic>);
					public build(): android.adservices.topics.GetTopicsResponse;
					/** @deprecated */
					public constructor(topics: java.util.List<android.adservices.topics.Topic>);
				}
			}
		}
	}
}

declare module android {
	export module adservices {
		export module topics {
			export class Topic extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.topics.Topic>;
				public hashCode(): number;
				public getTaxonomyVersion(): number;
				public getTopicId(): number;
				public constructor(mTaxonomyVersion: number, mModelVersion: number, mTopicId: number);
				public toString(): string;
				public getModelVersion(): number;
				public equals(object: any): boolean;
			}
		}
	}
}

declare module android {
	export module adservices {
		export module topics {
			export class TopicsManager extends java.lang.Object {
				public static class: java.lang.Class<android.adservices.topics.TopicsManager>;
				public static get(context: android.content.Context): android.adservices.topics.TopicsManager;
				public getTopics(getTopicsRequest: android.adservices.topics.GetTopicsRequest, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.adservices.topics.GetTopicsResponse,java.lang.Exception>): void;
			}
		}
	}
}

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: -1;
			public setupStartValues(): void;
			public removeAllListeners(): void;
			public getDuration(): number;
			public end(): void;
			public isPaused(): boolean;
			public cancel(): void;
			public setDuration(param0: number): android.animation.Animator;
			public getInterpolator(): android.animation.TimeInterpolator;
			public pause(): void;
			public isRunning(): boolean;
			public resume(): void;
			public removeListener(listener: android.animation.Animator.AnimatorListener): void;
			public getTotalDuration(): number;
			public setTarget(target: any): void;
			public removePauseListener(listener: android.animation.Animator.AnimatorPauseListener): void;
			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 addListener(listener: android.animation.Animator.AnimatorListener): void;
			public addPauseListener(listener: android.animation.Animator.AnimatorPauseListener): void;
			public getListeners(): java.util.ArrayList<android.animation.Animator.AnimatorListener>;
			public clone(): any;
			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(animation: android.animation.Animator, isReverse: boolean): void;
					onAnimationEnd(animation: android.animation.Animator, isReverse: 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 onAnimationStart(animation: android.animation.Animator, isReverse: boolean): void;
				public onAnimationEnd(param0: android.animation.Animator): void;
				public onAnimationStart(param0: android.animation.Animator): void;
				public onAnimationRepeat(param0: android.animation.Animator): void;
				public onAnimationCancel(param0: android.animation.Animator): void;
				public onAnimationEnd(animation: android.animation.Animator, isReverse: boolean): 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 loadStateListAnimator(context: android.content.Context, id: number): android.animation.StateListAnimator;
			public static loadAnimator(context: android.content.Context, id: number): android.animation.Animator;
			public constructor();
		}
	}
}

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 onAnimationStart(param0: android.animation.Animator): void;
			public onAnimationRepeat(param0: android.animation.Animator): void;
			public onAnimationEnd(animation: android.animation.Animator, isReverse: boolean): void;
			public onAnimationStart(animation: android.animation.Animator): void;
			public constructor();
			public onAnimationCancel(param0: android.animation.Animator): void;
			public onAnimationRepeat(animation: android.animation.Animator): void;
			public onAnimationResume(param0: android.animation.Animator): void;
			public onAnimationPause(animation: android.animation.Animator): void;
			public onAnimationEnd(animation: android.animation.Animator): void;
			public onAnimationResume(animation: android.animation.Animator): void;
			public onAnimationStart(animation: android.animation.Animator, isReverse: boolean): void;
			public onAnimationCancel(animation: android.animation.Animator): void;
			public onAnimationEnd(param0: android.animation.Animator): 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 play(anim: android.animation.Animator): android.animation.AnimatorSet.Builder;
			public cancel(): void;
			public getInterpolator(): android.animation.TimeInterpolator;
			public setDuration(param0: number): android.animation.Animator;
			public pause(): void;
			public isRunning(): boolean;
			public setDuration(duration: number): android.animation.AnimatorSet;
			public resume(): void;
			public getTotalDuration(): number;
			public setTarget(target: any): void;
			public setStartDelay(startDelay: number): void;
			public start(): void;
			public getStartDelay(): number;
			public playSequentially(items: androidNative.Array<android.animation.Animator>): void;
			public clone(): android.animation.AnimatorSet;
			public getCurrentPlayTime(): number;
			public clone(): android.animation.Animator;
			public isStarted(): boolean;
			public constructor();
			public playSequentially(items: java.util.List<android.animation.Animator>): void;
			public playTogether(items: java.util.Collection<android.animation.Animator>): void;
			public clone(): any;
			public toString(): string;
			public playTogether(items: androidNative.Array<android.animation.Animator>): void;
			public setInterpolator(interpolator: android.animation.TimeInterpolator): void;
			public setCurrentPlayTime(playTime: number): void;
			public getChildAnimations(): java.util.ArrayList<android.animation.Animator>;
			public setupEndValues(): void;
		}
		export module AnimatorSet {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.animation.AnimatorSet.Builder>;
				public before(anim: android.animation.Animator): android.animation.AnimatorSet.Builder;
				public after(anim: android.animation.Animator): android.animation.AnimatorSet.Builder;
				public after(delay: number): android.animation.AnimatorSet.Builder;
				public with(anim: 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(fraction: number, startValue: any, endValue: 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(fromClass: java.lang.Class<any>, toClass: 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<androidNative.Array<number>> {
			public static class: java.lang.Class<android.animation.FloatArrayEvaluator>;
			public evaluate(fraction: number, startValue: androidNative.Array<number>, endValue: androidNative.Array<number>): androidNative.Array<number>;
			public constructor(reuseArray: androidNative.Array<number>);
			public constructor();
		}
	}
}

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 constructor();
			public evaluate(fraction: number, startValue: java.lang.Number, endValue: java.lang.Number): java.lang.Float;
		}
	}
}

declare module android {
	export module animation {
		export class IntArrayEvaluator extends android.animation.TypeEvaluator<androidNative.Array<number>> {
			public static class: java.lang.Class<android.animation.IntArrayEvaluator>;
			public evaluate(fraction: number, startValue: androidNative.Array<number>, endValue: androidNative.Array<number>): androidNative.Array<number>;
			public constructor(reuseArray: androidNative.Array<number>);
			public constructor();
		}
	}
}

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(fraction: number, startValue: java.lang.Integer, endValue: 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 getType(): java.lang.Class<any>;
			public getFraction(): number;
			public clone(): android.animation.Keyframe;
			public constructor();
			public getInterpolator(): android.animation.TimeInterpolator;
			public static ofInt(fraction: number): android.animation.Keyframe;
			public setValue(param0: any): void;
			public static ofFloat(fraction: number): android.animation.Keyframe;
			public clone(): any;
			public getValue(): any;
			public static ofInt(fraction: number, value: number): android.animation.Keyframe;
			public static ofObject(fraction: number): android.animation.Keyframe;
			public hasValue(): boolean;
			public setInterpolator(interpolator: android.animation.TimeInterpolator): void;
			public static ofFloat(fraction: number, value: number): android.animation.Keyframe;
			public static ofObject(fraction: number, value: any): android.animation.Keyframe;
			public setFraction(fraction: number): 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: 2;
			public static CHANGE_APPEARING: 0;
			public static CHANGE_DISAPPEARING: 1;
			public static CHANGING: 4;
			public static DISAPPEARING: 3;
			public getAnimator(transitionType: number): android.animation.Animator;
			public setDuration(transitionType: number, duration: number): void;
			public setAnimator(transitionType: number, animator: android.animation.Animator): void;
			public isRunning(): boolean;
			public getTransitionListeners(): java.util.List<android.animation.LayoutTransition.TransitionListener>;
			public setStartDelay(transitionType: number, delay: number): void;
			public addTransitionListener(listener: android.animation.LayoutTransition.TransitionListener): void;
			/** @deprecated */
			public showChild(parent: android.view.ViewGroup, child: android.view.View): void;
			public hideChild(parent: android.view.ViewGroup, child: android.view.View, newVisibility: number): void;
			public setInterpolator(transitionType: number, interpolator: android.animation.TimeInterpolator): void;
			public isTransitionTypeEnabled(transitionType: number): boolean;
			public removeChild(parent: android.view.ViewGroup, child: android.view.View): void;
			public enableTransitionType(transitionType: number): void;
			public getDuration(transitionType: number): number;
			public disableTransitionType(transitionType: number): void;
			public isChangingLayout(): boolean;
			/** @deprecated */
			public hideChild(parent: android.view.ViewGroup, child: android.view.View): void;
			public constructor();
			public setAnimateParentHierarchy(animateParentHierarchy: boolean): void;
			public addChild(parent: android.view.ViewGroup, child: android.view.View): void;
			public showChild(parent: android.view.ViewGroup, child: android.view.View, oldVisibility: number): void;
			public setStagger(transitionType: number, duration: number): void;
			public getStartDelay(transitionType: number): number;
			public removeTransitionListener(listener: android.animation.LayoutTransition.TransitionListener): void;
			public setDuration(duration: number): void;
			public getInterpolator(transitionType: number): android.animation.TimeInterpolator;
			public getStagger(transitionType: number): number;
		}
		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 ofInt(target: any, property: android.util.Property<any,any>, values: androidNative.Array<number>): android.animation.ObjectAnimator;
			public static ofObject(target: any, property: android.util.Property<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.ObjectAnimator;
			public setAutoCancel(cancel: boolean): void;
			public clone(): android.animation.ValueAnimator;
			public clone(): android.animation.ObjectAnimator;
			public static ofInt(values: androidNative.Array<number>): android.animation.ValueAnimator;
			public static ofMultiFloat(target: any, propertyName: string, converter: android.animation.TypeConverter<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.ObjectAnimator;
			public static ofObject(target: any, propertyName: string, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.ObjectAnimator;
			public getPropertyName(): string;
			public static ofMultiFloat(target: any, propertyName: string, values: androidNative.Array<androidNative.Array<number>>): android.animation.ObjectAnimator;
			public setDuration(param0: number): android.animation.Animator;
			public static ofArgb(values: androidNative.Array<number>): android.animation.ValueAnimator;
			public static ofMultiFloat(target: any, propertyName: string, path: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofMultiInt(target: any, propertyName: string, path: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofFloat(target: any, property: android.util.Property<any,any>, values: androidNative.Array<number>): android.animation.ObjectAnimator;
			public static ofObject(target: any, property: android.util.Property<any,any>, converter: android.animation.TypeConverter<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.ObjectAnimator;
			public static ofPropertyValuesHolder(target: any, values: androidNative.Array<android.animation.PropertyValuesHolder>): android.animation.ObjectAnimator;
			public static ofInt(target: any, xPropertyName: string, yPropertyName: string, path: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofInt(target: any, xProperty: android.util.Property<any,any>, yProperty: android.util.Property<any,any>, path: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofPropertyValuesHolder(values: androidNative.Array<android.animation.PropertyValuesHolder>): android.animation.ValueAnimator;
			public setDuration(duration: number): android.animation.ValueAnimator;
			public setTarget(target: any): void;
			public start(): void;
			public static ofObject(target: any, property: android.util.Property<any,any>, converter: android.animation.TypeConverter<any,any>, path: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofInt(target: any, propertyName: string, values: androidNative.Array<number>): android.animation.ObjectAnimator;
			public setFloatValues(values: androidNative.Array<number>): void;
			public setDuration(duration: number): android.animation.ObjectAnimator;
			public static ofObject(evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.ValueAnimator;
			public static ofArgb(target: any, propertyName: string, values: androidNative.Array<number>): android.animation.ObjectAnimator;
			public clone(): android.animation.Animator;
			public setProperty(property: android.util.Property<any,any>): void;
			public static ofFloat(target: any, propertyName: string, values: androidNative.Array<number>): android.animation.ObjectAnimator;
			public constructor();
			public static ofFloat(target: any, xPropertyName: string, yPropertyName: string, path: android.graphics.Path): android.animation.ObjectAnimator;
			public setPropertyName(propertyName: string): void;
			public static ofFloat(values: androidNative.Array<number>): android.animation.ValueAnimator;
			public setObjectValues(values: androidNative.Array<any>): void;
			public static ofArgb(target: any, property: android.util.Property<any,any>, values: androidNative.Array<number>): android.animation.ObjectAnimator;
			public static ofObject(target: any, propertyName: string, converter: android.animation.TypeConverter<android.graphics.PointF,any>, path: android.graphics.Path): android.animation.ObjectAnimator;
			public clone(): any;
			public toString(): string;
			public static ofFloat(target: any, xProperty: android.util.Property<any,any>, yProperty: android.util.Property<any,any>, path: android.graphics.Path): android.animation.ObjectAnimator;
			public setIntValues(values: androidNative.Array<number>): void;
			public getTarget(): any;
			public static ofMultiInt(target: any, propertyName: string, converter: android.animation.TypeConverter<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.ObjectAnimator;
			public static ofMultiInt(target: any, propertyName: string, values: androidNative.Array<androidNative.Array<number>>): android.animation.ObjectAnimator;
			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(fraction: number, startValue: android.graphics.PointF, endValue: android.graphics.PointF): android.graphics.PointF;
			public constructor(reuse: android.graphics.PointF);
			public constructor();
		}
	}
}

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 ofMultiFloat(propertyName: string, converter: android.animation.TypeConverter<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.PropertyValuesHolder;
			public clone(): android.animation.PropertyValuesHolder;
			public static ofObject(propertyName: string, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.PropertyValuesHolder;
			public getPropertyName(): string;
			public static ofMultiInt(propertyName: string, converter: android.animation.TypeConverter<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.PropertyValuesHolder;
			public static ofInt(propertyName: string, values: androidNative.Array<number>): android.animation.PropertyValuesHolder;
			public static ofMultiFloat(propertyName: string, values: androidNative.Array<androidNative.Array<number>>): android.animation.PropertyValuesHolder;
			public static ofMultiInt(propertyName: string, values: androidNative.Array<androidNative.Array<number>>): android.animation.PropertyValuesHolder;
			public static ofObject(property: android.util.Property<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.PropertyValuesHolder;
			public static ofInt(property: android.util.Property<any,java.lang.Integer>, values: androidNative.Array<number>): android.animation.PropertyValuesHolder;
			public static ofMultiInt(propertyName: string, path: android.graphics.Path): android.animation.PropertyValuesHolder;
			public setEvaluator(evaluator: android.animation.TypeEvaluator<any>): void;
			public static ofObject(property: android.util.Property<any,any>, converter: android.animation.TypeConverter<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.PropertyValuesHolder;
			public setFloatValues(values: androidNative.Array<number>): void;
			public static ofObject(propertyName: string, converter: android.animation.TypeConverter<android.graphics.PointF,any>, path: android.graphics.Path): android.animation.PropertyValuesHolder;
			public static ofFloat(property: android.util.Property<any,java.lang.Float>, values: androidNative.Array<number>): android.animation.PropertyValuesHolder;
			public setKeyframes(values: androidNative.Array<android.animation.Keyframe>): void;
			public setProperty(property: android.util.Property<any,any>): void;
			public static ofKeyframe(propertyName: string, values: androidNative.Array<android.animation.Keyframe>): android.animation.PropertyValuesHolder;
			public static ofMultiInt(propertyName: string, converter: android.animation.TypeConverter<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<android.animation.Keyframe>): android.animation.PropertyValuesHolder;
			public static ofMultiFloat(propertyName: string, path: android.graphics.Path): android.animation.PropertyValuesHolder;
			public setPropertyName(propertyName: string): void;
			public setObjectValues(values: androidNative.Array<any>): void;
			public static ofKeyframe(property: android.util.Property<any,any>, values: androidNative.Array<android.animation.Keyframe>): android.animation.PropertyValuesHolder;
			public static ofObject(property: android.util.Property<any,any>, converter: android.animation.TypeConverter<any,any>, path: android.graphics.Path): android.animation.PropertyValuesHolder;
			public setConverter(converter: android.animation.TypeConverter<any,any>): void;
			public clone(): any;
			public toString(): string;
			public static ofFloat(propertyName: string, values: androidNative.Array<number>): android.animation.PropertyValuesHolder;
			public setIntValues(values: androidNative.Array<number>): void;
			public static ofMultiFloat(propertyName: string, converter: android.animation.TypeConverter<any,any>, evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<android.animation.Keyframe>): 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(fraction: number, startValue: android.graphics.Rect, endValue: android.graphics.Rect): android.graphics.Rect;
			public constructor();
			public constructor(reuseRect: android.graphics.Rect);
		}
	}
}

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(specs: androidNative.Array<number>, animator: 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 setTimeListener(listener: android.animation.TimeAnimator.TimeListener): void;
			public setCurrentPlayTime(playTime: number): void;
			public constructor();
			public start(): 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(fromClass: java.lang.Class<T>, toClass: 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: -1;
			public static RESTART: 1;
			public static REVERSE: 2;
			public end(): void;
			public cancel(): void;
			public getValues(): androidNative.Array<android.animation.PropertyValuesHolder>;
			public getInterpolator(): android.animation.TimeInterpolator;
			public static ofArgb(values: androidNative.Array<number>): android.animation.ValueAnimator;
			public getRepeatMode(): number;
			public setRepeatCount(value: number): void;
			public isRunning(): boolean;
			public static ofPropertyValuesHolder(values: androidNative.Array<android.animation.PropertyValuesHolder>): android.animation.ValueAnimator;
			public getTotalDuration(): number;
			public setDuration(duration: number): android.animation.ValueAnimator;
			public setStartDelay(startDelay: number): void;
			public start(): void;
			public constructor();
			public static registerDurationScaleChangeListener(listener: android.animation.ValueAnimator.DurationScaleChangeListener): boolean;
			public static setFrameDelay(frameDelay: number): void;
			public static ofFloat(values: androidNative.Array<number>): android.animation.ValueAnimator;
			public setObjectValues(values: androidNative.Array<any>): void;
			public getAnimatedValue(): any;
			public clone(): any;
			public getAnimatedFraction(): number;
			public setCurrentFraction(fraction: number): void;
			public setCurrentPlayTime(playTime: number): void;
			public static getFrameDelay(): number;
			public removeUpdateListener(listener: android.animation.ValueAnimator.AnimatorUpdateListener): void;
			public clone(): android.animation.ValueAnimator;
			public reverse(): void;
			public getRepeatCount(): number;
			public static ofInt(values: androidNative.Array<number>): android.animation.ValueAnimator;
			public getDuration(): number;
			public setInterpolator(value: android.animation.TimeInterpolator): void;
			public setValues(values: androidNative.Array<android.animation.PropertyValuesHolder>): void;
			public setDuration(param0: number): android.animation.Animator;
			public pause(): void;
			public resume(): void;
			public static unregisterDurationScaleChangeListener(listener: android.animation.ValueAnimator.DurationScaleChangeListener): boolean;
			public setRepeatMode(value: number): void;
			public getStartDelay(): number;
			public static getDurationScale(): number;
			public setFloatValues(values: androidNative.Array<number>): void;
			public getAnimatedValue(propertyName: string): any;
			public static ofObject(evaluator: android.animation.TypeEvaluator<any>, values: androidNative.Array<any>): android.animation.ValueAnimator;
			public addUpdateListener(listener: android.animation.ValueAnimator.AnimatorUpdateListener): void;
			public getCurrentPlayTime(): number;
			public clone(): android.animation.Animator;
			public isStarted(): boolean;
			public removeAllUpdateListeners(): void;
			public toString(): string;
			public setIntValues(values: androidNative.Array<number>): void;
			public setEvaluator(value: android.animation.TypeEvaluator<any>): void;
			public static areAnimatorsEnabled(): boolean;
		}
		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;
			}
			export class DurationScaleChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.animation.ValueAnimator.DurationScaleChangeListener>;
				/**
				 * Constructs a new instance of the android.animation.ValueAnimator$DurationScaleChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onChanged(param0: number): void;
				});
				public constructor();
				public onChanged(param0: number): void;
			}
		}
	}
}

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

declare module android {
	export module annotation {
		export class NonNull extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<android.annotation.NonNull>;
			/**
			 * Constructs a new instance of the android.annotation.NonNull 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 annotation {
		export class Nullable extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<android.annotation.Nullable>;
			/**
			 * Constructs a new instance of the android.annotation.Nullable 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 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(): androidNative.Array<string>;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public value(): androidNative.Array<string>;
			public toString(): 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: 4;
			public static DISPLAY_SHOW_CUSTOM: 16;
			public static DISPLAY_SHOW_HOME: 2;
			public static DISPLAY_SHOW_TITLE: 8;
			public static DISPLAY_USE_LOGO: 1;
			public static NAVIGATION_MODE_LIST: 1;
			public static NAVIGATION_MODE_STANDARD: 0;
			public static NAVIGATION_MODE_TABS: 2;
			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 setStackedBackgroundDrawable(d: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getSelectedTab(): android.app.ActionBar.Tab;
			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 setDisplayHomeAsUpEnabled(param0: boolean): void;
			public hide(): void;
			public setHomeActionContentDescription(resId: number): void;
			public setSplitBackgroundDrawable(d: android.graphics.drawable.Drawable): 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 setHomeAsUpIndicator(resId: number): void;
			public constructor();
			public setHomeButtonEnabled(enabled: boolean): void;
			/** @deprecated */
			public setNavigationMode(param0: number): void;
			public setHideOnContentScrollEnabled(hideOnContentScroll: boolean): 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;
			public setHideOffset(offset: number): void;
			/** @deprecated */
			public removeTab(param0: android.app.ActionBar.Tab): void;
			public setElevation(elevation: number): 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 setHomeActionContentDescription(description: string): void;
			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 setTitle(param0: number): void;
			public setDisplayShowHomeEnabled(param0: boolean): void;
			/** @deprecated */
			public setSelectedNavigationItem(param0: number): void;
			/** @deprecated */
			public removeAllTabs(): void;
			public getHideOffset(): number;
			public setHomeAsUpIndicator(indicator: android.graphics.drawable.Drawable): void;
			public setSubtitle(param0: string): void;
			public isHideOnContentScrollEnabled(): boolean;
			/** @deprecated */
			public newTab(): android.app.ActionBar.Tab;
			public setIcon(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(source: android.app.ActionBar.LayoutParams);
				public constructor(gravity: number);
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				public constructor(width: number, height: number, gravity: number);
			}
			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();
				/** @deprecated */
				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: -1;
				/** @deprecated */
				public setContentDescription(param0: number): android.app.ActionBar.Tab;
				/** @deprecated */
				public getContentDescription(): string;
				/** @deprecated */
				public getText(): string;
				/** @deprecated */
				public setCustomView(param0: android.view.View): android.app.ActionBar.Tab;
				/** @deprecated */
				public setCustomView(param0: number): android.app.ActionBar.Tab;
				/** @deprecated */
				public getPosition(): number;
				/** @deprecated */
				public setIcon(param0: number): android.app.ActionBar.Tab;
				/** @deprecated */
				public setIcon(param0: android.graphics.drawable.Drawable): android.app.ActionBar.Tab;
				/** @deprecated */
				public setContentDescription(param0: string): android.app.ActionBar.Tab;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public getIcon(): android.graphics.drawable.Drawable;
				/** @deprecated */
				public setTabListener(param0: android.app.ActionBar.TabListener): android.app.ActionBar.Tab;
				/** @deprecated */
				public setText(param0: string): android.app.ActionBar.Tab;
				/** @deprecated */
				public setText(param0: number): android.app.ActionBar.Tab;
				/** @deprecated */
				public getTag(): any;
				/** @deprecated */
				public getCustomView(): android.view.View;
				/** @deprecated */
				public select(): void;
				/** @deprecated */
				public setTag(param0: any): 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();
				/** @deprecated */
				public onTabSelected(param0: android.app.ActionBar.Tab, param1: android.app.FragmentTransaction): void;
				/** @deprecated */
				public onTabReselected(param0: android.app.ActionBar.Tab, param1: android.app.FragmentTransaction): void;
				/** @deprecated */
				public onTabUnselected(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: 1;
			public static DEFAULT_KEYS_DISABLE: 0;
			public static DEFAULT_KEYS_SEARCH_GLOBAL: 4;
			public static DEFAULT_KEYS_SEARCH_LOCAL: 3;
			public static DEFAULT_KEYS_SHORTCUT: 2;
			public static FOCUSED_STATE_SET: androidNative.Array<number>;
			public static FULLSCREEN_MODE_REQUEST_ENTER: 1;
			public static FULLSCREEN_MODE_REQUEST_EXIT: 0;
			public static OVERRIDE_TRANSITION_CLOSE: 1;
			public static OVERRIDE_TRANSITION_OPEN: 0;
			public static RESULT_CANCELED: 0;
			public static RESULT_FIRST_USER: 1;
			public static RESULT_OK: -1;
			public finish(): void;
			public onPictureInPictureModeChanged(isInPictureInPictureMode: boolean, newConfig: android.content.res.Configuration): void;
			public startSearch(initialQuery: string, selectInitialQuery: boolean, appSearchData: android.os.Bundle, globalSearch: boolean): void;
			public isTaskRoot(): boolean;
			public getLayoutInflater(): android.view.LayoutInflater;
			public getApplication(): android.app.Application;
			public setAllowCrossUidActivitySwitchFromBelow(allowed: boolean): void;
			public moveTaskToBack(nonRoot: boolean): boolean;
			public requestWindowFeature(featureId: number): boolean;
			public getCallingPackage(): string;
			public isChangingConfigurations(): boolean;
			public onProvideAssistContent(outContent: android.app.assist.AssistContent): void;
			public createPendingResult(requestCode: number, data: android.content.Intent, flags: number): android.app.PendingIntent;
			/** @deprecated */
			public setProgressBarIndeterminateVisibility(visible: boolean): void;
			public onKeyShortcut(keyCode: number, event: android.view.KeyEvent): boolean;
			public setFeatureDrawableAlpha(featureId: number, alpha: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public onPrepareNavigateUpTaskStack(builder: android.app.TaskStackBuilder): void;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public startActivities(intents: androidNative.Array<android.content.Intent>, options: android.os.Bundle): void;
			/** @deprecated */
			public finishActivityFromChild(child: android.app.Activity, requestCode: number): void;
			public setInheritShowWhenLocked(inheritShowWhenLocked: boolean): void;
			public onApplyThemeResource(theme: android.content.res.Resources.Theme, resid: number, first: boolean): void;
			public getInitialCaller(): android.app.ComponentCaller;
			public getMaxNumPictureInPictureActions(): number;
			public onPostResume(): void;
			public isInPictureInPictureMode(): boolean;
			public onPostCreate(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onCreateDialog(id: number): android.app.Dialog;
			public finishAffinity(): void;
			public onTrimMemory(level: number): void;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public getLocalClassName(): string;
			/** @deprecated */
			public onCreateDialog(id: number, args: android.os.Bundle): android.app.Dialog;
			public setFeatureDrawableResource(featureId: number, resId: number): void;
			public enterPictureInPictureMode(params: android.app.PictureInPictureParams): boolean;
			public unregisterScreenCaptureCallback(callback: android.app.Activity.ScreenCaptureCallback): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public isDestroyed(): boolean;
			/** @deprecated */
			public finishFromChild(child: android.app.Activity): void;
			/** @deprecated */
			public setProgressBarVisibility(visible: boolean): void;
			public onActionModeFinished(mode: android.view.ActionMode): void;
			public onCreatePanelView(featureId: number): android.view.View;
			public isActivityTransitionRunning(): boolean;
			public startLocalVoiceInteraction(privateOptions: android.os.Bundle): void;
			public onDestroy(): void;
			public reportFullyDrawn(): void;
			public getLastNonConfigurationInstance(): any;
			public shouldShowRequestPermissionRationale(permission: string, deviceId: number): boolean;
			public getParentActivityIntent(): android.content.Intent;
			/** @deprecated */
			public getLoaderManager(): android.app.LoaderManager;
			public onLowMemory(): void;
			public getActionBar(): android.app.ActionBar;
			public openOptionsMenu(): void;
			public startActivityForResult(intent: android.content.Intent, requestCode: number): void;
			public registerActivityLifecycleCallbacks(callback: android.app.Application.ActivityLifecycleCallbacks): void;
			public setContentView(view: android.view.View): void;
			public startActivityIfNeeded(intent: android.content.Intent, requestCode: number): boolean;
			public onTrimMemory(param0: number): void;
			public setPictureInPictureParams(params: android.app.PictureInPictureParams): void;
			public overrideActivityTransition(overrideType: number, enterAnim: number, exitAnim: number, backgroundColor: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public showLockTaskEscapeMessage(): void;
			public onWindowFocusChanged(hasFocus: boolean): void;
			public onCreateOptionsMenu(menu: android.view.Menu): boolean;
			/** @deprecated */
			public showDialog(id: number, args: android.os.Bundle): boolean;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback): android.view.ActionMode;
			public onOptionsMenuClosed(menu: android.view.Menu): void;
			public setRequestedOrientation(requestedOrientation: number): void;
			public onPostCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public setTitle(titleId: number): void;
			public onCreateView(parent: android.view.View, name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			public setTranslucent(translucent: boolean): boolean;
			public setEnterSharedElementCallback(callback: any): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public getMediaController(): any;
			/** @deprecated */
			public onCreateThumbnail(outBitmap: android.graphics.Bitmap, canvas: android.graphics.Canvas): boolean;
			public getReferrer(): android.net.Uri;
			public isFinishing(): boolean;
			public getVoiceInteractor(): android.app.VoiceInteractor;
			public requestDragAndDropPermissions(event: android.view.DragEvent): android.view.DragAndDropPermissions;
			public onWindowAttributesChanged(params: android.view.WindowManager.LayoutParams): void;
			/** @deprecated */
			public startIntentSenderFromChild(child: android.app.Activity, intent: android.content.IntentSender, requestCode: number, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number, options: android.os.Bundle): void;
			/** @deprecated */
			public overridePendingTransition(enterAnim: number, exitAnim: number, backgroundColor: number): void;
			public startIntentSender(intent: android.content.IntentSender, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number, options: android.os.Bundle): void;
			/** @deprecated */
			public setTitleColor(textColor: number): void;
			public onPreparePanel(featureId: number, view: android.view.View, menu: android.view.Menu): boolean;
			public getCallingActivity(): android.content.ComponentName;
			public onMenuItemSelected(featureId: number, item: android.view.MenuItem): boolean;
			public startActivities(intents: androidNative.Array<android.content.Intent>): void;
			public onSearchRequested(): boolean;
			public setDefaultKeyMode(mode: number): void;
			public startIntentSender(intent: android.content.IntentSender, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number): void;
			public triggerSearch(query: string, appSearchData: android.os.Bundle): void;
			public onCreatePanelView(param0: number): android.view.View;
			public startActivity(intent: android.content.Intent): void;
			public getPreferences(mode: number): android.content.SharedPreferences;
			public getTitle(): string;
			public dispatchKeyShortcutEvent(event: android.view.KeyEvent): boolean;
			public onTopResumedActivityChanged(isTopResumedActivity: boolean): void;
			public getSearchEvent(): any;
			public getVolumeControlStream(): number;
			public onNewIntent(intent: android.content.Intent): void;
			public setTitle(title: string): void;
			public onGetDirectActions(cancellationSignal: android.os.CancellationSignal, callback: any /* any*/): void;
			public startActivityForResult(intent: android.content.Intent, requestCode: number, options: android.os.Bundle): void;
			public dump(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			public getCurrentFocus(): android.view.View;
			/** @deprecated */
			public startActivityFromFragment(fragment: android.app.Fragment, intent: android.content.Intent, requestCode: number, options: android.os.Bundle): void;
			/** @deprecated */
			public setSecondaryProgress(secondaryProgress: number): void;
			/** @deprecated */
			public dismissDialog(id: number): void;
			public onWindowFocusChanged(param0: boolean): void;
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onPanelClosed(featureId: number, menu: android.view.Menu): void;
			public setMediaController(controller: any): void;
			/** @deprecated */
			public onAttachFragment(fragment: android.app.Fragment): void;
			public onPictureInPictureUiStateChanged(pipState: android.app.PictureInPictureUiState): void;
			public onUserInteraction(): void;
			public getIntent(): android.content.Intent;
			public postponeEnterTransition(): void;
			public closeContextMenu(): void;
			public getSystemService(name: string): any;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public dispatchTrackballEvent(ev: android.view.MotionEvent): boolean;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			/** @deprecated */
			public startManagingCursor(c: android.database.Cursor): void;
			public attachBaseContext(newBase: android.content.Context): void;
			public finishAndRemoveTask(): void;
			public getWindowManager(): android.view.WindowManager;
			public onCreateNavigateUpTaskStack(builder: android.app.TaskStackBuilder): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public onNewIntent(intent: android.content.Intent, caller: android.app.ComponentCaller): void;
			public onPause(): void;
			public setResult(resultCode: number): void;
			public onTrackballEvent(event: android.view.MotionEvent): boolean;
			public onStop(): void;
			/** @deprecated */
			public enterPictureInPictureMode(): void;
			public setTheme(resid: number): void;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			/** @deprecated */
			public onLowMemory(): void;
			public setShowWhenLocked(showWhenLocked: boolean): void;
			public onRequestPermissionsResult(requestCode: number, permissions: androidNative.Array<string>, grantResults: androidNative.Array<number>): void;
			public setTheme(theme: android.content.res.Resources.Theme): void;
			public shouldShowRequestPermissionRationale(permission: string): boolean;
			public overrideActivityTransition(overrideType: number, enterAnim: number, exitAnim: number): void;
			public runOnUiThread(action: java.lang.Runnable): void;
			public finishAfterTransition(): void;
			/** @deprecated */
			public showDialog(id: number): void;
			public setContentView(layoutResID: number): void;
			public setIntent(newIntent: android.content.Intent, newCaller: android.app.ComponentCaller): void;
			public setRecentsScreenshotEnabled(enabled: boolean): void;
			public onContextItemSelected(item: android.view.MenuItem): boolean;
			/** @deprecated */
			public onPrepareDialog(id: number, dialog: android.app.Dialog): void;
			public setFinishOnTouchOutside(finish: boolean): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public onLocalVoiceInteractionStarted(): void;
			public shouldUpRecreateTask(targetIntent: android.content.Intent): boolean;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent, caller: android.app.ComponentCaller): void;
			public setTurnScreenOn(turnScreenOn: boolean): void;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onActivityReenter(resultCode: number, data: android.content.Intent): void;
			public requestShowKeyboardShortcuts(): void;
			public releaseInstance(): boolean;
			/** @deprecated */
			public managedQuery(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string): android.database.Cursor;
			public startLockTask(): void;
			public isLocalVoiceInteractionSupported(): boolean;
			public getSystemService(serviceClass: java.lang.Class<any>): any;
			public onStart(): void;
			public onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			public onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void;
			public registerScreenCaptureCallback(executor: java.util.concurrent.Executor, callback: android.app.Activity.ScreenCaptureCallback): void;
			public shouldDockBigOverlays(): boolean;
			public dispatchPopulateAccessibilityEvent(event: android.view.accessibility.AccessibilityEvent): boolean;
			public getComponentName(): android.content.ComponentName;
			public requestPermissions(permissions: androidNative.Array<string>, requestCode: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public requestVisibleBehind(visible: boolean): boolean;
			public startActionMode(callback: android.view.ActionMode.Callback): android.view.ActionMode;
			/** @deprecated */
			public stopManagingCursor(c: android.database.Cursor): void;
			public startPostponedEnterTransition(): void;
			public setVrModeEnabled(enabled: boolean, requestedComponent: android.content.ComponentName): void;
			public onDetachedFromWindow(): void;
			/** @deprecated */
			public onBackPressed(): void;
			public getLaunchedFromUid(): number;
			/** @deprecated */
			public onVisibleBehindCanceled(): void;
			public setResult(resultCode: number, data: android.content.Intent): void;
			public constructor();
			/** @deprecated */
			public onMultiWindowModeChanged(isInMultiWindowMode: boolean): void;
			public setContentView(view: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public setVisible(visible: boolean): void;
			public onMultiWindowModeChanged(isInMultiWindowMode: boolean, newConfig: android.content.res.Configuration): void;
			public onNavigateUp(): boolean;
			public closeOptionsMenu(): void;
			/** @deprecated */
			public startActivityFromFragment(fragment: android.app.Fragment, intent: android.content.Intent, requestCode: number): void;
			public navigateUpTo(upIntent: android.content.Intent): boolean;
			public setVolumeControlStream(streamType: number): void;
			public getRequestedOrientation(): number;
			public onSearchRequested(searchEvent: any): boolean;
			/** @deprecated */
			public startActivityFromChild(child: android.app.Activity, intent: android.content.Intent, requestCode: number): void;
			/** @deprecated */
			public navigateUpToFromChild(child: android.app.Activity, upIntent: android.content.Intent): boolean;
			public onCreate(savedInstanceState: android.os.Bundle): void;
			public onPrepareOptionsMenu(menu: android.view.Menu): boolean;
			/** @deprecated */
			public removeDialog(id: number): void;
			public onRetainNonConfigurationInstance(): any;
			public requireViewById(id: number): android.view.View;
			public unregisterComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public setFeatureDrawable(featureId: number, drawable: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public onPrepareDialog(id: number, dialog: android.app.Dialog, args: android.os.Bundle): void;
			public getMenuInflater(): android.view.MenuInflater;
			/** @deprecated */
			public startActivityFromChild(child: android.app.Activity, intent: android.content.Intent, requestCode: number, options: android.os.Bundle): void;
			public registerForContextMenu(view: android.view.View): void;
			public onContextMenuClosed(menu: android.view.Menu): void;
			public unregisterForContextMenu(view: android.view.View): void;
			/** @deprecated */
			public startIntentSenderFromChild(child: android.app.Activity, intent: android.content.IntentSender, requestCode: number, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number): void;
			public startActivity(intent: android.content.Intent, options: android.os.Bundle): void;
			public dispatchGenericMotionEvent(ev: android.view.MotionEvent): boolean;
			public startNextMatchingActivity(intent: android.content.Intent, options: android.os.Bundle): boolean;
			public onRestart(): void;
			public getTaskId(): number;
			public setActionBar(toolbar: android.widget.Toolbar): void;
			public onCreateDescription(): string;
			public setTaskDescription(taskDescription: android.app.ActivityManager.TaskDescription): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public registerComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public getSplashScreen(): android.window.SplashScreen;
			public onProvideAssistData(data: android.os.Bundle): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onProvideReferrer(): android.net.Uri;
			public getChangingConfigurations(): number;
			public startActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(param0: any): boolean;
			public onKeyMultiple(keyCode: number, repeatCount: number, event: android.view.KeyEvent): boolean;
			public setContentTransitionManager(tm: android.transition.TransitionManager): void;
			public onLocalVoiceInteractionStopped(): void;
			public requestPermissions(permissions: androidNative.Array<string>, requestCode: number, deviceId: number): void;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public onEnterAnimationComplete(): void;
			public setExitSharedElementCallback(callback: any): void;
			public startIntentSenderForResult(intent: android.content.IntentSender, requestCode: number, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number, options: android.os.Bundle): void;
			/** @deprecated */
			public setProgressBarIndeterminate(indeterminate: boolean): void;
			public setImmersive(i: boolean): void;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle): void;
			public setLocusContext(locusId: android.content.LocusId, bundle: android.os.Bundle): void;
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public takeKeyEvents(get: boolean): void;
			public dismissKeyboardShortcutsHelper(): void;
			public onPerformDirectAction(actionId: string, arguments_: android.os.Bundle, cancellationSignal: android.os.CancellationSignal, resultListener: any /* any*/): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public onActionModeStarted(mode: android.view.ActionMode): void;
			public findViewById(id: number): android.view.View;
			public onMenuOpened(featureId: number, menu: android.view.Menu): boolean;
			/** @deprecated */
			public setProgress(progress: number): void;
			/** @deprecated */
			public onNavigateUpFromChild(child: android.app.Activity): boolean;
			public setShouldDockBigOverlays(shouldDockBigOverlays: boolean): void;
			public getTitleColor(): number;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public getOnBackInvokedDispatcher(): android.window.OnBackInvokedDispatcher;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public overridePendingTransition(enterAnim: number, exitAnim: number): void;
			/** @deprecated */
			public onStateNotSaved(): void;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public isImmersive(): boolean;
			public onKeyLongPress(keyCode: number, event: android.view.KeyEvent): boolean;
			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 onResume(): void;
			public onPictureInPictureRequested(): boolean;
			/** @deprecated */
			public onPictureInPictureModeChanged(isInPictureInPictureMode: boolean): void;
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public isVoiceInteraction(): boolean;
			public requestFullscreenMode(request: number, approvalCallback: android.os.OutcomeReceiver<java.lang.Void,java.lang.Throwable>): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public hasWindowFocus(): boolean;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public getLaunchedFromPackage(): string;
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			public clearOverrideActivityTransition(overrideType: number): void;
			public isInMultiWindowMode(): boolean;
			public showAssist(args: android.os.Bundle): boolean;
			public onContentChanged(): void;
			public invalidateOptionsMenu(): void;
			public onTitleChanged(title: string, color: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public getParent(): android.app.Activity;
			public onRequestPermissionsResult(requestCode: number, permissions: androidNative.Array<string>, grantResults: androidNative.Array<number>, deviceId: number): void;
			/** @deprecated */
			public getFragmentManager(): android.app.FragmentManager;
			public onSaveInstanceState(outState: android.os.Bundle): void;
			public startIntentSenderForResult(intent: android.content.IntentSender, requestCode: number, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number): void;
			public unregisterActivityLifecycleCallbacks(callback: android.app.Application.ActivityLifecycleCallbacks): void;
			public isLaunchedFromBubble(): boolean;
			public getCaller(): android.app.ComponentCaller;
			public getContentScene(): android.transition.Scene;
			public startNextMatchingActivity(intent: android.content.Intent): boolean;
			public setIntent(newIntent: android.content.Intent): void;
			public onCreateContextMenu(menu: android.view.ContextMenu, v: android.view.View, menuInfo: android.view.ContextMenu.ContextMenuInfo): void;
			public onCreatePanelMenu(featureId: number, menu: android.view.Menu): boolean;
			public onChildTitleChanged(childActivity: android.app.Activity, title: string): void;
			public onSaveInstanceState(outState: android.os.Bundle, outPersistentState: any): void;
			public recreate(): void;
			public getCurrentCaller(): android.app.ComponentCaller;
			public onOptionsItemSelected(item: android.view.MenuItem): boolean;
			public setFeatureDrawableUri(featureId: number, uri: android.net.Uri): void;
			public openContextMenu(view: android.view.View): void;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public getContentTransitionManager(): android.transition.TransitionManager;
			/** @deprecated */
			public isChild(): boolean;
			public finishActivity(requestCode: number): void;
			public dispatchTouchEvent(ev: android.view.MotionEvent): boolean;
			public onUserLeaveHint(): void;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public stopLockTask(): void;
			public onAttachedToWindow(): void;
			public constructor(base: android.content.Context);
			public addContentView(view: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public startActivityIfNeeded(intent: android.content.Intent, requestCode: number, options: android.os.Bundle): boolean;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
		export module Activity {
			export class ScreenCaptureCallback extends java.lang.Object {
				public static class: java.lang.Class<android.app.Activity.ScreenCaptureCallback>;
				/**
				 * Constructs a new instance of the android.app.Activity$ScreenCaptureCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onScreenCaptured(): void;
				});
				public constructor();
				public onScreenCaptured(): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class ActivityGroup extends android.app.Activity {
			public static class: java.lang.Class<android.app.ActivityGroup>;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			/** @deprecated */
			public onPause(): void;
			/** @deprecated */
			public onStop(): void;
			public onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			/** @deprecated */
			public onDestroy(): void;
			/** @deprecated */
			public constructor(singleActivityMode: boolean);
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public constructor();
			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 onCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			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 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 onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			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;
			/** @deprecated */
			public onSaveInstanceState(outState: android.os.Bundle): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			/** @deprecated */
			public getCurrentActivity(): android.app.Activity;
			public onTrimMemory(param0: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onSaveInstanceState(outState: android.os.Bundle, outPersistentState: any): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			/** @deprecated */
			public onCreate(savedInstanceState: android.os.Bundle): void;
			public onSearchRequested(param0: any): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			/** @deprecated */
			public getLocalActivityManager(): android.app.LocalActivityManager;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public constructor(base: android.content.Context);
			/** @deprecated */
			public onResume(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): 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: "android.app.action.REPORT_HEAP_LIMIT";
			public static LOCK_TASK_MODE_LOCKED: 1;
			public static LOCK_TASK_MODE_NONE: 0;
			public static LOCK_TASK_MODE_PINNED: 2;
			public static META_HOME_ALTERNATE: "android.app.home.alternate";
			public static MOVE_TASK_NO_USER_ACTION: 2;
			public static MOVE_TASK_WITH_HOME: 1;
			public static RECENT_IGNORE_UNAVAILABLE: 2;
			public static RECENT_WITH_EXCLUDED: 1;
			public addAppTask(activity: android.app.Activity, intent: android.content.Intent, description: android.app.ActivityManager.TaskDescription, thumbnail: android.graphics.Bitmap): number;
			public clearApplicationUserData(): boolean;
			public removeApplicationStartInfoCompletionListener(listener: any /* any*/): void;
			/** @deprecated */
			public restartPackage(packageName: string): void;
			public getMemoryClass(): number;
			public getProcessMemoryInfo(pids: androidNative.Array<number>): androidNative.Array<android.os.Debug.MemoryInfo>;
			public moveTaskToFront(taskId: number, flags: number, options: android.os.Bundle): void;
			/** @deprecated */
			public getRecentTasks(maxNum: number, flags: number): java.util.List<android.app.ActivityManager.RecentTaskInfo>;
			public getRunningServiceControlPanel(service: android.content.ComponentName): android.app.PendingIntent;
			public moveTaskToFront(taskId: number, flags: number): void;
			public getHistoricalProcessStartReasons(maxNum: number): java.util.List<android.app.ApplicationStartInfo>;
			public setProcessStateSummary(state: androidNative.Array<number>): void;
			public dumpPackageState(fd: java.io.FileDescriptor, packageName: string): void;
			public setWatchHeapLimit(pssSize: number): void;
			/** @deprecated */
			public getRunningServices(maxNum: number): java.util.List<android.app.ActivityManager.RunningServiceInfo>;
			public getAppTaskThumbnailSize(): any;
			/** @deprecated */
			public getRunningTasks(maxNum: number): java.util.List<android.app.ActivityManager.RunningTaskInfo>;
			public isBackgroundRestricted(): boolean;
			public clearWatchHeapLimit(): void;
			public killBackgroundProcesses(packageName: string): void;
			public getAppTasks(): java.util.List<android.app.ActivityManager.AppTask>;
			public getLargeMemoryClass(): number;
			public getRunningAppProcesses(): java.util.List<android.app.ActivityManager.RunningAppProcessInfo>;
			public addApplicationStartInfoCompletionListener(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public getLauncherLargeIconDensity(): number;
			/** @deprecated */
			public isInLockTaskMode(): boolean;
			public addStartInfoTimestamp(key: number, timestampNs: number): void;
			public static isRunningInUserTestHarness(): boolean;
			public static setVrThread(tid: number): void;
			public appNotResponding(reason: string): void;
			public static isLowMemoryKillReportSupported(): boolean;
			public getProcessesInErrorState(): java.util.List<android.app.ActivityManager.ProcessErrorStateInfo>;
			public static isUserAMonkey(): boolean;
			public getMemoryInfo(outInfo: android.app.ActivityManager.MemoryInfo): void;
			public getLockTaskModeState(): number;
			public isActivityStartAllowedOnDisplay(context: android.content.Context, displayId: number, intent: android.content.Intent): boolean;
			/** @deprecated */
			public static isRunningInTestHarness(): boolean;
			public isLowRamDevice(): boolean;
			public static getMyMemoryState(outState: android.app.ActivityManager.RunningAppProcessInfo): void;
			public getLauncherLargeIconSize(): number;
			public getDeviceConfigurationInfo(): android.content.pm.ConfigurationInfo;
			public getHistoricalProcessExitReasons(packageName: string, pid: number, maxNum: number): java.util.List<android.app.ApplicationExitInfo>;
		}
		export module ActivityManager {
			export class AppTask extends java.lang.Object {
				public static class: java.lang.Class<android.app.ActivityManager.AppTask>;
				public startActivity(context: android.content.Context, intent: android.content.Intent, options: android.os.Bundle): void;
				public finishAndRemoveTask(): void;
				public moveToFront(): void;
				public getTaskInfo(): android.app.ActivityManager.RecentTaskInfo;
				public setExcludeFromRecents(exclude: boolean): 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 advertisedMem: number;
				public availMem: number;
				public lowMemory: boolean;
				public threshold: number;
				public totalMem: number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public readFromParcel(source: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				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: 1;
				public static CREATOR: android.os.Parcelable.Creator<android.app.ActivityManager.ProcessErrorStateInfo>;
				public static NOT_RESPONDING: 2;
				public static NO_ERROR: 0;
				public condition: number;
				public crashData: androidNative.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(dest: android.os.Parcel, flags: number): void;
				public readFromParcel(source: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor();
			}
			export class RecentTaskInfo extends android.app.TaskInfo 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 description: string;
				public id: number;
				public persistentId: number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public readFromParcel(source: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				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: 400;
				public static IMPORTANCE_CACHED: 400;
				public static IMPORTANCE_CANT_SAVE_STATE: 350;
				public static IMPORTANCE_EMPTY: 500;
				public static IMPORTANCE_FOREGROUND: 100;
				public static IMPORTANCE_FOREGROUND_SERVICE: 125;
				public static IMPORTANCE_GONE: 1000;
				public static IMPORTANCE_PERCEPTIBLE: 230;
				public static IMPORTANCE_PERCEPTIBLE_PRE_26: 130;
				public static IMPORTANCE_SERVICE: 300;
				public static IMPORTANCE_TOP_SLEEPING: 325;
				public static IMPORTANCE_TOP_SLEEPING_PRE_28: 150;
				public static IMPORTANCE_VISIBLE: 200;
				public static REASON_PROVIDER_IN_USE: 1;
				public static REASON_SERVICE_IN_USE: 2;
				public static REASON_UNKNOWN: 0;
				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: androidNative.Array<string>;
				public processName: string;
				public uid: number;
				public constructor(pProcessName: string, pPid: number, pArr: androidNative.Array<string>);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public readFromParcel(source: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				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: 2;
				public static FLAG_PERSISTENT_PROCESS: 8;
				public static FLAG_STARTED: 1;
				public static FLAG_SYSTEM_PROCESS: 4;
				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(dest: android.os.Parcel, flags: number): void;
				public readFromParcel(source: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor();
			}
			export class RunningTaskInfo extends android.app.TaskInfo 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 description: string;
				public id: number;
				public numRunning: number;
				public thumbnail: android.graphics.Bitmap;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public readFromParcel(source: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				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>;
				/** @deprecated */
				public constructor(label: string, iconRes: number, colorPrimary: number);
				/** @deprecated */
				public constructor(label: string, icon: android.graphics.Bitmap);
				/** @deprecated */
				public getIcon(): android.graphics.Bitmap;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getStatusBarColor(): number;
				public getLabel(): string;
				public readFromParcel(source: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public constructor(label: string, icon: android.graphics.Bitmap, colorPrimary: number);
				public getPrimaryColor(): number;
				public toString(): string;
				public getBackgroundColor(): number;
				public getNavigationBarColor(): number;
				/** @deprecated */
				public constructor();
				public equals(obj: any): boolean;
				public hashCode(): number;
				public describeContents(): number;
				/** @deprecated */
				public constructor(label: string);
				/** @deprecated */
				public constructor(label: string, iconRes: number);
				public constructor(td: android.app.ActivityManager.TaskDescription);
			}
			export module TaskDescription {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.ActivityManager.TaskDescription.Builder>;
					public setLabel(label: string): android.app.ActivityManager.TaskDescription.Builder;
					public setNavigationBarColor(color: number): android.app.ActivityManager.TaskDescription.Builder;
					public setIcon(iconRes: number): android.app.ActivityManager.TaskDescription.Builder;
					public constructor();
					public setStatusBarColor(color: number): android.app.ActivityManager.TaskDescription.Builder;
					public setBackgroundColor(color: number): android.app.ActivityManager.TaskDescription.Builder;
					public setPrimaryColor(color: number): android.app.ActivityManager.TaskDescription.Builder;
					public build(): android.app.ActivityManager.TaskDescription;
				}
			}
		}
	}
}

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: "android.activity.usage_time";
			public static EXTRA_USAGE_TIME_REPORT_PACKAGES: "android.usage_time_packages";
			public static MODE_BACKGROUND_ACTIVITY_START_ALLOWED: 1;
			public static MODE_BACKGROUND_ACTIVITY_START_DENIED: 2;
			public static MODE_BACKGROUND_ACTIVITY_START_SYSTEM_DEFINED: 0;
			public update(otherOptions: android.app.ActivityOptions): void;
			public requestUsageTimeReport(receiver: android.app.PendingIntent): void;
			public setAppVerificationBundle(bundle: android.os.Bundle): android.app.ActivityOptions;
			public static makeCustomAnimation(context: android.content.Context, enterResId: number, exitResId: number): android.app.ActivityOptions;
			public static makeSceneTransitionAnimation(activity: android.app.Activity, sharedElement: android.view.View, sharedElementName: string): android.app.ActivityOptions;
			public setLockTaskEnabled(lockTaskMode: boolean): android.app.ActivityOptions;
			public setPendingIntentBackgroundActivityStartMode(state: number): android.app.ActivityOptions;
			/** @deprecated */
			public setPendingIntentBackgroundActivityLaunchAllowed(allowed: boolean): void;
			public getPendingIntentBackgroundActivityStartMode(): number;
			public static makeBasic(): android.app.ActivityOptions;
			public setSplashScreenStyle(style: number): android.app.ActivityOptions;
			/** @deprecated */
			public isPendingIntentBackgroundActivityLaunchAllowed(): boolean;
			public setPendingIntentCreatorBackgroundActivityStartMode(mode: number): android.app.ActivityOptions;
			public static makeScaleUpAnimation(source: android.view.View, startX: number, startY: number, width: number, height: number): android.app.ActivityOptions;
			public getPendingIntentCreatorBackgroundActivityStartMode(): number;
			public getSplashScreenStyle(): number;
			public static makeSceneTransitionAnimation(activity: android.app.Activity, sharedElements: androidNative.Array<android.util.Pair<android.view.View,string>>): android.app.ActivityOptions;
			public getLaunchDisplayId(): number;
			public static makeCustomAnimation(context: android.content.Context, enterResId: number, exitResId: number, backgroundColor: number): android.app.ActivityOptions;
			public setLaunchDisplayId(launchDisplayId: number): android.app.ActivityOptions;
			public isShareIdentityEnabled(): boolean;
			public static makeTaskLaunchBehind(): android.app.ActivityOptions;
			public setLaunchBounds(screenSpacePixelRect: android.graphics.Rect): android.app.ActivityOptions;
			public toString(): string;
			public getLaunchBounds(): android.graphics.Rect;
			public static makeClipRevealAnimation(source: android.view.View, startX: number, startY: number, width: number, height: number): android.app.ActivityOptions;
			public getLockTaskMode(): boolean;
			public toBundle(): android.os.Bundle;
			public static makeThumbnailScaleUpAnimation(source: android.view.View, thumbnail: android.graphics.Bitmap, startX: number, startY: number): android.app.ActivityOptions;
			public setShareIdentityEnabled(shareIdentity: boolean): android.app.ActivityOptions;
			public static makeLaunchIntoPip(pictureInPictureParams: android.app.PictureInPictureParams): 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: "android.app.action.NEXT_ALARM_CLOCK_CHANGED";
			public static ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED: "android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED";
			public static ELAPSED_REALTIME: 3;
			public static ELAPSED_REALTIME_WAKEUP: 2;
			public static INTERVAL_DAY: 86400000;
			public static INTERVAL_FIFTEEN_MINUTES: 900000;
			public static INTERVAL_HALF_DAY: 43200000;
			public static INTERVAL_HALF_HOUR: 1800000;
			public static INTERVAL_HOUR: 3600000;
			public static RTC: 1;
			public static RTC_WAKEUP: 0;
			public set(type: number, triggerAtMillis: number, tag: string, listener: android.app.AlarmManager.OnAlarmListener, targetHandler: android.os.Handler): void;
			public setWindow(type: number, windowStartMillis: number, windowLengthMillis: number, tag: string, listener: android.app.AlarmManager.OnAlarmListener, targetHandler: android.os.Handler): void;
			public setTime(millis: number): void;
			public set(type: number, triggerAtMillis: number, operation: android.app.PendingIntent): void;
			public setWindow(type: number, windowStartMillis: number, windowLengthMillis: number, operation: android.app.PendingIntent): void;
			public setAndAllowWhileIdle(type: number, triggerAtMillis: number, operation: android.app.PendingIntent): void;
			public setInexactRepeating(type: number, triggerAtMillis: number, intervalMillis: number, operation: android.app.PendingIntent): void;
			public cancelAll(): void;
			public cancel(listener: android.app.AlarmManager.OnAlarmListener): void;
			public setAlarmClock(info: android.app.AlarmManager.AlarmClockInfo, operation: android.app.PendingIntent): void;
			public setExactAndAllowWhileIdle(type: number, triggerAtMillis: number, operation: android.app.PendingIntent): void;
			public setRepeating(type: number, triggerAtMillis: number, intervalMillis: number, operation: android.app.PendingIntent): void;
			public cancel(operation: android.app.PendingIntent): void;
			public setExact(type: number, triggerAtMillis: number, tag: string, listener: android.app.AlarmManager.OnAlarmListener, targetHandler: android.os.Handler): void;
			public setTimeZone(timeZone: string): void;
			public getNextAlarmClock(): android.app.AlarmManager.AlarmClockInfo;
			public setExact(type: number, triggerAtMillis: number, operation: android.app.PendingIntent): void;
			public canScheduleExactAlarms(): boolean;
			public setWindow(type: number, windowStartMillis: number, windowLengthMillis: number, tag: string, executor: java.util.concurrent.Executor, listener: android.app.AlarmManager.OnAlarmListener): 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(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(triggerTime: number, showIntent: 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: 4;
			public static THEME_DEVICE_DEFAULT_LIGHT: 5;
			public static THEME_HOLO_DARK: 2;
			public static THEME_HOLO_LIGHT: 3;
			public static THEME_TRADITIONAL: 1;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public cancel(): void;
			public getButton(whichButton: number): android.widget.Button;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(context: android.content.Context);
			/** @deprecated */
			public setButton2(text: string, msg: android.os.Message): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public onCreatePanelView(param0: number): android.view.View;
			public setMessage(message: string): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public setTitle(title: 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 setCustomTitle(customTitleView: android.view.View): void;
			public onWindowFocusChanged(param0: boolean): void;
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			/** @deprecated */
			public setButton(text: string, msg: android.os.Message): void;
			public onContentChanged(): void;
			public setButton(whichButton: number, text: string, listener: android.content.DialogInterface.OnClickListener): void;
			public setIcon(resId: number): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setButton(text: string, listener: android.content.DialogInterface.OnClickListener): void;
			public onCreate(savedInstanceState: android.os.Bundle): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public setButton(whichButton: number, text: string, msg: android.os.Message): void;
			/** @deprecated */
			public setButton3(text: string, msg: android.os.Message): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			/** @deprecated */
			public setButton2(text: string, listener: android.content.DialogInterface.OnClickListener): void;
			/** @deprecated */
			public setButton3(text: string, listener: android.content.DialogInterface.OnClickListener): void;
			public constructor(context: android.content.Context, cancelable: boolean, cancelListener: android.content.DialogInterface.OnCancelListener);
			public setView(view: android.view.View): 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 setTitle(titleId: number): void;
			public setInverseBackgroundForced(forceInverseBackground: boolean): void;
			public onSearchRequested(param0: any): boolean;
			public setIcon(icon: android.graphics.drawable.Drawable): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, themeResId: number);
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public setIconAttribute(attrId: number): void;
			public getListView(): android.widget.ListView;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public setView(view: android.view.View, viewSpacingLeft: number, viewSpacingTop: number, viewSpacingRight: number, viewSpacingBottom: number): 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>;
				/** @deprecated */
				public setInverseBackgroundForced(useInverseBackground: boolean): android.app.AlertDialog.Builder;
				public setIcon(iconId: number): android.app.AlertDialog.Builder;
				public setPositiveButton(text: string, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setItems(items: androidNative.Array<string>, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setAdapter(adapter: android.widget.ListAdapter, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setView(view: android.view.View): android.app.AlertDialog.Builder;
				public setOnItemSelectedListener(listener: android.widget.AdapterView.OnItemSelectedListener): android.app.AlertDialog.Builder;
				public setMultiChoiceItems(cursor: android.database.Cursor, isCheckedColumn: string, labelColumn: string, listener: android.content.DialogInterface.OnMultiChoiceClickListener): android.app.AlertDialog.Builder;
				public setOnCancelListener(onCancelListener: android.content.DialogInterface.OnCancelListener): android.app.AlertDialog.Builder;
				public setSingleChoiceItems(items: androidNative.Array<string>, checkedItem: number, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public show(): android.app.AlertDialog;
				public setNegativeButton(text: string, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setCursor(cursor: android.database.Cursor, listener: android.content.DialogInterface.OnClickListener, labelColumn: string): android.app.AlertDialog.Builder;
				public create(): android.app.AlertDialog;
				public setNeutralButton(textId: number, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setSingleChoiceItems(itemsId: number, checkedItem: number, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setMultiChoiceItems(itemsId: number, checkedItems: androidNative.Array<boolean>, listener: android.content.DialogInterface.OnMultiChoiceClickListener): android.app.AlertDialog.Builder;
				public setTitle(title: string): android.app.AlertDialog.Builder;
				public setIconAttribute(attrId: number): android.app.AlertDialog.Builder;
				public setMessage(messageId: number): android.app.AlertDialog.Builder;
				public setOnDismissListener(onDismissListener: android.content.DialogInterface.OnDismissListener): android.app.AlertDialog.Builder;
				public setOnKeyListener(onKeyListener: android.content.DialogInterface.OnKeyListener): android.app.AlertDialog.Builder;
				public constructor(context: android.content.Context);
				public setCustomTitle(customTitleView: android.view.View): android.app.AlertDialog.Builder;
				public setItems(itemsId: number, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public constructor(context: android.content.Context, themeResId: number);
				public setPositiveButton(textId: number, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setIcon(icon: android.graphics.drawable.Drawable): android.app.AlertDialog.Builder;
				public setMultiChoiceItems(items: androidNative.Array<string>, checkedItems: androidNative.Array<boolean>, listener: android.content.DialogInterface.OnMultiChoiceClickListener): android.app.AlertDialog.Builder;
				public setSingleChoiceItems(adapter: android.widget.ListAdapter, checkedItem: number, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setMessage(message: string): android.app.AlertDialog.Builder;
				public setSingleChoiceItems(cursor: android.database.Cursor, checkedItem: number, labelColumn: string, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setCancelable(cancelable: boolean): android.app.AlertDialog.Builder;
				public setView(layoutResId: number): android.app.AlertDialog.Builder;
				public getContext(): android.content.Context;
				public setTitle(titleId: number): android.app.AlertDialog.Builder;
				public setNegativeButton(textId: number, listener: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setNeutralButton(text: string, listener: android.content.DialogInterface.OnClickListener): 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 onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public constructor();
			public onTrimMemory(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			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 onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			/** @deprecated */
			public onCreate(savedInstanceState: android.os.Bundle): void;
			public onSearchRequested(param0: any): 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 onPointerCaptureChanged(hasCapture: boolean): void;
			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 constructor(base: android.content.Context);
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			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 instantiateActivity(cl: java.lang.ClassLoader, className: string, intent: android.content.Intent): android.app.Activity;
			public instantiateReceiver(cl: java.lang.ClassLoader, className: string, intent: android.content.Intent): android.content.BroadcastReceiver;
			public instantiateApplication(cl: java.lang.ClassLoader, className: string): android.app.Application;
			public instantiateClassLoader(cl: java.lang.ClassLoader, aInfo: android.content.pm.ApplicationInfo): java.lang.ClassLoader;
			public instantiateProvider(cl: java.lang.ClassLoader, className: string): android.content.ContentProvider;
			public instantiateService(cl: java.lang.ClassLoader, className: string, intent: android.content.Intent): android.app.Service;
			public constructor();
		}
	}
}

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: 0;
			public static MODE_DEFAULT: 3;
			public static MODE_ERRORED: 2;
			public static MODE_FOREGROUND: 4;
			public static MODE_IGNORED: 1;
			public static OPSTR_ADD_VOICEMAIL: "android:add_voicemail";
			public static OPSTR_ANSWER_PHONE_CALLS: "android:answer_phone_calls";
			public static OPSTR_BODY_SENSORS: "android:body_sensors";
			public static OPSTR_CALL_PHONE: "android:call_phone";
			public static OPSTR_CAMERA: "android:camera";
			public static OPSTR_COARSE_LOCATION: "android:coarse_location";
			public static OPSTR_FINE_LOCATION: "android:fine_location";
			public static OPSTR_GET_USAGE_STATS: "android:get_usage_stats";
			public static OPSTR_MOCK_LOCATION: "android:mock_location";
			public static OPSTR_MONITOR_HIGH_POWER_LOCATION: "android:monitor_location_high_power";
			public static OPSTR_MONITOR_LOCATION: "android:monitor_location";
			public static OPSTR_PICTURE_IN_PICTURE: "android:picture_in_picture";
			public static OPSTR_PROCESS_OUTGOING_CALLS: "android:process_outgoing_calls";
			public static OPSTR_READ_CALENDAR: "android:read_calendar";
			public static OPSTR_READ_CALL_LOG: "android:read_call_log";
			public static OPSTR_READ_CELL_BROADCASTS: "android:read_cell_broadcasts";
			public static OPSTR_READ_CONTACTS: "android:read_contacts";
			public static OPSTR_READ_EXTERNAL_STORAGE: "android:read_external_storage";
			public static OPSTR_READ_PHONE_NUMBERS: "android:read_phone_numbers";
			public static OPSTR_READ_PHONE_STATE: "android:read_phone_state";
			public static OPSTR_READ_SMS: "android:read_sms";
			public static OPSTR_RECEIVE_MMS: "android:receive_mms";
			public static OPSTR_RECEIVE_SMS: "android:receive_sms";
			public static OPSTR_RECEIVE_WAP_PUSH: "android:receive_wap_push";
			public static OPSTR_RECORD_AUDIO: "android:record_audio";
			public static OPSTR_SEND_SMS: "android:send_sms";
			public static OPSTR_SYSTEM_ALERT_WINDOW: "android:system_alert_window";
			public static OPSTR_USE_FINGERPRINT: "android:use_fingerprint";
			public static OPSTR_USE_SIP: "android:use_sip";
			public static OPSTR_WRITE_CALENDAR: "android:write_calendar";
			public static OPSTR_WRITE_CALL_LOG: "android:write_call_log";
			public static OPSTR_WRITE_CONTACTS: "android:write_contacts";
			public static OPSTR_WRITE_EXTERNAL_STORAGE: "android:write_external_storage";
			public static OPSTR_WRITE_SETTINGS: "android:write_settings";
			public static WATCH_FOREGROUND_CHANGES: 1;
			/** @deprecated */
			public noteOp(op: string, uid: number, packageName: string): number;
			/** @deprecated */
			public noteProxyOpNoThrow(op: string, proxiedPackageName: string, proxiedUid: number): number;
			public noteProxyOpNoThrow(op: string, proxiedPackageName: string, proxiedUid: number, proxiedAttributionTag: string, message: string): number;
			public unsafeCheckOpRaw(op: string, uid: number, packageName: string): number;
			public startWatchingActive(ops: androidNative.Array<string>, executor: java.util.concurrent.Executor, callback: android.app.AppOpsManager.OnOpActiveChangedListener): void;
			public isOpActive(op: string, uid: number, packageName: string): boolean;
			public startOp(op: string, uid: number, packageName: string, attributionTag: string, message: string): number;
			/** @deprecated */
			public noteOpNoThrow(op: string, uid: number, packageName: string): number;
			public finishOp(op: string, uid: number, packageName: string, attributionTag: string): void;
			public startWatchingMode(op: string, packageName: string, callback: android.app.AppOpsManager.OnOpChangedListener): void;
			public noteOpNoThrow(op: string, uid: number, packageName: string, attributionTag: string, message: string): number;
			public stopWatchingActive(callback: android.app.AppOpsManager.OnOpActiveChangedListener): void;
			/** @deprecated */
			public noteProxyOpNoThrow(op: string, proxiedPackageName: string): number;
			public startProxyOpNoThrow(op: string, proxiedUid: number, proxiedPackageName: string, proxiedAttributionTag: string, message: string): number;
			/** @deprecated */
			public noteProxyOp(op: string, proxiedPackageName: string): number;
			public startOpNoThrow(op: string, uid: number, packageName: string, attributionTag: string, message: string): number;
			public startProxyOp(op: string, proxiedUid: number, proxiedPackageName: string, proxiedAttributionTag: string, message: string): number;
			/** @deprecated */
			public startOp(op: string, uid: number, packageName: string): number;
			public noteProxyOp(op: string, proxiedPackageName: string, proxiedUid: number, proxiedAttributionTag: string, message: string): number;
			/** @deprecated */
			public finishOp(op: string, uid: number, packageName: string): void;
			public unsafeCheckOp(op: string, uid: number, packageName: string): number;
			public startWatchingMode(op: string, packageName: string, flags: number, callback: android.app.AppOpsManager.OnOpChangedListener): void;
			/** @deprecated */
			public checkOpNoThrow(op: string, uid: number, packageName: string): number;
			public unsafeCheckOpNoThrow(op: string, uid: number, packageName: string): number;
			/** @deprecated */
			public checkPackage(uid: number, packageName: string): void;
			public stopWatchingMode(callback: android.app.AppOpsManager.OnOpChangedListener): void;
			public noteOp(op: string, uid: number, packageName: string, attributionTag: string, message: string): number;
			/** @deprecated */
			public startOpNoThrow(op: string, uid: number, packageName: string): number;
			public setOnOpNotedCallback(asyncExecutor: java.util.concurrent.Executor, callback: android.app.AppOpsManager.OnOpNotedCallback): void;
			/** @deprecated */
			public checkOp(op: string, uid: number, packageName: string): number;
			public finishProxyOp(op: string, proxiedUid: number, proxiedPackageName: string, proxiedAttributionTag: string): void;
			public unsafeCheckOpRawNoThrow(op: string, uid: number, packageName: string): number;
			public static permissionToOp(permission: string): string;
		}
		export module AppOpsManager {
			export class OnOpActiveChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.AppOpsManager.OnOpActiveChangedListener>;
				/**
				 * Constructs a new instance of the android.app.AppOpsManager$OnOpActiveChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onOpActiveChanged(param0: string, param1: number, param2: string, param3: boolean): void;
					onOpActiveChanged(op: string, uid: number, packageName: string, attributionTag: string, virtualDeviceId: number, active: boolean, attributionFlags: number, attributionChainId: number): void;
				});
				public constructor();
				public onOpActiveChanged(op: string, uid: number, packageName: string, attributionTag: string, virtualDeviceId: number, active: boolean, attributionFlags: number, attributionChainId: number): void;
				public onOpActiveChanged(param0: string, param1: number, param2: string, param3: boolean): void;
			}
			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;
					onOpChanged(op: string, packageName: string, userId: number, persistentDeviceId: string): void;
				});
				public constructor();
				public onOpChanged(param0: string, param1: string): void;
				public onOpChanged(op: string, packageName: string, userId: number, persistentDeviceId: string): void;
			}
			export abstract class OnOpNotedCallback extends java.lang.Object {
				public static class: java.lang.Class<android.app.AppOpsManager.OnOpNotedCallback>;
				public onSelfNoted(param0: android.app.SyncNotedAppOp): void;
				public onNoted(param0: android.app.SyncNotedAppOp): void;
				public onAsyncNoted(param0: android.app.AsyncNotedAppOp): void;
				public constructor();
			}
		}
	}
}

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;
			/** @deprecated */
			public onLowMemory(): void;
			public registerComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public registerOnProvideAssistDataListener(callback: android.app.Application.OnProvideAssistDataListener): void;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public onTerminate(): void;
			public onCreate(): void;
			public constructor();
			public unregisterComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public onLowMemory(): void;
			public unregisterActivityLifecycleCallbacks(callback: android.app.Application.ActivityLifecycleCallbacks): void;
			public registerActivityLifecycleCallbacks(callback: android.app.Application.ActivityLifecycleCallbacks): void;
			public unregisterOnProvideAssistDataListener(callback: android.app.Application.OnProvideAssistDataListener): void;
			public onTrimMemory(param0: number): void;
			public onTrimMemory(level: number): void;
			public constructor(base: 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: {
					onActivityPreCreated(activity: android.app.Activity, savedInstanceState: android.os.Bundle): void;
					onActivityCreated(param0: android.app.Activity, param1: android.os.Bundle): void;
					onActivityPostCreated(activity: android.app.Activity, savedInstanceState: android.os.Bundle): void;
					onActivityPreStarted(activity: android.app.Activity): void;
					onActivityStarted(param0: android.app.Activity): void;
					onActivityPostStarted(activity: android.app.Activity): void;
					onActivityPreResumed(activity: android.app.Activity): void;
					onActivityResumed(param0: android.app.Activity): void;
					onActivityPostResumed(activity: android.app.Activity): void;
					onActivityPrePaused(activity: android.app.Activity): void;
					onActivityPaused(param0: android.app.Activity): void;
					onActivityPostPaused(activity: android.app.Activity): void;
					onActivityPreStopped(activity: android.app.Activity): void;
					onActivityStopped(param0: android.app.Activity): void;
					onActivityPostStopped(activity: android.app.Activity): void;
					onActivityPreSaveInstanceState(activity: android.app.Activity, outState: android.os.Bundle): void;
					onActivitySaveInstanceState(param0: android.app.Activity, param1: android.os.Bundle): void;
					onActivityPostSaveInstanceState(activity: android.app.Activity, outState: android.os.Bundle): void;
					onActivityPreDestroyed(activity: android.app.Activity): void;
					onActivityDestroyed(param0: android.app.Activity): void;
					onActivityPostDestroyed(activity: android.app.Activity): void;
				});
				public constructor();
				public onActivityPostSaveInstanceState(activity: android.app.Activity, outState: android.os.Bundle): void;
				public onActivityPaused(param0: android.app.Activity): void;
				public onActivityPreSaveInstanceState(activity: android.app.Activity, outState: android.os.Bundle): void;
				public onActivityPrePaused(activity: android.app.Activity): void;
				public onActivityPreCreated(activity: android.app.Activity, savedInstanceState: android.os.Bundle): void;
				public onActivityPostPaused(activity: android.app.Activity): void;
				public onActivityPostCreated(activity: android.app.Activity, savedInstanceState: android.os.Bundle): void;
				public onActivityDestroyed(param0: android.app.Activity): void;
				public onActivityCreated(param0: android.app.Activity, param1: android.os.Bundle): void;
				public onActivityPreResumed(activity: android.app.Activity): void;
				public onActivityPreDestroyed(activity: android.app.Activity): void;
				public onActivityPreStarted(activity: android.app.Activity): void;
				public onActivityStopped(param0: android.app.Activity): void;
				public onActivityStarted(param0: android.app.Activity): void;
				public onActivityResumed(param0: android.app.Activity): void;
				public onActivityPostStopped(activity: android.app.Activity): void;
				public onActivityPreStopped(activity: android.app.Activity): void;
				public onActivityPostResumed(activity: android.app.Activity): void;
				public onActivityPostDestroyed(activity: android.app.Activity): void;
				public onActivityPostStarted(activity: android.app.Activity): 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: 2;
			public static TYPE_BATTERY: 3;
			public static TYPE_CRASH: 1;
			public static TYPE_NONE: 0;
			public static TYPE_RUNNING_SERVICE: 5;
			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 dump(pw: android.util.Printer, prefix: string): void;
			public readFromParcel(in_: android.os.Parcel): void;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
			public static getErrorReportReceiver(context: android.content.Context, packageName: string, appFlags: number): android.content.ComponentName;
		}
		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 dump(pw: android.util.Printer, prefix: string): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(in_: android.os.Parcel);
				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 dump(pw: android.util.Printer, prefix: string): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(in_: android.os.Parcel);
				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 dump(pw: android.util.Printer, prefix: string): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(tr: java.lang.Throwable);
				public constructor(in_: android.os.Parcel);
				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 dump(pw: android.util.Printer, prefix: string): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(in_: android.os.Parcel);
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export class ApplicationExitInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.ApplicationExitInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.ApplicationExitInfo>;
			public static REASON_ANR: 6;
			public static REASON_CRASH: 4;
			public static REASON_CRASH_NATIVE: 5;
			public static REASON_DEPENDENCY_DIED: 12;
			public static REASON_EXCESSIVE_RESOURCE_USAGE: 9;
			public static REASON_EXIT_SELF: 1;
			public static REASON_FREEZER: 14;
			public static REASON_INITIALIZATION_FAILURE: 7;
			public static REASON_LOW_MEMORY: 3;
			public static REASON_OTHER: 13;
			public static REASON_PACKAGE_STATE_CHANGE: 15;
			public static REASON_PACKAGE_UPDATED: 16;
			public static REASON_PERMISSION_CHANGE: 8;
			public static REASON_SIGNALED: 2;
			public static REASON_UNKNOWN: 0;
			public static REASON_USER_REQUESTED: 10;
			public static REASON_USER_STOPPED: 11;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getPid(): number;
			public getRealUid(): number;
			public getProcessStateSummary(): androidNative.Array<number>;
			public getTraceInputStream(): java.io.InputStream;
			public getPackageUid(): number;
			public getReason(): number;
			public getProcessName(): string;
			public getRss(): number;
			public equals(other: any): boolean;
			public toString(): string;
			public getPss(): number;
			public getTimestamp(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getImportance(): number;
			public getDefiningUid(): number;
			public getDescription(): string;
			public getUserHandle(): android.os.UserHandle;
			public getStatus(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module app {
		export class ApplicationStartInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.ApplicationStartInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.ApplicationStartInfo>;
			public static LAUNCH_MODE_SINGLE_INSTANCE: 2;
			public static LAUNCH_MODE_SINGLE_INSTANCE_PER_TASK: 4;
			public static LAUNCH_MODE_SINGLE_TASK: 3;
			public static LAUNCH_MODE_SINGLE_TOP: 1;
			public static LAUNCH_MODE_STANDARD: 0;
			public static STARTUP_STATE_ERROR: 1;
			public static STARTUP_STATE_FIRST_FRAME_DRAWN: 2;
			public static STARTUP_STATE_STARTED: 0;
			public static START_REASON_ALARM: 0;
			public static START_REASON_BACKUP: 1;
			public static START_REASON_BOOT_COMPLETE: 2;
			public static START_REASON_BROADCAST: 3;
			public static START_REASON_CONTENT_PROVIDER: 4;
			public static START_REASON_JOB: 5;
			public static START_REASON_LAUNCHER: 6;
			public static START_REASON_LAUNCHER_RECENTS: 7;
			public static START_REASON_OTHER: 8;
			public static START_REASON_PUSH: 9;
			public static START_REASON_SERVICE: 10;
			public static START_REASON_START_ACTIVITY: 11;
			public static START_TIMESTAMP_APPLICATION_ONCREATE: 2;
			public static START_TIMESTAMP_BIND_APPLICATION: 3;
			public static START_TIMESTAMP_FIRST_FRAME: 4;
			public static START_TIMESTAMP_FORK: 1;
			public static START_TIMESTAMP_FULLY_DRAWN: 5;
			public static START_TIMESTAMP_INITIAL_RENDERTHREAD_FRAME: 6;
			public static START_TIMESTAMP_LAUNCH: 0;
			public static START_TIMESTAMP_RESERVED_RANGE_DEVELOPER: 30;
			public static START_TIMESTAMP_RESERVED_RANGE_DEVELOPER_START: 21;
			public static START_TIMESTAMP_RESERVED_RANGE_SYSTEM: 20;
			public static START_TIMESTAMP_SURFACEFLINGER_COMPOSITION_COMPLETE: 7;
			public static START_TYPE_COLD: 1;
			public static START_TYPE_HOT: 3;
			public static START_TYPE_UNSET: 0;
			public static START_TYPE_WARM: 2;
			public getStartupState(): number;
			public getIntent(): android.content.Intent;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getPid(): number;
			public getRealUid(): number;
			public getStartType(): number;
			public wasForceStopped(): boolean;
			public getPackageUid(): number;
			public getReason(): number;
			public getLaunchMode(): number;
			public getProcessName(): string;
			public equals(other: any): boolean;
			public describeContents(): number;
			public getStartupTimestamps(): java.util.Map<java.lang.Integer,java.lang.Long>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDefiningUid(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module app {
		export class AsyncNotedAppOp extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.AsyncNotedAppOp>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.AsyncNotedAppOp>;
			public getMessage(): string;
			public getNotingUid(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getTime(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getAttributionTag(): string;
			public getOp(): string;
			public hashCode(): number;
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getUserAction(): android.app.PendingIntent;
			public describeContents(): number;
			public constructor(cause: java.lang.Throwable, userAction: android.app.PendingIntent);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 static TYPE_BEDTIME: 3;
			public static TYPE_DRIVING: 4;
			public static TYPE_IMMERSIVE: 5;
			public static TYPE_MANAGED: 7;
			public static TYPE_OTHER: 0;
			public static TYPE_SCHEDULE_CALENDAR: 2;
			public static TYPE_SCHEDULE_TIME: 1;
			public static TYPE_THEATER: 6;
			public static TYPE_UNKNOWN: -1;
			public getType(): number;
			public setEnabled(enabled: boolean): void;
			public getCreationTime(): number;
			public getZenPolicy(): android.service.notification.ZenPolicy;
			public setZenPolicy(zenPolicy: android.service.notification.ZenPolicy): void;
			public isManualInvocationAllowed(): boolean;
			public getConfigurationActivity(): android.content.ComponentName;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(name: string, owner: android.content.ComponentName, configurationActivity: android.content.ComponentName, conditionId: android.net.Uri, policy: android.service.notification.ZenPolicy, interruptionFilter: number, enabled: boolean);
			public getInterruptionFilter(): number;
			public setInterruptionFilter(interruptionFilter: number): void;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public setDeviceEffects(deviceEffects: android.service.notification.ZenDeviceEffects): void;
			public setConfigurationActivity(componentName: android.content.ComponentName): void;
			public setConditionId(conditionId: android.net.Uri): void;
			/** @deprecated */
			public constructor(name: string, owner: android.content.ComponentName, conditionId: android.net.Uri, interruptionFilter: number, enabled: boolean);
			public getOwner(): android.content.ComponentName;
			public getConditionId(): android.net.Uri;
			public isEnabled(): boolean;
			public getDeviceEffects(): android.service.notification.ZenDeviceEffects;
			public toString(): string;
			public getName(): string;
			public equals(o: any): boolean;
			public getIconResId(): number;
			public describeContents(): number;
			public setName(name: string): void;
			public getTriggerDescription(): string;
			public constructor(source: android.os.Parcel);
			public hashCode(): number;
		}
		export module AutomaticZenRule {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.AutomaticZenRule.Builder>;
				public constructor(name: string, conditionId: android.net.Uri);
				public setIconResId(iconResId: number): android.app.AutomaticZenRule.Builder;
				public setOwner(owner: android.content.ComponentName): android.app.AutomaticZenRule.Builder;
				public setName(name: string): android.app.AutomaticZenRule.Builder;
				public setConfigurationActivity(configurationActivity: android.content.ComponentName): android.app.AutomaticZenRule.Builder;
				public setDeviceEffects(deviceEffects: android.service.notification.ZenDeviceEffects): android.app.AutomaticZenRule.Builder;
				public setTriggerDescription(description: string): android.app.AutomaticZenRule.Builder;
				public constructor(rule: android.app.AutomaticZenRule);
				public setInterruptionFilter(interruptionFilter: number): android.app.AutomaticZenRule.Builder;
				public setConditionId(conditionId: android.net.Uri): android.app.AutomaticZenRule.Builder;
				public setEnabled(enabled: boolean): android.app.AutomaticZenRule.Builder;
				public setType(type: number): android.app.AutomaticZenRule.Builder;
				public setManualInvocationAllowed(allowManualInvocation: boolean): android.app.AutomaticZenRule.Builder;
				public setZenPolicy(policy: android.service.notification.ZenPolicy): android.app.AutomaticZenRule.Builder;
				public build(): android.app.AutomaticZenRule;
			}
		}
	}
}

declare module android {
	export module app {
		export class BackgroundServiceStartNotAllowedException extends android.app.ServiceStartNotAllowedException implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.BackgroundServiceStartNotAllowedException>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.BackgroundServiceStartNotAllowedException>;
			public constructor(message: string);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module app {
		export class BroadcastOptions extends java.lang.Object {
			public static class: java.lang.Class<android.app.BroadcastOptions>;
			public static DEFERRAL_POLICY_DEFAULT: 0;
			public static DEFERRAL_POLICY_NONE: 1;
			public static DEFERRAL_POLICY_UNTIL_ACTIVE: 2;
			public static DELIVERY_GROUP_POLICY_ALL: 0;
			public static DELIVERY_GROUP_POLICY_MOST_RECENT: 1;
			public static makeBasic(): android.app.BroadcastOptions;
			public getDeferralPolicy(): number;
			public setShareIdentityEnabled(shareIdentityEnabled: boolean): android.app.BroadcastOptions;
			public clearDeliveryGroupPolicy(): void;
			public setDeliveryGroupPolicy(policy: number): android.app.BroadcastOptions;
			public isShareIdentityEnabled(): boolean;
			public clearDeferralPolicy(): void;
			public clearDeliveryGroupMatchingKey(): void;
			public getDeliveryGroupPolicy(): number;
			public static fromBundle(options: android.os.Bundle): android.app.BroadcastOptions;
			public toBundle(): android.os.Bundle;
			public setDeferralPolicy(deferralPolicy: number): android.app.BroadcastOptions;
			public setDeliveryGroupMatchingKey(namespace: string, key: string): android.app.BroadcastOptions;
			public getDeliveryGroupMatchingKey(): string;
		}
	}
}

declare module android {
	export module app {
		export class ComponentCaller extends java.lang.Object {
			public static class: java.lang.Class<android.app.ComponentCaller>;
			public getUid(): number;
			public equals(obj: any): boolean;
			public checkContentUriPermission(uri: android.net.Uri, modeFlags: number): number;
			public getPackage(): string;
			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 onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onClick(dialog: android.content.DialogInterface, which: number): void;
			public onDateChanged(view: android.widget.DatePicker, year: number, month: number, dayOfMonth: number): void;
			public updateDate(year: number, month: number, dayOfMonth: number): void;
			public cancel(): void;
			public onDateChanged(param0: android.widget.DatePicker, param1: number, param2: number, param3: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, cancelable: boolean, cancelListener: android.content.DialogInterface.OnCancelListener);
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(context: android.content.Context, themeResId: number, listener: android.app.DatePickerDialog.OnDateSetListener, year: number, monthOfYear: number, dayOfMonth: number);
			public onCreatePanelView(param0: number): android.view.View;
			public setOnDateSetListener(listener: android.app.DatePickerDialog.OnDateSetListener): void;
			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 getDatePicker(): android.widget.DatePicker;
			public dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public constructor(context: android.content.Context, listener: android.app.DatePickerDialog.OnDateSetListener, year: number, month: number, dayOfMonth: number);
			public onSearchRequested(param0: any): 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 constructor(context: android.content.Context, themeResId: number);
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			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 onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle): 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 onStart(): void;
			public getLayoutInflater(): android.view.LayoutInflater;
			public cancel(): void;
			public requestWindowFeature(featureId: number): boolean;
			public constructor(context: android.content.Context);
			public dispatchPopulateAccessibilityEvent(event: android.view.accessibility.AccessibilityEvent): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public getContext(): android.content.Context;
			public onSaveInstanceState(): android.os.Bundle;
			public onKeyShortcut(keyCode: number, event: android.view.KeyEvent): boolean;
			public setFeatureDrawableAlpha(featureId: number, alpha: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			/** @deprecated */
			public onBackPressed(): void;
			public setCancelMessage(msg: android.os.Message): void;
			public setOwnerActivity(activity: android.app.Activity): void;
			public setContentView(view: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public setOnShowListener(listener: android.content.DialogInterface.OnShowListener): void;
			public closeOptionsMenu(): void;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public setVolumeControlStream(streamType: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public setFeatureDrawableResource(featureId: number, resId: number): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onCreate(savedInstanceState: android.os.Bundle): void;
			public onPrepareOptionsMenu(menu: android.view.Menu): boolean;
			public onActionModeFinished(mode: android.view.ActionMode): void;
			public onCreatePanelView(featureId: number): android.view.View;
			public requireViewById(id: number): android.view.View;
			public setFeatureDrawable(featureId: number, drawable: android.graphics.drawable.Drawable): void;
			public getActionBar(): android.app.ActionBar;
			public openOptionsMenu(): void;
			public setContentView(view: android.view.View): void;
			public registerForContextMenu(view: android.view.View): void;
			public onContextMenuClosed(menu: android.view.Menu): void;
			public unregisterForContextMenu(view: android.view.View): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public getOwnerActivity(): android.app.Activity;
			public dispatchGenericMotionEvent(ev: android.view.MotionEvent): boolean;
			public onWindowFocusChanged(hasFocus: boolean): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public onCreateOptionsMenu(menu: android.view.Menu): boolean;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback): android.view.ActionMode;
			public onOptionsMenuClosed(menu: android.view.Menu): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public create(): void;
			public setTitle(titleId: number): void;
			public onSearchRequested(param0: any): boolean;
			public onKeyMultiple(keyCode: number, repeatCount: number, event: android.view.KeyEvent): boolean;
			public setOnDismissListener(listener: android.content.DialogInterface.OnDismissListener): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public setDismissMessage(msg: android.os.Message): void;
			public constructor(context: android.content.Context, themeResId: number);
			public onWindowAttributesChanged(params: android.view.WindowManager.LayoutParams): void;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle): void;
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public takeKeyEvents(get: boolean): void;
			public setOnCancelListener(listener: android.content.DialogInterface.OnCancelListener): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onActionModeStarted(mode: android.view.ActionMode): void;
			public findViewById(id: number): android.view.View;
			public onMenuOpened(featureId: number, menu: android.view.Menu): boolean;
			public onPreparePanel(featureId: number, view: android.view.View, menu: android.view.Menu): boolean;
			public onMenuItemSelected(featureId: number, item: android.view.MenuItem): boolean;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public getOnBackInvokedDispatcher(): android.window.OnBackInvokedDispatcher;
			public onSearchRequested(): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public hide(): void;
			public onCreatePanelView(param0: number): android.view.View;
			public isShowing(): boolean;
			public onKeyLongPress(keyCode: number, event: android.view.KeyEvent): boolean;
			public getWindow(): android.view.Window;
			public dispatchKeyShortcutEvent(event: android.view.KeyEvent): boolean;
			public getSearchEvent(): any;
			public getVolumeControlStream(): number;
			public setTitle(title: string): void;
			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 dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onPanelClosed(featureId: number, menu: android.view.Menu): void;
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onContentChanged(): void;
			public invalidateOptionsMenu(): void;
			public show(): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public dispatchTrackballEvent(ev: android.view.MotionEvent): boolean;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public setCanceledOnTouchOutside(cancel: boolean): void;
			public constructor(context: android.content.Context, cancelable: boolean, cancelListener: android.content.DialogInterface.OnCancelListener);
			public onTrackballEvent(event: android.view.MotionEvent): boolean;
			public onStop(): void;
			public onCreateContextMenu(menu: android.view.ContextMenu, v: android.view.View, menuInfo: android.view.ContextMenu.ContextMenuInfo): void;
			public onCreatePanelMenu(featureId: number, menu: android.view.Menu): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public dismiss(): void;
			public onOptionsItemSelected(item: android.view.MenuItem): boolean;
			public setFeatureDrawableUri(featureId: number, uri: android.net.Uri): void;
			public openContextMenu(view: android.view.View): void;
			public setContentView(layoutResID: number): void;
			public setOnKeyListener(onKeyListener: android.content.DialogInterface.OnKeyListener): void;
			public onContextItemSelected(item: android.view.MenuItem): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public dispatchTouchEvent(ev: android.view.MotionEvent): boolean;
			public setCancelable(flag: boolean): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public addContentView(view: android.view.View, params: android.view.ViewGroup.LayoutParams): 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: 0;
			public static STYLE_NO_FRAME: 2;
			public static STYLE_NO_INPUT: 3;
			public static STYLE_NO_TITLE: 1;
			/** @deprecated */
			public isCancelable(): boolean;
			/** @deprecated */
			public dismissAllowingStateLoss(): void;
			/** @deprecated */
			public getShowsDialog(): boolean;
			/** @deprecated */
			public setShowsDialog(showsDialog: boolean): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			/** @deprecated */
			public setStyle(style: number, theme: number): void;
			/** @deprecated */
			public getTheme(): number;
			/** @deprecated */
			public onStop(): void;
			/** @deprecated */
			public onCreateDialog(savedInstanceState: android.os.Bundle): android.app.Dialog;
			/** @deprecated */
			public onSaveInstanceState(outState: android.os.Bundle): void;
			/** @deprecated */
			public onDestroyView(): void;
			/** @deprecated */
			public onDismiss(dialog: android.content.DialogInterface): void;
			/** @deprecated */
			public constructor();
			public onTrimMemory(param0: number): void;
			/** @deprecated */
			public getDialog(): android.app.Dialog;
			public onCancel(param0: android.content.DialogInterface): void;
			/** @deprecated */
			public setCancelable(cancelable: boolean): void;
			/** @deprecated */
			public onStart(): void;
			/** @deprecated */
			public onAttach(context: android.content.Context): void;
			/** @deprecated */
			public onCancel(dialog: android.content.DialogInterface): void;
			/** @deprecated */
			public onDetach(): void;
			/** @deprecated */
			public show(transaction: android.app.FragmentTransaction, tag: string): number;
			/** @deprecated */
			public onActivityCreated(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onAttach(activity: android.app.Activity): void;
			/** @deprecated */
			public onCreate(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public dump(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			/** @deprecated */
			public show(manager: android.app.FragmentManager, tag: string): void;
			public onGetLayoutInflater(savedInstanceState: android.os.Bundle): android.view.LayoutInflater;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			/** @deprecated */
			public dismiss(): void;
		}
	}
}

declare module android {
	export module app {
		export class DirectAction extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.DirectAction>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.DirectAction>;
			public getId(): string;
			public equals(other: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getExtras(): android.os.Bundle;
			public getLocusId(): android.content.LocusId;
			public hashCode(): number;
		}
		export module DirectAction {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.DirectAction.Builder>;
				public build(): android.app.DirectAction;
				public setLocusId(locusId: android.content.LocusId): android.app.DirectAction.Builder;
				public setExtras(extras: android.os.Bundle): android.app.DirectAction.Builder;
				public constructor(id: string);
			}
		}
	}
}

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: "android.intent.action.DOWNLOAD_COMPLETE";
			public static ACTION_NOTIFICATION_CLICKED: "android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED";
			public static ACTION_VIEW_DOWNLOADS: "android.intent.action.VIEW_DOWNLOADS";
			public static COLUMN_BYTES_DOWNLOADED_SO_FAR: "bytes_so_far";
			public static COLUMN_DESCRIPTION: "description";
			public static COLUMN_ID: "_id";
			public static COLUMN_LAST_MODIFIED_TIMESTAMP: "last_modified_timestamp";
			public static COLUMN_LOCAL_FILENAME: "local_filename";
			public static COLUMN_LOCAL_URI: "local_uri";
			public static COLUMN_MEDIAPROVIDER_URI: "mediaprovider_uri";
			public static COLUMN_MEDIA_TYPE: "media_type";
			public static COLUMN_REASON: "reason";
			public static COLUMN_STATUS: "status";
			public static COLUMN_TITLE: "title";
			public static COLUMN_TOTAL_SIZE_BYTES: "total_size";
			public static COLUMN_URI: "uri";
			public static ERROR_CANNOT_RESUME: 1008;
			public static ERROR_DEVICE_NOT_FOUND: 1007;
			public static ERROR_FILE_ALREADY_EXISTS: 1009;
			public static ERROR_FILE_ERROR: 1001;
			public static ERROR_HTTP_DATA_ERROR: 1004;
			public static ERROR_INSUFFICIENT_SPACE: 1006;
			public static ERROR_TOO_MANY_REDIRECTS: 1005;
			public static ERROR_UNHANDLED_HTTP_CODE: 1002;
			public static ERROR_UNKNOWN: 1000;
			public static EXTRA_DOWNLOAD_ID: "extra_download_id";
			public static EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS: "extra_click_download_ids";
			public static INTENT_EXTRAS_SORT_BY_SIZE: "android.app.DownloadManager.extra_sortBySize";
			public static PAUSED_QUEUED_FOR_WIFI: 3;
			public static PAUSED_UNKNOWN: 4;
			public static PAUSED_WAITING_FOR_NETWORK: 2;
			public static PAUSED_WAITING_TO_RETRY: 1;
			public static STATUS_FAILED: 16;
			public static STATUS_PAUSED: 4;
			public static STATUS_PENDING: 1;
			public static STATUS_RUNNING: 2;
			public static STATUS_SUCCESSFUL: 8;
			public openDownloadedFile(id: number): android.os.ParcelFileDescriptor;
			/** @deprecated */
			public addCompletedDownload(title: string, description: string, isMediaScannerScannable: boolean, mimeType: string, path: string, length: number, showNotification: boolean): number;
			/** @deprecated */
			public addCompletedDownload(title: string, description: string, isMediaScannerScannable: boolean, mimeType: string, path: string, length: number, showNotification: boolean, uri: android.net.Uri, referer: android.net.Uri): number;
			public remove(ids: androidNative.Array<number>): number;
			public getUriForDownloadedFile(id: number): android.net.Uri;
			public enqueue(request: android.app.DownloadManager.Request): number;
			public query(query: android.app.DownloadManager.Query): android.database.Cursor;
			public static getRecommendedMaxBytesOverMobile(context: android.content.Context): java.lang.Long;
			public getMimeTypeForDownloadedFile(id: number): string;
			public static getMaxBytesOverMobile(context: android.content.Context): java.lang.Long;
		}
		export module DownloadManager {
			export class Query extends java.lang.Object {
				public static class: java.lang.Class<android.app.DownloadManager.Query>;
				public setFilterById(ids: androidNative.Array<number>): android.app.DownloadManager.Query;
				public setFilterByStatus(flags: 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: 1;
				public static NETWORK_WIFI: 2;
				public static VISIBILITY_HIDDEN: 2;
				public static VISIBILITY_VISIBLE: 0;
				public static VISIBILITY_VISIBLE_NOTIFY_COMPLETED: 1;
				public static VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION: 3;
				public setTitle(title: string): android.app.DownloadManager.Request;
				/** @deprecated */
				public setVisibleInDownloadsUi(isVisible: boolean): android.app.DownloadManager.Request;
				public setDescription(description: string): android.app.DownloadManager.Request;
				public setRequiresDeviceIdle(requiresDeviceIdle: boolean): android.app.DownloadManager.Request;
				public setDestinationInExternalPublicDir(dirType: string, subPath: string): android.app.DownloadManager.Request;
				public setAllowedOverMetered(allow: boolean): android.app.DownloadManager.Request;
				public setAllowedOverRoaming(allowed: boolean): android.app.DownloadManager.Request;
				public setNotificationVisibility(visibility: number): android.app.DownloadManager.Request;
				public setAllowedNetworkTypes(flags: number): android.app.DownloadManager.Request;
				public setMimeType(mimeType: string): android.app.DownloadManager.Request;
				public setRequiresCharging(requiresCharging: boolean): android.app.DownloadManager.Request;
				public constructor(uri: android.net.Uri);
				public setDestinationUri(uri: android.net.Uri): android.app.DownloadManager.Request;
				public addRequestHeader(header: string, value: string): android.app.DownloadManager.Request;
				/** @deprecated */
				public setShowRunningNotification(show: boolean): android.app.DownloadManager.Request;
				/** @deprecated */
				public allowScanningByMediaScanner(): void;
				public setDestinationInExternalFilesDir(context: android.content.Context, dirType: string, subPath: string): 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 onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			/** @deprecated */
			public setSelectedChild(groupPosition: number, childPosition: number, shouldExpandGroup: boolean): boolean;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public constructor();
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreatePanelView(param0: number): android.view.View;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Bundle): void;
			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 onGroupExpand(param0: number): 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;
			/** @deprecated */
			public onGroupExpand(groupPosition: number): void;
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			/** @deprecated */
			public onGroupCollapse(groupPosition: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public onContentChanged(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setListAdapter(adapter: android.widget.ExpandableListAdapter): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			/** @deprecated */
			public getExpandableListAdapter(): android.widget.ExpandableListAdapter;
			/** @deprecated */
			public getSelectedPosition(): number;
			/** @deprecated */
			public getSelectedId(): number;
			/** @deprecated */
			public setSelectedGroup(groupPosition: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			/** @deprecated */
			public onChildClick(parent: android.widget.ExpandableListView, v: android.view.View, groupPosition: number, childPosition: number, id: number): boolean;
			public onTrimMemory(param0: number): void;
			public onGroupCollapse(param0: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(base: android.content.Context, theme: 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;
			/** @deprecated */
			public onCreateContextMenu(menu: android.view.ContextMenu, v: android.view.View, menuInfo: android.view.ContextMenu.ContextMenuInfo): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			/** @deprecated */
			public getExpandableListView(): android.widget.ExpandableListView;
			public onSearchRequested(param0: any): boolean;
			/** @deprecated */
			public onContentChanged(): void;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public constructor(base: android.content.Context);
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class ForegroundServiceStartNotAllowedException extends android.app.ServiceStartNotAllowedException implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.ForegroundServiceStartNotAllowedException>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.ForegroundServiceStartNotAllowedException>;
			public constructor(message: string);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module app {
		export abstract class ForegroundServiceTypeException extends android.app.ServiceStartNotAllowedException {
			public static class: java.lang.Class<android.app.ForegroundServiceTypeException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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>;
			/** @deprecated */
			public unregisterForContextMenu(view: android.view.View): void;
			/** @deprecated */
			public setSharedElementEnterTransition(transition: android.transition.Transition): void;
			/** @deprecated */
			public isResumed(): boolean;
			/** @deprecated */
			public startActivity(intent: android.content.Intent, options: android.os.Bundle): void;
			/** @deprecated */
			public onViewStateRestored(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onPause(): void;
			/** @deprecated */
			public onStop(): void;
			/** @deprecated */
			public getRetainInstance(): boolean;
			/** @deprecated */
			public getExitTransition(): android.transition.Transition;
			/** @deprecated */
			public onDestroyView(): void;
			/** @deprecated */
			public setExitSharedElementCallback(callback: any): void;
			/** @deprecated */
			public onHiddenChanged(hidden: boolean): void;
			/** @deprecated */
			public getText(resId: number): string;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public getSharedElementEnterTransition(): android.transition.Transition;
			/** @deprecated */
			public equals(o: any): boolean;
			/** @deprecated */
			public getUserVisibleHint(): boolean;
			/** @deprecated */
			public requestPermissions(permissions: androidNative.Array<string>, requestCode: number): void;
			/** @deprecated */
			public onMultiWindowModeChanged(isInMultiWindowMode: boolean, newConfig: android.content.res.Configuration): void;
			/** @deprecated */
			public getString(resId: number): string;
			/** @deprecated */
			public isAdded(): boolean;
			/** @deprecated */
			public getSharedElementReturnTransition(): android.transition.Transition;
			/** @deprecated */
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			/** @deprecated */
			public setReturnTransition(transition: android.transition.Transition): void;
			/** @deprecated */
			public startActivityForResult(intent: android.content.Intent, requestCode: number): void;
			/** @deprecated */
			public onInflate(activity: android.app.Activity, attrs: android.util.AttributeSet, savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public startIntentSenderForResult(intent: android.content.IntentSender, requestCode: number, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number, options: android.os.Bundle): void;
			/** @deprecated */
			public isVisible(): boolean;
			/** @deprecated */
			public onAttach(activity: android.app.Activity): void;
			/** @deprecated */
			public setTargetFragment(fragment: android.app.Fragment, requestCode: number): void;
			/** @deprecated */
			public startPostponedEnterTransition(): void;
			/** @deprecated */
			public isRemoving(): boolean;
			/** @deprecated */
			public onMultiWindowModeChanged(isInMultiWindowMode: boolean): void;
			/** @deprecated */
			public getContext(): android.content.Context;
			/** @deprecated */
			public setAllowEnterTransitionOverlap(allow: boolean): void;
			/** @deprecated */
			public postponeEnterTransition(): void;
			/** @deprecated */
			public setAllowReturnTransitionOverlap(allow: boolean): void;
			/** @deprecated */
			public onDestroyOptionsMenu(): void;
			/** @deprecated */
			public onPrepareOptionsMenu(menu: android.view.Menu): void;
			/** @deprecated */
			public getReenterTransition(): android.transition.Transition;
			/** @deprecated */
			public startActivityForResult(intent: android.content.Intent, requestCode: number, options: android.os.Bundle): void;
			/** @deprecated */
			public shouldShowRequestPermissionRationale(permission: string): boolean;
			/** @deprecated */
			public getLoaderManager(): android.app.LoaderManager;
			/** @deprecated */
			public onCreateView(inflater: android.view.LayoutInflater, container: android.view.ViewGroup, savedInstanceState: android.os.Bundle): android.view.View;
			/** @deprecated */
			public onSaveInstanceState(outState: android.os.Bundle): void;
			/** @deprecated */
			public getLayoutInflater(): android.view.LayoutInflater;
			/** @deprecated */
			public getView(): android.view.View;
			public onTrimMemory(param0: number): void;
			/** @deprecated */
			public getArguments(): android.os.Bundle;
			/** @deprecated */
			public onStart(): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			/** @deprecated */
			public setHasOptionsMenu(hasMenu: boolean): void;
			/** @deprecated */
			public onActivityCreated(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onCreate(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onViewCreated(view: android.view.View, savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public dump(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			/** @deprecated */
			public onGetLayoutInflater(savedInstanceState: android.os.Bundle): android.view.LayoutInflater;
			/** @deprecated */
			public onInflate(attrs: android.util.AttributeSet, savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public setEnterTransition(transition: android.transition.Transition): void;
			/** @deprecated */
			public static instantiate(context: android.content.Context, fname: string): android.app.Fragment;
			/** @deprecated */
			public setExitTransition(transition: android.transition.Transition): void;
			/** @deprecated */
			public getAllowEnterTransitionOverlap(): boolean;
			/** @deprecated */
			public isInLayout(): boolean;
			/** @deprecated */
			public isHidden(): boolean;
			/** @deprecated */
			public registerForContextMenu(view: android.view.View): void;
			/** @deprecated */
			public setInitialSavedState(state: android.app.Fragment.SavedState): void;
			/** @deprecated */
			public onDestroy(): void;
			/** @deprecated */
			public onAttachFragment(childFragment: android.app.Fragment): void;
			/** @deprecated */
			public getEnterTransition(): android.transition.Transition;
			/** @deprecated */
			public setArguments(args: android.os.Bundle): void;
			/** @deprecated */
			public onPictureInPictureModeChanged(isInPictureInPictureMode: boolean, newConfig: android.content.res.Configuration): void;
			/** @deprecated */
			public getParentFragment(): android.app.Fragment;
			/** @deprecated */
			public getReturnTransition(): android.transition.Transition;
			/** @deprecated */
			public onAttach(context: android.content.Context): void;
			/** @deprecated */
			public onOptionsItemSelected(item: android.view.MenuItem): boolean;
			/** @deprecated */
			public onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void;
			/** @deprecated */
			public getId(): number;
			/** @deprecated */
			public onPictureInPictureModeChanged(isInPictureInPictureMode: boolean): void;
			/** @deprecated */
			public setReenterTransition(transition: android.transition.Transition): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			/** @deprecated */
			public getTargetFragment(): android.app.Fragment;
			/** @deprecated */
			public onCreateOptionsMenu(menu: android.view.Menu, inflater: android.view.MenuInflater): void;
			/** @deprecated */
			public getResources(): android.content.res.Resources;
			/** @deprecated */
			public getHost(): any;
			/** @deprecated */
			public setUserVisibleHint(isVisibleToUser: boolean): void;
			/** @deprecated */
			public setMenuVisibility(menuVisible: boolean): void;
			/** @deprecated */
			public getFragmentManager(): android.app.FragmentManager;
			/** @deprecated */
			public onContextItemSelected(item: android.view.MenuItem): boolean;
			/** @deprecated */
			public isDetached(): boolean;
			/** @deprecated */
			public setEnterSharedElementCallback(callback: any): void;
			/** @deprecated */
			public getActivity(): android.app.Activity;
			/** @deprecated */
			public onTrimMemory(level: number): void;
			/** @deprecated */
			public getTag(): string;
			/** @deprecated */
			public onInflate(context: android.content.Context, attrs: android.util.AttributeSet, savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onLowMemory(): void;
			/** @deprecated */
			public startActivity(intent: android.content.Intent): void;
			/** @deprecated */
			public onCreateContextMenu(menu: android.view.ContextMenu, v: android.view.View, menuInfo: android.view.ContextMenu.ContextMenuInfo): void;
			/** @deprecated */
			public getAllowReturnTransitionOverlap(): boolean;
			/** @deprecated */
			public onDetach(): void;
			/** @deprecated */
			public isStateSaved(): boolean;
			/** @deprecated */
			public onCreateAnimator(transit: number, enter: boolean, nextAnim: number): android.animation.Animator;
			/** @deprecated */
			public setRetainInstance(retain: boolean): void;
			/** @deprecated */
			public getString(resId: number, formatArgs: androidNative.Array<any>): string;
			/** @deprecated */
			public static instantiate(context: android.content.Context, fname: string, args: android.os.Bundle): android.app.Fragment;
			/** @deprecated */
			public onOptionsMenuClosed(menu: android.view.Menu): void;
			/** @deprecated */
			public getTargetRequestCode(): number;
			/** @deprecated */
			public hashCode(): number;
			/** @deprecated */
			public setSharedElementReturnTransition(transition: android.transition.Transition): void;
			/** @deprecated */
			public onRequestPermissionsResult(requestCode: number, permissions: androidNative.Array<string>, grantResults: androidNative.Array<number>): void;
			/** @deprecated */
			public getChildFragmentManager(): android.app.FragmentManager;
			/** @deprecated */
			public onResume(): void;
		}
		export module Fragment {
			export class InstantiationException extends android.util.AndroidRuntimeException {
				public static class: java.lang.Class<android.app.Fragment.InstantiationException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(name: string);
				/** @deprecated */
				public constructor(msg: string, cause: java.lang.Exception);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(name: string, cause: java.lang.Throwable);
				public constructor();
				public constructor(cause: java.lang.Exception);
			}
			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>;
				/** @deprecated */
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				/** @deprecated */
				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 isLayoutDirectionResolved(): boolean;
			/** @deprecated */
			public setOnBreadCrumbClickListener(listener: android.app.FragmentBreadCrumbs.OnBreadCrumbClickListener): 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public setMaxVisible(visibleCrumbs: number): void;
			/** @deprecated */
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			/** @deprecated */
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			/** @deprecated */
			public setParentTitle(title: string, shortTitle: string, listener: android.view.View.OnClickListener): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setActivity(a: android.app.Activity): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): 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 removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public onBackStackChanged(): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			/** @deprecated */
			public setTitle(title: string, shortTitle: string): 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;
			/** @deprecated */
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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();
				/** @deprecated */
				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>;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public onFindViewById(param0: number): android.view.View;
			/** @deprecated */
			public onHasView(): boolean;
		}
	}
}

declare module android {
	export module app {
		export class FragmentController extends java.lang.Object {
			public static class: java.lang.Class<android.app.FragmentController>;
			/** @deprecated */
			public saveAllState(): android.os.Parcelable;
			/** @deprecated */
			public dispatchOptionsItemSelected(item: android.view.MenuItem): boolean;
			/** @deprecated */
			public dispatchStart(): void;
			/** @deprecated */
			public getFragmentManager(): android.app.FragmentManager;
			/** @deprecated */
			public restoreAllState(state: android.os.Parcelable, nonConfigList: java.util.List<android.app.Fragment>): void;
			/** @deprecated */
			public restoreAllState(state: android.os.Parcelable, nonConfig: android.app.FragmentManagerNonConfig): void;
			/** @deprecated */
			public getLoaderManager(): android.app.LoaderManager;
			/** @deprecated */
			public retainNestedNonConfig(): android.app.FragmentManagerNonConfig;
			/** @deprecated */
			public dispatchPictureInPictureModeChanged(isInPictureInPictureMode: boolean): void;
			/** @deprecated */
			public dispatchPictureInPictureModeChanged(isInPictureInPictureMode: boolean, newConfig: android.content.res.Configuration): void;
			/** @deprecated */
			public dispatchDestroy(): void;
			/** @deprecated */
			public execPendingActions(): boolean;
			/** @deprecated */
			public doLoaderStop(retain: boolean): void;
			/** @deprecated */
			public doLoaderStart(): void;
			/** @deprecated */
			public dispatchPause(): void;
			/** @deprecated */
			public dispatchDestroyView(): void;
			/** @deprecated */
			public dispatchPrepareOptionsMenu(menu: android.view.Menu): boolean;
			/** @deprecated */
			public retainNonConfig(): java.util.List<android.app.Fragment>;
			/** @deprecated */
			public dumpLoaders(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			/** @deprecated */
			public dispatchCreate(): void;
			/** @deprecated */
			public noteStateNotSaved(): void;
			/** @deprecated */
			public dispatchCreateOptionsMenu(menu: android.view.Menu, inflater: android.view.MenuInflater): boolean;
			/** @deprecated */
			public restoreLoaderNonConfig(loaderManagers: android.util.ArrayMap<string,android.app.LoaderManager>): void;
			/** @deprecated */
			public dispatchOptionsMenuClosed(menu: android.view.Menu): void;
			/** @deprecated */
			public dispatchResume(): void;
			/** @deprecated */
			public dispatchMultiWindowModeChanged(isInMultiWindowMode: boolean): void;
			/** @deprecated */
			public retainLoaderNonConfig(): android.util.ArrayMap<string,android.app.LoaderManager>;
			/** @deprecated */
			public dispatchContextItemSelected(item: android.view.MenuItem): boolean;
			/** @deprecated */
			public attachHost(parent: android.app.Fragment): void;
			/** @deprecated */
			public dispatchConfigurationChanged(newConfig: android.content.res.Configuration): void;
			/** @deprecated */
			public findFragmentByWho(who: string): android.app.Fragment;
			/** @deprecated */
			public onCreateView(parent: android.view.View, name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			/** @deprecated */
			public dispatchStop(): void;
			/** @deprecated */
			public dispatchTrimMemory(level: number): void;
			/** @deprecated */
			public dispatchActivityCreated(): void;
			/** @deprecated */
			public dispatchMultiWindowModeChanged(isInMultiWindowMode: boolean, newConfig: android.content.res.Configuration): void;
			/** @deprecated */
			public dispatchLowMemory(): void;
			/** @deprecated */
			public reportLoaderStart(): void;
			/** @deprecated */
			public doLoaderDestroy(): void;
			/** @deprecated */
			public static createController(callbacks: android.app.FragmentHostCallback<any>): android.app.FragmentController;
		}
	}
}

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>>;
			/** @deprecated */
			public onHasWindowAnimations(): boolean;
			/** @deprecated */
			public onRequestPermissionsFromFragment(fragment: android.app.Fragment, permissions: androidNative.Array<string>, requestCode: number): void;
			/** @deprecated */
			public onStartActivityFromFragment(fragment: android.app.Fragment, intent: android.content.Intent, requestCode: number, options: android.os.Bundle): void;
			/** @deprecated */
			public onGetHost(): any;
			/** @deprecated */
			public onDump(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			/** @deprecated */
			public onStartIntentSenderFromFragment(fragment: android.app.Fragment, intent: android.content.IntentSender, requestCode: number, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number, options: android.os.Bundle): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public onShouldSaveFragmentState(fragment: android.app.Fragment): boolean;
			/** @deprecated */
			public onInvalidateOptionsMenu(): void;
			/** @deprecated */
			public onGetLayoutInflater(): android.view.LayoutInflater;
			/** @deprecated */
			public onUseFragmentManagerInflaterFactory(): boolean;
			/** @deprecated */
			public onGetWindowAnimations(): number;
			/** @deprecated */
			public onFindViewById(id: number): android.view.View;
			/** @deprecated */
			public constructor(context: android.content.Context, handler: android.os.Handler, windowAnimations: number);
			/** @deprecated */
			public onAttachFragment(fragment: android.app.Fragment): void;
			/** @deprecated */
			public onHasView(): 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: 1;
			/** @deprecated */
			public getFragments(): java.util.List<android.app.Fragment>;
			/** @deprecated */
			public removeOnBackStackChangedListener(param0: android.app.FragmentManager.OnBackStackChangedListener): void;
			/** @deprecated */
			public isDestroyed(): boolean;
			/** @deprecated */
			public getPrimaryNavigationFragment(): android.app.Fragment;
			/** @deprecated */
			public putFragment(param0: android.os.Bundle, param1: string, param2: android.app.Fragment): void;
			/** @deprecated */
			public popBackStackImmediate(): boolean;
			/** @deprecated */
			public registerFragmentLifecycleCallbacks(param0: android.app.FragmentManager.FragmentLifecycleCallbacks, param1: boolean): void;
			/** @deprecated */
			public popBackStackImmediate(param0: string, param1: number): boolean;
			/** @deprecated */
			public executePendingTransactions(): boolean;
			/** @deprecated */
			public popBackStack(param0: string, param1: number): void;
			/** @deprecated */
			public getFragment(param0: android.os.Bundle, param1: string): android.app.Fragment;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public popBackStack(): void;
			/** @deprecated */
			public addOnBackStackChangedListener(param0: android.app.FragmentManager.OnBackStackChangedListener): void;
			/** @deprecated */
			public invalidateOptionsMenu(): void;
			/** @deprecated */
			public getBackStackEntryCount(): number;
			/** @deprecated */
			public popBackStack(param0: number, param1: number): void;
			/** @deprecated */
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: androidNative.Array<string>): void;
			/** @deprecated */
			public beginTransaction(): android.app.FragmentTransaction;
			/** @deprecated */
			public isStateSaved(): boolean;
			/** @deprecated */
			public findFragmentById(param0: number): android.app.Fragment;
			/** @deprecated */
			public saveFragmentInstanceState(param0: android.app.Fragment): android.app.Fragment.SavedState;
			/** @deprecated */
			public getBackStackEntryAt(param0: number): android.app.FragmentManager.BackStackEntry;
			/** @deprecated */
			public findFragmentByTag(param0: string): android.app.Fragment;
			/** @deprecated */
			public static enableDebugLogging(enabled: boolean): void;
			/** @deprecated */
			public unregisterFragmentLifecycleCallbacks(param0: android.app.FragmentManager.FragmentLifecycleCallbacks): void;
			/** @deprecated */
			public popBackStackImmediate(param0: number, param1: number): boolean;
		}
		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();
				/** @deprecated */
				public getBreadCrumbTitle(): string;
				/** @deprecated */
				public getBreadCrumbShortTitleRes(): number;
				/** @deprecated */
				public getName(): string;
				/** @deprecated */
				public getId(): number;
				/** @deprecated */
				public getBreadCrumbTitleRes(): number;
				/** @deprecated */
				public getBreadCrumbShortTitle(): string;
			}
			export abstract class FragmentLifecycleCallbacks extends java.lang.Object {
				public static class: java.lang.Class<android.app.FragmentManager.FragmentLifecycleCallbacks>;
				/** @deprecated */
				public onFragmentActivityCreated(fm: android.app.FragmentManager, f: android.app.Fragment, savedInstanceState: android.os.Bundle): void;
				/** @deprecated */
				public onFragmentResumed(fm: android.app.FragmentManager, f: android.app.Fragment): void;
				/** @deprecated */
				public onFragmentStopped(fm: android.app.FragmentManager, f: android.app.Fragment): void;
				/** @deprecated */
				public onFragmentViewDestroyed(fm: android.app.FragmentManager, f: android.app.Fragment): void;
				/** @deprecated */
				public onFragmentPaused(fm: android.app.FragmentManager, f: android.app.Fragment): void;
				/** @deprecated */
				public onFragmentPreAttached(fm: android.app.FragmentManager, f: android.app.Fragment, context: android.content.Context): void;
				/** @deprecated */
				public onFragmentDestroyed(fm: android.app.FragmentManager, f: android.app.Fragment): void;
				/** @deprecated */
				public onFragmentViewCreated(fm: android.app.FragmentManager, f: android.app.Fragment, v: android.view.View, savedInstanceState: android.os.Bundle): void;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public onFragmentStarted(fm: android.app.FragmentManager, f: android.app.Fragment): void;
				/** @deprecated */
				public onFragmentSaveInstanceState(fm: android.app.FragmentManager, f: android.app.Fragment, outState: android.os.Bundle): void;
				/** @deprecated */
				public onFragmentCreated(fm: android.app.FragmentManager, f: android.app.Fragment, savedInstanceState: android.os.Bundle): void;
				/** @deprecated */
				public onFragmentDetached(fm: android.app.FragmentManager, f: android.app.Fragment): void;
				/** @deprecated */
				public onFragmentAttached(fm: android.app.FragmentManager, f: android.app.Fragment, context: android.content.Context): void;
				/** @deprecated */
				public onFragmentPreCreated(fm: android.app.FragmentManager, f: android.app.Fragment, savedInstanceState: 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();
				/** @deprecated */
				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: 4096;
			public static TRANSIT_EXIT_MASK: 8192;
			public static TRANSIT_FRAGMENT_CLOSE: 8194;
			public static TRANSIT_FRAGMENT_FADE: 4099;
			public static TRANSIT_FRAGMENT_OPEN: 4097;
			public static TRANSIT_NONE: 0;
			public static TRANSIT_UNSET: -1;
			/** @deprecated */
			public add(param0: number, param1: android.app.Fragment, param2: string): android.app.FragmentTransaction;
			/** @deprecated */
			public setBreadCrumbShortTitle(param0: number): android.app.FragmentTransaction;
			/** @deprecated */
			public setBreadCrumbTitle(param0: number): android.app.FragmentTransaction;
			/** @deprecated */
			public commitAllowingStateLoss(): number;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public replace(param0: number, param1: android.app.Fragment): android.app.FragmentTransaction;
			/** @deprecated */
			public addToBackStack(param0: string): android.app.FragmentTransaction;
			/** @deprecated */
			public isAddToBackStackAllowed(): boolean;
			/** @deprecated */
			public detach(param0: android.app.Fragment): android.app.FragmentTransaction;
			/** @deprecated */
			public commit(): number;
			/** @deprecated */
			public commitNow(): void;
			/** @deprecated */
			public setCustomAnimations(param0: number, param1: number): android.app.FragmentTransaction;
			/** @deprecated */
			public attach(param0: android.app.Fragment): android.app.FragmentTransaction;
			/** @deprecated */
			public setTransitionStyle(param0: number): android.app.FragmentTransaction;
			/** @deprecated */
			public setReorderingAllowed(param0: boolean): android.app.FragmentTransaction;
			/** @deprecated */
			public setTransition(param0: number): android.app.FragmentTransaction;
			/** @deprecated */
			public setCustomAnimations(param0: number, param1: number, param2: number, param3: number): android.app.FragmentTransaction;
			/** @deprecated */
			public remove(param0: android.app.Fragment): android.app.FragmentTransaction;
			/** @deprecated */
			public add(param0: number, param1: android.app.Fragment): android.app.FragmentTransaction;
			/** @deprecated */
			public disallowAddToBackStack(): android.app.FragmentTransaction;
			/** @deprecated */
			public show(param0: android.app.Fragment): android.app.FragmentTransaction;
			/** @deprecated */
			public setPrimaryNavigationFragment(param0: android.app.Fragment): android.app.FragmentTransaction;
			/** @deprecated */
			public hide(param0: android.app.Fragment): android.app.FragmentTransaction;
			/** @deprecated */
			public addSharedElement(param0: android.view.View, param1: string): android.app.FragmentTransaction;
			/** @deprecated */
			public commitNowAllowingStateLoss(): void;
			/** @deprecated */
			public runOnCommit(param0: java.lang.Runnable): android.app.FragmentTransaction;
			/** @deprecated */
			public add(param0: android.app.Fragment, param1: string): android.app.FragmentTransaction;
			/** @deprecated */
			public replace(param0: number, param1: android.app.Fragment, param2: string): android.app.FragmentTransaction;
			/** @deprecated */
			public setBreadCrumbShortTitle(param0: string): android.app.FragmentTransaction;
			/** @deprecated */
			public isEmpty(): boolean;
			/** @deprecated */
			public setBreadCrumbTitle(param0: string): android.app.FragmentTransaction;
		}
	}
}

declare module android {
	export module app {
		export class GameManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.GameManager>;
			public static GAME_MODE_BATTERY: 3;
			public static GAME_MODE_CUSTOM: 4;
			public static GAME_MODE_PERFORMANCE: 2;
			public static GAME_MODE_STANDARD: 1;
			public static GAME_MODE_UNSUPPORTED: 0;
			public getGameMode(): number;
			public setGameState(gameState: android.app.GameState): void;
		}
	}
}

declare module android {
	export module app {
		export class GameState extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.GameState>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.GameState>;
			public static MODE_CONTENT: 4;
			public static MODE_GAMEPLAY_INTERRUPTIBLE: 2;
			public static MODE_GAMEPLAY_UNINTERRUPTIBLE: 3;
			public static MODE_NONE: 1;
			public static MODE_UNKNOWN: 0;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMode(): number;
			public constructor(isLoading: boolean, mode: number);
			public constructor(isLoading: boolean, mode: number, label: number, quality: number);
			public isLoading(): boolean;
			public getLabel(): number;
			public getQuality(): number;
		}
	}
}

declare module android {
	export module app {
		export class GrammaticalInflectionManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.GrammaticalInflectionManager>;
			public getApplicationGrammaticalGender(): number;
			public getSystemGrammaticalGender(): number;
			public setRequestedApplicationGrammaticalGender(grammaticalGender: number): void;
		}
	}
}

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: "id";
			public static REPORT_KEY_STREAMRESULT: "stream";
			public callActivityOnResume(activity: android.app.Activity): void;
			public onStart(): void;
			public sendCharacterSync(keyCode: number): void;
			public callActivityOnDestroy(activity: android.app.Activity): void;
			public getUiAutomation(): android.app.UiAutomation;
			public getTargetContext(): android.content.Context;
			public callApplicationOnCreate(app: android.app.Application): void;
			public callActivityOnPostCreate(activity: android.app.Activity, savedInstanceState: android.os.Bundle, persistentState: any): void;
			public sendStatus(resultCode: number, results: android.os.Bundle): void;
			public getProcessName(): string;
			public getComponentName(): android.content.ComponentName;
			public callActivityOnRestoreInstanceState(activity: android.app.Activity, savedInstanceState: android.os.Bundle, persistentState: any): void;
			public resetInTouchMode(): void;
			public callActivityOnPause(activity: android.app.Activity): void;
			public getContext(): android.content.Context;
			public invokeContextMenuAction(targetActivity: android.app.Activity, id: number, flag: number): boolean;
			public start(): void;
			/** @deprecated */
			public startAllocCounting(): void;
			public startActivitySync(intent: android.content.Intent): android.app.Activity;
			public finish(resultCode: number, results: android.os.Bundle): void;
			public newActivity(cl: java.lang.ClassLoader, className: string, intent: android.content.Intent): android.app.Activity;
			public getBinderCounts(): android.os.Bundle;
			public waitForIdle(recipient: java.lang.Runnable): void;
			public waitForMonitorWithTimeout(monitor: android.app.Instrumentation.ActivityMonitor, timeOut: number): android.app.Activity;
			public waitForMonitor(monitor: android.app.Instrumentation.ActivityMonitor): android.app.Activity;
			public newApplication(cl: java.lang.ClassLoader, className: string, context: android.content.Context): android.app.Application;
			public sendTrackballEventSync(event: android.view.MotionEvent): void;
			public newActivity(clazz: java.lang.Class<any>, context: android.content.Context, token: android.os.IBinder, application: android.app.Application, intent: android.content.Intent, info: android.content.pm.ActivityInfo, title: string, parent: android.app.Activity, id: string, lastNonConfigurationInstance: any): android.app.Activity;
			public getAllocCounts(): android.os.Bundle;
			public callActivityOnNewIntent(activity: android.app.Activity, intent: android.content.Intent): void;
			public constructor();
			public removeMonitor(monitor: android.app.Instrumentation.ActivityMonitor): void;
			public startActivitySync(intent: android.content.Intent, options: android.os.Bundle): android.app.Activity;
			public callActivityOnRestoreInstanceState(activity: android.app.Activity, savedInstanceState: android.os.Bundle): void;
			public static newApplication(clazz: java.lang.Class<any>, context: android.content.Context): android.app.Application;
			public stopProfiling(): void;
			public addMonitor(cls: string, result: android.app.Instrumentation.ActivityResult, block: boolean): android.app.Instrumentation.ActivityMonitor;
			public setAutomaticPerformanceSnapshots(): void;
			public acquireLooperManager(looper: android.os.Looper): android.os.TestLooperManager;
			public startProfiling(): void;
			public sendStringSync(text: string): void;
			/** @deprecated */
			public stopAllocCounting(): void;
			public onDestroy(): void;
			public addResults(results: android.os.Bundle): void;
			public callActivityOnStart(activity: android.app.Activity): void;
			public invokeMenuActionSync(targetActivity: android.app.Activity, id: number, flag: number): boolean;
			public waitForIdleSync(): void;
			public checkMonitorHit(monitor: android.app.Instrumentation.ActivityMonitor, minHits: number): boolean;
			public callActivityOnPictureInPictureRequested(activity: android.app.Activity): void;
			public onCreate(arguments_: android.os.Bundle): void;
			public startPerformanceSnapshot(): void;
			public callActivityOnPostCreate(activity: android.app.Activity, savedInstanceState: android.os.Bundle): void;
			public sendPointerSync(event: android.view.MotionEvent): void;
			public callActivityOnCreate(activity: android.app.Activity, icicle: android.os.Bundle, persistentState: any): void;
			public callActivityOnUserLeaving(activity: android.app.Activity): void;
			public onException(obj: any, e: java.lang.Throwable): boolean;
			public callActivityOnSaveInstanceState(activity: android.app.Activity, outState: android.os.Bundle, outPersistentState: any): void;
			public callActivityOnSaveInstanceState(activity: android.app.Activity, outState: android.os.Bundle): void;
			public callActivityOnCreate(activity: android.app.Activity, icicle: android.os.Bundle): void;
			public callActivityOnRestart(activity: android.app.Activity): void;
			public addMonitor(filter: android.content.IntentFilter, result: android.app.Instrumentation.ActivityResult, block: boolean): android.app.Instrumentation.ActivityMonitor;
			public isProfiling(): boolean;
			public sendKeyDownUpSync(keyCode: number): void;
			public runOnMainSync(runner: java.lang.Runnable): void;
			public callActivityOnStop(activity: android.app.Activity): void;
			public getUiAutomation(flags: number): android.app.UiAutomation;
			public sendKeySync(event: android.view.KeyEvent): void;
			public setInTouchMode(inTouch: boolean): void;
			public endPerformanceSnapshot(): void;
			public callActivityOnNewIntent(activity: android.app.Activity, intent: android.content.Intent, caller: android.app.ComponentCaller): void;
			public addMonitor(monitor: android.app.Instrumentation.ActivityMonitor): void;
		}
		export module Instrumentation {
			export class ActivityMonitor extends java.lang.Object {
				public static class: java.lang.Class<android.app.Instrumentation.ActivityMonitor>;
				public constructor(cls: string, result: android.app.Instrumentation.ActivityResult, block: boolean);
				public waitForActivity(): android.app.Activity;
				public onStartActivity(intent: android.content.Intent): android.app.Instrumentation.ActivityResult;
				public constructor(which: android.content.IntentFilter, result: android.app.Instrumentation.ActivityResult, block: boolean);
				public getResult(): android.app.Instrumentation.ActivityResult;
				public isBlocking(): boolean;
				public getLastActivity(): android.app.Activity;
				public waitForActivityWithTimeout(timeOut: number): android.app.Activity;
				public getHits(): number;
				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(resultCode: number, resultData: 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>;
			/** @deprecated */
			public onStart(intent: android.content.Intent, startId: number): void;
			/** @deprecated */
			public onHandleIntent(param0: android.content.Intent): void;
			/** @deprecated */
			public constructor(name: string);
			public onTrimMemory(param0: number): void;
			/** @deprecated */
			public setIntentRedelivery(enabled: boolean): void;
			/** @deprecated */
			public onStartCommand(intent: android.content.Intent, flags: number, startId: number): number;
			public constructor();
			/** @deprecated */
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public constructor(base: android.content.Context);
			/** @deprecated */
			public onCreate(): void;
			/** @deprecated */
			public onDestroy(): void;
		}
	}
}

declare module android {
	export module app {
		export class InvalidForegroundServiceTypeException extends android.app.ForegroundServiceTypeException implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.InvalidForegroundServiceTypeException>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.InvalidForegroundServiceTypeException>;
			public constructor(message: string);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module app {
		export class KeyguardManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.KeyguardManager>;
			public isKeyguardSecure(): boolean;
			/** @deprecated */
			public createConfirmDeviceCredentialIntent(title: string, description: string): android.content.Intent;
			public isDeviceLocked(): boolean;
			public requestDismissKeyguard(activity: android.app.Activity, callback: android.app.KeyguardManager.KeyguardDismissCallback): void;
			public addKeyguardLockedStateListener(executor: java.util.concurrent.Executor, listener: android.app.KeyguardManager.KeyguardLockedStateListener): void;
			/** @deprecated */
			public newKeyguardLock(tag: string): android.app.KeyguardManager.KeyguardLock;
			/** @deprecated */
			public exitKeyguardSecurely(callback: android.app.KeyguardManager.OnKeyguardExitResult): void;
			public isKeyguardLocked(): boolean;
			/** @deprecated */
			public inKeyguardRestrictedInputMode(): boolean;
			public isDeviceSecure(): boolean;
			public removeKeyguardLockedStateListener(listener: android.app.KeyguardManager.KeyguardLockedStateListener): void;
		}
		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>;
				/** @deprecated */
				public reenableKeyguard(): void;
				/** @deprecated */
				public disableKeyguard(): void;
			}
			export class KeyguardLockedStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.KeyguardManager.KeyguardLockedStateListener>;
				/**
				 * Constructs a new instance of the android.app.KeyguardManager$KeyguardLockedStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onKeyguardLockedStateChanged(param0: boolean): void;
				});
				public constructor();
				public onKeyguardLockedStateChanged(param0: boolean): 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();
				/** @deprecated */
				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 onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			/** @deprecated */
			public intentForPosition(position: number): android.content.Intent;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public constructor();
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreatePanelView(param0: number): android.view.View;
			/** @deprecated */
			public onSetContentView(): void;
			/** @deprecated */
			public onListItemClick(l: android.widget.ListView, v: android.view.View, position: number, id: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public onQueryPackageManager(queryIntent: android.content.Intent): java.util.List<android.content.pm.ResolveInfo>;
			public onDetachedFromWindow(): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			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 onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			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 onPanelClosed(param0: number, param1: android.view.Menu): void;
			/** @deprecated */
			public setTitle(title: string): void;
			/** @deprecated */
			public getTargetIntent(): android.content.Intent;
			/** @deprecated */
			public setTitle(titleId: number): void;
			/** @deprecated */
			public itemForPosition(position: number): android.app.LauncherActivity.ListItem;
			public onTrimMemory(param0: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public onActionModeStarted(param0: android.view.ActionMode): void;
			/** @deprecated */
			public onCreate(icicle: android.os.Bundle): 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 setTitle(titleId: number): void;
			public onSearchRequested(param0: any): boolean;
			/** @deprecated */
			public makeListItems(): java.util.List<android.app.LauncherActivity.ListItem>;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public constructor(base: android.content.Context);
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
		export module LauncherActivity {
			export class IconResizer extends java.lang.Object {
				public static class: java.lang.Class<android.app.LauncherActivity.IconResizer>;
				/** @deprecated */
				public createIconThumbnail(icon: android.graphics.drawable.Drawable): android.graphics.drawable.Drawable;
				/** @deprecated */
				public constructor(this$0: android.app.LauncherActivity);
			}
			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;
				/** @deprecated */
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export class ListActivity extends android.app.Activity {
			public static class: java.lang.Class<android.app.ListActivity>;
			/** @deprecated */
			public getSelectedItemId(): number;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			/** @deprecated */
			public onDestroy(): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			/** @deprecated */
			public setSelection(position: number): void;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public constructor();
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public getListAdapter(): android.widget.ListAdapter;
			public onCreatePanelView(param0: number): android.view.View;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Bundle): void;
			/** @deprecated */
			public onListItemClick(l: android.widget.ListView, v: android.view.View, position: number, id: number): void;
			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;
			/** @deprecated */
			public getSelectedItemPosition(): number;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public setListAdapter(adapter: android.widget.ListAdapter): void;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public onContentChanged(): void;
			/** @deprecated */
			public getListView(): android.widget.ListView;
			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 onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onTrimMemory(param0: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			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;
			/** @deprecated */
			public onContentChanged(): void;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public constructor(base: android.content.Context);
			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>;
			/** @deprecated */
			public getSelectedItemId(): number;
			/** @deprecated */
			public getListView(): android.widget.ListView;
			/** @deprecated */
			public setListShownNoAnimation(shown: boolean): void;
			/** @deprecated */
			public onViewCreated(view: android.view.View, savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public getSelectedItemPosition(): number;
			/** @deprecated */
			public onCreateView(inflater: android.view.LayoutInflater, container: android.view.ViewGroup, savedInstanceState: android.os.Bundle): android.view.View;
			/** @deprecated */
			public onDestroyView(): void;
			/** @deprecated */
			public setSelection(position: number): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			/** @deprecated */
			public constructor();
			public onTrimMemory(param0: number): void;
			/** @deprecated */
			public setListAdapter(adapter: android.widget.ListAdapter): void;
			/** @deprecated */
			public getListAdapter(): android.widget.ListAdapter;
			/** @deprecated */
			public setListShown(shown: boolean): void;
			/** @deprecated */
			public setEmptyText(text: string): void;
			/** @deprecated */
			public onListItemClick(l: android.widget.ListView, v: android.view.View, position: number, id: number): void;
		}
	}
}

declare module android {
	export module app {
		export abstract class LoaderManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.LoaderManager>;
			/** @deprecated */
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: androidNative.Array<string>): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public getLoader(param0: number): android.content.Loader<any>;
			/** @deprecated */
			public static enableDebugLogging(enabled: boolean): void;
			/** @deprecated */
			public initLoader(param0: number, param1: android.os.Bundle, param2: android.app.LoaderManager.LoaderCallbacks<any>): android.content.Loader<any>;
			/** @deprecated */
			public restartLoader(param0: number, param1: android.os.Bundle, param2: android.app.LoaderManager.LoaderCallbacks<any>): android.content.Loader<any>;
			/** @deprecated */
			public destroyLoader(param0: number): 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();
				/** @deprecated */
				public onLoadFinished(param0: android.content.Loader<D>, param1: D): void;
				/** @deprecated */
				public onLoaderReset(param0: android.content.Loader<D>): void;
				/** @deprecated */
				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>;
			/** @deprecated */
			public dispatchCreate(state: android.os.Bundle): void;
			/** @deprecated */
			public constructor(parent: android.app.Activity, singleMode: boolean);
			/** @deprecated */
			public saveInstanceState(): android.os.Bundle;
			/** @deprecated */
			public getCurrentId(): string;
			/** @deprecated */
			public dispatchResume(): void;
			/** @deprecated */
			public removeAllActivities(): void;
			/** @deprecated */
			public destroyActivity(id: string, finish: boolean): android.view.Window;
			/** @deprecated */
			public getCurrentActivity(): android.app.Activity;
			/** @deprecated */
			public dispatchStop(): void;
			/** @deprecated */
			public dispatchDestroy(finishing: boolean): void;
			/** @deprecated */
			public startActivity(id: string, intent: android.content.Intent): android.view.Window;
			/** @deprecated */
			public dispatchPause(finishing: boolean): void;
			/** @deprecated */
			public getActivity(id: string): android.app.Activity;
		}
	}
}

declare module android {
	export module app {
		export class LocaleConfig extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.LocaleConfig>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.LocaleConfig>;
			public static STATUS_NOT_SPECIFIED: 1;
			public static STATUS_PARSING_FAILED: 2;
			public static STATUS_SUCCESS: 0;
			public static TAG_LOCALE: "locale";
			public static TAG_LOCALE_CONFIG: "locale-config";
			public constructor(context: android.content.Context);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public static fromContextIgnoringOverride(context: android.content.Context): android.app.LocaleConfig;
			public describeContents(): number;
			public constructor(locales: any);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSupportedLocales(): any;
			public getDefaultLocale(): java.util.Locale;
			public getStatus(): number;
		}
	}
}

declare module android {
	export module app {
		export class LocaleManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.LocaleManager>;
			public getSystemLocales(): any;
			public setApplicationLocales(locales: any): void;
			public getApplicationLocales(appPackageName: string): any;
			public getOverrideLocaleConfig(): android.app.LocaleConfig;
			public setOverrideLocaleConfig(localeConfig: android.app.LocaleConfig): void;
			public getApplicationLocales(): any;
		}
	}
}

declare module android {
	export module app {
		export class MediaRouteActionProvider extends android.view.ActionProvider {
			public static class: java.lang.Class<android.app.MediaRouteActionProvider>;
			public constructor(context: android.content.Context);
			public setExtendedSettingsClickListener(listener: android.view.View.OnClickListener): void;
			public onCreateActionView(item: android.view.MenuItem): android.view.View;
			public onCreateActionView(): android.view.View;
			public onPerformDefaultAction(): boolean;
			public overridesItemVisibility(): boolean;
			public onCreateActionView(forItem: android.view.MenuItem): android.view.View;
			public isVisible(): boolean;
			public setRouteTypes(types: number): void;
		}
	}
}

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 getRouteTypes(): number;
			public onDraw(canvas: android.graphics.Canvas): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public setContentDescription(contentDescription: string): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public jumpDrawablesToCurrentState(): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public setExtendedSettingsClickListener(listener: android.view.View.OnClickListener): void;
			public onCreateDrawableState(extraSpace: number): androidNative.Array<number>;
			public setRouteTypes(types: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public verifyDrawable(who: android.graphics.drawable.Drawable): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public performClick(): boolean;
			public onAttachedToWindow(): void;
			public setVisibility(visibility: number): void;
			public showDialog(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

declare module android {
	export module app {
		export class MissingForegroundServiceTypeException extends android.app.ForegroundServiceTypeException implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.MissingForegroundServiceTypeException>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.MissingForegroundServiceTypeException>;
			public constructor(message: string);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: "android.app.func_name";
			public static META_DATA_LIB_NAME: "android.app.lib_name";
			public onStart(): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public surfaceDestroyed(param0: android.view.SurfaceHolder): void;
			public onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public surfaceRedrawNeededAsync(holder: android.view.SurfaceHolder, drawingFinished: java.lang.Runnable): void;
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			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 surfaceRedrawNeeded(holder: android.view.SurfaceHolder): void;
			public onResume(): void;
			public surfaceChanged(holder: android.view.SurfaceHolder, format: number, width: number, height: number): void;
			public constructor();
			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 onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public onContentChanged(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onInputQueueDestroyed(queue: android.view.InputQueue): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onCreate(savedInstanceState: android.os.Bundle): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onDestroy(): void;
			public onSaveInstanceState(outState: android.os.Bundle): void;
			public onLowMemory(): 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(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public onPause(): void;
			public onWindowFocusChanged(hasFocus: boolean): void;
			public onInputQueueCreated(param0: android.view.InputQueue): void;
			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 onSaveInstanceState(outState: android.os.Bundle, outPersistentState: any): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public surfaceCreated(param0: android.view.SurfaceHolder): void;
			public onSearchRequested(param0: any): boolean;
			public surfaceDestroyed(holder: android.view.SurfaceHolder): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public onInputQueueCreated(queue: android.view.InputQueue): void;
			public onInputQueueDestroyed(param0: android.view.InputQueue): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public surfaceCreated(holder: android.view.SurfaceHolder): void;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public constructor(base: android.content.Context);
			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: 2;
			public static BADGE_ICON_NONE: 0;
			public static BADGE_ICON_SMALL: 1;
			public static CATEGORY_ALARM: "alarm";
			public static CATEGORY_CALL: "call";
			public static CATEGORY_EMAIL: "email";
			public static CATEGORY_ERROR: "err";
			public static CATEGORY_EVENT: "event";
			public static CATEGORY_LOCATION_SHARING: "location_sharing";
			public static CATEGORY_MESSAGE: "msg";
			public static CATEGORY_MISSED_CALL: "missed_call";
			public static CATEGORY_NAVIGATION: "navigation";
			public static CATEGORY_PROGRESS: "progress";
			public static CATEGORY_PROMO: "promo";
			public static CATEGORY_RECOMMENDATION: "recommendation";
			public static CATEGORY_REMINDER: "reminder";
			public static CATEGORY_SERVICE: "service";
			public static CATEGORY_SOCIAL: "social";
			public static CATEGORY_STATUS: "status";
			public static CATEGORY_STOPWATCH: "stopwatch";
			public static CATEGORY_SYSTEM: "sys";
			public static CATEGORY_TRANSPORT: "transport";
			public static CATEGORY_VOICEMAIL: "voicemail";
			public static CATEGORY_WORKOUT: "workout";
			public static COLOR_DEFAULT: 0;
			public static CREATOR: android.os.Parcelable.Creator<android.app.Notification>;
			public static DEFAULT_ALL: -1;
			public static DEFAULT_LIGHTS: 4;
			public static DEFAULT_SOUND: 1;
			public static DEFAULT_VIBRATE: 2;
			public static EXTRA_ANSWER_COLOR: "android.answerColor";
			public static EXTRA_ANSWER_INTENT: "android.answerIntent";
			public static EXTRA_AUDIO_CONTENTS_URI: "android.audioContents";
			public static EXTRA_BACKGROUND_IMAGE_URI: "android.backgroundImageUri";
			public static EXTRA_BIG_TEXT: "android.bigText";
			public static EXTRA_CALL_IS_VIDEO: "android.callIsVideo";
			public static EXTRA_CALL_PERSON: "android.callPerson";
			public static EXTRA_CALL_TYPE: "android.callType";
			public static EXTRA_CHANNEL_GROUP_ID: "android.intent.extra.CHANNEL_GROUP_ID";
			public static EXTRA_CHANNEL_ID: "android.intent.extra.CHANNEL_ID";
			public static EXTRA_CHRONOMETER_COUNT_DOWN: "android.chronometerCountDown";
			public static EXTRA_COLORIZED: "android.colorized";
			public static EXTRA_COMPACT_ACTIONS: "android.compactActions";
			public static EXTRA_CONVERSATION_TITLE: "android.conversationTitle";
			public static EXTRA_DECLINE_COLOR: "android.declineColor";
			public static EXTRA_DECLINE_INTENT: "android.declineIntent";
			public static EXTRA_HANG_UP_INTENT: "android.hangUpIntent";
			public static EXTRA_HISTORIC_MESSAGES: "android.messages.historic";
			public static EXTRA_INFO_TEXT: "android.infoText";
			public static EXTRA_IS_GROUP_CONVERSATION: "android.isGroupConversation";
			public static EXTRA_LARGE_ICON: "android.largeIcon";
			public static EXTRA_LARGE_ICON_BIG: "android.largeIcon.big";
			public static EXTRA_MEDIA_SESSION: "android.mediaSession";
			public static EXTRA_MESSAGES: "android.messages";
			public static EXTRA_MESSAGING_PERSON: "android.messagingUser";
			public static EXTRA_NOTIFICATION_ID: "android.intent.extra.NOTIFICATION_ID";
			public static EXTRA_NOTIFICATION_TAG: "android.intent.extra.NOTIFICATION_TAG";
			public static EXTRA_PEOPLE: "android.people";
			public static EXTRA_PEOPLE_LIST: "android.people.list";
			public static EXTRA_PICTURE: "android.picture";
			public static EXTRA_PICTURE_CONTENT_DESCRIPTION: "android.pictureContentDescription";
			public static EXTRA_PICTURE_ICON: "android.pictureIcon";
			public static EXTRA_PROGRESS: "android.progress";
			public static EXTRA_PROGRESS_INDETERMINATE: "android.progressIndeterminate";
			public static EXTRA_PROGRESS_MAX: "android.progressMax";
			public static EXTRA_REMOTE_INPUT_DRAFT: "android.remoteInputDraft";
			public static EXTRA_REMOTE_INPUT_HISTORY: "android.remoteInputHistory";
			public static EXTRA_SELF_DISPLAY_NAME: "android.selfDisplayName";
			public static EXTRA_SHOW_BIG_PICTURE_WHEN_COLLAPSED: "android.showBigPictureWhenCollapsed";
			public static EXTRA_SHOW_CHRONOMETER: "android.showChronometer";
			public static EXTRA_SHOW_WHEN: "android.showWhen";
			public static EXTRA_SMALL_ICON: "android.icon";
			public static EXTRA_SUB_TEXT: "android.subText";
			public static EXTRA_SUMMARY_TEXT: "android.summaryText";
			public static EXTRA_TEMPLATE: "android.template";
			public static EXTRA_TEXT: "android.text";
			public static EXTRA_TEXT_LINES: "android.textLines";
			public static EXTRA_TITLE: "android.title";
			public static EXTRA_TITLE_BIG: "android.title.big";
			public static EXTRA_VERIFICATION_ICON: "android.verificationIcon";
			public static EXTRA_VERIFICATION_TEXT: "android.verificationText";
			public static FLAG_AUTO_CANCEL: 16;
			public static FLAG_BUBBLE: 4096;
			public static FLAG_FOREGROUND_SERVICE: 64;
			public static FLAG_GROUP_SUMMARY: 512;
			public static FLAG_HIGH_PRIORITY: 128;
			public static FLAG_INSISTENT: 4;
			public static FLAG_LOCAL_ONLY: 256;
			public static FLAG_NO_CLEAR: 32;
			public static FLAG_ONGOING_EVENT: 2;
			public static FLAG_ONLY_ALERT_ONCE: 8;
			public static FLAG_SHOW_LIGHTS: 1;
			public static FOREGROUND_SERVICE_DEFAULT: 0;
			public static FOREGROUND_SERVICE_DEFERRED: 2;
			public static FOREGROUND_SERVICE_IMMEDIATE: 1;
			public static GROUP_ALERT_ALL: 0;
			public static GROUP_ALERT_CHILDREN: 2;
			public static GROUP_ALERT_SUMMARY: 1;
			public static INTENT_CATEGORY_NOTIFICATION_PREFERENCES: "android.intent.category.NOTIFICATION_PREFERENCES";
			public static PRIORITY_DEFAULT: 0;
			public static PRIORITY_HIGH: 1;
			public static PRIORITY_LOW: -1;
			public static PRIORITY_MAX: 2;
			public static PRIORITY_MIN: -2;
			public static STREAM_DEFAULT: -1;
			public static VISIBILITY_PRIVATE: 0;
			public static VISIBILITY_PUBLIC: 1;
			public static VISIBILITY_SECRET: -1;
			public actions: androidNative.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: androidNative.Array<number>;
			public visibility: number;
			public when: number;
			public findRemoteInputActionPair(requiresFreeform: boolean): android.util.Pair<android.app.RemoteInput,android.app.Notification.Action>;
			public getChannelId(): string;
			public getBadgeIconType(): number;
			public getSmallIcon(): any;
			public hasImage(): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getTimeoutAfter(): number;
			public getSortKey(): string;
			public constructor(parcel: android.os.Parcel);
			/** @deprecated */
			public constructor(icon: number, tickerText: string, when: number);
			public getLargeIcon(): any;
			public getContextualActions(): java.util.List<android.app.Notification.Action>;
			public getGroup(): string;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public getShortcutId(): string;
			public getAllowSystemGeneratedContextualActions(): boolean;
			public constructor();
			public getBubbleMetadata(): android.app.Notification.BubbleMetadata;
			public getLocusId(): android.content.LocusId;
			public clone(): android.app.Notification;
			public clone(): any;
			public toString(): string;
			public describeContents(): number;
			public getSettingsText(): string;
			public getGroupAlertBehavior(): number;
		}
		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: 5;
				public static SEMANTIC_ACTION_CALL: 10;
				public static SEMANTIC_ACTION_DELETE: 4;
				public static SEMANTIC_ACTION_MARK_AS_READ: 2;
				public static SEMANTIC_ACTION_MARK_AS_UNREAD: 3;
				public static SEMANTIC_ACTION_MUTE: 6;
				public static SEMANTIC_ACTION_NONE: 0;
				public static SEMANTIC_ACTION_REPLY: 1;
				public static SEMANTIC_ACTION_THUMBS_DOWN: 9;
				public static SEMANTIC_ACTION_THUMBS_UP: 8;
				public static SEMANTIC_ACTION_UNMUTE: 7;
				public actionIntent: android.app.PendingIntent;
				public icon: number;
				public title: string;
				/** @deprecated */
				public constructor(icon: number, title: string, intent: android.app.PendingIntent);
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public isAuthenticationRequired(): boolean;
				public getAllowGeneratedReplies(): boolean;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public isContextual(): boolean;
				public clone(): android.app.Notification.Action;
				public getDataOnlyRemoteInputs(): androidNative.Array<android.app.RemoteInput>;
				public clone(): any;
				public describeContents(): number;
				public getExtras(): android.os.Bundle;
				public getSemanticAction(): number;
				public getRemoteInputs(): androidNative.Array<android.app.RemoteInput>;
			}
			export module Action {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.Notification.Action.Builder>;
					public extend(extender: android.app.Notification.Action.Extender): android.app.Notification.Action.Builder;
					public build(): android.app.Notification.Action;
					public setContextual(isContextual: boolean): android.app.Notification.Action.Builder;
					public addRemoteInput(remoteInput: android.app.RemoteInput): android.app.Notification.Action.Builder;
					public setAuthenticationRequired(authenticationRequired: boolean): android.app.Notification.Action.Builder;
					/** @deprecated */
					public constructor(icon: number, title: string, intent: android.app.PendingIntent);
					public addExtras(extras: android.os.Bundle): android.app.Notification.Action.Builder;
					public getExtras(): android.os.Bundle;
					public setAllowGeneratedReplies(allowGeneratedReplies: boolean): android.app.Notification.Action.Builder;
					public constructor(icon: any, title: string, intent: android.app.PendingIntent);
					public constructor(action: android.app.Notification.Action);
					public setSemanticAction(semanticAction: number): 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>;
					/** @deprecated */
					public getCancelLabel(): string;
					public getHintLaunchesActivity(): boolean;
					/** @deprecated */
					public setCancelLabel(label: string): android.app.Notification.Action.WearableExtender;
					public setHintLaunchesActivity(hintLaunchesActivity: boolean): android.app.Notification.Action.WearableExtender;
					public isAvailableOffline(): boolean;
					public constructor(action: android.app.Notification.Action);
					/** @deprecated */
					public setInProgressLabel(label: string): android.app.Notification.Action.WearableExtender;
					public extend(param0: android.app.Notification.Action.Builder): android.app.Notification.Action.Builder;
					public setHintDisplayActionInline(hintDisplayInline: boolean): android.app.Notification.Action.WearableExtender;
					public clone(): any;
					/** @deprecated */
					public setConfirmLabel(label: string): android.app.Notification.Action.WearableExtender;
					public constructor();
					public extend(builder: android.app.Notification.Action.Builder): android.app.Notification.Action.Builder;
					public clone(): android.app.Notification.Action.WearableExtender;
					/** @deprecated */
					public getConfirmLabel(): string;
					/** @deprecated */
					public getInProgressLabel(): string;
					public setAvailableOffline(availableOffline: boolean): android.app.Notification.Action.WearableExtender;
					public getHintDisplayActionInline(): boolean;
				}
			}
			export class BigPictureStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.BigPictureStyle>;
				public bigPicture(icon: any): android.app.Notification.BigPictureStyle;
				public bigPicture(b: android.graphics.Bitmap): android.app.Notification.BigPictureStyle;
				public bigLargeIcon(b: android.graphics.Bitmap): android.app.Notification.BigPictureStyle;
				public setBigContentTitle(title: string): android.app.Notification.BigPictureStyle;
				public showBigPictureWhenCollapsed(show: boolean): android.app.Notification.BigPictureStyle;
				public setContentDescription(contentDescription: string): android.app.Notification.BigPictureStyle;
				public setSummaryText(cs: string): android.app.Notification.BigPictureStyle;
				/** @deprecated */
				public constructor(builder: android.app.Notification.Builder);
				public bigLargeIcon(icon: any): android.app.Notification.BigPictureStyle;
				public constructor();
			}
			export class BigTextStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.BigTextStyle>;
				public setSummaryText(cs: string): android.app.Notification.BigTextStyle;
				public setBigContentTitle(title: string): android.app.Notification.BigTextStyle;
				public bigText(cs: string): android.app.Notification.BigTextStyle;
				/** @deprecated */
				public constructor(builder: android.app.Notification.Builder);
				public constructor();
			}
			export class BubbleMetadata extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.Notification.BubbleMetadata>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.Notification.BubbleMetadata>;
				public getDesiredHeight(): number;
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDesiredHeightResId(): number;
				public isBubbleSuppressable(): boolean;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getDeleteIntent(): android.app.PendingIntent;
				public getAutoExpandBubble(): boolean;
				public getIntent(): android.app.PendingIntent;
				public describeContents(): number;
				public isBubbleSuppressed(): boolean;
				public isNotificationSuppressed(): boolean;
				public getShortcutId(): string;
			}
			export module BubbleMetadata {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.Notification.BubbleMetadata.Builder>;
					public setDesiredHeight(height: number): android.app.Notification.BubbleMetadata.Builder;
					public setAutoExpandBubble(shouldExpand: boolean): android.app.Notification.BubbleMetadata.Builder;
					public setIcon(icon: any): android.app.Notification.BubbleMetadata.Builder;
					/** @deprecated */
					public constructor();
					public setSuppressableBubble(suppressBubble: boolean): android.app.Notification.BubbleMetadata.Builder;
					public build(): android.app.Notification.BubbleMetadata;
					public constructor(shortcutId: string);
					public setIntent(intent: android.app.PendingIntent): android.app.Notification.BubbleMetadata.Builder;
					public setSuppressNotification(shouldSuppressNotif: boolean): android.app.Notification.BubbleMetadata.Builder;
					public setDeleteIntent(deleteIntent: android.app.PendingIntent): android.app.Notification.BubbleMetadata.Builder;
					public setDesiredHeightResId(heightResId: number): android.app.Notification.BubbleMetadata.Builder;
					public constructor(intent: android.app.PendingIntent, icon: any);
				}
			}
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.Notification.Builder>;
				public setCustomContentView(contentView: android.widget.RemoteViews): android.app.Notification.Builder;
				public setGroupAlertBehavior(groupAlertBehavior: number): android.app.Notification.Builder;
				public setCustomHeadsUpContentView(contentView: android.widget.RemoteViews): android.app.Notification.Builder;
				public setAutoCancel(autoCancel: boolean): android.app.Notification.Builder;
				public getStyle(): android.app.Notification.Style;
				public static recoverBuilder(context: android.content.Context, n: android.app.Notification): android.app.Notification.Builder;
				public constructor(context: android.content.Context, channelId: string);
				public setTimeoutAfter(durationMs: number): android.app.Notification.Builder;
				/** @deprecated */
				public setSound(sound: android.net.Uri, audioAttributes: any): android.app.Notification.Builder;
				public setContentTitle(title: string): android.app.Notification.Builder;
				public setSmallIcon(icon: number, level: number): android.app.Notification.Builder;
				public setRemoteInputHistory(text: androidNative.Array<string>): android.app.Notification.Builder;
				public setOnlyAlertOnce(onlyAlertOnce: boolean): android.app.Notification.Builder;
				public setSortKey(sortKey: string): android.app.Notification.Builder;
				/** @deprecated */
				public addAction(icon: number, title: string, intent: android.app.PendingIntent): android.app.Notification.Builder;
				public setColorized(colorize: boolean): android.app.Notification.Builder;
				public getExtras(): android.os.Bundle;
				public setContentIntent(intent: android.app.PendingIntent): android.app.Notification.Builder;
				/** @deprecated */
				public setSound(sound: android.net.Uri): android.app.Notification.Builder;
				public setDeleteIntent(intent: android.app.PendingIntent): android.app.Notification.Builder;
				/** @deprecated */
				public setTicker(tickerText: string, views: android.widget.RemoteViews): android.app.Notification.Builder;
				/** @deprecated */
				public setContentInfo(info: string): android.app.Notification.Builder;
				public setActions(actions: androidNative.Array<android.app.Notification.Action>): android.app.Notification.Builder;
				public setWhen(when: number): android.app.Notification.Builder;
				/** @deprecated */
				public setSound(sound: android.net.Uri, streamType: number): android.app.Notification.Builder;
				/** @deprecated */
				public getNotification(): android.app.Notification;
				public setNumber(number: number): android.app.Notification.Builder;
				public setFlag(mask: number, value: boolean): android.app.Notification.Builder;
				public setGroup(groupKey: string): android.app.Notification.Builder;
				/** @deprecated */
				public setLights(argb: number, onMs: number, offMs: number): android.app.Notification.Builder;
				public setStyle(style: android.app.Notification.Style): android.app.Notification.Builder;
				public setOngoing(ongoing: boolean): android.app.Notification.Builder;
				/** @deprecated */
				public createContentView(): android.widget.RemoteViews;
				public setChronometerCountDown(countDown: boolean): android.app.Notification.Builder;
				/** @deprecated */
				public setContent(views: android.widget.RemoteViews): android.app.Notification.Builder;
				public setSmallIcon(icon: any): android.app.Notification.Builder;
				public setAllowSystemGeneratedContextualActions(allowed: boolean): android.app.Notification.Builder;
				public setGroupSummary(isGroupSummary: boolean): android.app.Notification.Builder;
				public setCustomBigContentView(contentView: android.widget.RemoteViews): android.app.Notification.Builder;
				public addExtras(extras: android.os.Bundle): android.app.Notification.Builder;
				public setUsesChronometer(b: boolean): android.app.Notification.Builder;
				public setLargeIcon(icon: any): android.app.Notification.Builder;
				public setForegroundServiceBehavior(behavior: number): android.app.Notification.Builder;
				public addPerson(person: any): android.app.Notification.Builder;
				public setShortcutId(shortcutId: string): android.app.Notification.Builder;
				public setCategory(category: string): android.app.Notification.Builder;
				public setSubText(text: string): android.app.Notification.Builder;
				public setChannelId(channelId: string): android.app.Notification.Builder;
				public setFullScreenIntent(intent: android.app.PendingIntent, highPriority: boolean): android.app.Notification.Builder;
				public setLargeIcon(b: android.graphics.Bitmap): android.app.Notification.Builder;
				public setBubbleMetadata(data: android.app.Notification.BubbleMetadata): android.app.Notification.Builder;
				public build(): android.app.Notification;
				/** @deprecated */
				public setVibrate(pattern: androidNative.Array<number>): android.app.Notification.Builder;
				/** @deprecated */
				public createBigContentView(): android.widget.RemoteViews;
				/** @deprecated */
				public createHeadsUpContentView(): android.widget.RemoteViews;
				public setColor(argb: number): android.app.Notification.Builder;
				public setVisibility(visibility: number): android.app.Notification.Builder;
				public extend(extender: android.app.Notification.Extender): android.app.Notification.Builder;
				public setSettingsText(text: string): android.app.Notification.Builder;
				public setTicker(tickerText: string): android.app.Notification.Builder;
				public setPublicVersion(n: android.app.Notification): android.app.Notification.Builder;
				/** @deprecated */
				public setDefaults(defaults: number): android.app.Notification.Builder;
				/** @deprecated */
				public addPerson(uri: string): android.app.Notification.Builder;
				/** @deprecated */
				public constructor(context: android.content.Context);
				public setExtras(extras: android.os.Bundle): android.app.Notification.Builder;
				public setLocusId(locusId: android.content.LocusId): android.app.Notification.Builder;
				public addAction(action: android.app.Notification.Action): android.app.Notification.Builder;
				public setShowWhen(show: boolean): android.app.Notification.Builder;
				public setBadgeIconType(icon: number): android.app.Notification.Builder;
				/** @deprecated */
				public setPriority(pri: number): android.app.Notification.Builder;
				public setContentText(text: string): android.app.Notification.Builder;
				public setSmallIcon(icon: number): android.app.Notification.Builder;
				public setProgress(max: number, progress: number, indeterminate: boolean): android.app.Notification.Builder;
				public setLocalOnly(localOnly: boolean): android.app.Notification.Builder;
			}
			export class CallStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.CallStyle>;
				public static CALL_TYPE_INCOMING: 1;
				public static CALL_TYPE_ONGOING: 2;
				public static CALL_TYPE_SCREENING: 3;
				public static CALL_TYPE_UNKNOWN: 0;
				public static forScreeningCall(person: any, hangUpIntent: android.app.PendingIntent, answerIntent: android.app.PendingIntent): android.app.Notification.CallStyle;
				public setIsVideo(isVideo: boolean): android.app.Notification.CallStyle;
				public static forIncomingCall(person: any, declineIntent: android.app.PendingIntent, answerIntent: android.app.PendingIntent): android.app.Notification.CallStyle;
				public setDeclineButtonColorHint(color: number): android.app.Notification.CallStyle;
				public static forOngoingCall(person: any, hangUpIntent: android.app.PendingIntent): android.app.Notification.CallStyle;
				public setVerificationIcon(verificationIcon: any): android.app.Notification.CallStyle;
				public setAnswerButtonColorHint(color: number): android.app.Notification.CallStyle;
				public setVerificationText(verificationText: string): android.app.Notification.CallStyle;
			}
			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 constructor(notif: android.app.Notification);
				public getColor(): number;
				public setUnreadConversation(unreadConversation: android.app.Notification.CarExtender.UnreadConversation): android.app.Notification.CarExtender;
				public setColor(color: number): android.app.Notification.CarExtender;
				public getLargeIcon(): android.graphics.Bitmap;
				public setLargeIcon(largeIcon: android.graphics.Bitmap): android.app.Notification.CarExtender;
				public getUnreadConversation(): android.app.Notification.CarExtender.UnreadConversation;
				public constructor();
				public extend(builder: android.app.Notification.Builder): android.app.Notification.Builder;
			}
			export module CarExtender {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.Notification.CarExtender.Builder>;
					public setReadPendingIntent(pendingIntent: android.app.PendingIntent): android.app.Notification.CarExtender.Builder;
					public setLatestTimestamp(timestamp: number): android.app.Notification.CarExtender.Builder;
					public constructor(name: string);
					public setReplyAction(pendingIntent: android.app.PendingIntent, remoteInput: android.app.RemoteInput): android.app.Notification.CarExtender.Builder;
					public addMessage(message: 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 getLatestTimestamp(): number;
					public getMessages(): androidNative.Array<string>;
					public getParticipants(): androidNative.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(builder: 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 setBigContentTitle(title: string): android.app.Notification.InboxStyle;
				public addLine(cs: string): android.app.Notification.InboxStyle;
				/** @deprecated */
				public constructor(builder: android.app.Notification.Builder);
				public constructor();
				public setSummaryText(cs: string): android.app.Notification.InboxStyle;
			}
			export class MediaStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.MediaStyle>;
				public setRemotePlaybackInfo(deviceName: string, iconResource: number, chipIntent: android.app.PendingIntent): android.app.Notification.MediaStyle;
				public setShowActionsInCompactView(actions: androidNative.Array<number>): android.app.Notification.MediaStyle;
				/** @deprecated */
				public constructor(builder: android.app.Notification.Builder);
				public setMediaSession(token: any): 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: 25;
				/** @deprecated */
				public constructor(userDisplayName: string);
				public isGroupConversation(): boolean;
				public getHistoricMessages(): java.util.List<android.app.Notification.MessagingStyle.Message>;
				public getMessages(): java.util.List<android.app.Notification.MessagingStyle.Message>;
				public setGroupConversation(isGroupConversation: boolean): android.app.Notification.MessagingStyle;
				public addMessage(message: android.app.Notification.MessagingStyle.Message): android.app.Notification.MessagingStyle;
				public getConversationTitle(): string;
				public getUser(): any;
				/** @deprecated */
				public constructor();
				public setConversationTitle(conversationTitle: string): android.app.Notification.MessagingStyle;
				public addMessage(text: string, timestamp: number, sender: any): android.app.Notification.MessagingStyle;
				public constructor(user: any);
				/** @deprecated */
				public addMessage(text: string, timestamp: number, sender: string): android.app.Notification.MessagingStyle;
				/** @deprecated */
				public getUserDisplayName(): string;
				public addHistoricMessage(message: 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 constructor(text: string, timestamp: number, sender: any);
					public setData(dataMimeType: string, dataUri: android.net.Uri): android.app.Notification.MessagingStyle.Message;
					/** @deprecated */
					public constructor(text: string, timestamp: number, sender: string);
					public getDataMimeType(): string;
					public getText(): string;
					public getTimestamp(): number;
					public getSenderPerson(): any;
					public getExtras(): android.os.Bundle;
					public getDataUri(): android.net.Uri;
					/** @deprecated */
					public getSender(): string;
					public static getMessagesFromBundleArray(bundles: androidNative.Array<android.os.Parcelable>): java.util.List<android.app.Notification.MessagingStyle.Message>;
				}
			}
			export abstract class Style extends java.lang.Object {
				public static class: java.lang.Class<android.app.Notification.Style>;
				public mBuilder: android.app.Notification.Builder;
				/** @deprecated */
				public constructor();
				public checkBuilder(): void;
				public internalSetBigContentTitle(title: string): void;
				public internalSetSummaryText(cs: string): void;
				public setBuilder(builder: android.app.Notification.Builder): void;
				public getStandardView(layoutId: number): android.widget.RemoteViews;
				public build(): android.app.Notification;
			}
			export class TvExtender extends java.lang.Object implements android.app.Notification.Extender {
				public static class: java.lang.Class<android.app.Notification.TvExtender>;
				public constructor(notif: android.app.Notification);
				public isAvailableOnTv(): boolean;
				public setChannelId(channelId: string): android.app.Notification.TvExtender;
				public getChannelId(): string;
				public constructor();
				public getDeleteIntent(): android.app.PendingIntent;
				public extend(param0: android.app.Notification.Builder): android.app.Notification.Builder;
				public setSuppressShowOverApps(suppress: boolean): android.app.Notification.TvExtender;
				public setContentIntent(intent: android.app.PendingIntent): android.app.Notification.TvExtender;
				public getContentIntent(): android.app.PendingIntent;
				public isSuppressShowOverApps(): boolean;
				public setDeleteIntent(intent: android.app.PendingIntent): android.app.Notification.TvExtender;
				public extend(builder: android.app.Notification.Builder): android.app.Notification.Builder;
			}
			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: -1;
				public static SCREEN_TIMEOUT_SHORT: 0;
				public static SIZE_DEFAULT: 0;
				public static SIZE_FULL_SCREEN: 5;
				public static SIZE_LARGE: 4;
				public static SIZE_MEDIUM: 3;
				public static SIZE_SMALL: 2;
				public static SIZE_XSMALL: 1;
				public static UNSET_ACTION_INDEX: -1;
				/** @deprecated */
				public setHintAvoidBackgroundClipping(hintAvoidBackgroundClipping: boolean): android.app.Notification.WearableExtender;
				public clearActions(): android.app.Notification.WearableExtender;
				public getBridgeTag(): string;
				public constructor(notif: android.app.Notification);
				/** @deprecated */
				public getHintAmbientBigPicture(): boolean;
				public addActions(actions: java.util.List<android.app.Notification.Action>): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getDisplayIntent(): android.app.PendingIntent;
				public setContentIntentAvailableOffline(contentIntentAvailableOffline: boolean): android.app.Notification.WearableExtender;
				/** @deprecated */
				public addPage(page: android.app.Notification): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getCustomSizePreset(): number;
				public setDismissalId(dismissalId: string): android.app.Notification.WearableExtender;
				public getContentIntentAvailableOffline(): boolean;
				public constructor();
				/** @deprecated */
				public getCustomContentHeight(): number;
				/** @deprecated */
				public setHintScreenTimeout(timeout: number): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getGravity(): number;
				/** @deprecated */
				public getHintHideIcon(): boolean;
				/** @deprecated */
				public setHintShowBackgroundOnly(hintShowBackgroundOnly: boolean): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getPages(): java.util.List<android.app.Notification>;
				public getStartScrollBottom(): boolean;
				/** @deprecated */
				public getHintShowBackgroundOnly(): boolean;
				public clone(): any;
				/** @deprecated */
				public getContentIconGravity(): number;
				public getHintContentIntentLaunchesActivity(): boolean;
				public clone(): android.app.Notification.WearableExtender;
				/** @deprecated */
				public addPages(pages: java.util.List<android.app.Notification>): android.app.Notification.WearableExtender;
				public getContentAction(): number;
				/** @deprecated */
				public setCustomContentHeight(height: number): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getHintScreenTimeout(): number;
				/** @deprecated */
				public setDisplayIntent(intent: android.app.PendingIntent): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getContentIcon(): number;
				public setBridgeTag(bridgeTag: string): android.app.Notification.WearableExtender;
				public getDismissalId(): string;
				/** @deprecated */
				public setHintHideIcon(hintHideIcon: boolean): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setHintAmbientBigPicture(hintAmbientBigPicture: boolean): android.app.Notification.WearableExtender;
				public addAction(action: android.app.Notification.Action): android.app.Notification.WearableExtender;
				public extend(param0: android.app.Notification.Builder): android.app.Notification.Builder;
				public setContentAction(actionIndex: number): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setContentIconGravity(contentIconGravity: number): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setCustomSizePreset(sizePreset: number): android.app.Notification.WearableExtender;
				public setStartScrollBottom(startScrollBottom: boolean): android.app.Notification.WearableExtender;
				/** @deprecated */
				public clearPages(): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setGravity(gravity: number): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setContentIcon(icon: number): android.app.Notification.WearableExtender;
				public setHintContentIntentLaunchesActivity(hintContentIntentLaunchesActivity: boolean): android.app.Notification.WearableExtender;
				public getActions(): java.util.List<android.app.Notification.Action>;
				/** @deprecated */
				public getHintAvoidBackgroundClipping(): boolean;
				public extend(builder: android.app.Notification.Builder): android.app.Notification.Builder;
			}
		}
	}
}

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: "miscellaneous";
			public static EDIT_CONVERSATION: "conversation";
			public static EDIT_IMPORTANCE: "importance";
			public static EDIT_LAUNCHER: "launcher";
			public static EDIT_LOCKED_DEVICE: "locked";
			public static EDIT_SOUND: "sound";
			public static EDIT_VIBRATION: "vibration";
			public static EDIT_ZEN: "zen";
			public getLightColor(): number;
			public canShowBadge(): boolean;
			public setImportance(importance: number): void;
			public getConversationId(): string;
			public getSound(): android.net.Uri;
			public isDemoted(): boolean;
			public getVibrationPattern(): androidNative.Array<number>;
			public setBypassDnd(bypassDnd: boolean): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getImportance(): number;
			public setDescription(description: string): void;
			public getAudioAttributes(): any;
			public getLockscreenVisibility(): number;
			public isImportantConversation(): boolean;
			public isBlockable(): boolean;
			public setVibrationPattern(vibrationPattern: androidNative.Array<number>): void;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getGroup(): string;
			public setVibrationEffect(effect: android.os.VibrationEffect): void;
			public setLockscreenVisibility(lockscreenVisibility: number): void;
			public getParentChannelId(): string;
			public setSound(sound: android.net.Uri, audioAttributes: any): void;
			public getVibrationEffect(): android.os.VibrationEffect;
			public hasUserSetImportance(): boolean;
			public setGroup(groupId: string): void;
			public canBypassDnd(): boolean;
			public setLightColor(argb: number): void;
			public getId(): string;
			public hasUserSetSound(): boolean;
			public shouldShowLights(): boolean;
			public toString(): string;
			public getName(): string;
			public shouldVibrate(): boolean;
			public equals(o: any): boolean;
			public setShowBadge(showBadge: boolean): void;
			public isConversation(): boolean;
			public setAllowBubbles(allowBubbles: boolean): void;
			public setConversationId(parentChannelId: string, conversationId: string): void;
			public describeContents(): number;
			public setName(name: string): void;
			public enableVibration(vibration: boolean): void;
			public constructor(id: string, name: string, importance: number);
			public setBlockable(blockable: boolean): void;
			public getDescription(): string;
			public enableLights(lights: boolean): void;
			public canBubble(): boolean;
			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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getChannels(): java.util.List<android.app.NotificationChannel>;
			public clone(): android.app.NotificationChannelGroup;
			public constructor(id: string, name: string);
			public getId(): string;
			public clone(): any;
			public toString(): string;
			public getName(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDescription(): string;
			public setDescription(description: string): void;
			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: "android.app.action.APP_BLOCK_STATE_CHANGED";
			public static ACTION_AUTOMATIC_ZEN_RULE: "android.app.action.AUTOMATIC_ZEN_RULE";
			public static ACTION_AUTOMATIC_ZEN_RULE_STATUS_CHANGED: "android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED";
			public static ACTION_CONSOLIDATED_NOTIFICATION_POLICY_CHANGED: "android.app.action.CONSOLIDATED_NOTIFICATION_POLICY_CHANGED";
			public static ACTION_INTERRUPTION_FILTER_CHANGED: "android.app.action.INTERRUPTION_FILTER_CHANGED";
			public static ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED: "android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED";
			public static ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED: "android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED";
			public static ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED: "android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED";
			public static ACTION_NOTIFICATION_POLICY_CHANGED: "android.app.action.NOTIFICATION_POLICY_CHANGED";
			public static AUTOMATIC_RULE_STATUS_ACTIVATED: 4;
			public static AUTOMATIC_RULE_STATUS_DEACTIVATED: 5;
			public static AUTOMATIC_RULE_STATUS_DISABLED: 2;
			public static AUTOMATIC_RULE_STATUS_ENABLED: 1;
			public static AUTOMATIC_RULE_STATUS_REMOVED: 3;
			public static AUTOMATIC_RULE_STATUS_UNKNOWN: -1;
			public static BUBBLE_PREFERENCE_ALL: 1;
			public static BUBBLE_PREFERENCE_NONE: 0;
			public static BUBBLE_PREFERENCE_SELECTED: 2;
			public static EXTRA_AUTOMATIC_RULE_ID: "android.app.extra.AUTOMATIC_RULE_ID";
			public static EXTRA_AUTOMATIC_ZEN_RULE_ID: "android.app.extra.AUTOMATIC_ZEN_RULE_ID";
			public static EXTRA_AUTOMATIC_ZEN_RULE_STATUS: "android.app.extra.AUTOMATIC_ZEN_RULE_STATUS";
			public static EXTRA_BLOCKED_STATE: "android.app.extra.BLOCKED_STATE";
			public static EXTRA_NOTIFICATION_CHANNEL_GROUP_ID: "android.app.extra.NOTIFICATION_CHANNEL_GROUP_ID";
			public static EXTRA_NOTIFICATION_CHANNEL_ID: "android.app.extra.NOTIFICATION_CHANNEL_ID";
			public static EXTRA_NOTIFICATION_POLICY: "android.app.extra.NOTIFICATION_POLICY";
			public static IMPORTANCE_DEFAULT: 3;
			public static IMPORTANCE_HIGH: 4;
			public static IMPORTANCE_LOW: 2;
			public static IMPORTANCE_MAX: 5;
			public static IMPORTANCE_MIN: 1;
			public static IMPORTANCE_NONE: 0;
			public static IMPORTANCE_UNSPECIFIED: -1000;
			public static INTERRUPTION_FILTER_ALARMS: 4;
			public static INTERRUPTION_FILTER_ALL: 1;
			public static INTERRUPTION_FILTER_NONE: 3;
			public static INTERRUPTION_FILTER_PRIORITY: 2;
			public static INTERRUPTION_FILTER_UNKNOWN: 0;
			public static META_DATA_AUTOMATIC_RULE_TYPE: "android.service.zen.automatic.ruleType";
			public static META_DATA_RULE_INSTANCE_LIMIT: "android.service.zen.automatic.ruleInstanceLimit";
			public updateAutomaticZenRule(id: string, automaticZenRule: android.app.AutomaticZenRule): boolean;
			public createNotificationChannels(channels: java.util.List<android.app.NotificationChannel>): void;
			public getNotificationChannels(): java.util.List<android.app.NotificationChannel>;
			public getCurrentInterruptionFilter(): number;
			public deleteNotificationChannel(channelId: string): void;
			public setNotificationDelegate(delegate: string): void;
			public getAutomaticZenRule(id: string): android.app.AutomaticZenRule;
			public cancelAsPackage(targetPackage: string, tag: string, id: number): void;
			public createNotificationChannelGroup(group: android.app.NotificationChannelGroup): void;
			public notifyAsPackage(targetPackage: string, tag: string, id: number, notification: android.app.Notification): void;
			public getNotificationPolicy(): android.app.NotificationManager.Policy;
			public cancel(id: number): void;
			public cancel(tag: string, id: number): void;
			public cancelAll(): void;
			public areNotificationsPaused(): boolean;
			public createNotificationChannel(channel: android.app.NotificationChannel): void;
			public notify(): void;
			public areAutomaticZenRulesUserManaged(): boolean;
			public notify(id: number, notification: android.app.Notification): void;
			public getAutomaticZenRuleState(id: string): number;
			public getImportance(): number;
			public getActiveNotifications(): androidNative.Array<android.service.notification.StatusBarNotification>;
			public matchesCallFilter(uri: android.net.Uri): boolean;
			public notify(tag: string, id: number, notification: android.app.Notification): void;
			public getConsolidatedNotificationPolicy(): android.app.NotificationManager.Policy;
			/** @deprecated */
			public areBubblesAllowed(): boolean;
			public isNotificationListenerAccessGranted(listener: android.content.ComponentName): boolean;
			public getNotificationChannelGroups(): java.util.List<android.app.NotificationChannelGroup>;
			public addAutomaticZenRule(automaticZenRule: android.app.AutomaticZenRule): string;
			public deleteNotificationChannelGroup(groupId: string): void;
			public setNotificationPolicy(policy: android.app.NotificationManager.Policy): void;
			public setInterruptionFilter(interruptionFilter: number): void;
			public setAutomaticZenRuleState(id: string, condition: android.service.notification.Condition): void;
			public getBubblePreference(): number;
			public getNotificationChannelGroup(channelGroupId: string): android.app.NotificationChannelGroup;
			public areBubblesEnabled(): boolean;
			public shouldHideSilentStatusBarIcons(): boolean;
			public getAutomaticZenRules(): java.util.Map<string,android.app.AutomaticZenRule>;
			public getNotificationChannel(channelId: string): android.app.NotificationChannel;
			public removeAutomaticZenRule(id: string): boolean;
			public canUseFullScreenIntent(): boolean;
			public isNotificationPolicyAccessGranted(): boolean;
			public canNotifyAsPackage(pkg: string): boolean;
			public createNotificationChannelGroups(groups: java.util.List<android.app.NotificationChannelGroup>): void;
			public areNotificationsEnabled(): boolean;
			public getNotificationDelegate(): string;
			public getNotificationChannel(channelId: string, conversationId: string): android.app.NotificationChannel;
		}
		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 CONVERSATION_SENDERS_ANYONE: 1;
				public static CONVERSATION_SENDERS_IMPORTANT: 2;
				public static CONVERSATION_SENDERS_NONE: 3;
				public static CREATOR: android.os.Parcelable.Creator<android.app.NotificationManager.Policy>;
				public static PRIORITY_CATEGORY_ALARMS: 32;
				public static PRIORITY_CATEGORY_CALLS: 8;
				public static PRIORITY_CATEGORY_CONVERSATIONS: 256;
				public static PRIORITY_CATEGORY_EVENTS: 2;
				public static PRIORITY_CATEGORY_MEDIA: 64;
				public static PRIORITY_CATEGORY_MESSAGES: 4;
				public static PRIORITY_CATEGORY_REMINDERS: 1;
				public static PRIORITY_CATEGORY_REPEAT_CALLERS: 16;
				public static PRIORITY_CATEGORY_SYSTEM: 128;
				public static PRIORITY_SENDERS_ANY: 0;
				public static PRIORITY_SENDERS_CONTACTS: 1;
				public static PRIORITY_SENDERS_STARRED: 2;
				public static SUPPRESSED_EFFECT_AMBIENT: 128;
				public static SUPPRESSED_EFFECT_BADGE: 64;
				public static SUPPRESSED_EFFECT_FULL_SCREEN_INTENT: 4;
				public static SUPPRESSED_EFFECT_LIGHTS: 8;
				public static SUPPRESSED_EFFECT_NOTIFICATION_LIST: 256;
				public static SUPPRESSED_EFFECT_PEEK: 16;
				public static SUPPRESSED_EFFECT_SCREEN_OFF: 1;
				public static SUPPRESSED_EFFECT_SCREEN_ON: 2;
				public static SUPPRESSED_EFFECT_STATUS_BAR: 32;
				public priorityCallSenders: number;
				public priorityCategories: number;
				public priorityConversationSenders: number;
				public priorityMessageSenders: number;
				public suppressedVisualEffects: number;
				public static prioritySendersToString(prioritySenders: number): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(priorityCategories: number, priorityCallSenders: number, priorityMessageSenders: number, suppressedVisualEffects: number, priorityConversationSenders: number);
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public static priorityCategoriesToString(priorityCategories: number): string;
				public constructor(priorityCategories: number, priorityCallSenders: number, priorityMessageSenders: number, suppressedVisualEffects: number);
				public describeContents(): number;
				public static suppressedEffectsToString(effects: number): string;
				public equals(o: any): boolean;
				public toString(): string;
				public constructor(priorityCategories: number, priorityCallSenders: number, priorityMessageSenders: number);
			}
		}
	}
}

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_ALLOW_UNSAFE_IMPLICIT_INTENT: 16777216;
			public static FLAG_CANCEL_CURRENT: 268435456;
			public static FLAG_IMMUTABLE: 67108864;
			public static FLAG_MUTABLE: 33554432;
			public static FLAG_NO_CREATE: 536870912;
			public static FLAG_ONE_SHOT: 1073741824;
			public static FLAG_UPDATE_CURRENT: 134217728;
			public send(): void;
			public static getActivity(context: android.content.Context, requestCode: number, intent: android.content.Intent, flags: number): android.app.PendingIntent;
			public isActivity(): boolean;
			public cancel(): void;
			public send(code: number): void;
			public getCreatorPackage(): string;
			public getCreatorUserHandle(): android.os.UserHandle;
			public static getActivities(context: android.content.Context, requestCode: number, intents: androidNative.Array<android.content.Intent>, flags: number, options: android.os.Bundle): android.app.PendingIntent;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public send(context: android.content.Context, code: number, intent: android.content.Intent, onFinished: android.app.PendingIntent.OnFinished, handler: android.os.Handler): void;
			public static getActivities(context: android.content.Context, requestCode: number, intents: androidNative.Array<android.content.Intent>, flags: number): android.app.PendingIntent;
			public static getBroadcast(context: android.content.Context, requestCode: number, intent: android.content.Intent, flags: number): android.app.PendingIntent;
			public isForegroundService(): boolean;
			public static getForegroundService(context: android.content.Context, requestCode: number, intent: android.content.Intent, flags: number): android.app.PendingIntent;
			public getCreatorUid(): number;
			public send(context: android.content.Context, code: number, intent: android.content.Intent): void;
			public static readPendingIntentOrNullFromParcel(in_: android.os.Parcel): android.app.PendingIntent;
			public isImmutable(): boolean;
			/** @deprecated */
			public getTargetPackage(): string;
			public send(options: android.os.Bundle): void;
			public send(context: android.content.Context, code: number, intent: android.content.Intent, onFinished: android.app.PendingIntent.OnFinished, handler: android.os.Handler, requiredPermission: string, options: android.os.Bundle): void;
			public send(code: number, onFinished: android.app.PendingIntent.OnFinished, handler: android.os.Handler): void;
			public toString(): string;
			public static writePendingIntentOrNullToParcel(sender: android.app.PendingIntent, out: android.os.Parcel): void;
			public isService(): boolean;
			public getIntentSender(): android.content.IntentSender;
			public static getActivity(context: android.content.Context, requestCode: number, intent: android.content.Intent, flags: number, options: android.os.Bundle): android.app.PendingIntent;
			public equals(otherObj: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public static getService(context: android.content.Context, requestCode: number, intent: android.content.Intent, flags: number): android.app.PendingIntent;
			public send(context: android.content.Context, code: number, intent: android.content.Intent, onFinished: android.app.PendingIntent.OnFinished, handler: android.os.Handler, requiredPermission: string): void;
			public isBroadcast(): boolean;
			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(cause: java.lang.Throwable);
				public constructor(name: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(name: string, cause: java.lang.Throwable);
				public constructor(cause: java.lang.Exception);
				public constructor();
			}
			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 equals(obj: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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;
			public hashCode(): number;
		}
		export module Person {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.Person.Builder>;
				public build(): any;
				public setName(name: string): android.app.Person.Builder;
				public setKey(key: string): android.app.Person.Builder;
				public setBot(isBot: boolean): android.app.Person.Builder;
				public setUri(uri: string): android.app.Person.Builder;
				public setImportant(isImportant: boolean): android.app.Person.Builder;
				public constructor();
				public setIcon(icon: any): android.app.Person.Builder;
			}
		}
	}
}

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 getActions(): java.util.List<any>;
			public getTitle(): string;
			public getSubtitle(): string;
			public isAutoEnterEnabled(): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public getAspectRatio(): android.util.Rational;
			public getExpandedAspectRatio(): android.util.Rational;
			public getSourceRectHint(): android.graphics.Rect;
			public isSeamlessResizeEnabled(): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCloseAction(): any;
			public hashCode(): number;
		}
		export module PictureInPictureParams {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.PictureInPictureParams.Builder>;
				public setAspectRatio(aspectRatio: android.util.Rational): android.app.PictureInPictureParams.Builder;
				public setAutoEnterEnabled(autoEnterEnabled: boolean): android.app.PictureInPictureParams.Builder;
				public constructor(original: android.app.PictureInPictureParams);
				public setSubtitle(subtitle: string): android.app.PictureInPictureParams.Builder;
				public setExpandedAspectRatio(expandedAspectRatio: android.util.Rational): android.app.PictureInPictureParams.Builder;
				public setActions(actions: java.util.List<any>): android.app.PictureInPictureParams.Builder;
				public setSourceRectHint(launchBounds: android.graphics.Rect): android.app.PictureInPictureParams.Builder;
				public build(): android.app.PictureInPictureParams;
				public setCloseAction(action: any): android.app.PictureInPictureParams.Builder;
				public setSeamlessResizeEnabled(seamlessResizeEnabled: boolean): android.app.PictureInPictureParams.Builder;
				public setTitle(title: string): android.app.PictureInPictureParams.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export class PictureInPictureUiState extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.PictureInPictureUiState>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.PictureInPictureUiState>;
			public equals(o: any): boolean;
			public isTransitioningToPip(): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isStashed(): boolean;
			public hashCode(): number;
		}
	}
}

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 onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public cancel(): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(context: android.content.Context);
			public constructor(outerContext: android.content.Context, display: android.view.Display);
			public constructor(outerContext: android.content.Context, display: android.view.Display, theme: number);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, cancelable: boolean, cancelListener: android.content.DialogInterface.OnCancelListener);
			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 dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			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 constructor(context: android.content.Context, themeResId: number);
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			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 onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			public onContentChanged(): void;
		}
	}
}

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: 1;
			public static STYLE_SPINNER: 0;
			/** @deprecated */
			public setProgressStyle(style: number): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			/** @deprecated */
			public setIndeterminate(indeterminate: boolean): void;
			/** @deprecated */
			public static show(context: android.content.Context, title: string, message: string, indeterminate: boolean, cancelable: boolean): android.app.ProgressDialog;
			/** @deprecated */
			public static show(context: android.content.Context, title: string, message: string, indeterminate: boolean, cancelable: boolean, cancelListener: android.content.DialogInterface.OnCancelListener): android.app.ProgressDialog;
			/** @deprecated */
			public onStop(): void;
			public cancel(): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			/** @deprecated */
			public constructor(context: android.content.Context);
			public onSearchRequested(): boolean;
			/** @deprecated */
			public getProgress(): number;
			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;
			/** @deprecated */
			public getMax(): number;
			/** @deprecated */
			public incrementProgressBy(diff: number): void;
			/** @deprecated */
			public setProgressNumberFormat(format: string): void;
			/** @deprecated */
			public static show(context: android.content.Context, title: string, message: string, indeterminate: boolean): android.app.ProgressDialog;
			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 setSecondaryProgress(secondaryProgress: number): void;
			/** @deprecated */
			public static show(context: android.content.Context, title: string, message: string): android.app.ProgressDialog;
			public onWindowFocusChanged(param0: boolean): void;
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			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;
			/** @deprecated */
			public getSecondaryProgress(): number;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			/** @deprecated */
			public setProgress(value: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public constructor(context: android.content.Context, cancelable: boolean, cancelListener: android.content.DialogInterface.OnCancelListener);
			/** @deprecated */
			public isIndeterminate(): boolean;
			/** @deprecated */
			public setMax(max: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			/** @deprecated */
			public onStart(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			/** @deprecated */
			public setProgressDrawable(d: android.graphics.drawable.Drawable): 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;
			/** @deprecated */
			public onCreate(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public constructor(context: android.content.Context, theme: number);
			public onSearchRequested(param0: any): boolean;
			/** @deprecated */
			public setProgressPercentFormat(format: java.text.NumberFormat): void;
			/** @deprecated */
			public setIndeterminateDrawable(d: android.graphics.drawable.Drawable): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, themeResId: number);
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			/** @deprecated */
			public incrementSecondaryProgressBy(diff: number): void;
			public onAttachedToWindow(): void;
			/** @deprecated */
			public setMessage(message: string): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class RecoverableSecurityException extends java.lang.SecurityException implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.RecoverableSecurityException>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.RecoverableSecurityException>;
			public getUserMessage(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getUserAction(): any;
			public constructor(cause: java.lang.Throwable, userMessage: string, userAction: any);
		}
	}
}

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 setEnabled(enabled: boolean): void;
			public dump(prefix: string, pw: java.io.PrintWriter): void;
			public getIcon(): any;
			public getContentDescription(): string;
			public isEnabled(): boolean;
			public constructor(icon: any, title: string, contentDescription: string, intent: android.app.PendingIntent);
			public clone(): any;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setShouldShowIcon(shouldShowIcon: boolean): void;
			public hashCode(): number;
		}
	}
}

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 EDIT_CHOICES_BEFORE_SENDING_AUTO: 0;
			public static EDIT_CHOICES_BEFORE_SENDING_DISABLED: 1;
			public static EDIT_CHOICES_BEFORE_SENDING_ENABLED: 2;
			public static EXTRA_RESULTS_DATA: "android.remoteinput.resultsData";
			public static RESULTS_CLIP_LABEL: "android.remoteinput.results";
			public static SOURCE_CHOICE: 1;
			public static SOURCE_FREE_FORM_INPUT: 0;
			public getLabel(): string;
			public getAllowedDataTypes(): java.util.Set<string>;
			public getChoices(): androidNative.Array<string>;
			public getAllowFreeFormInput(): boolean;
			public static getDataResultsFromIntent(intent: android.content.Intent, remoteInputResultKey: string): java.util.Map<string,android.net.Uri>;
			public getEditChoicesBeforeSending(): number;
			public isDataOnly(): boolean;
			public static addDataResultToIntent(remoteInput: android.app.RemoteInput, intent: android.content.Intent, results: java.util.Map<string,android.net.Uri>): void;
			public static getResultsSource(intent: android.content.Intent): number;
			public static setResultsSource(intent: android.content.Intent, source: number): void;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static getResultsFromIntent(intent: android.content.Intent): android.os.Bundle;
			public getResultKey(): string;
			public static addResultsToIntent(remoteInputs: androidNative.Array<android.app.RemoteInput>, intent: android.content.Intent, results: android.os.Bundle): void;
			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 setLabel(label: string): android.app.RemoteInput.Builder;
				public constructor(resultKey: string);
				public setEditChoicesBeforeSending(editChoicesBeforeSending: number): android.app.RemoteInput.Builder;
				public setAllowDataType(mimeType: string, doAllow: boolean): android.app.RemoteInput.Builder;
				public getExtras(): android.os.Bundle;
				public setChoices(choices: androidNative.Array<string>): android.app.RemoteInput.Builder;
				public addExtras(extras: android.os.Bundle): android.app.RemoteInput.Builder;
				public setAllowFreeFormInput(allowFreeFormTextInput: 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: "action_key";
			public static ACTION_MSG: "action_msg";
			public static APP_DATA: "app_data";
			public static CURSOR_EXTRA_KEY_IN_PROGRESS: "in_progress";
			public static EXTRA_DATA_KEY: "intent_extra_data_key";
			public static EXTRA_NEW_SEARCH: "new_search";
			public static EXTRA_SELECT_QUERY: "select_query";
			public static EXTRA_WEB_SEARCH_PENDINGINTENT: "web_search_pendingintent";
			public static FLAG_QUERY_REFINEMENT: 1;
			public static INTENT_ACTION_GLOBAL_SEARCH: "android.search.action.GLOBAL_SEARCH";
			public static INTENT_ACTION_SEARCHABLES_CHANGED: "android.search.action.SEARCHABLES_CHANGED";
			public static INTENT_ACTION_SEARCH_SETTINGS: "android.search.action.SEARCH_SETTINGS";
			public static INTENT_ACTION_SEARCH_SETTINGS_CHANGED: "android.search.action.SETTINGS_CHANGED";
			public static INTENT_ACTION_WEB_SEARCH_SETTINGS: "android.search.action.WEB_SEARCH_SETTINGS";
			public static INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED: "android.search.action.GLOBAL_SEARCH_ACTIVITY_CHANGED";
			public static MENU_KEY: '115';
			public static MENU_KEYCODE: 47;
			public static QUERY: "query";
			public static SHORTCUT_MIME_TYPE: "vnd.android.cursor.item/vnd.android.search.suggest";
			public static SUGGEST_COLUMN_AUDIO_CHANNEL_CONFIG: "suggest_audio_channel_config";
			public static SUGGEST_COLUMN_CONTENT_TYPE: "suggest_content_type";
			public static SUGGEST_COLUMN_DURATION: "suggest_duration";
			public static SUGGEST_COLUMN_FLAGS: "suggest_flags";
			public static SUGGEST_COLUMN_FORMAT: "suggest_format";
			public static SUGGEST_COLUMN_ICON_1: "suggest_icon_1";
			public static SUGGEST_COLUMN_ICON_2: "suggest_icon_2";
			public static SUGGEST_COLUMN_INTENT_ACTION: "suggest_intent_action";
			public static SUGGEST_COLUMN_INTENT_DATA: "suggest_intent_data";
			public static SUGGEST_COLUMN_INTENT_DATA_ID: "suggest_intent_data_id";
			public static SUGGEST_COLUMN_INTENT_EXTRA_DATA: "suggest_intent_extra_data";
			public static SUGGEST_COLUMN_IS_LIVE: "suggest_is_live";
			public static SUGGEST_COLUMN_LAST_ACCESS_HINT: "suggest_last_access_hint";
			public static SUGGEST_COLUMN_PRODUCTION_YEAR: "suggest_production_year";
			public static SUGGEST_COLUMN_PURCHASE_PRICE: "suggest_purchase_price";
			public static SUGGEST_COLUMN_QUERY: "suggest_intent_query";
			public static SUGGEST_COLUMN_RATING_SCORE: "suggest_rating_score";
			public static SUGGEST_COLUMN_RATING_STYLE: "suggest_rating_style";
			public static SUGGEST_COLUMN_RENTAL_PRICE: "suggest_rental_price";
			public static SUGGEST_COLUMN_RESULT_CARD_IMAGE: "suggest_result_card_image";
			public static SUGGEST_COLUMN_SHORTCUT_ID: "suggest_shortcut_id";
			public static SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING: "suggest_spinner_while_refreshing";
			public static SUGGEST_COLUMN_TEXT_1: "suggest_text_1";
			public static SUGGEST_COLUMN_TEXT_2: "suggest_text_2";
			public static SUGGEST_COLUMN_TEXT_2_URL: "suggest_text_2_url";
			public static SUGGEST_COLUMN_VIDEO_HEIGHT: "suggest_video_height";
			public static SUGGEST_COLUMN_VIDEO_WIDTH: "suggest_video_width";
			public static SUGGEST_MIME_TYPE: "vnd.android.cursor.dir/vnd.android.search.suggest";
			public static SUGGEST_NEVER_MAKE_SHORTCUT: "_-1";
			public static SUGGEST_PARAMETER_LIMIT: "limit";
			public static SUGGEST_URI_PATH_QUERY: "search_suggest_query";
			public static SUGGEST_URI_PATH_SHORTCUT: "search_suggest_shortcut";
			public static USER_QUERY: "user_query";
			/** @deprecated */
			public onCancel(dialog: android.content.DialogInterface): void;
			/** @deprecated */
			public onDismiss(dialog: android.content.DialogInterface): void;
			public getSearchablesInGlobalSearch(): java.util.List<android.app.SearchableInfo>;
			public getGlobalSearchActivity(): android.content.ComponentName;
			public stopSearch(): void;
			public setOnDismissListener(listener: android.app.SearchManager.OnDismissListener): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			public onCancel(param0: android.content.DialogInterface): void;
			public getSearchableInfo(componentName: android.content.ComponentName): android.app.SearchableInfo;
			public startSearch(initialQuery: string, selectInitialQuery: boolean, launchActivity: android.content.ComponentName, appSearchData: android.os.Bundle, globalSearch: boolean): void;
			public triggerSearch(query: string, launchActivity: android.content.ComponentName, appSearchData: android.os.Bundle): void;
			public setOnCancelListener(listener: android.app.SearchManager.OnCancelListener): 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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			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: 15;
			public static START_FLAG_REDELIVERY: 1;
			public static START_FLAG_RETRY: 2;
			public static START_NOT_STICKY: 2;
			public static START_REDELIVER_INTENT: 3;
			public static START_STICKY: 1;
			public static START_STICKY_COMPATIBILITY: 0;
			public static STOP_FOREGROUND_DETACH: 2;
			public static STOP_FOREGROUND_LEGACY: 0;
			public static STOP_FOREGROUND_REMOVE: 1;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public stopForeground(notificationBehavior: number): void;
			public startForeground(id: number, notification: android.app.Notification): void;
			public getApplication(): android.app.Application;
			public onDestroy(): void;
			public startForeground(id: number, notification: android.app.Notification, foregroundServiceType: number): void;
			public onLowMemory(): void;
			public getForegroundServiceType(): number;
			/** @deprecated */
			public onStart(intent: android.content.Intent, startId: number): void;
			public attachBaseContext(newBase: android.content.Context): void;
			/** @deprecated */
			public stopForeground(removeNotification: boolean): void;
			public onTrimMemory(param0: number): void;
			public dump(fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			public onTaskRemoved(rootIntent: android.content.Intent): void;
			public stopSelf(startId: number): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			/** @deprecated */
			public onLowMemory(): void;
			public onUnbind(intent: android.content.Intent): boolean;
			public onRebind(intent: android.content.Intent): void;
			public stopSelfResult(startId: number): boolean;
			public onCreate(): void;
			public constructor();
			public onTimeout(startId: number): void;
			public onTrimMemory(level: number): void;
			public onStartCommand(intent: android.content.Intent, flags: number, startId: number): number;
			public stopSelf(): void;
			public constructor(base: android.content.Context);
			public onTimeout(startId: number, fgsType: number): void;
		}
	}
}

declare module android {
	export module app {
		export abstract class ServiceStartNotAllowedException extends java.lang.IllegalStateException {
			public static class: java.lang.Class<android.app.ServiceStartNotAllowedException>;
			public getCause(): java.lang.Throwable;
		}
	}
}

declare module android {
	export module app {
		export abstract class SharedElementCallback extends java.lang.Object {
			public static class: java.lang.Class<any>;
			public onCreateSnapshotView(context: android.content.Context, snapshot: android.os.Parcelable): android.view.View;
			public onMapSharedElements(names: java.util.List<string>, sharedElements: java.util.Map<string,android.view.View>): void;
			public onSharedElementsArrived(sharedElementNames: java.util.List<string>, sharedElements: java.util.List<android.view.View>, listener: any): void;
			public onSharedElementStart(sharedElementNames: java.util.List<string>, sharedElements: java.util.List<android.view.View>, sharedElementSnapshots: java.util.List<android.view.View>): void;
			public onCaptureSharedElementSnapshot(sharedElement: android.view.View, viewToGlobalMatrix: android.graphics.Matrix, screenBounds: android.graphics.RectF): android.os.Parcelable;
			public onSharedElementEnd(sharedElementNames: java.util.List<string>, sharedElements: java.util.List<android.view.View>, sharedElementSnapshots: java.util.List<android.view.View>): void;
			public constructor();
			public onRejectSharedElements(rejectedSharedElements: java.util.List<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 StartForegroundCalledOnStoppedServiceException extends java.lang.IllegalStateException implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.StartForegroundCalledOnStoppedServiceException>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.StartForegroundCalledOnStoppedServiceException>;
			public constructor(message: string);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module app {
		export class StatusBarManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.StatusBarManager>;
			public static TILE_ADD_REQUEST_ERROR_APP_NOT_IN_FOREGROUND: 1004;
			public static TILE_ADD_REQUEST_ERROR_BAD_COMPONENT: 1002;
			public static TILE_ADD_REQUEST_ERROR_MISMATCHED_PACKAGE: 1000;
			public static TILE_ADD_REQUEST_ERROR_NOT_CURRENT_USER: 1003;
			public static TILE_ADD_REQUEST_ERROR_NO_STATUS_BAR_SERVICE: 1005;
			public static TILE_ADD_REQUEST_ERROR_REQUEST_IN_PROGRESS: 1001;
			public static TILE_ADD_REQUEST_RESULT_TILE_ADDED: 2;
			public static TILE_ADD_REQUEST_RESULT_TILE_ALREADY_ADDED: 1;
			public static TILE_ADD_REQUEST_RESULT_TILE_NOT_ADDED: 0;
			public requestAddTileService(tileServiceComponentName: android.content.ComponentName, tileLabel: string, icon: any, resultExecutor: java.util.concurrent.Executor, resultCallback: any /* any*/): void;
			public canLaunchCaptureContentActivityForNote(activity: android.app.Activity): boolean;
		}
	}
}

declare module android {
	export module app {
		export class SyncNotedAppOp extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.SyncNotedAppOp>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.SyncNotedAppOp>;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getAttributionTag(): string;
			public constructor(opCode: number, attributionTag: string);
			public getOp(): string;
			public hashCode(): number;
		}
	}
}

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 onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			/** @deprecated */
			public getTabHost(): android.widget.TabHost;
			/** @deprecated */
			public constructor(singleActivityMode: boolean);
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public constructor();
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreatePanelView(param0: number): android.view.View;
			/** @deprecated */
			public setDefaultTab(index: number): void;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Bundle): void;
			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;
			/** @deprecated */
			public onPostCreate(icicle: android.os.Bundle): 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 setDefaultTab(tag: string): void;
			public onWindowFocusChanged(param0: boolean): void;
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public onContentChanged(): void;
			/** @deprecated */
			public onChildTitleChanged(childActivity: android.app.Activity, title: string): 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;
			/** @deprecated */
			public onSaveInstanceState(outState: android.os.Bundle): void;
			/** @deprecated */
			public getTabWidget(): android.widget.TabWidget;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onTrimMemory(param0: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onSaveInstanceState(outState: android.os.Bundle, outPersistentState: any): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onPostCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public onSearchRequested(param0: any): boolean;
			/** @deprecated */
			public onContentChanged(): void;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle, persistentState: any): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public constructor(base: android.content.Context);
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class TaskInfo extends java.lang.Object {
			public static class: java.lang.Class<android.app.TaskInfo>;
			public baseActivity: android.content.ComponentName;
			public baseIntent: android.content.Intent;
			public isRunning: boolean;
			public numActivities: number;
			public origActivity: android.content.ComponentName;
			public taskDescription: android.app.ActivityManager.TaskDescription;
			public taskId: number;
			public topActivity: android.content.ComponentName;
			public toString(): string;
			public isVisible(): boolean;
		}
	}
}

declare module android {
	export module app {
		export class TaskStackBuilder extends java.lang.Object {
			public static class: java.lang.Class<android.app.TaskStackBuilder>;
			public getIntents(): androidNative.Array<android.content.Intent>;
			public static create(context: android.content.Context): android.app.TaskStackBuilder;
			public addParentStack(sourceActivityName: android.content.ComponentName): android.app.TaskStackBuilder;
			public startActivities(): void;
			public startActivities(options: android.os.Bundle): void;
			public getPendingIntent(requestCode: number, flags: number, options: android.os.Bundle): android.app.PendingIntent;
			public getIntentCount(): number;
			public addParentStack(sourceActivity: android.app.Activity): android.app.TaskStackBuilder;
			public addNextIntentWithParentStack(nextIntent: android.content.Intent): android.app.TaskStackBuilder;
			public addParentStack(sourceActivityClass: java.lang.Class<any>): android.app.TaskStackBuilder;
			public editIntentAt(index: number): android.content.Intent;
			public getPendingIntent(requestCode: number, flags: number): android.app.PendingIntent;
			public addNextIntent(nextIntent: android.content.Intent): android.app.TaskStackBuilder;
		}
	}
}

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 onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onClick(dialog: android.content.DialogInterface, which: number): void;
			public cancel(): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(context: android.content.Context);
			public onTimeChanged(param0: android.widget.TimePicker, param1: number, param2: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, cancelable: boolean, cancelListener: android.content.DialogInterface.OnCancelListener);
			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 updateTime(hourOfDay: number, minuteOfHour: number): void;
			public dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public constructor(context: android.content.Context, themeResId: number, listener: android.app.TimePickerDialog.OnTimeSetListener, hourOfDay: number, minute: number, is24HourView: boolean);
			public onSearchRequested(param0: any): boolean;
			public onTimeChanged(view: android.widget.TimePicker, hourOfDay: number, minute: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, listener: android.app.TimePickerDialog.OnTimeSetListener, hourOfDay: number, minute: number, is24HourView: boolean);
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public constructor(context: android.content.Context, themeResId: number);
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			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 onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle): 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: 1;
			public static FLAG_DONT_USE_ACCESSIBILITY: 2;
			public static ROTATION_FREEZE_0: 0;
			public static ROTATION_FREEZE_180: 2;
			public static ROTATION_FREEZE_270: 3;
			public static ROTATION_FREEZE_90: 1;
			public static ROTATION_FREEZE_CURRENT: -1;
			public static ROTATION_UNFREEZE: -2;
			public takeScreenshot(): android.graphics.Bitmap;
			public adoptShellPermissionIdentity(permissions: androidNative.Array<string>): void;
			public revokeRuntimePermissionAsUser(packageName: string, permission: string, userHandle: android.os.UserHandle): void;
			public getWindows(): java.util.List<android.view.accessibility.AccessibilityWindowInfo>;
			public executeAndWaitForEvent(command: java.lang.Runnable, filter: android.app.UiAutomation.AccessibilityEventFilter, timeoutMillis: number): android.view.accessibility.AccessibilityEvent;
			public getRootInActiveWindow(): android.view.accessibility.AccessibilityNodeInfo;
			public executeShellCommandRw(command: string): androidNative.Array<android.os.ParcelFileDescriptor>;
			public grantRuntimePermission(packageName: string, permission: string): void;
			public revokeRuntimePermission(packageName: string, permission: string): void;
			public adoptShellPermissionIdentity(): void;
			public getWindowsOnAllDisplays(): android.util.SparseArray<java.util.List<android.view.accessibility.AccessibilityWindowInfo>>;
			public clearCache(): boolean;
			public grantRuntimePermissionAsUser(packageName: string, permission: string, userHandle: android.os.UserHandle): void;
			public waitForIdle(idleTimeoutMillis: number, globalTimeoutMillis: number): void;
			public takeScreenshot(window: android.view.Window): android.graphics.Bitmap;
			public setRunAsMonkey(enable: boolean): void;
			public setAnimationScale(scale: number): void;
			public executeShellCommandRwe(command: string): androidNative.Array<android.os.ParcelFileDescriptor>;
			public injectInputEvent(event: android.view.InputEvent, sync: boolean): boolean;
			public setRotation(rotation: number): boolean;
			public clearWindowContentFrameStats(windowId: number): boolean;
			public setServiceInfo(info: android.accessibilityservice.AccessibilityServiceInfo): void;
			/** @deprecated */
			public getWindowAnimationFrameStats(): android.view.WindowAnimationFrameStats;
			/** @deprecated */
			public clearWindowAnimationFrameStats(): void;
			public dropShellPermissionIdentity(): void;
			public getServiceInfo(): android.accessibilityservice.AccessibilityServiceInfo;
			public setOnAccessibilityEventListener(listener: android.app.UiAutomation.OnAccessibilityEventListener): void;
			public toString(): string;
			public performGlobalAction(action: number): boolean;
			public getWindowContentFrameStats(windowId: number): android.view.WindowContentFrameStats;
			public executeShellCommand(command: string): android.os.ParcelFileDescriptor;
			public findFocus(focus: number): android.view.accessibility.AccessibilityNodeInfo;
		}
		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: 1;
			public static ENABLE_CAR_MODE_ALLOW_SLEEP: 2;
			public static ENABLE_CAR_MODE_GO_CAR_HOME: 1;
			public static MODE_NIGHT_AUTO: 0;
			public static MODE_NIGHT_CUSTOM: 3;
			public static MODE_NIGHT_NO: 1;
			public static MODE_NIGHT_YES: 2;
			public getNightMode(): number;
			public setCustomNightModeEnd(time: java.time.LocalTime): void;
			public disableCarMode(flags: number): void;
			public getCustomNightModeEnd(): java.time.LocalTime;
			public addContrastChangeListener(executor: java.util.concurrent.Executor, listener: android.app.UiModeManager.ContrastChangeListener): void;
			public removeContrastChangeListener(listener: android.app.UiModeManager.ContrastChangeListener): void;
			public getCurrentModeType(): number;
			public getContrast(): number;
			public setCustomNightModeStart(time: java.time.LocalTime): void;
			public getCustomNightModeStart(): java.time.LocalTime;
			public setApplicationNightMode(mode: number): void;
			public enableCarMode(flags: number): void;
			public setNightMode(mode: number): void;
		}
		export module UiModeManager {
			export class ContrastChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.UiModeManager.ContrastChangeListener>;
				/**
				 * Constructs a new instance of the android.app.UiModeManager$ContrastChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onContrastChanged(param0: number): void;
				});
				public constructor();
				public onContrastChanged(param0: number): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class VoiceInteractor extends java.lang.Object {
			public static class: java.lang.Class<android.app.VoiceInteractor>;
			public getActiveRequests(): androidNative.Array<android.app.VoiceInteractor.Request>;
			public isDestroyed(): boolean;
			public notifyDirectActionsChanged(): void;
			public submitRequest(request: android.app.VoiceInteractor.Request): boolean;
			public getPackageName(): string;
			public unregisterOnDestroyedCallback(callback: java.lang.Runnable): boolean;
			public submitRequest(request: android.app.VoiceInteractor.Request, name: string): boolean;
			public supportsCommands(commands: androidNative.Array<string>): androidNative.Array<boolean>;
			public registerOnDestroyedCallback(executor: java.util.concurrent.Executor, callback: java.lang.Runnable): boolean;
			public getActiveRequest(name: string): android.app.VoiceInteractor.Request;
		}
		export module VoiceInteractor {
			export class AbortVoiceRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.AbortVoiceRequest>;
				public constructor(prompt: android.app.VoiceInteractor.Prompt, extras: android.os.Bundle);
				public onAbortResult(result: android.os.Bundle): void;
			}
			export class CommandRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.CommandRequest>;
				public onCommandResult(isCompleted: boolean, result: android.os.Bundle): void;
				public constructor(command: string, args: android.os.Bundle);
			}
			export class CompleteVoiceRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.CompleteVoiceRequest>;
				public constructor(prompt: android.app.VoiceInteractor.Prompt, extras: android.os.Bundle);
				public onCompleteResult(result: android.os.Bundle): void;
			}
			export class ConfirmationRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.ConfirmationRequest>;
				public onConfirmationResult(confirmed: boolean, result: android.os.Bundle): void;
				public constructor(prompt: android.app.VoiceInteractor.Prompt, extras: android.os.Bundle);
			}
			export class PickOptionRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.PickOptionRequest>;
				public onPickOptionResult(finished: boolean, selections: androidNative.Array<android.app.VoiceInteractor.PickOptionRequest.Option>, result: android.os.Bundle): void;
				public constructor(prompt: android.app.VoiceInteractor.Prompt, options: androidNative.Array<android.app.VoiceInteractor.PickOptionRequest.Option>, extras: 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 getLabel(): string;
					public getIndex(): number;
					public constructor(label: string, index: number);
					public setExtras(extras: android.os.Bundle): void;
					public describeContents(): number;
					public countSynonyms(): number;
					public addSynonym(synonym: string): android.app.VoiceInteractor.PickOptionRequest.Option;
					public getExtras(): android.os.Bundle;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getSynonymAt(index: 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 constructor(prompt: string);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getVisualPrompt(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getVoicePromptAt(index: number): string;
				public describeContents(): number;
				public countVoicePrompts(): number;
				public toString(): string;
				public constructor(voicePrompts: androidNative.Array<string>, visualPrompt: 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(activity: 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 static HINT_SUPPORTS_DARK_TEXT: 1;
			public static HINT_SUPPORTS_DARK_THEME: 2;
			public constructor(primaryColor: android.graphics.Color, secondaryColor: android.graphics.Color, tertiaryColor: android.graphics.Color, colorHints: number);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public static fromBitmap(bitmap: android.graphics.Bitmap): android.app.WallpaperColors;
			public constructor(primaryColor: android.graphics.Color, secondaryColor: android.graphics.Color, tertiaryColor: android.graphics.Color);
			public static fromDrawable(drawable: android.graphics.drawable.Drawable): android.app.WallpaperColors;
			public getSecondaryColor(): android.graphics.Color;
			public getPrimaryColor(): android.graphics.Color;
			public getTertiaryColor(): android.graphics.Color;
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public getColorHints(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(parcel: android.os.Parcel);
			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 dump(pw: android.util.Printer, prefix: string): void;
			public getSettingsSliceUri(): android.net.Uri;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getPackageName(): string;
			public getShowMetadataInPreview(): boolean;
			public getServiceName(): string;
			public loadIcon(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
			public shouldUseDefaultUnfoldTransition(): boolean;
			public constructor(context: android.content.Context, service: android.content.pm.ResolveInfo);
			public getComponent(): android.content.ComponentName;
			public toString(): string;
			public supportsMultipleDisplays(): boolean;
			public loadThumbnail(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
			public loadContextUri(pm: android.content.pm.PackageManager): android.net.Uri;
			public loadAuthor(pm: android.content.pm.PackageManager): string;
			public getServiceInfo(): android.content.pm.ServiceInfo;
			public loadLabel(pm: android.content.pm.PackageManager): string;
			public describeContents(): number;
			public loadDescription(pm: android.content.pm.PackageManager): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSettingsActivity(): string;
			public loadContextDescription(pm: android.content.pm.PackageManager): string;
		}
	}
}

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: "android.service.wallpaper.CHANGE_LIVE_WALLPAPER";
			public static ACTION_CROP_AND_SET_WALLPAPER: "android.service.wallpaper.CROP_AND_SET_WALLPAPER";
			public static ACTION_LIVE_WALLPAPER_CHOOSER: "android.service.wallpaper.LIVE_WALLPAPER_CHOOSER";
			public static COMMAND_DROP: "android.home.drop";
			public static COMMAND_SECONDARY_TAP: "android.wallpaper.secondaryTap";
			public static COMMAND_TAP: "android.wallpaper.tap";
			public static EXTRA_LIVE_WALLPAPER_COMPONENT: "android.service.wallpaper.extra.LIVE_WALLPAPER_COMPONENT";
			public static FLAG_LOCK: 2;
			public static FLAG_SYSTEM: 1;
			public static WALLPAPER_PREVIEW_META_DATA: "android.wallpaper.preview";
			public getBuiltInDrawable(): android.graphics.drawable.Drawable;
			public removeOnColorsChangedListener(callback: android.app.WallpaperManager.OnColorsChangedListener): void;
			public getDesiredMinimumHeight(): number;
			public clearWallpaper(): void;
			public getWallpaperColors(which: number): android.app.WallpaperColors;
			public getBuiltInDrawable(which: number): android.graphics.drawable.Drawable;
			public peekDrawable(which: number): android.graphics.drawable.Drawable;
			public setStream(bitmapData: java.io.InputStream): void;
			public getWallpaperInfo(): android.app.WallpaperInfo;
			public isSetWallpaperAllowed(): boolean;
			public peekFastDrawable(): android.graphics.drawable.Drawable;
			public forgetLoadedWallpaper(): void;
			public getCropAndSetWallpaperIntent(imageUri: android.net.Uri): android.content.Intent;
			public setResource(resid: number, which: number): number;
			public getFastDrawable(): android.graphics.drawable.Drawable;
			public peekFastDrawable(which: number): android.graphics.drawable.Drawable;
			public getFastDrawable(which: number): android.graphics.drawable.Drawable;
			public setBitmap(fullImage: android.graphics.Bitmap, visibleCropHint: android.graphics.Rect, allowBackup: boolean): number;
			public getWallpaperId(which: number): number;
			public setBitmap(fullImage: android.graphics.Bitmap, visibleCropHint: android.graphics.Rect, allowBackup: boolean, which: number): number;
			public setStream(bitmapData: java.io.InputStream, visibleCropHint: android.graphics.Rect, allowBackup: boolean): number;
			public setWallpaperOffsetSteps(xStep: number, yStep: number): void;
			public getWallpaperFile(which: number): android.os.ParcelFileDescriptor;
			public setResource(resid: number): void;
			public setDisplayPadding(padding: android.graphics.Rect): void;
			public getBuiltInDrawable(outWidth: number, outHeight: number, scaleToFit: boolean, horizontalAlignment: number, verticalAlignment: number): android.graphics.drawable.Drawable;
			public static getInstance(context: android.content.Context): android.app.WallpaperManager;
			public clear(): void;
			public getDrawable(): android.graphics.drawable.Drawable;
			public sendWallpaperCommand(windowToken: android.os.IBinder, action: string, x: number, y: number, z: number, extras: android.os.Bundle): void;
			public getDrawable(which: number): android.graphics.drawable.Drawable;
			public getDesiredMinimumWidth(): number;
			public getBuiltInDrawable(outWidth: number, outHeight: number, scaleToFit: boolean, horizontalAlignment: number, verticalAlignment: number, which: number): android.graphics.drawable.Drawable;
			public setWallpaperOffsets(windowToken: android.os.IBinder, xOffset: number, yOffset: number): void;
			public clearWallpaperOffsets(windowToken: android.os.IBinder): void;
			public setStream(bitmapData: java.io.InputStream, visibleCropHint: android.graphics.Rect, allowBackup: boolean, which: number): number;
			public setBitmap(bitmap: android.graphics.Bitmap): void;
			public hasResourceWallpaper(resid: number): boolean;
			public getWallpaperInfo(which: number): android.app.WallpaperInfo;
			public isWallpaperSupported(): boolean;
			public addOnColorsChangedListener(listener: android.app.WallpaperManager.OnColorsChangedListener, handler: android.os.Handler): void;
			public peekDrawable(): android.graphics.drawable.Drawable;
			public clear(which: number): void;
			public suggestDesiredDimensions(minimumWidth: number, minimumHeight: number): void;
		}
		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 class ZygotePreload extends java.lang.Object {
			public static class: java.lang.Class<android.app.ZygotePreload>;
			/**
			 * Constructs a new instance of the android.app.ZygotePreload interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				doPreload(param0: android.content.pm.ApplicationInfo): void;
			});
			public constructor();
			public doPreload(param0: android.content.pm.ApplicationInfo): 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 writeToParcel(out: android.os.Parcel, flags: number): void;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class DelegatedAdminReceiver extends android.content.BroadcastReceiver {
				public static class: java.lang.Class<android.app.admin.DelegatedAdminReceiver>;
				public onSecurityLogsAvailable(context: android.content.Context, intent: android.content.Intent): void;
				public onNetworkLogsAvailable(context: android.content.Context, intent: android.content.Intent, batchToken: number, networkLogsCount: number): void;
				public onChoosePrivateKeyAlias(context: android.content.Context, intent: android.content.Intent, uid: number, uri: android.net.Uri, alias: string): string;
				public constructor();
				public onReceive(context: android.content.Context, intent: android.content.Intent): void;
			}
		}
	}
}

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 HEADLESS_DEVICE_OWNER_MODE_AFFILIATED: 1;
				public static HEADLESS_DEVICE_OWNER_MODE_SINGLE_USER: 2;
				public static HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED: 0;
				public static USES_ENCRYPTED_STORAGE: 7;
				public static USES_POLICY_DISABLE_CAMERA: 8;
				public static USES_POLICY_DISABLE_KEYGUARD_FEATURES: 9;
				public static USES_POLICY_EXPIRE_PASSWORD: 6;
				public static USES_POLICY_FORCE_LOCK: 3;
				public static USES_POLICY_LIMIT_PASSWORD: 0;
				public static USES_POLICY_RESET_PASSWORD: 2;
				public static USES_POLICY_WATCH_LOGIN: 1;
				public static USES_POLICY_WIPE_DATA: 4;
				public constructor(context: android.content.Context, resolveInfo: android.content.pm.ResolveInfo);
				public supportsTransferOwnership(): boolean;
				public isVisible(): boolean;
				public getTagForPolicy(policyIdent: number): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public getComponent(): android.content.ComponentName;
				public loadLabel(pm: android.content.pm.PackageManager): string;
				public usesPolicy(policyIdent: number): boolean;
				public loadIcon(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public toString(): string;
				public loadDescription(pm: android.content.pm.PackageManager): string;
				public getHeadlessDeviceOwnerMode(): number;
				public dump(pw: android.util.Printer, prefix: string): void;
				public getActivityInfo(): android.content.pm.ActivityInfo;
				public describeContents(): number;
				public getReceiverName(): string;
			}
		}
	}
}

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_CHOOSE_PRIVATE_KEY_ALIAS: "android.app.action.CHOOSE_PRIVATE_KEY_ALIAS";
				public static ACTION_DEVICE_ADMIN_DISABLED: "android.app.action.DEVICE_ADMIN_DISABLED";
				public static ACTION_DEVICE_ADMIN_DISABLE_REQUESTED: "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
				public static ACTION_DEVICE_ADMIN_ENABLED: "android.app.action.DEVICE_ADMIN_ENABLED";
				public static ACTION_LOCK_TASK_ENTERING: "android.app.action.LOCK_TASK_ENTERING";
				public static ACTION_LOCK_TASK_EXITING: "android.app.action.LOCK_TASK_EXITING";
				public static ACTION_NETWORK_LOGS_AVAILABLE: "android.app.action.NETWORK_LOGS_AVAILABLE";
				public static ACTION_PASSWORD_CHANGED: "android.app.action.ACTION_PASSWORD_CHANGED";
				public static ACTION_PASSWORD_EXPIRING: "android.app.action.ACTION_PASSWORD_EXPIRING";
				public static ACTION_PASSWORD_FAILED: "android.app.action.ACTION_PASSWORD_FAILED";
				public static ACTION_PASSWORD_SUCCEEDED: "android.app.action.ACTION_PASSWORD_SUCCEEDED";
				public static ACTION_PROFILE_PROVISIONING_COMPLETE: "android.app.action.PROFILE_PROVISIONING_COMPLETE";
				public static ACTION_SECURITY_LOGS_AVAILABLE: "android.app.action.SECURITY_LOGS_AVAILABLE";
				public static BUGREPORT_FAILURE_FAILED_COMPLETING: 0;
				public static BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE: 1;
				public static DEVICE_ADMIN_META_DATA: "android.app.device_admin";
				public static EXTRA_DISABLE_WARNING: "android.app.extra.DISABLE_WARNING";
				public static EXTRA_LOCK_TASK_PACKAGE: "android.app.extra.LOCK_TASK_PACKAGE";
				public static EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE: "android.app.extra.TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE";
				public onPasswordExpiring(context: android.content.Context, intent: android.content.Intent, user: android.os.UserHandle): void;
				public onOperationSafetyStateChanged(context: android.content.Context, reason: number, isSafe: boolean): void;
				public onDisableRequested(context: android.content.Context, intent: android.content.Intent): string;
				public onSystemUpdatePending(context: android.content.Context, intent: android.content.Intent, receivedTime: number): void;
				public onBugreportShared(context: android.content.Context, intent: android.content.Intent, bugreportHash: string): void;
				public onUserSwitched(context: android.content.Context, intent: android.content.Intent, switchedUser: android.os.UserHandle): void;
				public onDisabled(context: android.content.Context, intent: android.content.Intent): void;
				public onPasswordFailed(context: android.content.Context, intent: android.content.Intent, user: android.os.UserHandle): void;
				/** @deprecated */
				public onPasswordChanged(context: android.content.Context, intent: android.content.Intent): void;
				public constructor();
				public onReceive(context: android.content.Context, intent: android.content.Intent): void;
				public getWho(context: android.content.Context): android.content.ComponentName;
				public onNetworkLogsAvailable(context: android.content.Context, intent: android.content.Intent, batchToken: number, networkLogsCount: number): void;
				public onPasswordChanged(context: android.content.Context, intent: android.content.Intent, user: android.os.UserHandle): void;
				public onUserStarted(context: android.content.Context, intent: android.content.Intent, startedUser: android.os.UserHandle): void;
				public onUserRemoved(context: android.content.Context, intent: android.content.Intent, removedUser: android.os.UserHandle): void;
				/** @deprecated */
				public onPasswordSucceeded(context: android.content.Context, intent: android.content.Intent): void;
				public onProfileProvisioningComplete(context: android.content.Context, intent: android.content.Intent): void;
				/** @deprecated */
				public onReadyForUserInitialization(context: android.content.Context, intent: android.content.Intent): void;
				public onChoosePrivateKeyAlias(context: android.content.Context, intent: android.content.Intent, uid: number, uri: android.net.Uri, alias: string): string;
				public onLockTaskModeEntering(context: android.content.Context, intent: android.content.Intent, pkg: string): void;
				public getManager(context: android.content.Context): android.app.admin.DevicePolicyManager;
				/** @deprecated */
				public onPasswordExpiring(context: android.content.Context, intent: android.content.Intent): void;
				public onUserAdded(context: android.content.Context, intent: android.content.Intent, addedUser: android.os.UserHandle): void;
				public onLockTaskModeExiting(context: android.content.Context, intent: android.content.Intent): void;
				public onSecurityLogsAvailable(context: android.content.Context, intent: android.content.Intent): void;
				public onTransferAffiliatedProfileOwnershipComplete(context: android.content.Context, user: android.os.UserHandle): void;
				public onBugreportSharingDeclined(context: android.content.Context, intent: android.content.Intent): void;
				public onComplianceAcknowledgementRequired(context: android.content.Context, intent: android.content.Intent): void;
				public onTransferOwnershipComplete(context: android.content.Context, bundle: any): void;
				public onEnabled(context: android.content.Context, intent: android.content.Intent): void;
				public onPasswordSucceeded(context: android.content.Context, intent: android.content.Intent, user: android.os.UserHandle): void;
				public onUserStopped(context: android.content.Context, intent: android.content.Intent, stoppedUser: android.os.UserHandle): void;
				/** @deprecated */
				public onPasswordFailed(context: android.content.Context, intent: android.content.Intent): void;
				public onBugreportFailed(context: android.content.Context, intent: android.content.Intent, failureCode: number): 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(intent: android.content.Intent): android.os.IBinder;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class DevicePolicyIdentifiers extends java.lang.Object {
				public static class: java.lang.Class<android.app.admin.DevicePolicyIdentifiers>;
				public static ACCOUNT_MANAGEMENT_DISABLED_POLICY: "accountManagementDisabled";
				public static APPLICATION_HIDDEN_POLICY: "applicationHidden";
				public static APPLICATION_RESTRICTIONS_POLICY: "applicationRestrictions";
				public static AUTO_TIMEZONE_POLICY: "autoTimezone";
				public static AUTO_TIME_POLICY: "autoTime";
				public static BACKUP_SERVICE_POLICY: "backupService";
				public static CAMERA_DISABLED_POLICY: "cameraDisabled";
				public static CONTENT_PROTECTION_POLICY: "contentProtection";
				public static KEYGUARD_DISABLED_FEATURES_POLICY: "keyguardDisabledFeatures";
				public static LOCK_TASK_POLICY: "lockTask";
				public static PACKAGES_SUSPENDED_POLICY: "packagesSuspended";
				public static PACKAGE_UNINSTALL_BLOCKED_POLICY: "packageUninstallBlocked";
				public static PASSWORD_COMPLEXITY_POLICY: "passwordComplexity";
				public static PERMISSION_GRANT_POLICY: "permissionGrant";
				public static PERSISTENT_PREFERRED_ACTIVITY_POLICY: "persistentPreferredActivity";
				public static RESET_PASSWORD_TOKEN_POLICY: "resetPasswordToken";
				public static SECURITY_LOGGING_POLICY: "securityLogging";
				public static STATUS_BAR_DISABLED_POLICY: "statusBarDisabled";
				public static USB_DATA_SIGNALING_POLICY: "usbDataSignaling";
				public static USER_CONTROL_DISABLED_PACKAGES_POLICY: "userControlDisabledPackages";
				public static getIdentifierForUserRestriction(restriction: string): string;
			}
		}
	}
}

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: "android.app.action.ADD_DEVICE_ADMIN";
				public static ACTION_ADMIN_POLICY_COMPLIANCE: "android.app.action.ADMIN_POLICY_COMPLIANCE";
				public static ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED: "android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED";
				public static ACTION_CHECK_POLICY_COMPLIANCE: "android.app.action.CHECK_POLICY_COMPLIANCE";
				public static ACTION_DEVICE_ADMIN_SERVICE: "android.app.action.DEVICE_ADMIN_SERVICE";
				public static ACTION_DEVICE_FINANCING_STATE_CHANGED: "android.app.admin.action.DEVICE_FINANCING_STATE_CHANGED";
				public static ACTION_DEVICE_OWNER_CHANGED: "android.app.action.DEVICE_OWNER_CHANGED";
				public static ACTION_DEVICE_POLICY_RESOURCE_UPDATED: "android.app.action.DEVICE_POLICY_RESOURCE_UPDATED";
				public static ACTION_GET_PROVISIONING_MODE: "android.app.action.GET_PROVISIONING_MODE";
				public static ACTION_MANAGED_PROFILE_PROVISIONED: "android.app.action.MANAGED_PROFILE_PROVISIONED";
				public static ACTION_PROFILE_OWNER_CHANGED: "android.app.action.PROFILE_OWNER_CHANGED";
				public static ACTION_PROVISIONING_SUCCESSFUL: "android.app.action.PROVISIONING_SUCCESSFUL";
				public static ACTION_PROVISION_MANAGED_DEVICE: "android.app.action.PROVISION_MANAGED_DEVICE";
				public static ACTION_PROVISION_MANAGED_PROFILE: "android.app.action.PROVISION_MANAGED_PROFILE";
				public static ACTION_SET_NEW_PARENT_PROFILE_PASSWORD: "android.app.action.SET_NEW_PARENT_PROFILE_PASSWORD";
				public static ACTION_SET_NEW_PASSWORD: "android.app.action.SET_NEW_PASSWORD";
				public static ACTION_START_ENCRYPTION: "android.app.action.START_ENCRYPTION";
				public static ACTION_SYSTEM_UPDATE_POLICY_CHANGED: "android.app.action.SYSTEM_UPDATE_POLICY_CHANGED";
				public static CONTENT_PROTECTION_DISABLED: 1;
				public static CONTENT_PROTECTION_ENABLED: 2;
				public static CONTENT_PROTECTION_NOT_CONTROLLED_BY_POLICY: 0;
				public static DELEGATION_APP_RESTRICTIONS: "delegation-app-restrictions";
				public static DELEGATION_BLOCK_UNINSTALL: "delegation-block-uninstall";
				public static DELEGATION_CERT_INSTALL: "delegation-cert-install";
				public static DELEGATION_CERT_SELECTION: "delegation-cert-selection";
				public static DELEGATION_ENABLE_SYSTEM_APP: "delegation-enable-system-app";
				public static DELEGATION_INSTALL_EXISTING_PACKAGE: "delegation-install-existing-package";
				public static DELEGATION_KEEP_UNINSTALLED_PACKAGES: "delegation-keep-uninstalled-packages";
				public static DELEGATION_NETWORK_LOGGING: "delegation-network-logging";
				public static DELEGATION_PACKAGE_ACCESS: "delegation-package-access";
				public static DELEGATION_PERMISSION_GRANT: "delegation-permission-grant";
				public static DELEGATION_SECURITY_LOGGING: "delegation-security-logging";
				public static ENCRYPTION_STATUS_ACTIVATING: 2;
				public static ENCRYPTION_STATUS_ACTIVE: 3;
				public static ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY: 4;
				public static ENCRYPTION_STATUS_ACTIVE_PER_USER: 5;
				public static ENCRYPTION_STATUS_INACTIVE: 1;
				public static ENCRYPTION_STATUS_UNSUPPORTED: 0;
				public static EXTRA_ADD_EXPLANATION: "android.app.extra.ADD_EXPLANATION";
				public static EXTRA_DELEGATION_SCOPES: "android.app.extra.DELEGATION_SCOPES";
				public static EXTRA_DEVICE_ADMIN: "android.app.extra.DEVICE_ADMIN";
				public static EXTRA_DEVICE_PASSWORD_REQUIREMENT_ONLY: "android.app.extra.DEVICE_PASSWORD_REQUIREMENT_ONLY";
				public static EXTRA_PASSWORD_COMPLEXITY: "android.app.extra.PASSWORD_COMPLEXITY";
				public static EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE: "android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE";
				public static EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE: "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE";
				public static EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES: "android.app.extra.PROVISIONING_ALLOWED_PROVISIONING_MODES";
				public static EXTRA_PROVISIONING_ALLOW_OFFLINE: "android.app.extra.PROVISIONING_ALLOW_OFFLINE";
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME: "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME";
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE: "android.app.extra.PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE";
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM: "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM";
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER: "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER";
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION: "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION";
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME: "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME";
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM: "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM";
				public static EXTRA_PROVISIONING_DISCLAIMERS: "android.app.extra.PROVISIONING_DISCLAIMERS";
				public static EXTRA_PROVISIONING_DISCLAIMER_CONTENT: "android.app.extra.PROVISIONING_DISCLAIMER_CONTENT";
				public static EXTRA_PROVISIONING_DISCLAIMER_HEADER: "android.app.extra.PROVISIONING_DISCLAIMER_HEADER";
				public static EXTRA_PROVISIONING_EMAIL_ADDRESS: "android.app.extra.PROVISIONING_EMAIL_ADDRESS";
				public static EXTRA_PROVISIONING_IMEI: "android.app.extra.PROVISIONING_IMEI";
				public static EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION: "android.app.extra.PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION";
				public static EXTRA_PROVISIONING_KEEP_SCREEN_ON: "android.app.extra.PROVISIONING_KEEP_SCREEN_ON";
				public static EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED: "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED";
				public static EXTRA_PROVISIONING_LOCALE: "android.app.extra.PROVISIONING_LOCALE";
				public static EXTRA_PROVISIONING_LOCAL_TIME: "android.app.extra.PROVISIONING_LOCAL_TIME";
				public static EXTRA_PROVISIONING_LOGO_URI: "android.app.extra.PROVISIONING_LOGO_URI";
				public static EXTRA_PROVISIONING_MAIN_COLOR: "android.app.extra.PROVISIONING_MAIN_COLOR";
				public static EXTRA_PROVISIONING_MODE: "android.app.extra.PROVISIONING_MODE";
				public static EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT: "android.app.extra.PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT";
				public static EXTRA_PROVISIONING_SERIAL_NUMBER: "android.app.extra.PROVISIONING_SERIAL_NUMBER";
				public static EXTRA_PROVISIONING_SHOULD_LAUNCH_RESULT_INTENT: "android.app.extra.PROVISIONING_SHOULD_LAUNCH_RESULT_INTENT";
				public static EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS: "android.app.extra.PROVISIONING_SKIP_EDUCATION_SCREENS";
				public static EXTRA_PROVISIONING_SKIP_ENCRYPTION: "android.app.extra.PROVISIONING_SKIP_ENCRYPTION";
				public static EXTRA_PROVISIONING_SKIP_USER_CONSENT: "android.app.extra.PROVISIONING_SKIP_USER_CONSENT";
				public static EXTRA_PROVISIONING_TIME_ZONE: "android.app.extra.PROVISIONING_TIME_ZONE";
				public static EXTRA_PROVISIONING_USE_MOBILE_DATA: "android.app.extra.PROVISIONING_USE_MOBILE_DATA";
				public static EXTRA_PROVISIONING_WIFI_ANONYMOUS_IDENTITY: "android.app.extra.PROVISIONING_WIFI_ANONYMOUS_IDENTITY";
				public static EXTRA_PROVISIONING_WIFI_CA_CERTIFICATE: "android.app.extra.PROVISIONING_WIFI_CA_CERTIFICATE";
				public static EXTRA_PROVISIONING_WIFI_DOMAIN: "android.app.extra.PROVISIONING_WIFI_DOMAIN";
				public static EXTRA_PROVISIONING_WIFI_EAP_METHOD: "android.app.extra.PROVISIONING_WIFI_EAP_METHOD";
				public static EXTRA_PROVISIONING_WIFI_HIDDEN: "android.app.extra.PROVISIONING_WIFI_HIDDEN";
				public static EXTRA_PROVISIONING_WIFI_IDENTITY: "android.app.extra.PROVISIONING_WIFI_IDENTITY";
				public static EXTRA_PROVISIONING_WIFI_PAC_URL: "android.app.extra.PROVISIONING_WIFI_PAC_URL";
				public static EXTRA_PROVISIONING_WIFI_PASSWORD: "android.app.extra.PROVISIONING_WIFI_PASSWORD";
				public static EXTRA_PROVISIONING_WIFI_PHASE2_AUTH: "android.app.extra.PROVISIONING_WIFI_PHASE2_AUTH";
				public static EXTRA_PROVISIONING_WIFI_PROXY_BYPASS: "android.app.extra.PROVISIONING_WIFI_PROXY_BYPASS";
				public static EXTRA_PROVISIONING_WIFI_PROXY_HOST: "android.app.extra.PROVISIONING_WIFI_PROXY_HOST";
				public static EXTRA_PROVISIONING_WIFI_PROXY_PORT: "android.app.extra.PROVISIONING_WIFI_PROXY_PORT";
				public static EXTRA_PROVISIONING_WIFI_SECURITY_TYPE: "android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE";
				public static EXTRA_PROVISIONING_WIFI_SSID: "android.app.extra.PROVISIONING_WIFI_SSID";
				public static EXTRA_PROVISIONING_WIFI_USER_CERTIFICATE: "android.app.extra.PROVISIONING_WIFI_USER_CERTIFICATE";
				public static EXTRA_RESOURCE_IDS: "android.app.extra.RESOURCE_IDS";
				public static EXTRA_RESOURCE_TYPE: "android.app.extra.RESOURCE_TYPE";
				public static EXTRA_RESOURCE_TYPE_DRAWABLE: 1;
				public static EXTRA_RESOURCE_TYPE_STRING: 2;
				public static EXTRA_RESULT_LAUNCH_INTENT: "android.app.extra.RESULT_LAUNCH_INTENT";
				public static FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY: 1;
				public static FLAG_MANAGED_CAN_ACCESS_PARENT: 2;
				public static FLAG_PARENT_CAN_ACCESS_MANAGED: 1;
				public static ID_TYPE_BASE_INFO: 1;
				public static ID_TYPE_IMEI: 4;
				public static ID_TYPE_INDIVIDUAL_ATTESTATION: 16;
				public static ID_TYPE_MEID: 8;
				public static ID_TYPE_SERIAL: 2;
				public static INSTALLKEY_REQUEST_CREDENTIALS_ACCESS: 1;
				public static INSTALLKEY_SET_USER_SELECTABLE: 2;
				public static KEYGUARD_DISABLE_BIOMETRICS: 416;
				public static KEYGUARD_DISABLE_FACE: 128;
				public static KEYGUARD_DISABLE_FEATURES_ALL: 2147483647;
				public static KEYGUARD_DISABLE_FEATURES_NONE: 0;
				public static KEYGUARD_DISABLE_FINGERPRINT: 32;
				public static KEYGUARD_DISABLE_IRIS: 256;
				public static KEYGUARD_DISABLE_REMOTE_INPUT: 64;
				public static KEYGUARD_DISABLE_SECURE_CAMERA: 2;
				public static KEYGUARD_DISABLE_SECURE_NOTIFICATIONS: 4;
				public static KEYGUARD_DISABLE_SHORTCUTS_ALL: 512;
				public static KEYGUARD_DISABLE_TRUST_AGENTS: 16;
				public static KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS: 8;
				public static KEYGUARD_DISABLE_WIDGETS_ALL: 1;
				public static LEAVE_ALL_SYSTEM_APPS_ENABLED: 16;
				public static LOCK_TASK_FEATURE_BLOCK_ACTIVITY_START_IN_TASK: 64;
				public static LOCK_TASK_FEATURE_GLOBAL_ACTIONS: 16;
				public static LOCK_TASK_FEATURE_HOME: 4;
				public static LOCK_TASK_FEATURE_KEYGUARD: 32;
				public static LOCK_TASK_FEATURE_NONE: 0;
				public static LOCK_TASK_FEATURE_NOTIFICATIONS: 2;
				public static LOCK_TASK_FEATURE_OVERVIEW: 8;
				public static LOCK_TASK_FEATURE_SYSTEM_INFO: 1;
				public static MAKE_USER_EPHEMERAL: 2;
				public static MIME_TYPE_PROVISIONING_NFC: "application/com.android.managedprovisioning";
				public static MTE_DISABLED: 2;
				public static MTE_ENABLED: 1;
				public static MTE_NOT_CONTROLLED_BY_POLICY: 0;
				public static NEARBY_STREAMING_DISABLED: 1;
				public static NEARBY_STREAMING_ENABLED: 2;
				public static NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY: 0;
				public static NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY: 3;
				public static OPERATION_SAFETY_REASON_DRIVING_DISTRACTION: 1;
				public static PASSWORD_COMPLEXITY_HIGH: 327680;
				public static PASSWORD_COMPLEXITY_LOW: 65536;
				public static PASSWORD_COMPLEXITY_MEDIUM: 196608;
				public static PASSWORD_COMPLEXITY_NONE: 0;
				public static PASSWORD_QUALITY_ALPHABETIC: 262144;
				public static PASSWORD_QUALITY_ALPHANUMERIC: 327680;
				public static PASSWORD_QUALITY_BIOMETRIC_WEAK: 32768;
				public static PASSWORD_QUALITY_COMPLEX: 393216;
				public static PASSWORD_QUALITY_NUMERIC: 131072;
				public static PASSWORD_QUALITY_NUMERIC_COMPLEX: 196608;
				public static PASSWORD_QUALITY_SOMETHING: 65536;
				public static PASSWORD_QUALITY_UNSPECIFIED: 0;
				public static PERMISSION_GRANT_STATE_DEFAULT: 0;
				public static PERMISSION_GRANT_STATE_DENIED: 2;
				public static PERMISSION_GRANT_STATE_GRANTED: 1;
				public static PERMISSION_POLICY_AUTO_DENY: 2;
				public static PERMISSION_POLICY_AUTO_GRANT: 1;
				public static PERMISSION_POLICY_PROMPT: 0;
				public static PERSONAL_APPS_NOT_SUSPENDED: 0;
				public static PERSONAL_APPS_SUSPENDED_EXPLICITLY: 1;
				public static PERSONAL_APPS_SUSPENDED_PROFILE_TIMEOUT: 2;
				public static POLICY_DISABLE_CAMERA: "policy_disable_camera";
				public static POLICY_DISABLE_SCREEN_CAPTURE: "policy_disable_screen_capture";
				public static PRIVATE_DNS_MODE_OFF: 1;
				public static PRIVATE_DNS_MODE_OPPORTUNISTIC: 2;
				public static PRIVATE_DNS_MODE_PROVIDER_HOSTNAME: 3;
				public static PRIVATE_DNS_MODE_UNKNOWN: 0;
				public static PRIVATE_DNS_SET_ERROR_FAILURE_SETTING: 2;
				public static PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING: 1;
				public static PRIVATE_DNS_SET_NO_ERROR: 0;
				public static PROVISIONING_MODE_FULLY_MANAGED_DEVICE: 1;
				public static PROVISIONING_MODE_MANAGED_PROFILE: 2;
				public static PROVISIONING_MODE_MANAGED_PROFILE_ON_PERSONAL_DEVICE: 3;
				public static RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT: 2;
				public static RESET_PASSWORD_REQUIRE_ENTRY: 1;
				public static SKIP_SETUP_WIZARD: 1;
				public static WIFI_SECURITY_ENTERPRISE_192: 3;
				public static WIFI_SECURITY_ENTERPRISE_EAP: 2;
				public static WIFI_SECURITY_OPEN: 0;
				public static WIFI_SECURITY_PERSONAL: 1;
				public static WIPE_EUICC: 4;
				public static WIPE_EXTERNAL_STORAGE: 1;
				public static WIPE_RESET_PROTECTION_DATA: 2;
				public static WIPE_SILENTLY: 8;
				public retrievePreRebootSecurityLogs(admin: android.content.ComponentName): java.util.List<android.app.admin.SecurityLog.SecurityEvent>;
				public revokeKeyPairFromApp(admin: android.content.ComponentName, alias: string, packageName: string): boolean;
				public isEphemeralUser(admin: android.content.ComponentName): boolean;
				public setAlwaysOnVpnPackage(admin: android.content.ComponentName, vpnPackage: string, lockdownEnabled: boolean, lockdownAllowlist: java.util.Set<string>): void;
				public updateOverrideApn(admin: android.content.ComponentName, apnId: number, apnSetting: android.telephony.data.ApnSetting): boolean;
				public setNearbyAppStreamingPolicy(policy: number): void;
				public setAutoTimeZoneEnabled(admin: android.content.ComponentName, enabled: boolean): void;
				public enableSystemApp(admin: android.content.ComponentName, packageName: string): void;
				public removeCrossProfileWidgetProvider(admin: android.content.ComponentName, packageName: string): boolean;
				public setWifiSsidPolicy(policy: android.app.admin.WifiSsidPolicy): void;
				public isUniqueDeviceAttestationSupported(): boolean;
				/** @deprecated */
				public getCrossProfileCalendarPackages(admin: android.content.ComponentName): java.util.Set<string>;
				public getWifiSsidPolicy(): android.app.admin.WifiSsidPolicy;
				public createAdminSupportIntent(restriction: string): android.content.Intent;
				public getWifiMacAddress(admin: android.content.ComponentName): string;
				public hasKeyPair(alias: string): boolean;
				public setPermittedCrossProfileNotificationListeners(admin: android.content.ComponentName, packageList: java.util.List<string>): boolean;
				public setKeyguardDisabled(admin: android.content.ComponentName, disabled: boolean): boolean;
				public setPermittedAccessibilityServices(admin: android.content.ComponentName, packageNames: java.util.List<string>): boolean;
				public setKeyguardDisabledFeatures(admin: android.content.ComponentName, which: number): void;
				public getPersonalAppsSuspendedReasons(admin: android.content.ComponentName): number;
				public setBluetoothContactSharingDisabled(admin: android.content.ComponentName, disabled: boolean): void;
				public getPasswordExpirationTimeout(admin: android.content.ComponentName): number;
				/** @deprecated */
				public setPasswordMinimumSymbols(admin: android.content.ComponentName, length: number): void;
				public getManagedProfileMaximumTimeOff(admin: android.content.ComponentName): number;
				public getManagedSubscriptionsPolicy(): android.app.admin.ManagedSubscriptionsPolicy;
				public clearApplicationUserData(admin: android.content.ComponentName, packageName: string, executor: java.util.concurrent.Executor, listener: android.app.admin.DevicePolicyManager.OnClearApplicationUserDataListener): void;
				public setAlwaysOnVpnPackage(admin: android.content.ComponentName, vpnPackage: string, lockdownEnabled: boolean): void;
				public setSecurityLoggingEnabled(admin: android.content.ComponentName, enabled: boolean): void;
				public getInstalledCaCerts(admin: android.content.ComponentName): java.util.List<androidNative.Array<number>>;
				public grantKeyPairToApp(admin: android.content.ComponentName, alias: string, packageName: string): boolean;
				public setDeviceOwnerLockScreenInfo(admin: android.content.ComponentName, info: string): void;
				/** @deprecated */
				public setPasswordMinimumUpperCase(admin: android.content.ComponentName, length: number): void;
				public isKeyPairGrantedToWifiAuth(alias: string): boolean;
				public getCrossProfileWidgetProviders(admin: android.content.ComponentName): java.util.List<string>;
				public getApplicationRestrictions(admin: android.content.ComponentName, packageName: string): android.os.Bundle;
				/** @deprecated */
				public setCrossProfileCalendarPackages(admin: android.content.ComponentName, packageNames: java.util.Set<string>): void;
				public isAlwaysOnVpnLockdownEnabled(admin: android.content.ComponentName): boolean;
				public getTransferOwnershipBundle(): any;
				public getRequiredStrongAuthTimeout(admin: android.content.ComponentName): number;
				/** @deprecated */
				public getStorageEncryption(admin: android.content.ComponentName): boolean;
				public setDefaultDialerApplication(packageName: string): void;
				public revokeKeyPairFromWifiAuth(alias: string): boolean;
				public getBluetoothContactSharingDisabled(admin: android.content.ComponentName): boolean;
				public installKeyPair(admin: android.content.ComponentName, privKey: java.security.PrivateKey, certs: androidNative.Array<java.security.cert.Certificate>, alias: string, requestAccess: boolean): boolean;
				public setShortSupportMessage(admin: android.content.ComponentName, message: string): void;
				public setLocationEnabled(admin: android.content.ComponentName, locationEnabled: boolean): void;
				/** @deprecated */
				public setPasswordMinimumLength(admin: android.content.ComponentName, length: number): void;
				public static isMtePolicyEnforced(): boolean;
				public setManagedProfileMaximumTimeOff(admin: android.content.ComponentName, timeoutMillis: number): void;
				public setTimeZone(admin: android.content.ComponentName, timeZone: string): boolean;
				public setUserIcon(admin: android.content.ComponentName, icon: android.graphics.Bitmap): void;
				public isAffiliatedUser(): boolean;
				public hasCaCertInstalled(admin: android.content.ComponentName, certBuffer: androidNative.Array<number>): boolean;
				public getAlwaysOnVpnLockdownWhitelist(admin: android.content.ComponentName): java.util.Set<string>;
				public setTime(admin: android.content.ComponentName, millis: number): boolean;
				public installCaCert(admin: android.content.ComponentName, certBuffer: androidNative.Array<number>): boolean;
				public isPackageSuspended(admin: android.content.ComponentName, packageName: string): boolean;
				public resetPasswordWithToken(admin: android.content.ComponentName, password: string, token: androidNative.Array<number>, flags: number): boolean;
				public getMeteredDataDisabledPackages(admin: android.content.ComponentName): java.util.List<string>;
				public getUserControlDisabledPackages(admin: android.content.ComponentName): java.util.List<string>;
				public setDelegatedScopes(admin: android.content.ComponentName, delegatePackage: string, scopes: java.util.List<string>): void;
				/** @deprecated */
				public setPasswordMinimumNonLetter(admin: android.content.ComponentName, length: number): void;
				public canAdminGrantSensorsPermissions(): boolean;
				public addUserRestriction(admin: android.content.ComponentName, key: string): void;
				public getAffiliationIds(admin: android.content.ComponentName): java.util.Set<string>;
				public setResetPasswordToken(admin: android.content.ComponentName, token: androidNative.Array<number>): boolean;
				public isResetPasswordTokenActive(admin: android.content.ComponentName): boolean;
				public getStorageEncryptionStatus(): number;
				public isOrganizationOwnedDeviceWithManagedProfile(): boolean;
				/** @deprecated */
				public setCertInstallerPackage(admin: android.content.ComponentName, installerPackage: string): void;
				public setDefaultSmsApplication(admin: android.content.ComponentName, packageName: string): void;
				public isLockTaskPermitted(pkg: string): boolean;
				public getManagedProfileContactsAccessPolicy(): android.app.admin.PackagePolicy;
				public isApplicationHidden(admin: android.content.ComponentName, packageName: string): boolean;
				/** @deprecated */
				public getAutoTimeRequired(): boolean;
				public setScreenCaptureDisabled(admin: android.content.ComponentName, disabled: boolean): void;
				public setPasswordExpirationTimeout(admin: android.content.ComponentName, timeout: number): void;
				public setAccountManagementDisabled(admin: android.content.ComponentName, accountType: string, disabled: boolean): void;
				public isSecurityLoggingEnabled(admin: android.content.ComponentName): boolean;
				public isUsingUnifiedPassword(admin: android.content.ComponentName): boolean;
				public uninstallCaCert(admin: android.content.ComponentName, certBuffer: androidNative.Array<number>): void;
				public getManagedProfileCallerIdAccessPolicy(): android.app.admin.PackagePolicy;
				public setMasterVolumeMuted(admin: android.content.ComponentName, on: boolean): void;
				public getSystemUpdatePolicy(): android.app.admin.SystemUpdatePolicy;
				public clearUserRestriction(admin: android.content.ComponentName, key: string): void;
				public getRequiredPasswordComplexity(): number;
				public setProfileName(admin: android.content.ComponentName, profileName: string): void;
				public setTrustAgentConfiguration(admin: android.content.ComponentName, target: android.content.ComponentName, configuration: any): void;
				public getUserRestrictionsGlobally(): android.os.Bundle;
				/** @deprecated */
				public setPasswordMinimumNumeric(admin: android.content.ComponentName, length: number): void;
				/** @deprecated */
				public getOrganizationColor(admin: android.content.ComponentName): number;
				public transferOwnership(admin: android.content.ComponentName, target: android.content.ComponentName, bundle: any): void;
				public setSystemUpdatePolicy(admin: android.content.ComponentName, policy: android.app.admin.SystemUpdatePolicy): void;
				public isDeviceOwnerApp(packageName: string): boolean;
				public getDevicePolicyManagementRoleHolderPackage(): string;
				public setLockTaskFeatures(admin: android.content.ComponentName, flags: number): void;
				public clearPackagePersistentPreferredActivities(admin: android.content.ComponentName, packageName: string): void;
				public getDeviceOwnerLockScreenInfo(): string;
				public setManagedProfileCallerIdAccessPolicy(policy: android.app.admin.PackagePolicy): void;
				public getLongSupportMessage(admin: android.content.ComponentName): string;
				public getActiveAdmins(): java.util.List<android.content.ComponentName>;
				public getSecondaryUsers(admin: android.content.ComponentName): java.util.List<android.os.UserHandle>;
				public setLogoutEnabled(admin: android.content.ComponentName, enabled: boolean): void;
				public setContentProtectionPolicy(admin: android.content.ComponentName, policy: number): void;
				public lockNow(): void;
				public getPermittedAccessibilityServices(admin: android.content.ComponentName): java.util.List<string>;
				public getEndUserSessionMessage(admin: android.content.ComponentName): string;
				public setRestrictionsProvider(admin: android.content.ComponentName, provider: android.content.ComponentName): void;
				public setSystemSetting(admin: android.content.ComponentName, setting: string, value: string): void;
				public isActivePasswordSufficientForDeviceRequirement(): boolean;
				/** @deprecated */
				public clearProfileOwner(admin: android.content.ComponentName): void;
				public getKeyPairGrants(alias: string): java.util.Map<java.lang.Integer,java.util.Set<string>>;
				public setUserControlDisabledPackages(admin: android.content.ComponentName, packages: java.util.List<string>): void;
				public setPasswordHistoryLength(admin: android.content.ComponentName, length: number): void;
				public clearCrossProfileIntentFilters(admin: android.content.ComponentName): void;
				public getLockTaskFeatures(admin: android.content.ComponentName): number;
				public getKeyguardDisabledFeatures(admin: android.content.ComponentName): number;
				/** @deprecated */
				public getPasswordMinimumUpperCase(admin: android.content.ComponentName): number;
				public installSystemUpdate(admin: android.content.ComponentName, updateFilePath: android.net.Uri, executor: java.util.concurrent.Executor, callback: android.app.admin.DevicePolicyManager.InstallSystemUpdateCallback): void;
				public getResources(): android.app.admin.DevicePolicyResourcesManager;
				public enableSystemApp(admin: android.content.ComponentName, intent: android.content.Intent): number;
				public addCrossProfileIntentFilter(admin: android.content.ComponentName, filter: android.content.IntentFilter, flags: number): void;
				/** @deprecated */
				public getPasswordMinimumLowerCase(admin: android.content.ComponentName): number;
				/** @deprecated */
				public getCrossProfileCallerIdDisabled(admin: android.content.ComponentName): boolean;
				public retrieveSecurityLogs(admin: android.content.ComponentName): java.util.List<android.app.admin.SecurityLog.SecurityEvent>;
				public setRequiredStrongAuthTimeout(admin: android.content.ComponentName, timeoutMs: number): void;
				public setMeteredDataDisabledPackages(admin: android.content.ComponentName, packageNames: java.util.List<string>): java.util.List<string>;
				public setAutoTimeEnabled(admin: android.content.ComponentName, enabled: boolean): void;
				public isUsbDataSignalingEnabled(): boolean;
				public getMinimumRequiredWifiSecurityLevel(): number;
				public setMaximumFailedPasswordsForWipe(admin: android.content.ComponentName, num: number): void;
				public getAlwaysOnVpnPackage(admin: android.content.ComponentName): string;
				public setPackagesSuspended(admin: android.content.ComponentName, packageNames: androidNative.Array<string>, suspended: boolean): androidNative.Array<string>;
				public getAutoTimeZoneEnabled(admin: android.content.ComponentName): boolean;
				public isDeviceIdAttestationSupported(): boolean;
				public isCommonCriteriaModeEnabled(admin: android.content.ComponentName): boolean;
				public wipeData(flags: number): void;
				public isProvisioningAllowed(action: string): boolean;
				public setCrossProfilePackages(admin: android.content.ComponentName, packageNames: java.util.Set<string>): void;
				public removeActiveAdmin(admin: android.content.ComponentName): void;
				public isPreferentialNetworkServiceEnabled(): boolean;
				public setRequiredPasswordComplexity(passwordComplexity: number): void;
				public setUsbDataSignalingEnabled(enabled: boolean): void;
				public getNearbyNotificationStreamingPolicy(): number;
				public setPermittedInputMethods(admin: android.content.ComponentName, packageNames: java.util.List<string>): boolean;
				/** @deprecated */
				public getPasswordMinimumNumeric(admin: android.content.ComponentName): number;
				public addPersistentPreferredActivity(admin: android.content.ComponentName, filter: android.content.IntentFilter, activity: android.content.ComponentName): void;
				public setNetworkLoggingEnabled(admin: android.content.ComponentName, enabled: boolean): void;
				/** @deprecated */
				public resetPassword(password: string, flags: number): boolean;
				/** @deprecated */
				public getPasswordMinimumNonLetter(admin: android.content.ComponentName): number;
				public reboot(admin: android.content.ComponentName): void;
				public clearResetPasswordToken(admin: android.content.ComponentName): boolean;
				/** @deprecated */
				public setPasswordMinimumLetters(admin: android.content.ComponentName, length: number): void;
				public installKeyPair(admin: android.content.ComponentName, privKey: java.security.PrivateKey, cert: java.security.cert.Certificate, alias: string): boolean;
				public setPermissionGrantState(admin: android.content.ComponentName, packageName: string, permission: string, grantState: number): boolean;
				public getCameraDisabled(admin: android.content.ComponentName): boolean;
				/** @deprecated */
				public getApplicationRestrictionsManagingPackage(admin: android.content.ComponentName): string;
				public setOrganizationId(enterpriseId: string): void;
				public bindDeviceAdminServiceAsUser(admin: android.content.ComponentName, serviceIntent: android.content.Intent, conn: android.content.ServiceConnection, flags: android.content.Context.BindServiceFlags, targetUser: android.os.UserHandle): boolean;
				public setOverrideApnsEnabled(admin: android.content.ComponentName, enabled: boolean): void;
				public setManagedSubscriptionsPolicy(policy: android.app.admin.ManagedSubscriptionsPolicy): void;
				public setConfiguredNetworksLockdownState(admin: android.content.ComponentName, lockdown: boolean): void;
				public getStartUserSessionMessage(admin: android.content.ComponentName): string;
				public setManagedProfileContactsAccessPolicy(policy: android.app.admin.PackagePolicy): void;
				public getCurrentFailedPasswordAttempts(): number;
				public setPreferentialNetworkServiceEnabled(enabled: boolean): void;
				public getEnrollmentSpecificId(): string;
				public switchUser(admin: android.content.ComponentName, userHandle: android.os.UserHandle): boolean;
				public getCrossProfilePackages(admin: android.content.ComponentName): java.util.Set<string>;
				/** @deprecated */
				public setPasswordQuality(admin: android.content.ComponentName, quality: number): void;
				public addOverrideApn(admin: android.content.ComponentName, apnSetting: android.telephony.data.ApnSetting): number;
				public getPasswordExpiration(admin: android.content.ComponentName): number;
				/** @deprecated */
				public setApplicationRestrictionsManagingPackage(admin: android.content.ComponentName, packageName: string): void;
				public isLogoutEnabled(): boolean;
				public isStatusBarDisabled(): boolean;
				/** @deprecated */
				public clearDeviceOwnerApp(packageName: string): void;
				public setMaximumTimeToLock(admin: android.content.ComponentName, timeMs: number): void;
				public setStartUserSessionMessage(admin: android.content.ComponentName, startUserSessionMessage: string): void;
				public removeKeyPair(admin: android.content.ComponentName, alias: string): boolean;
				public isDeviceFinanced(): boolean;
				public setMinimumRequiredWifiSecurityLevel(level: number): void;
				/** @deprecated */
				public getCertInstallerPackage(admin: android.content.ComponentName): string;
				public setGlobalPrivateDnsModeSpecifiedHost(admin: android.content.ComponentName, privateDnsHost: string): number;
				public bindDeviceAdminServiceAsUser(admin: android.content.ComponentName, serviceIntent: android.content.Intent, conn: android.content.ServiceConnection, flags: number, targetUser: android.os.UserHandle): boolean;
				public setCredentialManagerPolicy(policy: android.app.admin.PackagePolicy): void;
				public setFactoryResetProtectionPolicy(admin: android.content.ComponentName, policy: android.app.admin.FactoryResetProtectionPolicy): void;
				public grantKeyPairToWifiAuth(alias: string): boolean;
				public getFactoryResetProtectionPolicy(admin: android.content.ComponentName): android.app.admin.FactoryResetProtectionPolicy;
				public setUninstallBlocked(admin: android.content.ComponentName, packageName: string, uninstallBlocked: boolean): void;
				public setMtePolicy(policy: number): void;
				public isSafeOperation(reason: number): boolean;
				public setCameraDisabled(admin: android.content.ComponentName, disabled: boolean): void;
				public getScreenCaptureDisabled(admin: android.content.ComponentName): boolean;
				/** @deprecated */
				public getPasswordMinimumSymbols(admin: android.content.ComponentName): number;
				public getOverrideApns(admin: android.content.ComponentName): java.util.List<android.telephony.data.ApnSetting>;
				public createAndManageUser(admin: android.content.ComponentName, name: string, profileOwner: android.content.ComponentName, adminExtras: any, flags: number): android.os.UserHandle;
				public setApplicationRestrictions(admin: android.content.ComponentName, packageName: string, settings: android.os.Bundle): void;
				public installExistingPackage(admin: android.content.ComponentName, packageName: string): boolean;
				public setPreferentialNetworkServiceConfigs(preferentialNetworkServiceConfigs: java.util.List<android.app.admin.PreferentialNetworkServiceConfig>): void;
				public setKeyPairCertificate(admin: android.content.ComponentName, alias: string, certs: java.util.List<java.security.cert.Certificate>, isUserSelectable: boolean): boolean;
				public getShortSupportMessage(admin: android.content.ComponentName): string;
				public setKeepUninstalledPackages(admin: android.content.ComponentName, packageNames: java.util.List<string>): void;
				public setBackupServiceEnabled(admin: android.content.ComponentName, enabled: boolean): void;
				public getPermissionGrantState(admin: android.content.ComponentName, packageName: string, permission: string): number;
				public getGlobalPrivateDnsMode(admin: android.content.ComponentName): number;
				public getPasswordComplexity(): number;
				public getPasswordHistoryLength(admin: android.content.ComponentName): number;
				public lockNow(flags: number): void;
				public getPermittedInputMethods(admin: android.content.ComponentName): java.util.List<string>;
				public setRecommendedGlobalProxy(admin: android.content.ComponentName, proxyInfo: android.net.ProxyInfo): void;
				public addCrossProfileWidgetProvider(admin: android.content.ComponentName, packageName: string): boolean;
				public getPermissionPolicy(admin: android.content.ComponentName): number;
				public requestBugreport(admin: android.content.ComponentName): boolean;
				public getDelegatePackages(admin: android.content.ComponentName, delegationScope: string): java.util.List<string>;
				public getParentProfileInstance(admin: android.content.ComponentName): android.app.admin.DevicePolicyManager;
				public getGlobalPrivateDnsHost(admin: android.content.ComponentName): string;
				public getMtePolicy(): number;
				public getMaximumTimeToLock(admin: android.content.ComponentName): number;
				public hasLockdownAdminConfiguredNetworks(admin: android.content.ComponentName): boolean;
				public getCredentialManagerPolicy(): android.app.admin.PackagePolicy;
				public getBindDeviceAdminTargetUsers(admin: android.content.ComponentName): java.util.List<android.os.UserHandle>;
				public getLockTaskPackages(admin: android.content.ComponentName): androidNative.Array<string>;
				public setLockTaskPackages(admin: android.content.ComponentName, packages: androidNative.Array<string>): void;
				public setPersonalAppsSuspended(admin: android.content.ComponentName, suspended: boolean): void;
				public installKeyPair(admin: android.content.ComponentName, privKey: java.security.PrivateKey, certs: androidNative.Array<java.security.cert.Certificate>, alias: string, flags: number): boolean;
				public getContentProtectionPolicy(admin: android.content.ComponentName): number;
				public getPermittedCrossProfileNotificationListeners(admin: android.content.ComponentName): java.util.List<string>;
				public getAccountTypesWithManagementDisabled(): androidNative.Array<string>;
				/** @deprecated */
				public getCrossProfileContactsSearchDisabled(admin: android.content.ComponentName): boolean;
				public isAdminActive(admin: android.content.ComponentName): boolean;
				public isBackupServiceEnabled(admin: android.content.ComponentName): boolean;
				public setProfileEnabled(admin: android.content.ComponentName): void;
				public isUninstallBlocked(admin: android.content.ComponentName, packageName: string): boolean;
				public isProfileOwnerApp(packageName: string): boolean;
				public setApplicationHidden(admin: android.content.ComponentName, packageName: string, hidden: boolean): boolean;
				public setCommonCriteriaModeEnabled(admin: android.content.ComponentName, enabled: boolean): void;
				public isNetworkLoggingEnabled(admin: android.content.ComponentName): boolean;
				public getTrustAgentConfiguration(admin: android.content.ComponentName, agent: android.content.ComponentName): java.util.List<any>;
				public setAffiliationIds(admin: android.content.ComponentName, ids: java.util.Set<string>): void;
				/** @deprecated */
				public setCrossProfileContactsSearchDisabled(admin: android.content.ComponentName, disabled: boolean): void;
				public removeUser(admin: android.content.ComponentName, userHandle: android.os.UserHandle): boolean;
				public getAutoTimeEnabled(admin: android.content.ComponentName): boolean;
				public getPasswordMaximumLength(quality: number): number;
				public setPermissionPolicy(admin: android.content.ComponentName, policy: number): void;
				/** @deprecated */
				public isCallerApplicationRestrictionsManagingPackage(): boolean;
				public stopUser(admin: android.content.ComponentName, userHandle: android.os.UserHandle): number;
				public getOrganizationName(admin: android.content.ComponentName): string;
				/** @deprecated */
				public getPasswordMinimumLength(admin: android.content.ComponentName): number;
				public getNearbyAppStreamingPolicy(): number;
				public getUserRestrictions(admin: android.content.ComponentName): android.os.Bundle;
				public setLongSupportMessage(admin: android.content.ComponentName, message: string): void;
				public uninstallAllUserCaCerts(admin: android.content.ComponentName): void;
				public isMasterVolumeMuted(admin: android.content.ComponentName): boolean;
				public canUsbDataSignalingBeDisabled(): boolean;
				public listForegroundAffiliatedUsers(): java.util.List<android.os.UserHandle>;
				public setGlobalPrivateDnsModeOpportunistic(admin: android.content.ComponentName): number;
				public setEndUserSessionMessage(admin: android.content.ComponentName, endUserSessionMessage: string): void;
				/** @deprecated */
				public setStorageEncryption(admin: android.content.ComponentName, encrypt: boolean): number;
				public getDelegatedScopes(admin: android.content.ComponentName, delegatedPackage: string): java.util.List<string>;
				public getPendingSystemUpdate(admin: android.content.ComponentName): android.app.admin.SystemUpdateInfo;
				public retrieveNetworkLogs(admin: android.content.ComponentName, batchToken: number): java.util.List<android.app.admin.NetworkEvent>;
				public getPreferentialNetworkServiceConfigs(): java.util.List<android.app.admin.PreferentialNetworkServiceConfig>;
				public setOrganizationName(admin: android.content.ComponentName, title: string): void;
				public hasGrantedPolicy(admin: android.content.ComponentName, usesPolicy: number): boolean;
				public getMaximumFailedPasswordsForWipe(admin: android.content.ComponentName): number;
				public getSubscriptionIds(): java.util.Set<java.lang.Integer>;
				/** @deprecated */
				public getPasswordQuality(admin: android.content.ComponentName): number;
				public isManagedProfile(admin: android.content.ComponentName): boolean;
				public removeOverrideApn(admin: android.content.ComponentName, apnId: number): boolean;
				/** @deprecated */
				public setCrossProfileCallerIdDisabled(admin: android.content.ComponentName, disabled: boolean): void;
				public isActivePasswordSufficient(): boolean;
				public logoutUser(admin: android.content.ComponentName): number;
				/** @deprecated */
				public setAutoTimeRequired(admin: android.content.ComponentName, required: boolean): void;
				public setStatusBarDisabled(admin: android.content.ComponentName, disabled: boolean): boolean;
				public isComplianceAcknowledgementRequired(): boolean;
				public setNearbyNotificationStreamingPolicy(policy: number): void;
				public addUserRestrictionGlobally(key: string): void;
				/** @deprecated */
				public setPasswordMinimumLowerCase(admin: android.content.ComponentName, length: number): void;
				public setGlobalSetting(admin: android.content.ComponentName, setting: string, value: string): void;
				public generateKeyPair(admin: android.content.ComponentName, algorithm: string, keySpec: android.security.keystore.KeyGenParameterSpec, idAttestationFlags: number): android.security.AttestedKeyPair;
				/** @deprecated */
				public setOrganizationColor(admin: android.content.ComponentName, color: number): void;
				public isOverrideApnEnabled(admin: android.content.ComponentName): boolean;
				public wipeDevice(flags: number): void;
				public getKeepUninstalledPackages(admin: android.content.ComponentName): java.util.List<string>;
				public startUserInBackground(admin: android.content.ComponentName, userHandle: android.os.UserHandle): number;
				public acknowledgeDeviceCompliant(): void;
				public setSecureSetting(admin: android.content.ComponentName, setting: string, value: string): void;
				/** @deprecated */
				public getPasswordMinimumLetters(admin: android.content.ComponentName): number;
				public wipeData(flags: number, reason: string): void;
			}
			export module DevicePolicyManager {
				export abstract class InstallSystemUpdateCallback extends java.lang.Object {
					public static class: java.lang.Class<android.app.admin.DevicePolicyManager.InstallSystemUpdateCallback>;
					public static UPDATE_ERROR_BATTERY_LOW: 5;
					public static UPDATE_ERROR_FILE_NOT_FOUND: 4;
					public static UPDATE_ERROR_INCORRECT_OS_VERSION: 2;
					public static UPDATE_ERROR_UNKNOWN: 1;
					public static UPDATE_ERROR_UPDATE_FILE_INVALID: 3;
					public constructor();
					public onInstallUpdateError(errorCode: number, errorMessage: string): void;
				}
				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 DevicePolicyResources extends java.lang.Object {
				public static class: java.lang.Class<android.app.admin.DevicePolicyResources>;
				public static UNDEFINED: "UNDEFINED";
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class DevicePolicyResourcesManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.admin.DevicePolicyResourcesManager>;
				public getDrawable(drawableId: string, drawableStyle: string, defaultDrawableLoader: any /* any*/): android.graphics.drawable.Drawable;
				public getDrawableForDensity(drawableId: string, drawableStyle: string, density: number, defaultDrawableLoader: any /* any*/): android.graphics.drawable.Drawable;
				public getString(stringId: string, defaultStringLoader: any /* any*/, formatArgs: androidNative.Array<any>): string;
				public getDrawableForDensity(drawableId: string, drawableStyle: string, drawableSource: string, density: number, defaultDrawableLoader: any /* any*/): android.graphics.drawable.Drawable;
				public getString(stringId: string, defaultStringLoader: any /* any*/): string;
				public getDrawableAsIcon(drawableId: string, drawableStyle: string, drawableSource: string, defaultIcon: any): any;
				public getDrawableAsIcon(drawableId: string, drawableStyle: string, defaultIcon: any): any;
				public getDrawable(drawableId: string, drawableStyle: string, drawableSource: string, defaultDrawableLoader: any /* any*/): android.graphics.drawable.Drawable;
			}
		}
	}
}

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 writeToParcel(out: android.os.Parcel, flags: number): void;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class FactoryResetProtectionPolicy extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.FactoryResetProtectionPolicy>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.FactoryResetProtectionPolicy>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getFactoryResetProtectionAccounts(): java.util.List<string>;
				public isFactoryResetProtectionEnabled(): boolean;
				public describeContents(): number;
				public toString(): string;
			}
			export module FactoryResetProtectionPolicy {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.admin.FactoryResetProtectionPolicy.Builder>;
					public setFactoryResetProtectionEnabled(factoryResetProtectionEnabled: boolean): android.app.admin.FactoryResetProtectionPolicy.Builder;
					public setFactoryResetProtectionAccounts(factoryResetProtectionAccounts: java.util.List<string>): android.app.admin.FactoryResetProtectionPolicy.Builder;
					public constructor();
					public build(): android.app.admin.FactoryResetProtectionPolicy;
				}
			}
		}
	}
}

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 constructor(start: java.time.MonthDay, end: java.time.MonthDay);
				public getEnd(): java.time.MonthDay;
				public getStart(): java.time.MonthDay;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class ManagedSubscriptionsPolicy extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.ManagedSubscriptionsPolicy>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.ManagedSubscriptionsPolicy>;
				public static TYPE_ALL_MANAGED_SUBSCRIPTIONS: 1;
				public static TYPE_ALL_PERSONAL_SUBSCRIPTIONS: 0;
				public getPolicyType(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public equals(thatObject: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public constructor(policyType: number);
			}
		}
	}
}

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 PackagePolicy extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.PackagePolicy>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.PackagePolicy>;
				public static PACKAGE_POLICY_ALLOWLIST: 3;
				public static PACKAGE_POLICY_ALLOWLIST_AND_SYSTEM: 2;
				public static PACKAGE_POLICY_BLOCKLIST: 1;
				public getPolicyType(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(policyType: number, packageNames: java.util.Set<string>);
				public equals(thatObject: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageNames(): java.util.Set<string>;
				public describeContents(): number;
				public constructor(policyType: number);
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export abstract class PolicyUpdateReceiver extends android.content.BroadcastReceiver {
				public static class: java.lang.Class<android.app.admin.PolicyUpdateReceiver>;
				public static ACTION_DEVICE_POLICY_CHANGED: "android.app.admin.action.DEVICE_POLICY_CHANGED";
				public static ACTION_DEVICE_POLICY_SET_RESULT: "android.app.admin.action.DEVICE_POLICY_SET_RESULT";
				public static EXTRA_ACCOUNT_TYPE: "android.app.admin.extra.ACCOUNT_TYPE";
				public static EXTRA_INTENT_FILTER: "android.app.admin.extra.INTENT_FILTER";
				public static EXTRA_PACKAGE_NAME: "android.app.admin.extra.PACKAGE_NAME";
				public static EXTRA_PERMISSION_NAME: "android.app.admin.extra.PERMISSION_NAME";
				public onPolicySetResult(context: android.content.Context, policyIdentifier: string, additionalPolicyParams: android.os.Bundle, targetUser: android.app.admin.TargetUser, policyUpdateResult: android.app.admin.PolicyUpdateResult): void;
				public onPolicyChanged(context: android.content.Context, policyIdentifier: string, additionalPolicyParams: android.os.Bundle, targetUser: android.app.admin.TargetUser, policyUpdateResult: android.app.admin.PolicyUpdateResult): void;
				public constructor();
				public onReceive(context: android.content.Context, intent: android.content.Intent): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class PolicyUpdateResult extends java.lang.Object {
				public static class: java.lang.Class<android.app.admin.PolicyUpdateResult>;
				public static RESULT_FAILURE_CONFLICTING_ADMIN_POLICY: 1;
				public static RESULT_FAILURE_HARDWARE_LIMITATION: 4;
				public static RESULT_FAILURE_STORAGE_LIMIT_REACHED: 3;
				public static RESULT_FAILURE_UNKNOWN: -1;
				public static RESULT_POLICY_CLEARED: 2;
				public static RESULT_POLICY_SET: 0;
				public constructor(resultCode: number);
				public getResultCode(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class PreferentialNetworkServiceConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.PreferentialNetworkServiceConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.PreferentialNetworkServiceConfig>;
				public static PREFERENTIAL_NETWORK_ID_1: 1;
				public static PREFERENTIAL_NETWORK_ID_2: 2;
				public static PREFERENTIAL_NETWORK_ID_3: 3;
				public static PREFERENTIAL_NETWORK_ID_4: 4;
				public static PREFERENTIAL_NETWORK_ID_5: 5;
				public getExcludedUids(): androidNative.Array<number>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public isFallbackToDefaultConnectionAllowed(): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public isEnabled(): boolean;
				public equals(o: any): boolean;
				public getIncludedUids(): androidNative.Array<number>;
				public toString(): string;
				public shouldBlockNonMatchingNetworks(): boolean;
				public getNetworkId(): number;
			}
			export module PreferentialNetworkServiceConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.admin.PreferentialNetworkServiceConfig.Builder>;
					public setIncludedUids(uids: androidNative.Array<number>): android.app.admin.PreferentialNetworkServiceConfig.Builder;
					public setShouldBlockNonMatchingNetworks(blockNonMatchingNetworks: boolean): android.app.admin.PreferentialNetworkServiceConfig.Builder;
					public build(): android.app.admin.PreferentialNetworkServiceConfig;
					public constructor();
					public setExcludedUids(uids: androidNative.Array<number>): android.app.admin.PreferentialNetworkServiceConfig.Builder;
					public setEnabled(isEnabled: boolean): android.app.admin.PreferentialNetworkServiceConfig.Builder;
					public setFallbackToDefaultConnectionAllowed(allowFallbackToDefaultConnection: boolean): android.app.admin.PreferentialNetworkServiceConfig.Builder;
					public setNetworkId(preferenceId: number): android.app.admin.PreferentialNetworkServiceConfig.Builder;
				}
			}
		}
	}
}

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: 3;
				public static LEVEL_INFO: 1;
				public static LEVEL_WARNING: 2;
				public static TAG_ADB_SHELL_CMD: 210002;
				public static TAG_ADB_SHELL_INTERACTIVE: 210001;
				public static TAG_APP_PROCESS_START: 210005;
				public static TAG_BACKUP_SERVICE_TOGGLED: 210044;
				public static TAG_BLUETOOTH_CONNECTION: 210039;
				public static TAG_BLUETOOTH_DISCONNECTION: 210040;
				public static TAG_CAMERA_POLICY_SET: 210034;
				public static TAG_CERT_AUTHORITY_INSTALLED: 210029;
				public static TAG_CERT_AUTHORITY_REMOVED: 210030;
				public static TAG_CERT_VALIDATION_FAILURE: 210033;
				public static TAG_CRYPTO_SELF_TEST_COMPLETED: 210031;
				public static TAG_KEYGUARD_DISABLED_FEATURES_SET: 210021;
				public static TAG_KEYGUARD_DISMISSED: 210006;
				public static TAG_KEYGUARD_DISMISS_AUTH_ATTEMPT: 210007;
				public static TAG_KEYGUARD_SECURED: 210008;
				public static TAG_KEY_DESTRUCTION: 210026;
				public static TAG_KEY_GENERATED: 210024;
				public static TAG_KEY_IMPORT: 210025;
				public static TAG_KEY_INTEGRITY_VIOLATION: 210032;
				public static TAG_LOGGING_STARTED: 210011;
				public static TAG_LOGGING_STOPPED: 210012;
				public static TAG_LOG_BUFFER_SIZE_CRITICAL: 210015;
				public static TAG_MAX_PASSWORD_ATTEMPTS_SET: 210020;
				public static TAG_MAX_SCREEN_LOCK_TIMEOUT_SET: 210019;
				public static TAG_MEDIA_MOUNT: 210013;
				public static TAG_MEDIA_UNMOUNT: 210014;
				public static TAG_OS_SHUTDOWN: 210010;
				public static TAG_OS_STARTUP: 210009;
				public static TAG_PACKAGE_INSTALLED: 210041;
				public static TAG_PACKAGE_UNINSTALLED: 210043;
				public static TAG_PACKAGE_UPDATED: 210042;
				public static TAG_PASSWORD_CHANGED: 210036;
				public static TAG_PASSWORD_COMPLEXITY_REQUIRED: 210035;
				public static TAG_PASSWORD_COMPLEXITY_SET: 210017;
				public static TAG_PASSWORD_EXPIRATION_SET: 210016;
				public static TAG_PASSWORD_HISTORY_LENGTH_SET: 210018;
				public static TAG_REMOTE_LOCK: 210022;
				public static TAG_SYNC_RECV_FILE: 210003;
				public static TAG_SYNC_SEND_FILE: 210004;
				public static TAG_USER_RESTRICTION_ADDED: 210027;
				public static TAG_USER_RESTRICTION_REMOVED: 210028;
				public static TAG_WIFI_CONNECTION: 210037;
				public static TAG_WIFI_DISCONNECTION: 210038;
				public static TAG_WIPE_FAILURE: 210023;
				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 getData(): any;
					public getTag(): number;
					public getLogLevel(): number;
					public getId(): number;
					public describeContents(): number;
					public getTimeNanos(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					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: 1;
				public static SECURITY_PATCH_STATE_TRUE: 2;
				public static SECURITY_PATCH_STATE_UNKNOWN: 0;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getSecurityPatchState(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: 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: 1;
				public static TYPE_INSTALL_WINDOWED: 2;
				public static TYPE_POSTPONE: 3;
				public getPolicyType(): number;
				public static createPostponeInstallPolicy(): android.app.admin.SystemUpdatePolicy;
				public getInstallWindowStart(): number;
				public getFreezePeriods(): java.util.List<android.app.admin.FreezePeriod>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public setFreezePeriods(freezePeriods: java.util.List<android.app.admin.FreezePeriod>): android.app.admin.SystemUpdatePolicy;
				public static createAutomaticInstallPolicy(): android.app.admin.SystemUpdatePolicy;
				public static createWindowedInstallPolicy(startTime: number, endTime: number): 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: 6;
					public static ERROR_COMBINED_FREEZE_PERIOD_TOO_LONG: 5;
					public static ERROR_DUPLICATE_OR_OVERLAP: 2;
					public static ERROR_NEW_FREEZE_PERIOD_TOO_CLOSE: 4;
					public static ERROR_NEW_FREEZE_PERIOD_TOO_LONG: 3;
					public static ERROR_UNKNOWN: 1;
					public getErrorCode(): number;
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class TargetUser extends java.lang.Object {
				public static class: java.lang.Class<android.app.admin.TargetUser>;
				public static GLOBAL: android.app.admin.TargetUser;
				public static LOCAL_USER: android.app.admin.TargetUser;
				public static PARENT_USER: android.app.admin.TargetUser;
				public static UNKNOWN_USER: android.app.admin.TargetUser;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class UnsafeStateException extends java.lang.IllegalStateException implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.UnsafeStateException>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.UnsafeStateException>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getReasons(): java.util.List<java.lang.Integer>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getMessage(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class WifiSsidPolicy extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.WifiSsidPolicy>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.WifiSsidPolicy>;
				public static WIFI_SSID_POLICY_TYPE_ALLOWLIST: 0;
				public static WIFI_SSID_POLICY_TYPE_DENYLIST: 1;
				public getPolicyType(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getSsids(): java.util.Set<android.net.wifi.WifiSsid>;
				public equals(thatObject: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(policyType: number, ssids: java.util.Set<android.net.wifi.WifiSsid>);
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class AppSearchBatchResult<KeyType, ValueType>  extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.AppSearchBatchResult<any,any>>;
				public getAll(): java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>>;
				public getFailures(): java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>>;
				public isSuccess(): boolean;
				public getSuccesses(): java.util.Map<KeyType,ValueType>;
				public toString(): string;
			}
			export module AppSearchBatchResult {
				export class Builder<KeyType, ValueType>  extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.AppSearchBatchResult.Builder<any,any>>;
					public setSuccess(key: KeyType, value: ValueType): android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType>;
					public setResult(key: KeyType, result: android.app.appsearch.AppSearchResult<ValueType>): android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType>;
					public constructor();
					public build(): android.app.appsearch.AppSearchBatchResult<KeyType,ValueType>;
					public setFailure(key: KeyType, resultCode: number, errorMessage: string): android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType>;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class AppSearchManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.AppSearchManager>;
				public createGlobalSearchSession(executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public createSearchSession(searchContext: android.app.appsearch.AppSearchManager.SearchContext, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public createEnterpriseGlobalSearchSession(executor: java.util.concurrent.Executor, callback: any /* any*/): void;
			}
			export module AppSearchManager {
				export class SearchContext extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.AppSearchManager.SearchContext>;
					public getDatabaseName(): string;
				}
				export module SearchContext {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.AppSearchManager.SearchContext.Builder>;
						public constructor(databaseName: string);
						public build(): android.app.appsearch.AppSearchManager.SearchContext;
					}
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class AppSearchResult<ValueType>  extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.AppSearchResult<any>>;
				public static RESULT_DENIED: 9;
				public static RESULT_INTERNAL_ERROR: 2;
				public static RESULT_INVALID_ARGUMENT: 3;
				public static RESULT_INVALID_SCHEMA: 7;
				public static RESULT_IO_ERROR: 4;
				public static RESULT_NOT_FOUND: 6;
				public static RESULT_OK: 0;
				public static RESULT_OUT_OF_SPACE: 5;
				public static RESULT_RATE_LIMITED: 10;
				public static RESULT_SECURITY_ERROR: 8;
				public static RESULT_UNKNOWN_ERROR: 1;
				public getErrorMessage(): string;
				public equals(other: any): boolean;
				public static newFailedResult(resultCode: number, errorMessage: string): android.app.appsearch.AppSearchResult<any>;
				public hashCode(): number;
				public getResultValue(): ValueType;
				public isSuccess(): boolean;
				public static newSuccessfulResult(value: any): android.app.appsearch.AppSearchResult<any>;
				public toString(): string;
				public getResultCode(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class AppSearchSchema extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.AppSearchSchema>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.AppSearchSchema>;
				public equals(other: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getProperties(): java.util.List<android.app.appsearch.AppSearchSchema.PropertyConfig>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSchemaType(): string;
				public getParentTypes(): java.util.List<string>;
				public describeContents(): number;
				public toString(): string;
			}
			export module AppSearchSchema {
				export class BooleanPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
					public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.BooleanPropertyConfig>;
				}
				export module BooleanPropertyConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder>;
						public constructor(propertyName: string);
						public build(): android.app.appsearch.AppSearchSchema.BooleanPropertyConfig;
						public setCardinality(cardinality: number): android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder;
					}
				}
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.Builder>;
					public addProperty(propertyConfig: android.app.appsearch.AppSearchSchema.PropertyConfig): android.app.appsearch.AppSearchSchema.Builder;
					public constructor(schemaType: string);
					public build(): android.app.appsearch.AppSearchSchema;
					public addParentType(parentSchemaType: string): android.app.appsearch.AppSearchSchema.Builder;
				}
				export class BytesPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
					public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.BytesPropertyConfig>;
				}
				export module BytesPropertyConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.BytesPropertyConfig.Builder>;
						public constructor(propertyName: string);
						public build(): android.app.appsearch.AppSearchSchema.BytesPropertyConfig;
						public setCardinality(cardinality: number): android.app.appsearch.AppSearchSchema.BytesPropertyConfig.Builder;
					}
				}
				export class DocumentPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
					public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.DocumentPropertyConfig>;
					public getSchemaType(): string;
					public getIndexableNestedProperties(): java.util.List<string>;
					public shouldIndexNestedProperties(): boolean;
				}
				export module DocumentPropertyConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder>;
						public constructor(propertyName: string, schemaType: string);
						public addIndexableNestedProperties(indexableNestedProperties: java.util.Collection<string>): android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder;
						public setShouldIndexNestedProperties(indexNestedProperties: boolean): android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder;
						public addIndexableNestedPropertyPaths(indexableNestedPropertyPaths: androidNative.Array<android.app.appsearch.PropertyPath>): android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder;
						public setCardinality(cardinality: number): android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder;
						public addIndexableNestedProperties(indexableNestedProperties: androidNative.Array<string>): android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder;
						public addIndexableNestedPropertyPaths(indexableNestedPropertyPaths: java.util.Collection<android.app.appsearch.PropertyPath>): android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder;
						public build(): android.app.appsearch.AppSearchSchema.DocumentPropertyConfig;
					}
				}
				export class DoublePropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
					public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.DoublePropertyConfig>;
				}
				export module DoublePropertyConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder>;
						public constructor(propertyName: string);
						public setCardinality(cardinality: number): android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder;
						public build(): android.app.appsearch.AppSearchSchema.DoublePropertyConfig;
					}
				}
				export class LongPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
					public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.LongPropertyConfig>;
					public static INDEXING_TYPE_NONE: 0;
					public static INDEXING_TYPE_RANGE: 1;
					public getIndexingType(): number;
				}
				export module LongPropertyConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder>;
						public constructor(propertyName: string);
						public build(): android.app.appsearch.AppSearchSchema.LongPropertyConfig;
						public setIndexingType(indexingType: number): android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder;
						public setCardinality(cardinality: number): android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder;
					}
				}
				export abstract class PropertyConfig extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.PropertyConfig>;
					public static CARDINALITY_OPTIONAL: 2;
					public static CARDINALITY_REPEATED: 1;
					public static CARDINALITY_REQUIRED: 3;
					public toString(): string;
					public getName(): string;
					public equals(other: any): boolean;
					public hashCode(): number;
					public getCardinality(): number;
				}
				export class StringPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
					public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.StringPropertyConfig>;
					public static INDEXING_TYPE_EXACT_TERMS: 1;
					public static INDEXING_TYPE_NONE: 0;
					public static INDEXING_TYPE_PREFIXES: 2;
					public static JOINABLE_VALUE_TYPE_NONE: 0;
					public static JOINABLE_VALUE_TYPE_QUALIFIED_ID: 1;
					public static TOKENIZER_TYPE_NONE: 0;
					public static TOKENIZER_TYPE_PLAIN: 1;
					public static TOKENIZER_TYPE_RFC822: 3;
					public static TOKENIZER_TYPE_VERBATIM: 2;
					public getTokenizerType(): number;
					public getIndexingType(): number;
					public getJoinableValueType(): number;
				}
				export module StringPropertyConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder>;
						public setTokenizerType(tokenizerType: number): android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder;
						public constructor(propertyName: string);
						public build(): android.app.appsearch.AppSearchSchema.StringPropertyConfig;
						public setJoinableValueType(joinableValueType: number): android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder;
						public setCardinality(cardinality: number): android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder;
						public setIndexingType(indexingType: number): android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class AppSearchSession extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.app.appsearch.AppSearchSession>;
				public put(request: android.app.appsearch.PutDocumentsRequest, executor: java.util.concurrent.Executor, callback: android.app.appsearch.BatchResultCallback<string,java.lang.Void>): void;
				public close(): void;
				public getByDocumentId(request: android.app.appsearch.GetByDocumentIdRequest, executor: java.util.concurrent.Executor, callback: android.app.appsearch.BatchResultCallback<string,android.app.appsearch.GenericDocument>): void;
				public reportUsage(request: android.app.appsearch.ReportUsageRequest, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public search(queryExpression: string, searchSpec: android.app.appsearch.SearchSpec): android.app.appsearch.SearchResults;
				public remove(request: android.app.appsearch.RemoveByDocumentIdRequest, executor: java.util.concurrent.Executor, callback: android.app.appsearch.BatchResultCallback<string,java.lang.Void>): void;
				public searchSuggestion(suggestionQueryExpression: string, searchSuggestionSpec: android.app.appsearch.SearchSuggestionSpec, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public getSchema(executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public setSchema(request: android.app.appsearch.SetSchemaRequest, workExecutor: java.util.concurrent.Executor, callbackExecutor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public remove(queryExpression: string, searchSpec: android.app.appsearch.SearchSpec, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public getNamespaces(executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public getStorageInfo(executor: java.util.concurrent.Executor, callback: any /* any*/): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class BatchResultCallback<KeyType, ValueType>  extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.BatchResultCallback<any,any>>;
				/**
				 * Constructs a new instance of the android.app.appsearch.BatchResultCallback<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onResult(param0: android.app.appsearch.AppSearchBatchResult<KeyType,ValueType>): void;
					onSystemError(throwable: java.lang.Throwable): void;
				});
				public constructor();
				public onResult(param0: android.app.appsearch.AppSearchBatchResult<KeyType,ValueType>): void;
				public onSystemError(throwable: java.lang.Throwable): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class EnterpriseGlobalSearchSession extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.EnterpriseGlobalSearchSession>;
				public search(queryExpression: string, searchSpec: android.app.appsearch.SearchSpec): android.app.appsearch.SearchResults;
				public getSchema(packageName: string, databaseName: string, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public getByDocumentId(packageName: string, databaseName: string, request: android.app.appsearch.GetByDocumentIdRequest, executor: java.util.concurrent.Executor, callback: android.app.appsearch.BatchResultCallback<string,android.app.appsearch.GenericDocument>): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class GenericDocument extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.GenericDocument>;
				public getPropertyDoubleArray(path: string): androidNative.Array<number>;
				public getId(): string;
				public getPropertyBoolean(path: string): boolean;
				public getTtlMillis(): number;
				public getPropertyBytes(path: string): androidNative.Array<number>;
				public getPropertyBooleanArray(path: string): androidNative.Array<boolean>;
				public getPropertyLongArray(path: string): androidNative.Array<number>;
				public getScore(): number;
				public getCreationTimestampMillis(): number;
				public getProperty(path: string): any;
				public getPropertyDouble(path: string): number;
				public equals(other: any): boolean;
				public getPropertyNames(): java.util.Set<string>;
				public hashCode(): number;
				public getPropertyDocumentArray(path: string): androidNative.Array<android.app.appsearch.GenericDocument>;
				public getPropertyDocument(path: string): android.app.appsearch.GenericDocument;
				public constructor(document: android.app.appsearch.GenericDocument);
				public getSchemaType(): string;
				public toString(): string;
				public getPropertyString(path: string): string;
				public getPropertyBytesArray(path: string): androidNative.Array<androidNative.Array<number>>;
				public static getMaxIndexedProperties(): number;
				public getNamespace(): string;
				public getPropertyStringArray(path: string): androidNative.Array<string>;
				public getPropertyLong(path: string): number;
			}
			export module GenericDocument {
				export class Builder<BuilderType>  extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.GenericDocument.Builder<any>>;
					public setPropertyLong(name: string, values: androidNative.Array<number>): BuilderType;
					public constructor(document: android.app.appsearch.GenericDocument);
					public setCreationTimestampMillis(creationTimestampMillis: number): BuilderType;
					public build(): android.app.appsearch.GenericDocument;
					public constructor(namespace: string, id: string, schemaType: string);
					public setPropertyBoolean(name: string, values: androidNative.Array<boolean>): BuilderType;
					public setPropertyString(name: string, values: androidNative.Array<string>): BuilderType;
					public setSchemaType(schemaType: string): BuilderType;
					public setScore(score: number): BuilderType;
					public setPropertyDocument(name: string, values: androidNative.Array<android.app.appsearch.GenericDocument>): BuilderType;
					public setId(id: string): BuilderType;
					public setTtlMillis(ttlMillis: number): BuilderType;
					public setNamespace(namespace: string): BuilderType;
					public clearProperty(name: string): BuilderType;
					public setPropertyDouble(name: string, values: androidNative.Array<number>): BuilderType;
					public setPropertyBytes(name: string, values: androidNative.Array<androidNative.Array<number>>): BuilderType;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class GetByDocumentIdRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.GetByDocumentIdRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.GetByDocumentIdRequest>;
				public static PROJECTION_SCHEMA_TYPE_WILDCARD: "*";
				public getIds(): java.util.Set<string>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getProjections(): java.util.Map<string,java.util.List<string>>;
				public getNamespace(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getProjectionPaths(): java.util.Map<string,java.util.List<android.app.appsearch.PropertyPath>>;
			}
			export module GetByDocumentIdRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.GetByDocumentIdRequest.Builder>;
					public build(): android.app.appsearch.GetByDocumentIdRequest;
					public constructor(namespace: string);
					public addProjection(schemaType: string, propertyPaths: java.util.Collection<string>): android.app.appsearch.GetByDocumentIdRequest.Builder;
					public addIds(ids: androidNative.Array<string>): android.app.appsearch.GetByDocumentIdRequest.Builder;
					public addIds(ids: java.util.Collection<string>): android.app.appsearch.GetByDocumentIdRequest.Builder;
					public addProjectionPaths(schemaType: string, propertyPaths: java.util.Collection<android.app.appsearch.PropertyPath>): android.app.appsearch.GetByDocumentIdRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class GetSchemaResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.GetSchemaResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.GetSchemaResponse>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getVersion(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPubliclyVisibleSchemas(): java.util.Map<string,android.app.appsearch.PackageIdentifier>;
				public getSchemaTypesVisibleToConfigs(): java.util.Map<string,java.util.Set<android.app.appsearch.SchemaVisibilityConfig>>;
				public describeContents(): number;
				public getSchemas(): java.util.Set<android.app.appsearch.AppSearchSchema>;
				public getSchemaTypesVisibleToPackages(): java.util.Map<string,java.util.Set<android.app.appsearch.PackageIdentifier>>;
				public getRequiredPermissionsForSchemaTypeVisibility(): java.util.Map<string,java.util.Set<java.util.Set<java.lang.Integer>>>;
				public getSchemaTypesNotDisplayedBySystem(): java.util.Set<string>;
			}
			export module GetSchemaResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.GetSchemaResponse.Builder>;
					public setSchemaTypeVisibleToConfigs(schemaType: string, visibleToConfigs: java.util.Set<android.app.appsearch.SchemaVisibilityConfig>): android.app.appsearch.GetSchemaResponse.Builder;
					public constructor();
					public addSchema(schema: android.app.appsearch.AppSearchSchema): android.app.appsearch.GetSchemaResponse.Builder;
					public setSchemaTypeVisibleToPackages(schemaType: string, packageIdentifiers: java.util.Set<android.app.appsearch.PackageIdentifier>): android.app.appsearch.GetSchemaResponse.Builder;
					public setVersion(version: number): android.app.appsearch.GetSchemaResponse.Builder;
					public setRequiredPermissionsForSchemaTypeVisibility(schemaType: string, visibleToPermissionSets: java.util.Set<java.util.Set<java.lang.Integer>>): android.app.appsearch.GetSchemaResponse.Builder;
					public build(): android.app.appsearch.GetSchemaResponse;
					public addSchemaTypeNotDisplayedBySystem(schemaType: string): android.app.appsearch.GetSchemaResponse.Builder;
					public setPubliclyVisibleSchema(schemaType: string, packageIdentifier: android.app.appsearch.PackageIdentifier): android.app.appsearch.GetSchemaResponse.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class GlobalSearchSession extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.app.appsearch.GlobalSearchSession>;
				public registerObserverCallback(targetPackageName: string, spec: android.app.appsearch.observer.ObserverSpec, executor: java.util.concurrent.Executor, observer: android.app.appsearch.observer.ObserverCallback): void;
				public close(): void;
				public search(queryExpression: string, searchSpec: android.app.appsearch.SearchSpec): android.app.appsearch.SearchResults;
				public getSchema(packageName: string, databaseName: string, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public reportSystemUsage(request: android.app.appsearch.ReportSystemUsageRequest, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public unregisterObserverCallback(targetPackageName: string, observer: android.app.appsearch.observer.ObserverCallback): void;
				public getByDocumentId(packageName: string, databaseName: string, request: android.app.appsearch.GetByDocumentIdRequest, executor: java.util.concurrent.Executor, callback: android.app.appsearch.BatchResultCallback<string,android.app.appsearch.GenericDocument>): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class JoinSpec extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.JoinSpec>;
				public static AGGREGATION_SCORING_AVG_RANKING_SIGNAL: 3;
				public static AGGREGATION_SCORING_MAX_RANKING_SIGNAL: 4;
				public static AGGREGATION_SCORING_MIN_RANKING_SIGNAL: 2;
				public static AGGREGATION_SCORING_OUTER_RESULT_RANKING_SIGNAL: 0;
				public static AGGREGATION_SCORING_RESULT_COUNT: 1;
				public static AGGREGATION_SCORING_SUM_RANKING_SIGNAL: 5;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.JoinSpec>;
				public getNestedQuery(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getChildPropertyExpression(): string;
				public describeContents(): number;
				public getNestedSearchSpec(): android.app.appsearch.SearchSpec;
				public getMaxJoinedResultCount(): number;
				public getAggregationScoringStrategy(): number;
			}
			export module JoinSpec {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.JoinSpec.Builder>;
					public build(): android.app.appsearch.JoinSpec;
					public setMaxJoinedResultCount(maxJoinedResultCount: number): android.app.appsearch.JoinSpec.Builder;
					public setNestedSearch(nestedQuery: string, nestedSearchSpec: android.app.appsearch.SearchSpec): android.app.appsearch.JoinSpec.Builder;
					public constructor(childPropertyExpression: string);
					public setAggregationScoringStrategy(aggregationScoringStrategy: number): android.app.appsearch.JoinSpec.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export abstract class Migrator extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.Migrator>;
				public onUpgrade(param0: number, param1: number, param2: android.app.appsearch.GenericDocument): android.app.appsearch.GenericDocument;
				public shouldMigrate(param0: number, param1: number): boolean;
				public constructor();
				public onDowngrade(param0: number, param1: number, param2: android.app.appsearch.GenericDocument): android.app.appsearch.GenericDocument;
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class PackageIdentifier extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.PackageIdentifier>;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public constructor(packageName: string, sha256Certificate: androidNative.Array<number>);
				public getPackageName(): string;
				public getSha256Certificate(): androidNative.Array<number>;
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class PropertyPath extends java.lang.Iterable<android.app.appsearch.PropertyPath.PathSegment> {
				public static class: java.lang.Class<android.app.appsearch.PropertyPath>;
				public constructor(path: string);
				public iterator(): java.util.Iterator<android.app.appsearch.PropertyPath.PathSegment>;
				public spliterator(): java.util.Spliterator<any>;
				public constructor(pathList: java.util.List<android.app.appsearch.PropertyPath.PathSegment>);
				public hashCode(): number;
				public get(index: number): android.app.appsearch.PropertyPath.PathSegment;
				public equals(o: any): boolean;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				public toString(): string;
				public size(): number;
			}
			export module PropertyPath {
				export class PathSegment extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.PropertyPath.PathSegment>;
					public static NON_REPEATED_CARDINALITY: -1;
					public toString(): string;
					public getPropertyName(): string;
					public getPropertyIndex(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public static create(propertyName: string): android.app.appsearch.PropertyPath.PathSegment;
					public static create(propertyName: string, propertyIndex: number): android.app.appsearch.PropertyPath.PathSegment;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class PutDocumentsRequest extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.PutDocumentsRequest>;
				public getGenericDocuments(): java.util.List<android.app.appsearch.GenericDocument>;
				public getTakenActionGenericDocuments(): java.util.List<android.app.appsearch.GenericDocument>;
			}
			export module PutDocumentsRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.PutDocumentsRequest.Builder>;
					public constructor();
					public addTakenActionGenericDocuments(takenActionGenericDocuments: java.util.Collection<any>): android.app.appsearch.PutDocumentsRequest.Builder;
					public addGenericDocuments(documents: androidNative.Array<android.app.appsearch.GenericDocument>): android.app.appsearch.PutDocumentsRequest.Builder;
					public addTakenActionGenericDocuments(takenActionGenericDocuments: androidNative.Array<android.app.appsearch.GenericDocument>): android.app.appsearch.PutDocumentsRequest.Builder;
					public build(): android.app.appsearch.PutDocumentsRequest;
					public addGenericDocuments(documents: java.util.Collection<any>): android.app.appsearch.PutDocumentsRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class RemoveByDocumentIdRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.RemoveByDocumentIdRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.RemoveByDocumentIdRequest>;
				public getIds(): java.util.Set<string>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getNamespace(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
			export module RemoveByDocumentIdRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.RemoveByDocumentIdRequest.Builder>;
					public constructor(namespace: string);
					public addIds(ids: java.util.Collection<string>): android.app.appsearch.RemoveByDocumentIdRequest.Builder;
					public addIds(ids: androidNative.Array<string>): android.app.appsearch.RemoveByDocumentIdRequest.Builder;
					public build(): android.app.appsearch.RemoveByDocumentIdRequest;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class ReportSystemUsageRequest extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.ReportSystemUsageRequest>;
				public getDocumentId(): string;
				public getUsageTimestampMillis(): number;
				public getNamespace(): string;
				public getPackageName(): string;
				public getDatabaseName(): string;
			}
			export module ReportSystemUsageRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.ReportSystemUsageRequest.Builder>;
					public setUsageTimestampMillis(usageTimestampMillis: number): android.app.appsearch.ReportSystemUsageRequest.Builder;
					public build(): android.app.appsearch.ReportSystemUsageRequest;
					public constructor(packageName: string, databaseName: string, namespace: string, documentId: string);
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class ReportUsageRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.ReportUsageRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.ReportUsageRequest>;
				public getDocumentId(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getUsageTimestampMillis(): number;
				public getNamespace(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
			export module ReportUsageRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.ReportUsageRequest.Builder>;
					public setUsageTimestampMillis(usageTimestampMillis: number): android.app.appsearch.ReportUsageRequest.Builder;
					public build(): android.app.appsearch.ReportUsageRequest;
					public constructor(namespace: string, documentId: string);
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class SchemaVisibilityConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.SchemaVisibilityConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.SchemaVisibilityConfig>;
				public getPubliclyVisibleTargetPackage(): android.app.appsearch.PackageIdentifier;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getRequiredPermissions(): java.util.Set<java.util.Set<java.lang.Integer>>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getAllowedPackages(): java.util.List<android.app.appsearch.PackageIdentifier>;
				public equals(o: any): boolean;
			}
			export module SchemaVisibilityConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.SchemaVisibilityConfig.Builder>;
					public clearAllowedPackages(): android.app.appsearch.SchemaVisibilityConfig.Builder;
					public setPubliclyVisibleTargetPackage(packageIdentifier: android.app.appsearch.PackageIdentifier): android.app.appsearch.SchemaVisibilityConfig.Builder;
					public clearRequiredPermissions(): android.app.appsearch.SchemaVisibilityConfig.Builder;
					public constructor();
					public addRequiredPermissions(visibleToPermissions: java.util.Set<java.lang.Integer>): android.app.appsearch.SchemaVisibilityConfig.Builder;
					public addAllowedPackage(packageIdentifier: android.app.appsearch.PackageIdentifier): android.app.appsearch.SchemaVisibilityConfig.Builder;
					public build(): android.app.appsearch.SchemaVisibilityConfig;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class SearchResult extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.SearchResult>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.SearchResult>;
				public getMatchInfos(): java.util.List<android.app.appsearch.SearchResult.MatchInfo>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public getRankingSignal(): number;
				public getDatabaseName(): string;
				public getJoinedResults(): java.util.List<android.app.appsearch.SearchResult>;
				public describeContents(): number;
				public getGenericDocument(): android.app.appsearch.GenericDocument;
			}
			export module SearchResult {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.SearchResult.Builder>;
					public constructor(packageName: string, databaseName: string);
					public setGenericDocument(document: android.app.appsearch.GenericDocument): android.app.appsearch.SearchResult.Builder;
					public build(): android.app.appsearch.SearchResult;
					public addJoinedResult(joinedResult: android.app.appsearch.SearchResult): android.app.appsearch.SearchResult.Builder;
					public addMatchInfo(matchInfo: android.app.appsearch.SearchResult.MatchInfo): android.app.appsearch.SearchResult.Builder;
					public setRankingSignal(rankingSignal: number): android.app.appsearch.SearchResult.Builder;
				}
				export class MatchInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.app.appsearch.SearchResult.MatchInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.SearchResult.MatchInfo>;
					public getPropertyPathObject(): android.app.appsearch.PropertyPath;
					public getFullText(): string;
					public getPropertyPath(): string;
					public getSubmatchRange(): android.app.appsearch.SearchResult.MatchRange;
					public getSubmatch(): string;
					public getSnippet(): string;
					public getExactMatch(): string;
					public getSnippetRange(): android.app.appsearch.SearchResult.MatchRange;
					public describeContents(): number;
					public getExactMatchRange(): android.app.appsearch.SearchResult.MatchRange;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module MatchInfo {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.SearchResult.MatchInfo.Builder>;
						public setExactMatchRange(matchRange: android.app.appsearch.SearchResult.MatchRange): android.app.appsearch.SearchResult.MatchInfo.Builder;
						public constructor(propertyPath: string);
						public setSubmatchRange(matchRange: android.app.appsearch.SearchResult.MatchRange): android.app.appsearch.SearchResult.MatchInfo.Builder;
						public build(): android.app.appsearch.SearchResult.MatchInfo;
						public setSnippetRange(matchRange: android.app.appsearch.SearchResult.MatchRange): android.app.appsearch.SearchResult.MatchInfo.Builder;
					}
				}
				export class MatchRange extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.SearchResult.MatchRange>;
					public toString(): string;
					public constructor(start: number, end: number);
					public getEnd(): number;
					public equals(other: any): boolean;
					public hashCode(): number;
					public getStart(): number;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class SearchResults extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.app.appsearch.SearchResults>;
				public close(): void;
				public getNextPage(executor: java.util.concurrent.Executor, callback: any /* any*/): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class SearchSpec extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.SearchSpec>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.SearchSpec>;
				public static GROUPING_TYPE_PER_NAMESPACE: 2;
				public static GROUPING_TYPE_PER_PACKAGE: 1;
				public static GROUPING_TYPE_PER_SCHEMA: 4;
				public static ORDER_ASCENDING: 1;
				public static ORDER_DESCENDING: 0;
				public static PROJECTION_SCHEMA_TYPE_WILDCARD: "*";
				public static RANKING_STRATEGY_ADVANCED_RANKING_EXPRESSION: 9;
				public static RANKING_STRATEGY_CREATION_TIMESTAMP: 2;
				public static RANKING_STRATEGY_DOCUMENT_SCORE: 1;
				public static RANKING_STRATEGY_JOIN_AGGREGATE_SCORE: 8;
				public static RANKING_STRATEGY_NONE: 0;
				public static RANKING_STRATEGY_RELEVANCE_SCORE: 3;
				public static RANKING_STRATEGY_SYSTEM_USAGE_COUNT: 6;
				public static RANKING_STRATEGY_SYSTEM_USAGE_LAST_USED_TIMESTAMP: 7;
				public static RANKING_STRATEGY_USAGE_COUNT: 4;
				public static RANKING_STRATEGY_USAGE_LAST_USED_TIMESTAMP: 5;
				public static SCHEMA_TYPE_WILDCARD: "*";
				public static TERM_MATCH_EXACT_ONLY: 1;
				public static TERM_MATCH_PREFIX: 2;
				public getSnippetCount(): number;
				public getSearchSourceLogTag(): string;
				public getProjections(): java.util.Map<string,java.util.List<string>>;
				public getPropertyWeights(): java.util.Map<string,java.util.Map<string,java.lang.Double>>;
				public isListFilterHasPropertyFunctionEnabled(): boolean;
				public getMaxSnippetSize(): number;
				public getProjectionPaths(): java.util.Map<string,java.util.List<android.app.appsearch.PropertyPath>>;
				public getFilterSchemas(): java.util.List<string>;
				public getSnippetCountPerProperty(): number;
				public getAdvancedRankingExpression(): string;
				public getResultGroupingTypeFlags(): number;
				public getResultCountPerPage(): number;
				public getPropertyWeightPaths(): java.util.Map<string,java.util.Map<android.app.appsearch.PropertyPath,java.lang.Double>>;
				public getFilterPackageNames(): java.util.List<string>;
				public getOrder(): number;
				public getFilterProperties(): java.util.Map<string,java.util.List<string>>;
				public isNumericSearchEnabled(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getResultGroupingLimit(): number;
				public getRankingStrategy(): number;
				public isVerbatimSearchEnabled(): boolean;
				public getJoinSpec(): android.app.appsearch.JoinSpec;
				public isListFilterQueryLanguageEnabled(): boolean;
				public getTermMatch(): number;
				public getFilterNamespaces(): java.util.List<string>;
				public describeContents(): number;
			}
			export module SearchSpec {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.SearchSpec.Builder>;
					public setOrder(order: number): android.app.appsearch.SearchSpec.Builder;
					public setTermMatch(termMatchType: number): android.app.appsearch.SearchSpec.Builder;
					public addFilterPropertyPaths(schema: string, propertyPaths: java.util.Collection<android.app.appsearch.PropertyPath>): android.app.appsearch.SearchSpec.Builder;
					public setNumericSearchEnabled(enabled: boolean): android.app.appsearch.SearchSpec.Builder;
					public setListFilterQueryLanguageEnabled(enabled: boolean): android.app.appsearch.SearchSpec.Builder;
					public setListFilterHasPropertyFunctionEnabled(enabled: boolean): android.app.appsearch.SearchSpec.Builder;
					public setSearchSourceLogTag(searchSourceLogTag: string): android.app.appsearch.SearchSpec.Builder;
					public addProjection(schema: string, propertyPaths: java.util.Collection<string>): android.app.appsearch.SearchSpec.Builder;
					public setPropertyWeightPaths(schemaType: string, propertyPathWeights: java.util.Map<android.app.appsearch.PropertyPath,java.lang.Double>): android.app.appsearch.SearchSpec.Builder;
					public setVerbatimSearchEnabled(enabled: boolean): android.app.appsearch.SearchSpec.Builder;
					public addFilterNamespaces(namespaces: androidNative.Array<string>): android.app.appsearch.SearchSpec.Builder;
					public addFilterProperties(schema: string, propertyPaths: java.util.Collection<string>): android.app.appsearch.SearchSpec.Builder;
					public constructor();
					public build(): android.app.appsearch.SearchSpec;
					public setResultGrouping(groupingTypeFlags: number, limit: number): android.app.appsearch.SearchSpec.Builder;
					public setSnippetCount(snippetCount: number): android.app.appsearch.SearchSpec.Builder;
					public setSnippetCountPerProperty(snippetCountPerProperty: number): android.app.appsearch.SearchSpec.Builder;
					public setPropertyWeights(schemaType: string, propertyPathWeights: java.util.Map<string,java.lang.Double>): android.app.appsearch.SearchSpec.Builder;
					public addProjectionPaths(schema: string, propertyPaths: java.util.Collection<android.app.appsearch.PropertyPath>): android.app.appsearch.SearchSpec.Builder;
					public addFilterSchemas(schemas: androidNative.Array<string>): android.app.appsearch.SearchSpec.Builder;
					public setMaxSnippetSize(maxSnippetSize: number): android.app.appsearch.SearchSpec.Builder;
					public addFilterPackageNames(packageNames: java.util.Collection<string>): android.app.appsearch.SearchSpec.Builder;
					public addFilterNamespaces(namespaces: java.util.Collection<string>): android.app.appsearch.SearchSpec.Builder;
					public addFilterPackageNames(packageNames: androidNative.Array<string>): android.app.appsearch.SearchSpec.Builder;
					public setRankingStrategy(advancedRankingExpression: string): android.app.appsearch.SearchSpec.Builder;
					public setRankingStrategy(rankingStrategy: number): android.app.appsearch.SearchSpec.Builder;
					public setResultCountPerPage(resultCountPerPage: number): android.app.appsearch.SearchSpec.Builder;
					public setJoinSpec(joinSpec: android.app.appsearch.JoinSpec): android.app.appsearch.SearchSpec.Builder;
					public addFilterSchemas(schemas: java.util.Collection<string>): android.app.appsearch.SearchSpec.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class SearchSuggestionResult extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.SearchSuggestionResult>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.SearchSuggestionResult>;
				public equals(other: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSuggestedResult(): string;
			}
			export module SearchSuggestionResult {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.SearchSuggestionResult.Builder>;
					public constructor();
					public setSuggestedResult(suggestedResult: string): android.app.appsearch.SearchSuggestionResult.Builder;
					public build(): android.app.appsearch.SearchSuggestionResult;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class SearchSuggestionSpec extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.SearchSuggestionSpec>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.SearchSuggestionSpec>;
				public static SUGGESTION_RANKING_STRATEGY_DOCUMENT_COUNT: 0;
				public static SUGGESTION_RANKING_STRATEGY_NONE: 2;
				public static SUGGESTION_RANKING_STRATEGY_TERM_FREQUENCY: 1;
				public getFilterDocumentIds(): java.util.Map<string,java.util.List<string>>;
				public getFilterSchemas(): java.util.List<string>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getFilterNamespaces(): java.util.List<string>;
				public getMaximumResultCount(): number;
				public describeContents(): number;
				public getRankingStrategy(): number;
				public getFilterProperties(): java.util.Map<string,java.util.List<string>>;
			}
			export module SearchSuggestionSpec {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.SearchSuggestionSpec.Builder>;
					public addFilterDocumentIds(namespace: string, documentIds: java.util.Collection<string>): android.app.appsearch.SearchSuggestionSpec.Builder;
					public addFilterSchemas(schemaTypes: java.util.Collection<string>): android.app.appsearch.SearchSuggestionSpec.Builder;
					public addFilterDocumentIds(namespace: string, documentIds: androidNative.Array<string>): android.app.appsearch.SearchSuggestionSpec.Builder;
					public addFilterNamespaces(namespaces: java.util.Collection<string>): android.app.appsearch.SearchSuggestionSpec.Builder;
					public addFilterPropertyPaths(schema: string, propertyPaths: java.util.Collection<android.app.appsearch.PropertyPath>): android.app.appsearch.SearchSuggestionSpec.Builder;
					public build(): android.app.appsearch.SearchSuggestionSpec;
					public setRankingStrategy(rankingStrategy: number): android.app.appsearch.SearchSuggestionSpec.Builder;
					public addFilterProperties(schema: string, propertyPaths: java.util.Collection<string>): android.app.appsearch.SearchSuggestionSpec.Builder;
					public addFilterSchemas(schemaTypes: androidNative.Array<string>): android.app.appsearch.SearchSuggestionSpec.Builder;
					public constructor(maximumResultCount: number);
					public addFilterNamespaces(namespaces: androidNative.Array<string>): android.app.appsearch.SearchSuggestionSpec.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class SetSchemaRequest extends java.lang.Object {
				public static class: java.lang.Class<android.app.appsearch.SetSchemaRequest>;
				public static READ_ASSISTANT_APP_SEARCH_DATA: 6;
				public static READ_CALENDAR: 2;
				public static READ_CONTACTS: 3;
				public static READ_EXTERNAL_STORAGE: 4;
				public static READ_HOME_APP_SEARCH_DATA: 5;
				public static READ_SMS: 1;
				public getSchemasVisibleToPackages(): java.util.Map<string,java.util.Set<android.app.appsearch.PackageIdentifier>>;
				public getSchemasVisibleToConfigs(): java.util.Map<string,java.util.Set<android.app.appsearch.SchemaVisibilityConfig>>;
				public getVersion(): number;
				public getPubliclyVisibleSchemas(): java.util.Map<string,android.app.appsearch.PackageIdentifier>;
				public getSchemas(): java.util.Set<android.app.appsearch.AppSearchSchema>;
				public getRequiredPermissionsForSchemaTypeVisibility(): java.util.Map<string,java.util.Set<java.util.Set<java.lang.Integer>>>;
				public isForceOverride(): boolean;
				public getMigrators(): java.util.Map<string,android.app.appsearch.Migrator>;
				public getSchemasNotDisplayedBySystem(): java.util.Set<string>;
			}
			export module SetSchemaRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.SetSchemaRequest.Builder>;
					public addSchemas(schemas: androidNative.Array<android.app.appsearch.AppSearchSchema>): android.app.appsearch.SetSchemaRequest.Builder;
					public addSchemaTypeVisibleToConfig(schemaType: string, schemaVisibilityConfig: android.app.appsearch.SchemaVisibilityConfig): android.app.appsearch.SetSchemaRequest.Builder;
					public addSchemas(schemas: java.util.Collection<android.app.appsearch.AppSearchSchema>): android.app.appsearch.SetSchemaRequest.Builder;
					public clearSchemaTypeVisibleToConfigs(schemaType: string): android.app.appsearch.SetSchemaRequest.Builder;
					public addRequiredPermissionsForSchemaTypeVisibility(schemaType: string, permissions: java.util.Set<java.lang.Integer>): android.app.appsearch.SetSchemaRequest.Builder;
					public setMigrators(migrators: java.util.Map<string,android.app.appsearch.Migrator>): android.app.appsearch.SetSchemaRequest.Builder;
					public setForceOverride(forceOverride: boolean): android.app.appsearch.SetSchemaRequest.Builder;
					public clearRequiredPermissionsForSchemaTypeVisibility(schemaType: string): android.app.appsearch.SetSchemaRequest.Builder;
					public constructor();
					public setSchemaTypeVisibilityForPackage(schemaType: string, visible: boolean, packageIdentifier: android.app.appsearch.PackageIdentifier): android.app.appsearch.SetSchemaRequest.Builder;
					public build(): android.app.appsearch.SetSchemaRequest;
					public setMigrator(schemaType: string, migrator: android.app.appsearch.Migrator): android.app.appsearch.SetSchemaRequest.Builder;
					public setSchemaTypeDisplayedBySystem(schemaType: string, displayed: boolean): android.app.appsearch.SetSchemaRequest.Builder;
					public setPubliclyVisibleSchema(schema: string, packageIdentifier: android.app.appsearch.PackageIdentifier): android.app.appsearch.SetSchemaRequest.Builder;
					public setVersion(version: number): android.app.appsearch.SetSchemaRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class SetSchemaResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.SetSchemaResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.SetSchemaResponse>;
				public getDeletedTypes(): java.util.Set<string>;
				public getMigratedTypes(): java.util.Set<string>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getMigrationFailures(): java.util.List<android.app.appsearch.SetSchemaResponse.MigrationFailure>;
				public getIncompatibleTypes(): java.util.Set<string>;
			}
			export module SetSchemaResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.SetSchemaResponse.Builder>;
					public addMigrationFailure(migrationFailure: android.app.appsearch.SetSchemaResponse.MigrationFailure): android.app.appsearch.SetSchemaResponse.Builder;
					public addDeletedTypes(deletedTypes: java.util.Collection<string>): android.app.appsearch.SetSchemaResponse.Builder;
					public constructor();
					public addMigrationFailures(migrationFailures: java.util.Collection<android.app.appsearch.SetSchemaResponse.MigrationFailure>): android.app.appsearch.SetSchemaResponse.Builder;
					public addIncompatibleTypes(incompatibleTypes: java.util.Collection<string>): android.app.appsearch.SetSchemaResponse.Builder;
					public build(): android.app.appsearch.SetSchemaResponse;
					public addMigratedType(migratedType: string): android.app.appsearch.SetSchemaResponse.Builder;
					public addMigratedTypes(migratedTypes: java.util.Collection<string>): android.app.appsearch.SetSchemaResponse.Builder;
					public addDeletedType(deletedType: string): android.app.appsearch.SetSchemaResponse.Builder;
					public addIncompatibleType(incompatibleType: string): android.app.appsearch.SetSchemaResponse.Builder;
				}
				export class MigrationFailure extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.app.appsearch.SetSchemaResponse.MigrationFailure>;
					public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.SetSchemaResponse.MigrationFailure>;
					public getNamespace(): string;
					public getDocumentId(): string;
					public toString(): string;
					public getSchemaType(): string;
					public describeContents(): number;
					public constructor(namespace: string, documentId: string, schemaType: string, failedResult: android.app.appsearch.AppSearchResult<any>);
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getAppSearchResult(): android.app.appsearch.AppSearchResult<java.lang.Void>;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export class StorageInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.appsearch.StorageInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.StorageInfo>;
				public getSizeBytes(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getAliveDocumentsCount(): number;
				public getAliveNamespacesCount(): number;
			}
			export module StorageInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.StorageInfo.Builder>;
					public constructor();
					public setAliveNamespacesCount(aliveNamespacesCount: number): android.app.appsearch.StorageInfo.Builder;
					public setAliveDocumentsCount(aliveDocumentsCount: number): android.app.appsearch.StorageInfo.Builder;
					public setSizeBytes(sizeBytes: number): android.app.appsearch.StorageInfo.Builder;
					public build(): android.app.appsearch.StorageInfo;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export module exceptions {
				export class AppSearchException extends java.lang.Exception {
					public static class: java.lang.Class<android.app.appsearch.exceptions.AppSearchException>;
					public constructor(message: string);
					public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public getResultCode(): number;
					public constructor();
					public constructor(resultCode: number, message: string, cause: java.lang.Throwable);
					public constructor(cause: java.lang.Throwable);
					public toAppSearchResult(): android.app.appsearch.AppSearchResult<any>;
					public constructor(message: string, cause: java.lang.Throwable);
					public constructor(resultCode: number, message: string);
					public constructor(resultCode: number);
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export module observer {
				export class DocumentChangeInfo extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.observer.DocumentChangeInfo>;
					public getNamespace(): string;
					public getSchemaName(): string;
					public toString(): string;
					public getPackageName(): string;
					public getDatabaseName(): string;
					public constructor(packageName: string, database: string, namespace: string, schemaName: string, changedDocumentIds: java.util.Set<string>);
					public equals(o: any): boolean;
					public hashCode(): number;
					public getChangedDocumentIds(): java.util.Set<string>;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export module observer {
				export class ObserverCallback extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.observer.ObserverCallback>;
					/**
					 * Constructs a new instance of the android.app.appsearch.observer.ObserverCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onSchemaChanged(param0: android.app.appsearch.observer.SchemaChangeInfo): void;
						onDocumentChanged(param0: android.app.appsearch.observer.DocumentChangeInfo): void;
					});
					public constructor();
					public onDocumentChanged(param0: android.app.appsearch.observer.DocumentChangeInfo): void;
					public onSchemaChanged(param0: android.app.appsearch.observer.SchemaChangeInfo): void;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export module observer {
				export class ObserverSpec extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.app.appsearch.observer.ObserverSpec>;
					public static CREATOR: android.os.Parcelable.Creator<android.app.appsearch.observer.ObserverSpec>;
					public getFilterSchemas(): java.util.Set<string>;
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module ObserverSpec {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.app.appsearch.observer.ObserverSpec.Builder>;
						public constructor();
						public build(): android.app.appsearch.observer.ObserverSpec;
						public addFilterSchemas(schemas: androidNative.Array<string>): android.app.appsearch.observer.ObserverSpec.Builder;
						public addFilterSchemas(schemas: java.util.Collection<string>): android.app.appsearch.observer.ObserverSpec.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export module observer {
				export class SchemaChangeInfo extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.observer.SchemaChangeInfo>;
					public constructor(packageName: string, databaseName: string, changedSchemaNames: java.util.Set<string>);
					public toString(): string;
					public getChangedSchemaNames(): java.util.Set<string>;
					public getPackageName(): string;
					public getDatabaseName(): string;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module appsearch {
			export module util {
				export class DocumentIdUtil extends java.lang.Object {
					public static class: java.lang.Class<android.app.appsearch.util.DocumentIdUtil>;
					public static createQualifiedId(packageName: string, databaseName: string, document: android.app.appsearch.GenericDocument): string;
					public static createQualifiedId(packageName: string, databaseName: string, namespace: string, id: string): string;
				}
			}
		}
	}
}

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 setWebUri(uri: android.net.Uri): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getWebUri(): android.net.Uri;
				public getIntent(): android.content.Intent;
				public setClipData(clip: android.content.ClipData): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getStructuredData(): string;
				public constructor();
				public isAppProvidedIntent(): boolean;
				public setStructuredData(structuredData: string): void;
				public isAppProvidedWebUri(): boolean;
				public getClipData(): android.content.ClipData;
				public describeContents(): number;
				public setIntent(intent: android.content.Intent): void;
				public getExtras(): android.os.Bundle;
			}
		}
	}
}

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 getWindowNodeAt(index: number): android.app.assist.AssistStructure.WindowNode;
				public getAcquisitionStartTime(): number;
				public isHomeActivity(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getWindowNodeCount(): number;
				public getActivityComponent(): android.content.ComponentName;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				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: 1;
					public static TEXT_STYLE_BOLD: 1;
					public static TEXT_STYLE_ITALIC: 2;
					public static TEXT_STYLE_STRIKE_THRU: 8;
					public static TEXT_STYLE_UNDERLINE: 4;
					public getWebScheme(): string;
					public getChildCount(): number;
					public getElevation(): number;
					public isFocusable(): boolean;
					public getHtmlInfo(): any;
					public getReceiveContentMimeTypes(): androidNative.Array<string>;
					public isClickable(): boolean;
					public getContentDescription(): string;
					public getTextStyle(): number;
					public getHint(): string;
					public getImportantForAutofill(): number;
					public getTextBackgroundColor(): number;
					public isContextClickable(): boolean;
					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 getTextLineCharOffsets(): androidNative.Array<number>;
					public getTextLineBaselines(): androidNative.Array<number>;
					public getIdEntry(): string;
					public getTextSelectionStart(): number;
					public getLeft(): number;
					public getChildAt(index: number): android.app.assist.AssistStructure.ViewNode;
					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 getHintIdEntry(): string;
					public getClassName(): string;
					public getTextSize(): number;
					public isCheckable(): boolean;
					public getIdPackage(): string;
					public isAccessibilityFocused(): boolean;
					public isChecked(): boolean;
					public getAutofillOptions(): androidNative.Array<string>;
					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 getAutofillHints(): androidNative.Array<string>;
					public getTextColor(): number;
					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: 1;
				public static FLAG_DEVICE_TO_DEVICE_TRANSFER: 2;
				public static TYPE_DIRECTORY: 2;
				public static TYPE_FILE: 1;
				public onRestoreFinished(): void;
				public fullBackupFile(file: java.io.File, output: android.app.backup.FullBackupDataOutput): void;
				public onRestore(param0: android.app.backup.BackupDataInput, param1: number, param2: android.os.ParcelFileDescriptor): void;
				public onQuotaExceeded(backupDataBytes: number, quotaBytes: number): void;
				public onCreate(): void;
				public onRestore(data: android.app.backup.BackupDataInput, appVersionCode: number, newState: android.os.ParcelFileDescriptor): void;
				public onRestoreFile(data: android.os.ParcelFileDescriptor, size: number, destination: java.io.File, type: number, mode: number, mtime: number): void;
				public onDestroy(): void;
				public onFullBackup(data: android.app.backup.FullBackupDataOutput): void;
				public constructor(base: 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 BackupAgentHelper extends android.app.backup.BackupAgent {
				public static class: java.lang.Class<android.app.backup.BackupAgentHelper>;
				public addHelper(keyPrefix: string, helper: android.app.backup.BackupHelper): void;
				public onRestore(data: android.app.backup.BackupDataInput, appVersionCode: number, newState: android.os.ParcelFileDescriptor): void;
				public onBackup(oldState: android.os.ParcelFileDescriptor, data: android.app.backup.BackupDataOutput, newState: android.os.ParcelFileDescriptor): void;
				public constructor(base: android.content.Context);
				public constructor();
			}
		}
	}
}

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 readEntityData(data: androidNative.Array<number>, offset: number, size: number): number;
				public skipEntityData(): void;
				public getDataSize(): 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(b: androidNative.Array<number>): number;
				public read(b: androidNative.Array<number>, off: number, len: number): number;
				public getKey(): string;
				public read(b: androidNative.Array<number>, offset: number, size: number): number;
				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 writeEntityData(data: androidNative.Array<number>, size: number): number;
				public getTransportFlags(): number;
				public getQuota(): number;
				public finalize(): void;
				public writeEntityHeader(key: string, dataSize: 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 getUserForAncestralSerialNumber(ancestralSerialNumber: number): android.os.UserHandle;
				public constructor(context: android.content.Context);
				/** @deprecated */
				public requestRestore(observer: android.app.backup.RestoreObserver): number;
				public static dataChanged(packageName: string): void;
			}
		}
	}
}

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(fd: android.os.ParcelFileDescriptor): void;
				public writeNewStateDescription(param0: android.os.ParcelFileDescriptor): void;
				public restoreEntity(param0: android.app.backup.BackupDataInputStream): void;
				public constructor(context: android.content.Context, files: androidNative.Array<string>);
				public performBackup(oldState: android.os.ParcelFileDescriptor, data: android.app.backup.BackupDataOutput, newState: android.os.ParcelFileDescriptor): void;
				public performBackup(param0: android.os.ParcelFileDescriptor, param1: android.app.backup.BackupDataOutput, param2: android.os.ParcelFileDescriptor): void;
				public restoreEntity(data: android.app.backup.BackupDataInputStream): 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(numPackages: number): void;
				public restoreFinished(error: number): void;
				public onUpdate(nowBeingRestored: number, currentPackage: string): 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(fd: android.os.ParcelFileDescriptor): void;
				public writeNewStateDescription(param0: android.os.ParcelFileDescriptor): void;
				public restoreEntity(param0: android.app.backup.BackupDataInputStream): void;
				public performBackup(oldState: android.os.ParcelFileDescriptor, data: android.app.backup.BackupDataOutput, newState: android.os.ParcelFileDescriptor): void;
				public performBackup(param0: android.os.ParcelFileDescriptor, param1: android.app.backup.BackupDataOutput, param2: android.os.ParcelFileDescriptor): void;
				public constructor(context: android.content.Context, prefGroups: androidNative.Array<string>);
				public restoreEntity(data: android.app.backup.BackupDataInputStream): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module blob {
			export class BlobHandle extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.blob.BlobHandle>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.blob.BlobHandle>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getLabel(): string;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSha256Digest(): androidNative.Array<number>;
				public getTag(): string;
				public describeContents(): number;
				public toString(): string;
				public static createWithSha256(digest: androidNative.Array<number>, label: string, expiryTimeMillis: number, tag: string): android.app.blob.BlobHandle;
				public getExpiryTimeMillis(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module blob {
			export class BlobStoreManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.blob.BlobStoreManager>;
				public acquireLease(blobHandle: android.app.blob.BlobHandle, descriptionResId: number): void;
				public openSession(sessionId: number): android.app.blob.BlobStoreManager.Session;
				public getLeasedBlobs(): java.util.List<android.app.blob.BlobHandle>;
				public acquireLease(blobHandle: android.app.blob.BlobHandle, descriptionResId: number, leaseExpiryTimeMillis: number): void;
				public abandonSession(sessionId: number): void;
				public openBlob(blobHandle: android.app.blob.BlobHandle): android.os.ParcelFileDescriptor;
				public createSession(blobHandle: android.app.blob.BlobHandle): number;
				public releaseLease(blobHandle: android.app.blob.BlobHandle): void;
				public getRemainingLeaseQuotaBytes(): number;
				public acquireLease(blobHandle: android.app.blob.BlobHandle, description: string, leaseExpiryTimeMillis: number): void;
				public acquireLease(blobHandle: android.app.blob.BlobHandle, description: string): void;
			}
			export module BlobStoreManager {
				export class Session extends java.lang.Object implements java.io.Closeable {
					public static class: java.lang.Class<android.app.blob.BlobStoreManager.Session>;
					public allowPackageAccess(packageName: string, certificate: androidNative.Array<number>): void;
					public isPackageAccessAllowed(packageName: string, certificate: androidNative.Array<number>): boolean;
					public commit(executor: java.util.concurrent.Executor, resultCallback: any /* any*/): void;
					public openWrite(offsetBytes: number, lengthBytes: number): android.os.ParcelFileDescriptor;
					public isPublicAccessAllowed(): boolean;
					public allowPublicAccess(): void;
					public close(): void;
					public openRead(): android.os.ParcelFileDescriptor;
					public abandon(): void;
					public getSize(): number;
					public allowSameSignatureAccess(): void;
					public isSameSignatureAccessAllowed(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module people {
			export class ConversationStatus extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.people.ConversationStatus>;
				public static ACTIVITY_ANNIVERSARY: 2;
				public static ACTIVITY_AUDIO: 4;
				public static ACTIVITY_BIRTHDAY: 1;
				public static ACTIVITY_GAME: 6;
				public static ACTIVITY_LOCATION: 7;
				public static ACTIVITY_NEW_STORY: 3;
				public static ACTIVITY_OTHER: 0;
				public static ACTIVITY_UPCOMING_BIRTHDAY: 8;
				public static ACTIVITY_VIDEO: 5;
				public static AVAILABILITY_AVAILABLE: 0;
				public static AVAILABILITY_BUSY: 1;
				public static AVAILABILITY_OFFLINE: 2;
				public static AVAILABILITY_UNKNOWN: -1;
				public static CREATOR: android.os.Parcelable.Creator<android.app.people.ConversationStatus>;
				public getId(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getStartTimeMillis(): number;
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDescription(): string;
				public toString(): string;
				public getEndTimeMillis(): number;
				public getActivity(): number;
				public hashCode(): number;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getAvailability(): number;
			}
			export module ConversationStatus {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.people.ConversationStatus.Builder>;
					public build(): android.app.people.ConversationStatus;
					public setDescription(description: string): android.app.people.ConversationStatus.Builder;
					public constructor(id: string, activity: number);
					public setAvailability(availability: number): android.app.people.ConversationStatus.Builder;
					public setStartTimeMillis(startTimeMs: number): android.app.people.ConversationStatus.Builder;
					public setIcon(icon: any): android.app.people.ConversationStatus.Builder;
					public setEndTimeMillis(endTimeMs: number): android.app.people.ConversationStatus.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module people {
			export class PeopleManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.people.PeopleManager>;
				public addOrUpdateStatus(conversationId: string, status: android.app.people.ConversationStatus): void;
				public clearStatus(conversationId: string, statusId: string): void;
				public clearStatuses(conversationId: string): void;
				public getStatuses(conversationId: string): java.util.List<android.app.people.ConversationStatus>;
			}
		}
	}
}

declare module android {
	export module app {
		export module role {
			export class RoleManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.role.RoleManager>;
				public static ROLE_ASSISTANT: "android.app.role.ASSISTANT";
				public static ROLE_BROWSER: "android.app.role.BROWSER";
				public static ROLE_CALL_REDIRECTION: "android.app.role.CALL_REDIRECTION";
				public static ROLE_CALL_SCREENING: "android.app.role.CALL_SCREENING";
				public static ROLE_DIALER: "android.app.role.DIALER";
				public static ROLE_EMERGENCY: "android.app.role.EMERGENCY";
				public static ROLE_HOME: "android.app.role.HOME";
				public static ROLE_NOTES: "android.app.role.NOTES";
				public static ROLE_SMS: "android.app.role.SMS";
				public static ROLE_WALLET: "android.app.role.WALLET";
				public createRequestRoleIntent(roleName: string): android.content.Intent;
				public isRoleHeld(roleName: string): boolean;
				public isRoleAvailable(roleName: string): boolean;
			}
		}
	}
}

declare module android {
	export module app {
		export module sdksandbox {
			export class AppOwnedSdkSandboxInterface extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.sdksandbox.AppOwnedSdkSandboxInterface>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.sdksandbox.AppOwnedSdkSandboxInterface>;
				public constructor(name: string, version: number, binder: android.os.IBinder);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getVersion(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getName(): string;
				public getInterface(): android.os.IBinder;
			}
		}
	}
}

declare module android {
	export module app {
		export module sdksandbox {
			export class LoadSdkException extends java.lang.Exception implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.sdksandbox.LoadSdkException>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.sdksandbox.LoadSdkException>;
				public constructor(cause: java.lang.Throwable);
				public writeToParcel(destination: android.os.Parcel, flags: number): void;
				public getLoadSdkErrorCode(): number;
				public constructor(message: string, cause: java.lang.Throwable);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(cause: java.lang.Throwable, extraInfo: android.os.Bundle);
				public constructor();
				public getExtraInformation(): android.os.Bundle;
			}
		}
	}
}

declare module android {
	export module app {
		export module sdksandbox {
			export class RequestSurfacePackageException extends java.lang.Exception {
				public static class: java.lang.Class<android.app.sdksandbox.RequestSurfacePackageException>;
				public constructor(cause: java.lang.Throwable);
				/** @deprecated */
				public constructor(requestSurfacePackageErrorCode: number, message: string);
				/** @deprecated */
				public constructor(requestSurfacePackageErrorCode: number, message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				/** @deprecated */
				public constructor(requestSurfacePackageErrorCode: number, message: string, cause: java.lang.Throwable, extraInfo: android.os.Bundle);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				/** @deprecated */
				public getRequestSurfacePackageErrorCode(): number;
				/** @deprecated */
				public getExtraErrorInformation(): android.os.Bundle;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export module sdksandbox {
			export class SandboxedSdk extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.sdksandbox.SandboxedSdk>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.sdksandbox.SandboxedSdk>;
				public constructor(sdkInterface: android.os.IBinder);
				public getSharedLibraryInfo(): android.content.pm.SharedLibraryInfo;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getInterface(): android.os.IBinder;
			}
		}
	}
}

declare module android {
	export module app {
		export module sdksandbox {
			export abstract class SandboxedSdkProvider extends java.lang.Object {
				public static class: java.lang.Class<android.app.sdksandbox.SandboxedSdkProvider>;
				public beforeUnloadSdk(): void;
				public attachContext(context: android.content.Context): void;
				/** @deprecated */
				public getView(param0: android.content.Context, param1: android.os.Bundle, param2: number, param3: number): android.view.View;
				public getContext(): android.content.Context;
				public onLoadSdk(param0: android.os.Bundle): android.app.sdksandbox.SandboxedSdk;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export module sdksandbox {
			export class SdkSandboxManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.sdksandbox.SdkSandboxManager>;
				public static EXTRA_DISPLAY_ID: "android.app.sdksandbox.extra.DISPLAY_ID";
				public static EXTRA_HEIGHT_IN_PIXELS: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS";
				public static EXTRA_HOST_TOKEN: "android.app.sdksandbox.extra.HOST_TOKEN";
				public static EXTRA_SURFACE_PACKAGE: "android.app.sdksandbox.extra.SURFACE_PACKAGE";
				public static EXTRA_WIDTH_IN_PIXELS: "android.app.sdksandbox.extra.WIDTH_IN_PIXELS";
				public static LOAD_SDK_ALREADY_LOADED: 101;
				public static LOAD_SDK_INTERNAL_ERROR: 500;
				public static LOAD_SDK_NOT_FOUND: 100;
				public static LOAD_SDK_SDK_DEFINED_ERROR: 102;
				public static LOAD_SDK_SDK_SANDBOX_DISABLED: 103;
				public static REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR: 700;
				public static REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED: 701;
				public static SDK_SANDBOX_PROCESS_NOT_AVAILABLE: 503;
				public static SDK_SANDBOX_SERVICE: "sdk_sandbox";
				public static SDK_SANDBOX_STATE_DISABLED: 0;
				public static SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION: 2;
				public removeSdkSandboxProcessDeathCallback(callback: android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback): void;
				public loadSdk(sdkName: string, params: android.os.Bundle, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.app.sdksandbox.SandboxedSdk,android.app.sdksandbox.LoadSdkException>): void;
				public addSdkSandboxProcessDeathCallback(callbackExecutor: java.util.concurrent.Executor, callback: android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback): void;
				public unregisterAppOwnedSdkSandboxInterface(name: string): void;
				public getAppOwnedSdkSandboxInterfaces(): java.util.List<android.app.sdksandbox.AppOwnedSdkSandboxInterface>;
				public static getSdkSandboxState(): number;
				public removeSyncedSharedPreferencesKeys(keys: java.util.Set<string>): void;
				public getSandboxedSdks(): java.util.List<android.app.sdksandbox.SandboxedSdk>;
				public addSyncedSharedPreferencesKeys(keys: java.util.Set<string>): void;
				public getSyncedSharedPreferencesKeys(): java.util.Set<string>;
				/** @deprecated */
				public requestSurfacePackage(sdkName: string, params: android.os.Bundle, callbackExecutor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.os.Bundle,android.app.sdksandbox.RequestSurfacePackageException>): void;
				public unloadSdk(sdkName: string): void;
				public startSdkSandboxActivity(fromActivity: android.app.Activity, sdkActivityToken: android.os.IBinder): void;
				public registerAppOwnedSdkSandboxInterface(appOwnedSdkSandboxInterface: android.app.sdksandbox.AppOwnedSdkSandboxInterface): void;
			}
			export module SdkSandboxManager {
				export class SdkSandboxProcessDeathCallback extends java.lang.Object {
					public static class: java.lang.Class<android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback>;
					/**
					 * Constructs a new instance of the android.app.sdksandbox.SdkSandboxManager$SdkSandboxProcessDeathCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onSdkSandboxDied(): void;
					});
					public constructor();
					public onSdkSandboxDied(): void;
				}
			}
		}
	}
}

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

declare module android {
	export module app {
		export module sdksandbox {
			export module sdkprovider {
				export class SdkSandboxController extends java.lang.Object {
					public static class: java.lang.Class<android.app.sdksandbox.sdkprovider.SdkSandboxController>;
					public static SDK_SANDBOX_CONTROLLER_SERVICE: "sdk_sandbox_controller_service";
					public getClientSharedPreferences(): android.content.SharedPreferences;
					public getSandboxedSdks(): java.util.List<android.app.sdksandbox.SandboxedSdk>;
					public getAppOwnedSdkSandboxInterfaces(): java.util.List<android.app.sdksandbox.AppOwnedSdkSandboxInterface>;
					public loadSdk(sdkName: string, params: android.os.Bundle, executor: java.util.concurrent.Executor, receiver: android.os.OutcomeReceiver<android.app.sdksandbox.SandboxedSdk,android.app.sdksandbox.LoadSdkException>): void;
					public unregisterSdkSandboxActivityHandler(sdkSandboxActivityHandler: android.app.sdksandbox.sdkprovider.SdkSandboxActivityHandler): void;
					public getClientPackageName(): string;
					public registerSdkSandboxActivityHandler(sdkSandboxActivityHandler: android.app.sdksandbox.sdkprovider.SdkSandboxActivityHandler): android.os.IBinder;
				}
			}
		}
	}
}

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: "android.app.slice.extra.RANGE_VALUE";
				public static EXTRA_TOGGLE_STATE: "android.app.slice.extra.TOGGLE_STATE";
				public static HINT_ACTIONS: "actions";
				public static HINT_ERROR: "error";
				public static HINT_HORIZONTAL: "horizontal";
				public static HINT_KEYWORDS: "keywords";
				public static HINT_LARGE: "large";
				public static HINT_LAST_UPDATED: "last_updated";
				public static HINT_LIST: "list";
				public static HINT_LIST_ITEM: "list_item";
				public static HINT_NO_TINT: "no_tint";
				public static HINT_PARTIAL: "partial";
				public static HINT_PERMISSION_REQUEST: "permission_request";
				public static HINT_SEE_MORE: "see_more";
				public static HINT_SELECTED: "selected";
				public static HINT_SHORTCUT: "shortcut";
				public static HINT_SUMMARY: "summary";
				public static HINT_TITLE: "title";
				public static HINT_TTL: "ttl";
				public static SUBTYPE_COLOR: "color";
				public static SUBTYPE_CONTENT_DESCRIPTION: "content_description";
				public static SUBTYPE_LAYOUT_DIRECTION: "layout_direction";
				public static SUBTYPE_MAX: "max";
				public static SUBTYPE_MESSAGE: "message";
				public static SUBTYPE_MILLIS: "millis";
				public static SUBTYPE_PRIORITY: "priority";
				public static SUBTYPE_RANGE: "range";
				public static SUBTYPE_SOURCE: "source";
				public static SUBTYPE_TOGGLE: "toggle";
				public static SUBTYPE_VALUE: "value";
				/** @deprecated */
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				/** @deprecated */
				public constructor(in_: android.os.Parcel);
				/** @deprecated */
				public getHints(): java.util.List<string>;
				/** @deprecated */
				public getItems(): java.util.List<android.app.slice.SliceItem>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public getUri(): android.net.Uri;
				public describeContents(): number;
				/** @deprecated */
				public describeContents(): number;
				/** @deprecated */
				public getSpec(): android.app.slice.SliceSpec;
				public toString(): string;
				/** @deprecated */
				public isCallerNeeded(): boolean;
			}
			export module Slice {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.slice.Slice.Builder>;
					/** @deprecated */
					public addRemoteInput(remoteInput: android.app.RemoteInput, subType: string, hints: java.util.List<string>): android.app.slice.Slice.Builder;
					/** @deprecated */
					public addAction(action: android.app.PendingIntent, s: android.app.slice.Slice, subType: string): android.app.slice.Slice.Builder;
					/** @deprecated */
					public addIcon(icon: any, subType: string, hints: java.util.List<string>): android.app.slice.Slice.Builder;
					/** @deprecated */
					public addSubSlice(slice: android.app.slice.Slice, subType: string): android.app.slice.Slice.Builder;
					/** @deprecated */
					public addHints(hints: java.util.List<string>): android.app.slice.Slice.Builder;
					/** @deprecated */
					public addLong(value: number, subType: string, hints: java.util.List<string>): android.app.slice.Slice.Builder;
					/** @deprecated */
					public addInt(value: number, subType: string, hints: java.util.List<string>): android.app.slice.Slice.Builder;
					/** @deprecated */
					public setCallerNeeded(callerNeeded: boolean): android.app.slice.Slice.Builder;
					/** @deprecated */
					public build(): android.app.slice.Slice;
					/** @deprecated */
					public addText(text: string, subType: string, hints: java.util.List<string>): android.app.slice.Slice.Builder;
					/** @deprecated */
					public constructor(uri: android.net.Uri, spec: android.app.slice.SliceSpec);
					/** @deprecated */
					public constructor(parent: android.app.slice.Slice.Builder);
					/** @deprecated */
					public addBundle(bundle: android.os.Bundle, subType: string, hints: java.util.List<string>): 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: "action";
				public static FORMAT_BUNDLE: "bundle";
				public static FORMAT_IMAGE: "image";
				public static FORMAT_INT: "int";
				public static FORMAT_LONG: "long";
				public static FORMAT_REMOTE_INPUT: "input";
				public static FORMAT_SLICE: "slice";
				public static FORMAT_TEXT: "text";
				/** @deprecated */
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				/** @deprecated */
				public getIcon(): any;
				/** @deprecated */
				public getText(): string;
				/** @deprecated */
				public getLong(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public getFormat(): string;
				/** @deprecated */
				public getInt(): number;
				/** @deprecated */
				public describeContents(): number;
				/** @deprecated */
				public hasHint(hint: string): boolean;
				/** @deprecated */
				public getRemoteInput(): android.app.RemoteInput;
				/** @deprecated */
				public getSlice(): android.app.slice.Slice;
				/** @deprecated */
				public getBundle(): android.os.Bundle;
				/** @deprecated */
				public getHints(): java.util.List<string>;
				/** @deprecated */
				public getSubType(): string;
				/** @deprecated */
				public getAction(): android.app.PendingIntent;
				public describeContents(): 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: "android.app.slice.category.SLICE";
				public static SLICE_METADATA_KEY: "android.metadata.SLICE_URI";
				/** @deprecated */
				public bindSlice(uri: android.net.Uri, supportedSpecs: java.util.Set<android.app.slice.SliceSpec>): android.app.slice.Slice;
				/** @deprecated */
				public checkSlicePermission(uri: android.net.Uri, pid: number, uid: number): number;
				/** @deprecated */
				public unpinSlice(uri: android.net.Uri): void;
				/** @deprecated */
				public getSliceDescendants(uri: android.net.Uri): java.util.Collection<android.net.Uri>;
				/** @deprecated */
				public grantSlicePermission(toPackage: string, uri: android.net.Uri): void;
				/** @deprecated */
				public pinSlice(uri: android.net.Uri, specs: java.util.Set<android.app.slice.SliceSpec>): void;
				/** @deprecated */
				public getPinnedSlices(): java.util.List<android.net.Uri>;
				/** @deprecated */
				public getPinnedSpecs(uri: android.net.Uri): java.util.Set<android.app.slice.SliceSpec>;
				/** @deprecated */
				public mapIntentToUri(intent: android.content.Intent): android.net.Uri;
				/** @deprecated */
				public revokeSlicePermission(toPackage: string, uri: android.net.Uri): void;
				/** @deprecated */
				public bindSlice(intent: android.content.Intent, supportedSpecs: java.util.Set<android.app.slice.SliceSpec>): android.app.slice.Slice;
			}
		}
	}
}

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>;
				/** @deprecated */
				public logHidden(): void;
				/** @deprecated */
				public logVisible(): void;
				/** @deprecated */
				public logTouch(actionType: number, subSlice: android.net.Uri): void;
				/** @deprecated */
				public constructor(context: android.content.Context, uri: android.net.Uri);
			}
		}
	}
}

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: "vnd.android.slice";
				/** @deprecated */
				public delete(uri: android.net.Uri, selection: string, selectionArgs: androidNative.Array<string>): number;
				/** @deprecated */
				public query(uri: android.net.Uri, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				public call(authority: string, method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
				public constructor();
				public insert(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): android.net.Uri;
				public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				/** @deprecated */
				public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string): android.database.Cursor;
				/** @deprecated */
				public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				/** @deprecated */
				public attachInfo(context: android.content.Context, info: android.content.pm.ProviderInfo): void;
				public delete(uri: android.net.Uri, extras: android.os.Bundle): number;
				/** @deprecated */
				public onMapIntentToUri(intent: android.content.Intent): android.net.Uri;
				public query(uri: android.net.Uri, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				/** @deprecated */
				public getType(uri: android.net.Uri): string;
				public onTrimMemory(param0: number): void;
				/** @deprecated */
				public onBindSlice(sliceUri: android.net.Uri, supportedSpecs: java.util.Set<android.app.slice.SliceSpec>): android.app.slice.Slice;
				/** @deprecated */
				public onGetSliceDescendants(uri: android.net.Uri): java.util.Collection<android.net.Uri>;
				/** @deprecated */
				public onSliceUnpinned(sliceUri: android.net.Uri): void;
				public update(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): number;
				/** @deprecated */
				public call(method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public update(uri: android.net.Uri, values: android.content.ContentValues, selection: string, selectionArgs: androidNative.Array<string>): number;
				/** @deprecated */
				public onCreatePermissionRequest(sliceUri: android.net.Uri): android.app.PendingIntent;
				/** @deprecated */
				public insert(uri: android.net.Uri, values: android.content.ContentValues): android.net.Uri;
				/** @deprecated */
				public constructor(autoGrantPermissions: androidNative.Array<string>);
				/** @deprecated */
				public onSlicePinned(sliceUri: android.net.Uri): void;
			}
		}
	}
}

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>;
				/** @deprecated */
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				/** @deprecated */
				public getRevision(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public equals(obj: any): boolean;
				public describeContents(): number;
				/** @deprecated */
				public describeContents(): number;
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public getType(): string;
				/** @deprecated */
				public constructor(type: string, revision: number);
				/** @deprecated */
				public canRender(candidate: android.app.slice.SliceSpec): boolean;
			}
		}
	}
}

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 constructor(stats: android.app.usage.ConfigurationStats);
				public getLastTimeActive(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				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(right: android.app.usage.EventStats): void;
				public getEventType(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTotalTime(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(stats: 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(dest: android.os.Parcel, flags: number): void;
				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 close(): void;
				public finalize(): void;
				public hasNextBucket(): boolean;
				public getNextBucket(bucketOut: android.app.usage.NetworkStats.Bucket): 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: -1;
					public static DEFAULT_NETWORK_NO: 1;
					public static DEFAULT_NETWORK_YES: 2;
					public static METERED_ALL: -1;
					public static METERED_NO: 1;
					public static METERED_YES: 2;
					public static ROAMING_ALL: -1;
					public static ROAMING_NO: 1;
					public static ROAMING_YES: 2;
					public static STATE_ALL: -1;
					public static STATE_DEFAULT: 1;
					public static STATE_FOREGROUND: 2;
					public static TAG_NONE: 0;
					public static UID_ALL: -1;
					public static UID_REMOVED: -4;
					public static UID_TETHERING: -5;
					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 querySummary(networkType: number, subscriberId: string, startTime: number, endTime: number): android.app.usage.NetworkStats;
				public queryDetailsForUidTagState(networkType: number, subscriberId: string, startTime: number, endTime: number, uid: number, tag: number, state: number): android.app.usage.NetworkStats;
				public registerUsageCallback(networkType: number, subscriberId: string, thresholdBytes: number, callback: android.app.usage.NetworkStatsManager.UsageCallback): void;
				public queryDetailsForUidTag(networkType: number, subscriberId: string, startTime: number, endTime: number, uid: number, tag: number): android.app.usage.NetworkStats;
				public queryDetails(networkType: number, subscriberId: string, startTime: number, endTime: number): android.app.usage.NetworkStats;
				public registerUsageCallback(networkType: number, subscriberId: string, thresholdBytes: number, callback: android.app.usage.NetworkStatsManager.UsageCallback, handler: android.os.Handler): void;
				public querySummaryForDevice(networkType: number, subscriberId: string, startTime: number, endTime: number): android.app.usage.NetworkStats.Bucket;
				public querySummaryForUser(networkType: number, subscriberId: string, startTime: number, endTime: number): android.app.usage.NetworkStats.Bucket;
				public queryDetailsForUid(networkType: number, subscriberId: string, startTime: number, endTime: number, uid: number): android.app.usage.NetworkStats;
				public unregisterUsageCallback(callback: android.app.usage.NetworkStatsManager.UsageCallback): void;
			}
			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 APP_DATA_TYPE_FILE_TYPE_APK: 3;
				public static APP_DATA_TYPE_FILE_TYPE_CURRENT_PROFILE: 2;
				public static APP_DATA_TYPE_FILE_TYPE_DEXOPT_ARTIFACT: 0;
				public static APP_DATA_TYPE_FILE_TYPE_DM: 4;
				public static APP_DATA_TYPE_FILE_TYPE_REFERENCE_PROFILE: 1;
				public static APP_DATA_TYPE_LIB: 5;
				public static CREATOR: android.os.Parcelable.Creator<android.app.usage.StorageStats>;
				public getAppBytes(): number;
				public getAppBytesByDataType(dataType: number): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getDataBytes(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCacheBytes(): number;
				public getExternalCacheBytes(): 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 queryStatsForUser(storageUuid: java.util.UUID, user: android.os.UserHandle): android.app.usage.StorageStats;
				public getFreeBytes(storageUuid: java.util.UUID): number;
				public getTotalBytes(storageUuid: java.util.UUID): number;
				public queryStatsForUid(storageUuid: java.util.UUID, uid: number): android.app.usage.StorageStats;
				public queryStatsForPackage(storageUuid: java.util.UUID, packageName: string, user: android.os.UserHandle): android.app.usage.StorageStats;
				public queryExternalStatsForUser(storageUuid: java.util.UUID, user: android.os.UserHandle): android.app.usage.ExternalStorageStats;
			}
		}
	}
}

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(eventOut: android.app.usage.UsageEvents.Event): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				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 ACTIVITY_PAUSED: 2;
					public static ACTIVITY_RESUMED: 1;
					public static ACTIVITY_STOPPED: 23;
					public static CONFIGURATION_CHANGE: 5;
					public static DEVICE_SHUTDOWN: 26;
					public static DEVICE_STARTUP: 27;
					public static FOREGROUND_SERVICE_START: 19;
					public static FOREGROUND_SERVICE_STOP: 20;
					public static KEYGUARD_HIDDEN: 18;
					public static KEYGUARD_SHOWN: 17;
					public static MOVE_TO_BACKGROUND: 2;
					public static MOVE_TO_FOREGROUND: 1;
					public static NONE: 0;
					public static SCREEN_INTERACTIVE: 15;
					public static SCREEN_NON_INTERACTIVE: 16;
					public static SHORTCUT_INVOCATION: 8;
					public static STANDBY_BUCKET_CHANGED: 11;
					public static USER_INTERACTION: 7;
					public getTimeStamp(): number;
					public getExtras(): any;
					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 UsageEventsQuery extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.usage.UsageEventsQuery>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.usage.UsageEventsQuery>;
				public getEndTimeMillis(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getBeginTimeMillis(): number;
				public getPackageNames(): java.util.Set<string>;
				public describeContents(): number;
				public getEventTypes(): androidNative.Array<number>;
			}
			export module UsageEventsQuery {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.usage.UsageEventsQuery.Builder>;
					public build(): android.app.usage.UsageEventsQuery;
					public setEventTypes(eventTypes: androidNative.Array<number>): android.app.usage.UsageEventsQuery.Builder;
					public setPackageNames(pkgNames: androidNative.Array<string>): android.app.usage.UsageEventsQuery.Builder;
					public constructor(beginTimeMillis: number, endTimeMillis: number);
				}
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(stats: android.app.usage.UsageStats);
				public getLastTimeForegroundServiceUsed(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public add(right: android.app.usage.UsageStats): void;
				public getLastTimeUsed(): number;
				public getTotalTimeVisible(): number;
				public getLastTimeVisible(): number;
				public describeContents(): number;
				public getFirstTimeStamp(): number;
				public getTotalTimeForegroundServiceUsed(): number;
				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 EXTRA_EVENT_ACTION: "android.app.usage.extra.EVENT_ACTION";
				public static EXTRA_EVENT_CATEGORY: "android.app.usage.extra.EVENT_CATEGORY";
				public static INTERVAL_BEST: 4;
				public static INTERVAL_DAILY: 0;
				public static INTERVAL_MONTHLY: 2;
				public static INTERVAL_WEEKLY: 1;
				public static INTERVAL_YEARLY: 3;
				public static STANDBY_BUCKET_ACTIVE: 10;
				public static STANDBY_BUCKET_FREQUENT: 30;
				public static STANDBY_BUCKET_RARE: 40;
				public static STANDBY_BUCKET_RESTRICTED: 45;
				public static STANDBY_BUCKET_WORKING_SET: 20;
				public queryUsageStats(intervalType: number, beginTime: number, endTime: number): java.util.List<android.app.usage.UsageStats>;
				public queryAndAggregateUsageStats(beginTime: number, endTime: number): java.util.Map<string,android.app.usage.UsageStats>;
				public queryConfigurations(intervalType: number, beginTime: number, endTime: number): java.util.List<android.app.usage.ConfigurationStats>;
				public queryEvents(beginTime: number, endTime: number): android.app.usage.UsageEvents;
				public getAppStandbyBucket(): number;
				public isAppInactive(packageName: string): boolean;
				public queryEventsForSelf(beginTime: number, endTime: number): android.app.usage.UsageEvents;
				public queryEventStats(intervalType: number, beginTime: number, endTime: number): java.util.List<android.app.usage.EventStats>;
				public queryEvents(query: android.app.usage.UsageEventsQuery): 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 onAppWidgetRemoved(appWidgetId: number): void;
			public allocateAppWidgetId(): number;
			public deleteAppWidgetId(appWidgetId: number): void;
			public stopListening(): void;
			public onProvidersChanged(): void;
			public startAppWidgetConfigureActivityForResult(activity: android.app.Activity, appWidgetId: number, intentFlags: number, requestCode: number, options: android.os.Bundle): void;
			public createView(context: android.content.Context, appWidgetId: number, appWidget: android.appwidget.AppWidgetProviderInfo): android.appwidget.AppWidgetHostView;
			public onProviderChanged(appWidgetId: number, appWidget: android.appwidget.AppWidgetProviderInfo): void;
			public getAppWidgetIds(): androidNative.Array<number>;
			public deleteHost(): void;
			public constructor(context: android.content.Context, hostId: number);
			public onCreateView(context: android.content.Context, appWidgetId: number, appWidget: android.appwidget.AppWidgetProviderInfo): android.appwidget.AppWidgetHostView;
			public static deleteAllHosts(): void;
		}
	}
}

declare module android {
	export module appwidget {
		export class AppWidgetHostView extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.appwidget.AppWidgetHostView>;
			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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public updateAppWidgetSize(newOptions: android.os.Bundle, minWidth: number, minHeight: number, maxWidth: number, maxHeight: number): void;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public resetColorResources(): 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 generateLayoutParams(lp: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public static getDefaultPaddingForWidget(context: android.content.Context, component: android.content.ComponentName, padding: android.graphics.Rect): android.graphics.Rect;
			public sendAccessibilityEvent(param0: number): void;
			public setExecutor(executor: java.util.concurrent.Executor): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public prepareView(view: android.view.View): void;
			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 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 updateAppWidgetSize(newOptions: android.os.Bundle, sizes: java.util.List<any>): void;
			public getLayoutDirection(): number;
			public setAppWidget(appWidgetId: number, info: android.appwidget.AppWidgetProviderInfo): void;
			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(attrs: android.util.AttributeSet): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.FrameLayout.LayoutParams;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public updateAppWidgetOptions(options: android.os.Bundle): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): 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 setColorResources(colorMapping: android.util.SparseIntArray): 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;
			public constructor(context: android.content.Context, animationIn: number, animationOut: number);
			public updateAppWidget(remoteViews: android.widget.RemoteViews): void;
			public dispatchSaveInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public dispatchRestoreInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public setOnLightBackground(onLightBackground: boolean): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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: "android.appwidget.action.APPWIDGET_BIND";
			public static ACTION_APPWIDGET_CONFIGURE: "android.appwidget.action.APPWIDGET_CONFIGURE";
			public static ACTION_APPWIDGET_DELETED: "android.appwidget.action.APPWIDGET_DELETED";
			public static ACTION_APPWIDGET_DISABLED: "android.appwidget.action.APPWIDGET_DISABLED";
			public static ACTION_APPWIDGET_ENABLED: "android.appwidget.action.APPWIDGET_ENABLED";
			public static ACTION_APPWIDGET_HOST_RESTORED: "android.appwidget.action.APPWIDGET_HOST_RESTORED";
			public static ACTION_APPWIDGET_OPTIONS_CHANGED: "android.appwidget.action.APPWIDGET_UPDATE_OPTIONS";
			public static ACTION_APPWIDGET_PICK: "android.appwidget.action.APPWIDGET_PICK";
			public static ACTION_APPWIDGET_RESTORED: "android.appwidget.action.APPWIDGET_RESTORED";
			public static ACTION_APPWIDGET_UPDATE: "android.appwidget.action.APPWIDGET_UPDATE";
			public static EXTRA_APPWIDGET_ID: "appWidgetId";
			public static EXTRA_APPWIDGET_IDS: "appWidgetIds";
			public static EXTRA_APPWIDGET_OLD_IDS: "appWidgetOldIds";
			public static EXTRA_APPWIDGET_OPTIONS: "appWidgetOptions";
			public static EXTRA_APPWIDGET_PREVIEW: "appWidgetPreview";
			public static EXTRA_APPWIDGET_PROVIDER: "appWidgetProvider";
			public static EXTRA_APPWIDGET_PROVIDER_PROFILE: "appWidgetProviderProfile";
			public static EXTRA_CUSTOM_EXTRAS: "customExtras";
			public static EXTRA_CUSTOM_INFO: "customInfo";
			public static EXTRA_HOST_ID: "hostId";
			public static INVALID_APPWIDGET_ID: 0;
			public static META_DATA_APPWIDGET_PROVIDER: "android.appwidget.provider";
			public static OPTION_APPWIDGET_HOST_CATEGORY: "appWidgetCategory";
			public static OPTION_APPWIDGET_MAX_HEIGHT: "appWidgetMaxHeight";
			public static OPTION_APPWIDGET_MAX_WIDTH: "appWidgetMaxWidth";
			public static OPTION_APPWIDGET_MIN_HEIGHT: "appWidgetMinHeight";
			public static OPTION_APPWIDGET_MIN_WIDTH: "appWidgetMinWidth";
			public static OPTION_APPWIDGET_RESTORE_COMPLETED: "appWidgetRestoreCompleted";
			public static OPTION_APPWIDGET_SIZES: "appWidgetSizes";
			/** @deprecated */
			public notifyAppWidgetViewDataChanged(appWidgetId: number, viewId: number): void;
			public updateAppWidget(appWidgetId: number, views: android.widget.RemoteViews): void;
			public getAppWidgetIds(provider: android.content.ComponentName): androidNative.Array<number>;
			public bindAppWidgetIdIfAllowed(appWidgetId: number, provider: android.content.ComponentName, options: android.os.Bundle): boolean;
			public updateAppWidgetOptions(appWidgetId: number, options: android.os.Bundle): void;
			public setWidgetPreview(provider: android.content.ComponentName, widgetCategories: number, preview: android.widget.RemoteViews): boolean;
			public static getInstance(context: android.content.Context): android.appwidget.AppWidgetManager;
			public getAppWidgetOptions(appWidgetId: number): android.os.Bundle;
			public updateAppWidgetProviderInfo(provider: android.content.ComponentName, metaDataKey: string): void;
			public bindAppWidgetIdIfAllowed(appWidgetId: number, provider: android.content.ComponentName): boolean;
			public getInstalledProvidersForPackage(packageName: string, profile: android.os.UserHandle): java.util.List<android.appwidget.AppWidgetProviderInfo>;
			public partiallyUpdateAppWidget(appWidgetId: number, views: android.widget.RemoteViews): void;
			public isRequestPinAppWidgetSupported(): boolean;
			public partiallyUpdateAppWidget(appWidgetIds: androidNative.Array<number>, views: android.widget.RemoteViews): void;
			public updateAppWidget(provider: android.content.ComponentName, views: android.widget.RemoteViews): void;
			public getInstalledProvidersForProfile(profile: android.os.UserHandle): java.util.List<android.appwidget.AppWidgetProviderInfo>;
			public removeWidgetPreview(provider: android.content.ComponentName, widgetCategories: number): void;
			public updateAppWidget(appWidgetIds: androidNative.Array<number>, views: android.widget.RemoteViews): void;
			public requestPinAppWidget(provider: android.content.ComponentName, extras: android.os.Bundle, successCallback: android.app.PendingIntent): boolean;
			public getWidgetPreview(provider: android.content.ComponentName, profile: android.os.UserHandle, widgetCategory: number): android.widget.RemoteViews;
			public bindAppWidgetIdIfAllowed(appWidgetId: number, user: android.os.UserHandle, provider: android.content.ComponentName, options: android.os.Bundle): boolean;
			public getInstalledProviders(): java.util.List<android.appwidget.AppWidgetProviderInfo>;
			public getAppWidgetInfo(appWidgetId: number): android.appwidget.AppWidgetProviderInfo;
			/** @deprecated */
			public notifyAppWidgetViewDataChanged(appWidgetIds: androidNative.Array<number>, viewId: number): void;
		}
	}
}

declare module android {
	export module appwidget {
		export class AppWidgetProvider extends android.content.BroadcastReceiver {
			public static class: java.lang.Class<android.appwidget.AppWidgetProvider>;
			public onAppWidgetOptionsChanged(context: android.content.Context, appWidgetManager: android.appwidget.AppWidgetManager, appWidgetId: number, newOptions: android.os.Bundle): void;
			public onEnabled(context: android.content.Context): void;
			public onUpdate(context: android.content.Context, appWidgetManager: android.appwidget.AppWidgetManager, appWidgetIds: androidNative.Array<number>): void;
			public onDeleted(context: android.content.Context, appWidgetIds: androidNative.Array<number>): void;
			public onRestored(context: android.content.Context, oldWidgetIds: androidNative.Array<number>, newWidgetIds: androidNative.Array<number>): void;
			public constructor();
			public onReceive(context: android.content.Context, intent: android.content.Intent): void;
			public onDisabled(context: 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: 3;
			public static RESIZE_HORIZONTAL: 1;
			public static RESIZE_NONE: 0;
			public static RESIZE_VERTICAL: 2;
			public static WIDGET_CATEGORY_HOME_SCREEN: 1;
			public static WIDGET_CATEGORY_KEYGUARD: 2;
			public static WIDGET_CATEGORY_SEARCHBOX: 4;
			public static WIDGET_FEATURE_CONFIGURATION_OPTIONAL: 4;
			public static WIDGET_FEATURE_HIDE_FROM_PICKER: 2;
			public static WIDGET_FEATURE_RECONFIGURABLE: 1;
			public autoAdvanceViewId: number;
			public configure: android.content.ComponentName;
			public descriptionRes: number;
			public generatedPreviewCategories: number;
			public icon: number;
			public initialKeyguardLayout: number;
			public initialLayout: number;
			public label: string;
			public maxResizeHeight: number;
			public maxResizeWidth: number;
			public minHeight: number;
			public minResizeHeight: number;
			public minResizeWidth: number;
			public minWidth: number;
			public previewImage: number;
			public previewLayout: number;
			public provider: android.content.ComponentName;
			public resizeMode: number;
			public targetCellHeight: number;
			public targetCellWidth: number;
			public updatePeriodMillis: number;
			public widgetCategory: number;
			public widgetFeatures: number;
			public constructor(in_: android.os.Parcel);
			public loadPreviewImage(context: android.content.Context, density: number): android.graphics.drawable.Drawable;
			public loadDescription(context: android.content.Context): string;
			public constructor();
			public clone(): android.appwidget.AppWidgetProviderInfo;
			public getActivityInfo(): android.content.pm.ActivityInfo;
			public clone(): any;
			public toString(): string;
			public loadLabel(packageManager: android.content.pm.PackageManager): string;
			public getProfile(): android.os.UserHandle;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public loadIcon(context: android.content.Context, density: number): android.graphics.drawable.Drawable;
		}
	}
}

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: "android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED";
			public static ACTION_PLAYING_STATE_CHANGED: "android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED";
			public static STATE_NOT_PLAYING: 11;
			public static STATE_PLAYING: 10;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public isA2dpPlaying(device: android.bluetooth.BluetoothDevice): boolean;
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getSupportedCodecTypes(): java.util.Collection<android.bluetooth.BluetoothCodecType>;
			public finalize(): void;
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
		}
	}
}

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: "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED";
			public static ACTION_DISCOVERY_FINISHED: "android.bluetooth.adapter.action.DISCOVERY_FINISHED";
			public static ACTION_DISCOVERY_STARTED: "android.bluetooth.adapter.action.DISCOVERY_STARTED";
			public static ACTION_LOCAL_NAME_CHANGED: "android.bluetooth.adapter.action.LOCAL_NAME_CHANGED";
			public static ACTION_REQUEST_DISCOVERABLE: "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE";
			public static ACTION_REQUEST_ENABLE: "android.bluetooth.adapter.action.REQUEST_ENABLE";
			public static ACTION_SCAN_MODE_CHANGED: "android.bluetooth.adapter.action.SCAN_MODE_CHANGED";
			public static ACTION_STATE_CHANGED: "android.bluetooth.adapter.action.STATE_CHANGED";
			public static ERROR: -2147483648;
			public static EXTRA_CONNECTION_STATE: "android.bluetooth.adapter.extra.CONNECTION_STATE";
			public static EXTRA_DISCOVERABLE_DURATION: "android.bluetooth.adapter.extra.DISCOVERABLE_DURATION";
			public static EXTRA_LOCAL_NAME: "android.bluetooth.adapter.extra.LOCAL_NAME";
			public static EXTRA_PREVIOUS_CONNECTION_STATE: "android.bluetooth.adapter.extra.PREVIOUS_CONNECTION_STATE";
			public static EXTRA_PREVIOUS_SCAN_MODE: "android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE";
			public static EXTRA_PREVIOUS_STATE: "android.bluetooth.adapter.extra.PREVIOUS_STATE";
			public static EXTRA_SCAN_MODE: "android.bluetooth.adapter.extra.SCAN_MODE";
			public static EXTRA_STATE: "android.bluetooth.adapter.extra.STATE";
			public static SCAN_MODE_CONNECTABLE: 21;
			public static SCAN_MODE_CONNECTABLE_DISCOVERABLE: 23;
			public static SCAN_MODE_NONE: 20;
			public static STATE_CONNECTED: 2;
			public static STATE_CONNECTING: 1;
			public static STATE_DISCONNECTED: 0;
			public static STATE_DISCONNECTING: 3;
			public static STATE_OFF: 10;
			public static STATE_ON: 12;
			public static STATE_TURNING_OFF: 13;
			public static STATE_TURNING_ON: 11;
			public getLeMaximumAdvertisingDataLength(): number;
			public isOffloadedScanBatchingSupported(): boolean;
			public isLeAudioBroadcastAssistantSupported(): number;
			public getRemoteLeDevice(address: string, addressType: number): android.bluetooth.BluetoothDevice;
			public isLeAudioBroadcastSourceSupported(): number;
			public static checkBluetoothAddress(address: string): boolean;
			public getAddress(): string;
			public isLeCodedPhySupported(): boolean;
			public getProfileProxy(context: android.content.Context, listener: android.bluetooth.BluetoothProfile.ServiceListener, profile: number): boolean;
			/** @deprecated */
			public static getDefaultAdapter(): android.bluetooth.BluetoothAdapter;
			public cancelDiscovery(): boolean;
			public listenUsingL2capChannel(): android.bluetooth.BluetoothServerSocket;
			public isLePeriodicAdvertisingSupported(): boolean;
			public isDiscovering(): boolean;
			public isLeAudioSupported(): number;
			public getDiscoverableTimeout(): java.time.Duration;
			public isMultipleAdvertisementSupported(): boolean;
			public getMaxConnectedAudioDevices(): number;
			public getRemoteDevice(address: string): android.bluetooth.BluetoothDevice;
			public getBluetoothLeScanner(): android.bluetooth.le.BluetoothLeScanner;
			public startDiscovery(): boolean;
			public listenUsingInsecureRfcommWithServiceRecord(name: string, uuid: java.util.UUID): android.bluetooth.BluetoothServerSocket;
			public getProfileConnectionState(profile: number): number;
			public closeProfileProxy(unusedProfile: number, proxy: android.bluetooth.BluetoothProfile): void;
			public isOffloadedFilteringSupported(): boolean;
			public getState(): number;
			/** @deprecated */
			public disable(): boolean;
			public finalize(): void;
			/** @deprecated */
			public stopLeScan(callback: android.bluetooth.BluetoothAdapter.LeScanCallback): void;
			public getBondedDevices(): java.util.Set<android.bluetooth.BluetoothDevice>;
			public setName(name: string): boolean;
			public getScanMode(): number;
			public isLeExtendedAdvertisingSupported(): boolean;
			public getRemoteDevice(address: androidNative.Array<number>): android.bluetooth.BluetoothDevice;
			public listenUsingInsecureL2capChannel(): android.bluetooth.BluetoothServerSocket;
			public getBluetoothLeAdvertiser(): android.bluetooth.le.BluetoothLeAdvertiser;
			public isEnabled(): boolean;
			public getName(): string;
			public isLe2MPhySupported(): boolean;
			/** @deprecated */
			public enable(): boolean;
			public listenUsingRfcommWithServiceRecord(name: string, uuid: java.util.UUID): android.bluetooth.BluetoothServerSocket;
			/** @deprecated */
			public startLeScan(serviceUuids: androidNative.Array<java.util.UUID>, callback: android.bluetooth.BluetoothAdapter.LeScanCallback): boolean;
			/** @deprecated */
			public startLeScan(callback: android.bluetooth.BluetoothAdapter.LeScanCallback): boolean;
		}
		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: androidNative.Array<number>): void;
				});
				public constructor();
				public onLeScan(param0: android.bluetooth.BluetoothDevice, param1: number, param2: androidNative.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: 190;
			public static ACCEL_SEMICONDUCTOR: 74;
			public static ACE_SENSOR: 188;
			public static ADIDAS: 195;
			public static ADVANCED_PANMOBIL_SYSTEMS: 145;
			public static AIROHA_TECHNOLOGY: 148;
			public static ALCATEL: 36;
			public static ALPWISE: 154;
			public static AMICCOM_ELECTRONICS: 192;
			public static APLIX: 189;
			public static APPLE: 76;
			public static APT_LICENSING: 79;
			public static ARCHOS: 207;
			public static ARP_DEVICES: 168;
			public static ATHEROS_COMMUNICATIONS: 69;
			public static ATMEL: 19;
			public static AUSTCO_COMMUNICATION_SYSTEMS: 213;
			public static AUTONET_MOBILE: 127;
			public static AVAGO: 78;
			public static AVM_BERLIN: 31;
			public static A_AND_D_ENGINEERING: 105;
			public static A_AND_R_CAMBRIDGE: 124;
			public static BANDSPEED: 32;
			public static BAND_XI_INTERNATIONAL: 100;
			public static BDE_TECHNOLOGY: 180;
			public static BEATS_ELECTRONICS: 204;
			public static BEAUTIFUL_ENTERPRISE: 108;
			public static BEKEY: 178;
			public static BELKIN_INTERNATIONAL: 92;
			public static BINAURIC: 203;
			public static BIOSENTRONICS: 219;
			public static BLUEGIGA: 71;
			public static BLUERADIOS: 133;
			public static BLUETOOTH_SIG: 63;
			public static BLUETREK_TECHNOLOGIES: 151;
			public static BOSE: 158;
			public static BRIARTEK: 109;
			public static BROADCOM: 15;
			public static CAEN_RFID: 170;
			public static CAMBRIDGE_SILICON_RADIO: 10;
			public static CATC: 52;
			public static CINETIX: 175;
			public static CLARINOX_TECHNOLOGIES: 179;
			public static COLORFY: 156;
			public static COMMIL: 51;
			public static CONEXANT_SYSTEMS: 28;
			public static CONNECTBLUE: 113;
			public static CONTINENTAL_AUTOMOTIVE: 75;
			public static CONWISE_TECHNOLOGY: 66;
			public static CREATIVE_TECHNOLOGY: 118;
			public static C_TECHNOLOGIES: 38;
			public static DANLERS: 225;
			public static DELORME_PUBLISHING_COMPANY: 128;
			public static DEXCOM: 208;
			public static DIALOG_SEMICONDUCTOR: 210;
			public static DIGIANSWER: 12;
			public static ECLIPSE: 53;
			public static ECOTEST: 136;
			public static ELGATO_SYSTEMS: 206;
			public static EM_MICROELECTRONIC_MARIN: 90;
			public static EQUINOX_AG: 134;
			public static ERICSSON_TECHNOLOGY: 0;
			public static EVLUMA: 201;
			public static FREE2MOVE: 83;
			public static FUNAI_ELECTRIC: 144;
			public static GARMIN_INTERNATIONAL: 135;
			public static GCT_SEMICONDUCTOR: 45;
			public static GELO: 200;
			public static GENEQ: 194;
			public static GENERAL_MOTORS: 104;
			public static GENNUM: 59;
			public static GEOFORCE: 157;
			public static GIBSON_GUITARS: 98;
			public static GN_NETCOM: 103;
			public static GN_RESOUND: 137;
			public static GOOGLE: 224;
			public static GREEN_THROTTLE_GAMES: 172;
			public static GROUP_SENSE: 115;
			public static HANLYNN_TECHNOLOGIES: 123;
			public static HARMAN_INTERNATIONAL: 87;
			public static HEWLETT_PACKARD: 101;
			public static HITACHI: 41;
			public static HOSIDEN: 221;
			public static IBM: 3;
			public static INFINEON_TECHNOLOGIES: 9;
			public static INGENIEUR_SYSTEMGRUPPE_ZAHN: 171;
			public static INTEGRATED_SILICON_SOLUTION: 65;
			public static INTEGRATED_SYSTEM_SOLUTION: 57;
			public static INTEL: 2;
			public static INVENTEL: 30;
			public static IPEXTREME: 61;
			public static I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION: 153;
			public static JAWBONE: 138;
			public static JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS: 155;
			public static JOHNSON_CONTROLS: 185;
			public static J_AND_M: 82;
			public static KAWANTECH: 212;
			public static KC_TECHNOLOGY: 22;
			public static KENSINGTON_COMPUTER_PRODUCTS_GROUP: 160;
			public static LAIRD_TECHNOLOGIES: 119;
			public static LESSWIRE: 121;
			public static LG_ELECTRONICS: 196;
			public static LINAK: 164;
			public static LUCENT: 7;
			public static LUDUS_HELSINKI: 132;
			public static MACRONIX: 44;
			public static MAGNETI_MARELLI: 169;
			public static MANSELLA: 33;
			public static MARVELL: 72;
			public static MATSUSHITA_ELECTRIC: 58;
			public static MC10: 202;
			public static MEDIATEK: 70;
			public static MESO_INTERNATIONAL: 182;
			public static META_WATCH: 163;
			public static MEWTEL_TECHNOLOGY: 47;
			public static MICOMMAND: 99;
			public static MICROCHIP_TECHNOLOGY: 205;
			public static MICROSOFT: 6;
			public static MINDTREE: 106;
			public static MISFIT_WEARABLES: 223;
			public static MITEL_SEMICONDUCTOR: 16;
			public static MITSUBISHI_ELECTRIC: 20;
			public static MOBILIAN_CORPORATION: 55;
			public static MONSTER: 112;
			public static MOTOROLA: 8;
			public static MSTAR_SEMICONDUCTOR: 122;
			public static MUZIK: 222;
			public static NEC: 34;
			public static NEC_LIGHTING: 149;
			public static NEWLOGIC: 23;
			public static NIKE: 120;
			public static NINE_SOLUTIONS: 102;
			public static NOKIA_MOBILE_PHONES: 1;
			public static NORDIC_SEMICONDUCTOR: 89;
			public static NORWOOD_SYSTEMS: 46;
			public static ODM_TECHNOLOGY: 150;
			public static OMEGAWAVE: 174;
			public static ONSET_COMPUTER: 197;
			public static OPEN_INTERFACE: 39;
			public static OTL_DYNAMICS: 165;
			public static PANDA_OCEAN: 166;
			public static PARROT: 67;
			public static PARTHUS_TECHNOLOGIES: 14;
			public static PASSIF_SEMICONDUCTOR: 176;
			public static PETER_SYSTEMTECHNIK: 173;
			public static PHILIPS_SEMICONDUCTORS: 37;
			public static PLANTRONICS: 85;
			public static POLAR_ELECTRO: 107;
			public static POLAR_ELECTRO_EUROPE: 209;
			public static PROCTER_AND_GAMBLE: 220;
			public static QUALCOMM: 29;
			public static QUALCOMM_CONNECTED_EXPERIENCES: 216;
			public static QUALCOMM_INNOVATION_CENTER: 184;
			public static QUALCOMM_LABS: 140;
			public static QUALCOMM_TECHNOLOGIES: 215;
			public static QUINTIC: 142;
			public static QUUPPA: 199;
			public static RALINK_TECHNOLOGY: 91;
			public static RDA_MICROELECTRONICS: 97;
			public static REALTEK_SEMICONDUCTOR: 93;
			public static RED_M: 50;
			public static RENESAS_TECHNOLOGY: 54;
			public static RESEARCH_IN_MOTION: 60;
			public static RF_MICRO_DEVICES: 40;
			public static RIVIERAWAVES: 96;
			public static ROHDE_AND_SCHWARZ: 25;
			public static RTX_TELECOM: 21;
			public static SAMSUNG_ELECTRONICS: 117;
			public static SARIS_CYCLING_GROUP: 177;
			public static SEERS_TECHNOLOGY: 125;
			public static SEIKO_EPSON: 64;
			public static SELFLY: 198;
			public static SEMILINK: 226;
			public static SENNHEISER_COMMUNICATIONS: 130;
			public static SHANGHAI_SUPER_SMART_ELECTRONICS: 114;
			public static SHENZHEN_EXCELSECU_DATA_TECHNOLOGY: 193;
			public static SIGNIA_TECHNOLOGIES: 27;
			public static SILICON_WAVE: 11;
			public static SIRF_TECHNOLOGY: 80;
			public static SOCKET_MOBILE: 68;
			public static SONY_ERICSSON: 86;
			public static SOUND_ID: 111;
			public static SPORTS_TRACKING_TECHNOLOGIES: 126;
			public static SR_MEDIZINELEKTRONIK: 161;
			public static STACCATO_COMMUNICATIONS: 77;
			public static STALMART_TECHNOLOGY: 191;
			public static STARKEY_LABORATORIES: 186;
			public static STOLLMAN_E_PLUS_V: 143;
			public static STONESTREET_ONE: 94;
			public static ST_MICROELECTRONICS: 48;
			public static SUMMIT_DATA_COMMUNICATIONS: 110;
			public static SUUNTO: 159;
			public static SWIRL_NETWORKS: 181;
			public static SYMBOL_TECHNOLOGIES: 42;
			public static SYNOPSYS: 49;
			public static SYSTEMS_AND_CHIPS: 62;
			public static S_POWER_ELECTRONICS: 187;
			public static TAIXINGBANG_TECHNOLOGY: 211;
			public static TENOVIS: 43;
			public static TERAX: 56;
			public static TEXAS_INSTRUMENTS: 13;
			public static THINKOPTICS: 146;
			public static THREECOM: 5;
			public static THREE_DIJOY: 84;
			public static THREE_DSP: 73;
			public static TIMEKEEPING_SYSTEMS: 131;
			public static TIMEX_GROUP_USA: 214;
			public static TOPCORN_POSITIONING_SYSTEMS: 139;
			public static TOSHIBA: 4;
			public static TRANSILICA: 24;
			public static TRELAB: 183;
			public static TTPCOM: 26;
			public static TXTR: 218;
			public static TZERO_TECHNOLOGIES: 81;
			public static UNIVERSAL_ELECTRONICS: 147;
			public static VERTU: 162;
			public static VISTEON: 167;
			public static VIZIO: 88;
			public static VOYETRA_TURTLE_BEACH: 217;
			public static WAVEPLUS_TECHNOLOGY: 35;
			public static WICENTRIC: 95;
			public static WIDCOMM: 17;
			public static WUXI_VIMICRO: 129;
			public static ZEEVO: 18;
			public static ZER01_TV: 152;
			public static ZOMM: 116;
			public static ZSCAN_SOFTWARE: 141;
		}
	}
}

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 static PROFILE_A2DP: 1;
			public static PROFILE_HEADSET: 0;
			public static PROFILE_HID: 3;
			public toString(): string;
			public hasService(service: number): boolean;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getDeviceClass(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMajorDeviceClass(): number;
			public doesClassMatch(profile: number): boolean;
			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: 1076;
				public static AUDIO_VIDEO_CAR_AUDIO: 1056;
				public static AUDIO_VIDEO_HANDSFREE: 1032;
				public static AUDIO_VIDEO_HEADPHONES: 1048;
				public static AUDIO_VIDEO_HIFI_AUDIO: 1064;
				public static AUDIO_VIDEO_LOUDSPEAKER: 1044;
				public static AUDIO_VIDEO_MICROPHONE: 1040;
				public static AUDIO_VIDEO_PORTABLE_AUDIO: 1052;
				public static AUDIO_VIDEO_SET_TOP_BOX: 1060;
				public static AUDIO_VIDEO_UNCATEGORIZED: 1024;
				public static AUDIO_VIDEO_VCR: 1068;
				public static AUDIO_VIDEO_VIDEO_CAMERA: 1072;
				public static AUDIO_VIDEO_VIDEO_CONFERENCING: 1088;
				public static AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER: 1084;
				public static AUDIO_VIDEO_VIDEO_GAMING_TOY: 1096;
				public static AUDIO_VIDEO_VIDEO_MONITOR: 1080;
				public static AUDIO_VIDEO_WEARABLE_HEADSET: 1028;
				public static COMPUTER_DESKTOP: 260;
				public static COMPUTER_HANDHELD_PC_PDA: 272;
				public static COMPUTER_LAPTOP: 268;
				public static COMPUTER_PALM_SIZE_PC_PDA: 276;
				public static COMPUTER_SERVER: 264;
				public static COMPUTER_UNCATEGORIZED: 256;
				public static COMPUTER_WEARABLE: 280;
				public static HEALTH_BLOOD_PRESSURE: 2308;
				public static HEALTH_DATA_DISPLAY: 2332;
				public static HEALTH_GLUCOSE: 2320;
				public static HEALTH_PULSE_OXIMETER: 2324;
				public static HEALTH_PULSE_RATE: 2328;
				public static HEALTH_THERMOMETER: 2312;
				public static HEALTH_UNCATEGORIZED: 2304;
				public static HEALTH_WEIGHING: 2316;
				public static PERIPHERAL_KEYBOARD: 1344;
				public static PERIPHERAL_KEYBOARD_POINTING: 1472;
				public static PERIPHERAL_NON_KEYBOARD_NON_POINTING: 1280;
				public static PERIPHERAL_POINTING: 1408;
				public static PHONE_CELLULAR: 516;
				public static PHONE_CORDLESS: 520;
				public static PHONE_ISDN: 532;
				public static PHONE_MODEM_OR_GATEWAY: 528;
				public static PHONE_SMART: 524;
				public static PHONE_UNCATEGORIZED: 512;
				public static TOY_CONTROLLER: 2064;
				public static TOY_DOLL_ACTION_FIGURE: 2060;
				public static TOY_GAME: 2068;
				public static TOY_ROBOT: 2052;
				public static TOY_UNCATEGORIZED: 2048;
				public static TOY_VEHICLE: 2056;
				public static WEARABLE_GLASSES: 1812;
				public static WEARABLE_HELMET: 1808;
				public static WEARABLE_JACKET: 1804;
				public static WEARABLE_PAGER: 1800;
				public static WEARABLE_UNCATEGORIZED: 1792;
				public static WEARABLE_WRIST_WATCH: 1796;
				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: 1024;
					public static COMPUTER: 256;
					public static HEALTH: 2304;
					public static IMAGING: 1536;
					public static MISC: 0;
					public static NETWORKING: 768;
					public static PERIPHERAL: 1280;
					public static PHONE: 512;
					public static TOY: 2048;
					public static UNCATEGORIZED: 7936;
					public static WEARABLE: 1792;
					public constructor();
				}
			}
			export class Service extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothClass.Service>;
				public static AUDIO: 2097152;
				public static CAPTURE: 524288;
				public static INFORMATION: 8388608;
				public static LE_AUDIO: 16384;
				public static LIMITED_DISCOVERABILITY: 8192;
				public static NETWORKING: 131072;
				public static OBJECT_TRANSFER: 1048576;
				public static POSITIONING: 65536;
				public static RENDER: 262144;
				public static TELEPHONY: 4194304;
				public constructor();
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothCodecConfig extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothCodecConfig>;
			public static BITS_PER_SAMPLE_16: 1;
			public static BITS_PER_SAMPLE_24: 2;
			public static BITS_PER_SAMPLE_32: 4;
			public static BITS_PER_SAMPLE_NONE: 0;
			public static CHANNEL_MODE_MONO: 1;
			public static CHANNEL_MODE_NONE: 0;
			public static CHANNEL_MODE_STEREO: 2;
			public static CODEC_PRIORITY_DEFAULT: 0;
			public static CODEC_PRIORITY_DISABLED: -1;
			public static CODEC_PRIORITY_HIGHEST: 1000000;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothCodecConfig>;
			public static SAMPLE_RATE_176400: 16;
			public static SAMPLE_RATE_192000: 32;
			public static SAMPLE_RATE_44100: 1;
			public static SAMPLE_RATE_48000: 2;
			public static SAMPLE_RATE_88200: 4;
			public static SAMPLE_RATE_96000: 8;
			public static SAMPLE_RATE_NONE: 0;
			public static SOURCE_CODEC_TYPE_AAC: 1;
			public static SOURCE_CODEC_TYPE_APTX: 2;
			public static SOURCE_CODEC_TYPE_APTX_HD: 3;
			public static SOURCE_CODEC_TYPE_INVALID: 1000000;
			public static SOURCE_CODEC_TYPE_LC3: 5;
			public static SOURCE_CODEC_TYPE_LDAC: 4;
			public static SOURCE_CODEC_TYPE_OPUS: 6;
			public static SOURCE_CODEC_TYPE_SBC: 0;
			public getSampleRate(): number;
			public getChannelMode(): number;
			public getCodecSpecific4(): number;
			public getCodecSpecific2(): number;
			public isMandatoryCodec(): boolean;
			public getBitsPerSample(): number;
			/** @deprecated */
			public getCodecType(): number;
			public getCodecSpecific3(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getExtendedCodecType(): android.bluetooth.BluetoothCodecType;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCodecPriority(): number;
			public getCodecSpecific1(): number;
			public hashCode(): number;
		}
		export module BluetoothCodecConfig {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothCodecConfig.Builder>;
				public setCodecPriority(codecPriority: number): android.bluetooth.BluetoothCodecConfig.Builder;
				public setCodecSpecific3(codecSpecific3: number): android.bluetooth.BluetoothCodecConfig.Builder;
				public build(): android.bluetooth.BluetoothCodecConfig;
				public setSampleRate(sampleRate: number): android.bluetooth.BluetoothCodecConfig.Builder;
				public setCodecSpecific1(codecSpecific1: number): android.bluetooth.BluetoothCodecConfig.Builder;
				public setBitsPerSample(bitsPerSample: number): android.bluetooth.BluetoothCodecConfig.Builder;
				/** @deprecated */
				public setCodecType(codecType: number): android.bluetooth.BluetoothCodecConfig.Builder;
				public setExtendedCodecType(codecType: android.bluetooth.BluetoothCodecType): android.bluetooth.BluetoothCodecConfig.Builder;
				public setCodecSpecific4(codecSpecific4: number): android.bluetooth.BluetoothCodecConfig.Builder;
				public setChannelMode(channelMode: number): android.bluetooth.BluetoothCodecConfig.Builder;
				public setCodecSpecific2(codecSpecific2: number): android.bluetooth.BluetoothCodecConfig.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothCodecStatus extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothCodecStatus>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothCodecStatus>;
			public static EXTRA_CODEC_STATUS: "android.bluetooth.extra.CODEC_STATUS";
			public getCodecConfig(): android.bluetooth.BluetoothCodecConfig;
			public toString(): string;
			public getCodecsLocalCapabilities(): java.util.List<android.bluetooth.BluetoothCodecConfig>;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getCodecsSelectableCapabilities(): java.util.List<android.bluetooth.BluetoothCodecConfig>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isCodecConfigSelectable(codecConfig: android.bluetooth.BluetoothCodecConfig): boolean;
			public hashCode(): number;
		}
		export module BluetoothCodecStatus {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothCodecStatus.Builder>;
				public setCodecsLocalCapabilities(codecsLocalCapabilities: java.util.List<android.bluetooth.BluetoothCodecConfig>): android.bluetooth.BluetoothCodecStatus.Builder;
				public setCodecConfig(codecConfig: android.bluetooth.BluetoothCodecConfig): android.bluetooth.BluetoothCodecStatus.Builder;
				public build(): android.bluetooth.BluetoothCodecStatus;
				public setCodecsSelectableCapabilities(codecsSelectableCapabilities: java.util.List<android.bluetooth.BluetoothCodecConfig>): android.bluetooth.BluetoothCodecStatus.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothCodecType extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothCodecType>;
			public static CODEC_ID_AAC: 2;
			public static CODEC_ID_APTX: 16797695;
			public static CODEC_ID_APTX_HD: 604035071;
			public static CODEC_ID_LDAC: -1442763265;
			public static CODEC_ID_OPUS: 16834815;
			public static CODEC_ID_SBC: 0;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothCodecType>;
			public getCodecId(): number;
			public getCodecName(): string;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isMandatoryCodec(): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothCsipSetCoordinator extends java.lang.Object implements android.bluetooth.BluetoothProfile, java.lang.AutoCloseable {
			public static class: java.lang.Class<android.bluetooth.BluetoothCsipSetCoordinator>;
			public static ACTION_CSIS_CONNECTION_STATE_CHANGED: "android.bluetooth.action.CSIS_CONNECTION_STATE_CHANGED";
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public close(): void;
			public finalize(): void;
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
		}
	}
}

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: "android.bluetooth.device.action.ACL_CONNECTED";
			public static ACTION_ACL_DISCONNECTED: "android.bluetooth.device.action.ACL_DISCONNECTED";
			public static ACTION_ACL_DISCONNECT_REQUESTED: "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED";
			public static ACTION_ALIAS_CHANGED: "android.bluetooth.device.action.ALIAS_CHANGED";
			public static ACTION_BOND_STATE_CHANGED: "android.bluetooth.device.action.BOND_STATE_CHANGED";
			public static ACTION_CLASS_CHANGED: "android.bluetooth.device.action.CLASS_CHANGED";
			public static ACTION_FOUND: "android.bluetooth.device.action.FOUND";
			public static ACTION_NAME_CHANGED: "android.bluetooth.device.action.NAME_CHANGED";
			public static ACTION_PAIRING_REQUEST: "android.bluetooth.device.action.PAIRING_REQUEST";
			public static ACTION_UUID: "android.bluetooth.device.action.UUID";
			public static ADDRESS_TYPE_ANONYMOUS: 255;
			public static ADDRESS_TYPE_PUBLIC: 0;
			public static ADDRESS_TYPE_RANDOM: 1;
			public static ADDRESS_TYPE_UNKNOWN: 65535;
			public static BOND_BONDED: 12;
			public static BOND_BONDING: 11;
			public static BOND_NONE: 10;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice>;
			public static DEVICE_TYPE_CLASSIC: 1;
			public static DEVICE_TYPE_DUAL: 3;
			public static DEVICE_TYPE_LE: 2;
			public static DEVICE_TYPE_UNKNOWN: 0;
			public static ERROR: -2147483648;
			public static EXTRA_BOND_STATE: "android.bluetooth.device.extra.BOND_STATE";
			public static EXTRA_CLASS: "android.bluetooth.device.extra.CLASS";
			public static EXTRA_DEVICE: "android.bluetooth.device.extra.DEVICE";
			public static EXTRA_IS_COORDINATED_SET_MEMBER: "android.bluetooth.extra.IS_COORDINATED_SET_MEMBER";
			public static EXTRA_NAME: "android.bluetooth.device.extra.NAME";
			public static EXTRA_PAIRING_KEY: "android.bluetooth.device.extra.PAIRING_KEY";
			public static EXTRA_PAIRING_VARIANT: "android.bluetooth.device.extra.PAIRING_VARIANT";
			public static EXTRA_PREVIOUS_BOND_STATE: "android.bluetooth.device.extra.PREVIOUS_BOND_STATE";
			public static EXTRA_RSSI: "android.bluetooth.device.extra.RSSI";
			public static EXTRA_TRANSPORT: "android.bluetooth.device.extra.TRANSPORT";
			public static EXTRA_UUID: "android.bluetooth.device.extra.UUID";
			public static PAIRING_VARIANT_PASSKEY_CONFIRMATION: 2;
			public static PAIRING_VARIANT_PIN: 0;
			public static PHY_LE_1M: 1;
			public static PHY_LE_1M_MASK: 1;
			public static PHY_LE_2M: 2;
			public static PHY_LE_2M_MASK: 2;
			public static PHY_LE_CODED: 3;
			public static PHY_LE_CODED_MASK: 4;
			public static PHY_OPTION_NO_PREFERRED: 0;
			public static PHY_OPTION_S2: 1;
			public static PHY_OPTION_S8: 2;
			public static TRANSPORT_AUTO: 0;
			public static TRANSPORT_BREDR: 1;
			public static TRANSPORT_LE: 2;
			public getType(): number;
			public connectGatt(context: android.content.Context, autoConnect: boolean, callback: android.bluetooth.BluetoothGattCallback, transport: number, phy: number): android.bluetooth.BluetoothGatt;
			public createInsecureL2capChannel(psm: number): android.bluetooth.BluetoothSocket;
			public getAddress(): string;
			public createRfcommSocketToServiceRecord(uuid: java.util.UUID): android.bluetooth.BluetoothSocket;
			public setAlias(alias: string): number;
			public createInsecureRfcommSocketToServiceRecord(uuid: java.util.UUID): android.bluetooth.BluetoothSocket;
			public createBond(): boolean;
			public getBluetoothClass(): android.bluetooth.BluetoothClass;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getAddressType(): number;
			public setPairingConfirmation(confirm: boolean): boolean;
			public fetchUuidsWithSdp(): boolean;
			public getAlias(): string;
			public connectGatt(context: android.content.Context, autoConnect: boolean, callback: android.bluetooth.BluetoothGattCallback, transport: number, phy: number, handler: android.os.Handler): android.bluetooth.BluetoothGatt;
			public connectGatt(context: android.content.Context, autoConnect: boolean, callback: android.bluetooth.BluetoothGattCallback, transport: number): android.bluetooth.BluetoothGatt;
			public getBondState(): number;
			public setPin(pin: androidNative.Array<number>): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public getName(): string;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public createL2capChannel(psm: number): android.bluetooth.BluetoothSocket;
			public getUuids(): androidNative.Array<android.os.ParcelUuid>;
			public connectGatt(context: android.content.Context, autoConnect: boolean, callback: android.bluetooth.BluetoothGattCallback): android.bluetooth.BluetoothGatt;
			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: 0;
			public static CONNECTION_PRIORITY_DCK: 3;
			public static CONNECTION_PRIORITY_HIGH: 1;
			public static CONNECTION_PRIORITY_LOW_POWER: 2;
			public static GATT_CONNECTION_CONGESTED: 143;
			public static GATT_CONNECTION_TIMEOUT: 147;
			public static GATT_FAILURE: 257;
			public static GATT_INSUFFICIENT_AUTHENTICATION: 5;
			public static GATT_INSUFFICIENT_AUTHORIZATION: 8;
			public static GATT_INSUFFICIENT_ENCRYPTION: 15;
			public static GATT_INVALID_ATTRIBUTE_LENGTH: 13;
			public static GATT_INVALID_OFFSET: 7;
			public static GATT_READ_NOT_PERMITTED: 2;
			public static GATT_REQUEST_NOT_SUPPORTED: 6;
			public static GATT_SUCCESS: 0;
			public static GATT_WRITE_NOT_PERMITTED: 3;
			public connect(): boolean;
			public readDescriptor(descriptor: android.bluetooth.BluetoothGattDescriptor): boolean;
			public getService(uuid: java.util.UUID): android.bluetooth.BluetoothGattService;
			public writeDescriptor(descriptor: android.bluetooth.BluetoothGattDescriptor, value: androidNative.Array<number>): number;
			public requestMtu(mtu: number): boolean;
			public setPreferredPhy(txPhy: number, rxPhy: number, phyOptions: number): void;
			public readCharacteristic(characteristic: android.bluetooth.BluetoothGattCharacteristic): boolean;
			public requestConnectionPriority(connectionPriority: number): boolean;
			public beginReliableWrite(): boolean;
			public setCharacteristicNotification(characteristic: android.bluetooth.BluetoothGattCharacteristic, enable: boolean): boolean;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevice(): android.bluetooth.BluetoothDevice;
			public writeCharacteristic(characteristic: android.bluetooth.BluetoothGattCharacteristic, value: androidNative.Array<number>, writeType: number): number;
			public close(): void;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			/** @deprecated */
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
			public getServices(): java.util.List<android.bluetooth.BluetoothGattService>;
			/** @deprecated */
			public writeCharacteristic(characteristic: android.bluetooth.BluetoothGattCharacteristic): boolean;
			/** @deprecated */
			public writeDescriptor(descriptor: android.bluetooth.BluetoothGattDescriptor): boolean;
			public executeReliableWrite(): boolean;
			public readPhy(): void;
			/** @deprecated */
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			/** @deprecated */
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public readRemoteRssi(): boolean;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public abortReliableWrite(): void;
			public disconnect(): void;
			public discoverServices(): boolean;
			/** @deprecated */
			public abortReliableWrite(mDevice: android.bluetooth.BluetoothDevice): void;
		}
	}
}

declare module android {
	export module bluetooth {
		export abstract class BluetoothGattCallback extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothGattCallback>;
			public onMtuChanged(gatt: android.bluetooth.BluetoothGatt, mtu: number, status: number): void;
			public constructor();
			public onPhyUpdate(gatt: android.bluetooth.BluetoothGatt, txPhy: number, rxPhy: number, status: number): void;
			public onCharacteristicWrite(gatt: android.bluetooth.BluetoothGatt, characteristic: android.bluetooth.BluetoothGattCharacteristic, status: number): void;
			public onCharacteristicChanged(gatt: android.bluetooth.BluetoothGatt, characteristic: android.bluetooth.BluetoothGattCharacteristic, value: androidNative.Array<number>): void;
			public onReliableWriteCompleted(gatt: android.bluetooth.BluetoothGatt, status: number): void;
			public onConnectionStateChange(gatt: android.bluetooth.BluetoothGatt, status: number, newState: number): void;
			public onCharacteristicRead(gatt: android.bluetooth.BluetoothGatt, characteristic: android.bluetooth.BluetoothGattCharacteristic, value: androidNative.Array<number>, status: number): void;
			/** @deprecated */
			public onCharacteristicChanged(gatt: android.bluetooth.BluetoothGatt, characteristic: android.bluetooth.BluetoothGattCharacteristic): void;
			public onServiceChanged(gatt: android.bluetooth.BluetoothGatt): void;
			public onServicesDiscovered(gatt: android.bluetooth.BluetoothGatt, status: number): void;
			/** @deprecated */
			public onDescriptorRead(gatt: android.bluetooth.BluetoothGatt, descriptor: android.bluetooth.BluetoothGattDescriptor, status: number): void;
			public onPhyRead(gatt: android.bluetooth.BluetoothGatt, txPhy: number, rxPhy: number, status: number): void;
			public onDescriptorWrite(gatt: android.bluetooth.BluetoothGatt, descriptor: android.bluetooth.BluetoothGattDescriptor, status: number): void;
			public onDescriptorRead(gatt: android.bluetooth.BluetoothGatt, descriptor: android.bluetooth.BluetoothGattDescriptor, status: number, value: androidNative.Array<number>): void;
			public onReadRemoteRssi(gatt: android.bluetooth.BluetoothGatt, rssi: number, status: number): void;
			/** @deprecated */
			public onCharacteristicRead(gatt: android.bluetooth.BluetoothGatt, characteristic: android.bluetooth.BluetoothGattCharacteristic, status: number): 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: 52;
			public static FORMAT_SFLOAT: 50;
			public static FORMAT_SINT16: 34;
			public static FORMAT_SINT32: 36;
			public static FORMAT_SINT8: 33;
			public static FORMAT_UINT16: 18;
			public static FORMAT_UINT32: 20;
			public static FORMAT_UINT8: 17;
			public static PERMISSION_READ: 1;
			public static PERMISSION_READ_ENCRYPTED: 2;
			public static PERMISSION_READ_ENCRYPTED_MITM: 4;
			public static PERMISSION_WRITE: 16;
			public static PERMISSION_WRITE_ENCRYPTED: 32;
			public static PERMISSION_WRITE_ENCRYPTED_MITM: 64;
			public static PERMISSION_WRITE_SIGNED: 128;
			public static PERMISSION_WRITE_SIGNED_MITM: 256;
			public static PROPERTY_BROADCAST: 1;
			public static PROPERTY_EXTENDED_PROPS: 128;
			public static PROPERTY_INDICATE: 32;
			public static PROPERTY_NOTIFY: 16;
			public static PROPERTY_READ: 2;
			public static PROPERTY_SIGNED_WRITE: 64;
			public static PROPERTY_WRITE: 8;
			public static PROPERTY_WRITE_NO_RESPONSE: 4;
			public static WRITE_TYPE_DEFAULT: 2;
			public static WRITE_TYPE_NO_RESPONSE: 1;
			public static WRITE_TYPE_SIGNED: 4;
			public mDescriptors: java.util.List<android.bluetooth.BluetoothGattDescriptor>;
			/** @deprecated */
			public setValue(value: androidNative.Array<number>): boolean;
			/** @deprecated */
			public setValue(mantissa: number, exponent: number, formatType: number, offset: number): boolean;
			/** @deprecated */
			public getValue(): androidNative.Array<number>;
			/** @deprecated */
			public setValue(value: number, formatType: number, offset: number): boolean;
			public getUuid(): java.util.UUID;
			/** @deprecated */
			public getFloatValue(formatType: number, offset: number): java.lang.Float;
			public constructor(uuid: java.util.UUID, properties: number, permissions: number);
			/** @deprecated */
			public getStringValue(offset: number): string;
			public getService(): android.bluetooth.BluetoothGattService;
			public getProperties(): number;
			public addDescriptor(descriptor: android.bluetooth.BluetoothGattDescriptor): boolean;
			public getPermissions(): number;
			public getDescriptor(uuid: java.util.UUID): android.bluetooth.BluetoothGattDescriptor;
			public getInstanceId(): number;
			public getDescriptors(): java.util.List<android.bluetooth.BluetoothGattDescriptor>;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public setWriteType(writeType: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getIntValue(formatType: number, offset: number): java.lang.Integer;
			public getWriteType(): number;
			/** @deprecated */
			public setValue(value: string): boolean;
		}
	}
}

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: androidNative.Array<number>;
			public static ENABLE_INDICATION_VALUE: androidNative.Array<number>;
			public static ENABLE_NOTIFICATION_VALUE: androidNative.Array<number>;
			public static PERMISSION_READ: 1;
			public static PERMISSION_READ_ENCRYPTED: 2;
			public static PERMISSION_READ_ENCRYPTED_MITM: 4;
			public static PERMISSION_WRITE: 16;
			public static PERMISSION_WRITE_ENCRYPTED: 32;
			public static PERMISSION_WRITE_ENCRYPTED_MITM: 64;
			public static PERMISSION_WRITE_SIGNED: 128;
			public static PERMISSION_WRITE_SIGNED_MITM: 256;
			public constructor(uuid: java.util.UUID, permissions: number);
			/** @deprecated */
			public setValue(value: androidNative.Array<number>): boolean;
			public getPermissions(): number;
			public getCharacteristic(): android.bluetooth.BluetoothGattCharacteristic;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getValue(): androidNative.Array<number>;
			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(device: android.bluetooth.BluetoothDevice): void;
			public addService(service: android.bluetooth.BluetoothGattService): boolean;
			public setPreferredPhy(device: android.bluetooth.BluetoothDevice, txPhy: number, rxPhy: number, phyOptions: number): void;
			public notifyCharacteristicChanged(device: android.bluetooth.BluetoothDevice, characteristic: android.bluetooth.BluetoothGattCharacteristic, confirm: boolean, value: androidNative.Array<number>): number;
			public getServices(): java.util.List<android.bluetooth.BluetoothGattService>;
			public removeService(service: android.bluetooth.BluetoothGattService): boolean;
			public getService(uuid: java.util.UUID): android.bluetooth.BluetoothGattService;
			public readPhy(device: android.bluetooth.BluetoothDevice): void;
			public sendResponse(device: android.bluetooth.BluetoothDevice, requestId: number, status: number, offset: number, value: androidNative.Array<number>): boolean;
			public clearServices(): void;
			public connect(device: android.bluetooth.BluetoothDevice, autoConnect: boolean): boolean;
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			/** @deprecated */
			public notifyCharacteristicChanged(device: android.bluetooth.BluetoothDevice, characteristic: android.bluetooth.BluetoothGattCharacteristic, confirm: boolean): boolean;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public close(): void;
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
		}
	}
}

declare module android {
	export module bluetooth {
		export abstract class BluetoothGattServerCallback extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothGattServerCallback>;
			public onServiceAdded(status: number, service: android.bluetooth.BluetoothGattService): void;
			public onCharacteristicWriteRequest(device: android.bluetooth.BluetoothDevice, requestId: number, characteristic: android.bluetooth.BluetoothGattCharacteristic, preparedWrite: boolean, responseNeeded: boolean, offset: number, value: androidNative.Array<number>): void;
			public onDescriptorReadRequest(device: android.bluetooth.BluetoothDevice, requestId: number, offset: number, descriptor: android.bluetooth.BluetoothGattDescriptor): void;
			public onPhyUpdate(device: android.bluetooth.BluetoothDevice, txPhy: number, rxPhy: number, status: number): void;
			public onConnectionStateChange(device: android.bluetooth.BluetoothDevice, status: number, newState: number): void;
			public onCharacteristicReadRequest(device: android.bluetooth.BluetoothDevice, requestId: number, offset: number, characteristic: android.bluetooth.BluetoothGattCharacteristic): void;
			public onDescriptorWriteRequest(device: android.bluetooth.BluetoothDevice, requestId: number, descriptor: android.bluetooth.BluetoothGattDescriptor, preparedWrite: boolean, responseNeeded: boolean, offset: number, value: androidNative.Array<number>): void;
			public constructor();
			public onExecuteWrite(device: android.bluetooth.BluetoothDevice, requestId: number, execute: boolean): void;
			public onPhyRead(device: android.bluetooth.BluetoothDevice, txPhy: number, rxPhy: number, status: number): void;
			public onNotificationSent(device: android.bluetooth.BluetoothDevice, status: number): void;
			public onMtuChanged(device: android.bluetooth.BluetoothDevice, mtu: number): 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: 0;
			public static SERVICE_TYPE_SECONDARY: 1;
			public mCharacteristics: java.util.List<android.bluetooth.BluetoothGattCharacteristic>;
			public mIncludedServices: java.util.List<android.bluetooth.BluetoothGattService>;
			public addCharacteristic(characteristic: android.bluetooth.BluetoothGattCharacteristic): boolean;
			public getType(): number;
			public constructor(uuid: java.util.UUID, serviceType: number);
			public addService(service: android.bluetooth.BluetoothGattService): boolean;
			public getInstanceId(): number;
			public getCharacteristic(uuid: java.util.UUID): android.bluetooth.BluetoothGattCharacteristic;
			public getIncludedServices(): java.util.List<android.bluetooth.BluetoothGattService>;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getCharacteristics(): java.util.List<android.bluetooth.BluetoothGattCharacteristic>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getUuid(): java.util.UUID;
		}
	}
}

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: "android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED";
			public static ACTION_CONNECTION_STATE_CHANGED: "android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED";
			public static ACTION_VENDOR_SPECIFIC_HEADSET_EVENT: "android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT";
			public static AT_CMD_TYPE_ACTION: 4;
			public static AT_CMD_TYPE_BASIC: 3;
			public static AT_CMD_TYPE_READ: 0;
			public static AT_CMD_TYPE_SET: 2;
			public static AT_CMD_TYPE_TEST: 1;
			public static EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS: "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS";
			public static EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD: "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD";
			public static EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE: "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE";
			public static STATE_AUDIO_CONNECTED: 12;
			public static STATE_AUDIO_CONNECTING: 11;
			public static STATE_AUDIO_DISCONNECTED: 10;
			public static VENDOR_RESULT_CODE_COMMAND_ANDROID: "+ANDROID";
			public static VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY: "android.bluetooth.headset.intent.category.companyid";
			public isNoiseReductionSupported(device: android.bluetooth.BluetoothDevice): boolean;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public sendVendorSpecificResultCode(device: android.bluetooth.BluetoothDevice, command: string, arg: string): boolean;
			public stopVoiceRecognition(device: android.bluetooth.BluetoothDevice): boolean;
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public isAudioConnected(device: android.bluetooth.BluetoothDevice): boolean;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public isVoiceRecognitionSupported(device: android.bluetooth.BluetoothDevice): boolean;
			public startVoiceRecognition(device: android.bluetooth.BluetoothDevice): boolean;
			public finalize(): void;
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
		}
	}
}

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: 1;
			public static APP_CONFIG_REGISTRATION_SUCCESS: 0;
			public static APP_CONFIG_UNREGISTRATION_FAILURE: 3;
			public static APP_CONFIG_UNREGISTRATION_SUCCESS: 2;
			public static CHANNEL_TYPE_RELIABLE: 10;
			public static CHANNEL_TYPE_STREAMING: 11;
			public static SINK_ROLE: 2;
			public static SOURCE_ROLE: 1;
			public static STATE_CHANNEL_CONNECTED: 2;
			public static STATE_CHANNEL_CONNECTING: 1;
			public static STATE_CHANNEL_DISCONNECTED: 0;
			public static STATE_CHANNEL_DISCONNECTING: 3;
			/** @deprecated */
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			/** @deprecated */
			public registerSinkAppConfiguration(name: string, dataType: number, callback: android.bluetooth.BluetoothHealthCallback): boolean;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			/** @deprecated */
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			/** @deprecated */
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
			/** @deprecated */
			public unregisterAppConfiguration(config: android.bluetooth.BluetoothHealthAppConfiguration): boolean;
			/** @deprecated */
			public disconnectChannel(device: android.bluetooth.BluetoothDevice, config: android.bluetooth.BluetoothHealthAppConfiguration, channelId: number): boolean;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			/** @deprecated */
			public getMainChannelFd(device: android.bluetooth.BluetoothDevice, config: android.bluetooth.BluetoothHealthAppConfiguration): android.os.ParcelFileDescriptor;
			/** @deprecated */
			public connectChannelToSource(device: android.bluetooth.BluetoothDevice, config: android.bluetooth.BluetoothHealthAppConfiguration): 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>;
			/** @deprecated */
			public describeContents(): number;
			/** @deprecated */
			public getRole(): number;
			/** @deprecated */
			public getDataType(): number;
			/** @deprecated */
			public getName(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public writeToParcel(out: android.os.Parcel, flags: number): void;
		}
	}
}

declare module android {
	export module bluetooth {
		export abstract class BluetoothHealthCallback extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothHealthCallback>;
			/** @deprecated */
			public onHealthChannelStateChange(config: android.bluetooth.BluetoothHealthAppConfiguration, device: android.bluetooth.BluetoothDevice, prevState: number, newState: number, fd: android.os.ParcelFileDescriptor, channelId: number): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public onHealthAppConfigurationStatusChange(config: android.bluetooth.BluetoothHealthAppConfiguration, status: number): void;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothHearingAid extends java.lang.Object implements android.bluetooth.BluetoothProfile {
			public static class: java.lang.Class<android.bluetooth.BluetoothHearingAid>;
			public static ACTION_CONNECTION_STATE_CHANGED: "android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED";
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
		}
	}
}

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: "android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED";
			public static ERROR_RSP_INVALID_PARAM: 4;
			public static ERROR_RSP_INVALID_RPT_ID: 2;
			public static ERROR_RSP_NOT_READY: 1;
			public static ERROR_RSP_SUCCESS: 0;
			public static ERROR_RSP_UNKNOWN: 14;
			public static ERROR_RSP_UNSUPPORTED_REQ: 3;
			public static PROTOCOL_BOOT_MODE: 0;
			public static PROTOCOL_REPORT_MODE: 1;
			public static REPORT_TYPE_FEATURE: 3;
			public static REPORT_TYPE_INPUT: 1;
			public static REPORT_TYPE_OUTPUT: 2;
			public static SUBCLASS1_COMBO: -64;
			public static SUBCLASS1_KEYBOARD: 64;
			public static SUBCLASS1_MOUSE: -128;
			public static SUBCLASS1_NONE: 0;
			public static SUBCLASS2_CARD_READER: 6;
			public static SUBCLASS2_DIGITIZER_TABLET: 5;
			public static SUBCLASS2_GAMEPAD: 2;
			public static SUBCLASS2_JOYSTICK: 1;
			public static SUBCLASS2_REMOTE_CONTROL: 3;
			public static SUBCLASS2_SENSING_DEVICE: 4;
			public static SUBCLASS2_UNCATEGORIZED: 0;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public disconnect(device: android.bluetooth.BluetoothDevice): boolean;
			public connect(device: android.bluetooth.BluetoothDevice): boolean;
			public registerApp(sdp: android.bluetooth.BluetoothHidDeviceAppSdpSettings, inQos: android.bluetooth.BluetoothHidDeviceAppQosSettings, outQos: android.bluetooth.BluetoothHidDeviceAppQosSettings, executor: java.util.concurrent.Executor, callback: android.bluetooth.BluetoothHidDevice.Callback): boolean;
			public replyReport(device: android.bluetooth.BluetoothDevice, type: number, id: number, data: androidNative.Array<number>): boolean;
			public unregisterApp(): boolean;
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public sendReport(device: android.bluetooth.BluetoothDevice, id: number, data: androidNative.Array<number>): boolean;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
			public reportError(device: android.bluetooth.BluetoothDevice, error: number): boolean;
		}
		export module BluetoothHidDevice {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothHidDevice.Callback>;
				public onAppStatusChanged(pluggedDevice: android.bluetooth.BluetoothDevice, registered: boolean): void;
				public onSetProtocol(device: android.bluetooth.BluetoothDevice, protocol: number): void;
				public onVirtualCableUnplug(device: android.bluetooth.BluetoothDevice): void;
				public onInterruptData(device: android.bluetooth.BluetoothDevice, reportId: number, data: androidNative.Array<number>): void;
				public onConnectionStateChanged(device: android.bluetooth.BluetoothDevice, state: number): void;
				public onGetReport(device: android.bluetooth.BluetoothDevice, type: number, id: number, bufferSize: number): void;
				public onSetReport(device: android.bluetooth.BluetoothDevice, type: number, id: number, data: androidNative.Array<number>): 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: -1;
			public static SERVICE_BEST_EFFORT: 1;
			public static SERVICE_GUARANTEED: 2;
			public static SERVICE_NO_TRAFFIC: 0;
			public getTokenRate(): number;
			public getLatency(): number;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getServiceType(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDelayVariation(): number;
			public constructor(serviceType: number, tokenRate: number, tokenBucketSize: number, peakBandwidth: number, latency: number, delayVariation: number);
			public getTokenBucketSize(): number;
			public getPeakBandwidth(): 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(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getProvider(): string;
			public getDescription(): string;
			public constructor(name: string, description: string, provider: string, subclass: number, descriptors: androidNative.Array<number>);
			public getSubclass(): number;
			public getDescriptors(): androidNative.Array<number>;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothLeAudio extends java.lang.Object implements android.bluetooth.BluetoothProfile, java.lang.AutoCloseable {
			public static class: java.lang.Class<android.bluetooth.BluetoothLeAudio>;
			public static ACTION_LE_AUDIO_CONNECTION_STATE_CHANGED: "android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED";
			public static GROUP_ID_INVALID: -1;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectedGroupLeadDevice(groupId: number): android.bluetooth.BluetoothDevice;
			public getDevicesMatchingConnectionStates(states: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getGroupId(device: android.bluetooth.BluetoothDevice): number;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public close(): void;
			public finalize(): void;
			public getConnectionState(device: android.bluetooth.BluetoothDevice): number;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothLeAudioCodecConfig extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothLeAudioCodecConfig>;
			public static BITS_PER_SAMPLE_16: 1;
			public static BITS_PER_SAMPLE_24: 2;
			public static BITS_PER_SAMPLE_32: 8;
			public static BITS_PER_SAMPLE_NONE: 0;
			public static CHANNEL_COUNT_1: 1;
			public static CHANNEL_COUNT_2: 2;
			public static CHANNEL_COUNT_NONE: 0;
			public static CODEC_PRIORITY_DEFAULT: 0;
			public static CODEC_PRIORITY_DISABLED: -1;
			public static CODEC_PRIORITY_HIGHEST: 1000000;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfig>;
			public static FRAME_DURATION_10000: 2;
			public static FRAME_DURATION_7500: 1;
			public static FRAME_DURATION_NONE: 0;
			public static SAMPLE_RATE_11025: 2;
			public static SAMPLE_RATE_16000: 4;
			public static SAMPLE_RATE_176400: 1024;
			public static SAMPLE_RATE_192000: 2048;
			public static SAMPLE_RATE_22050: 8;
			public static SAMPLE_RATE_24000: 16;
			public static SAMPLE_RATE_32000: 32;
			public static SAMPLE_RATE_384000: 4096;
			public static SAMPLE_RATE_44100: 64;
			public static SAMPLE_RATE_48000: 128;
			public static SAMPLE_RATE_8000: 1;
			public static SAMPLE_RATE_88200: 256;
			public static SAMPLE_RATE_96000: 512;
			public static SAMPLE_RATE_NONE: 0;
			public static SOURCE_CODEC_TYPE_INVALID: 1000000;
			public static SOURCE_CODEC_TYPE_LC3: 0;
			public getSampleRate(): number;
			public getCodecName(): string;
			public getFrameDuration(): number;
			public getMaxOctetsPerFrame(): number;
			public getMinOctetsPerFrame(): number;
			public getBitsPerSample(): number;
			public getChannelCount(): number;
			public toString(): string;
			public getCodecType(): number;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getOctetsPerFrame(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCodecPriority(): number;
			public hashCode(): number;
		}
		export module BluetoothLeAudioCodecConfig {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothLeAudioCodecConfig.Builder>;
				public setFrameDuration(frameDuration: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public setBitsPerSample(bitsPerSample: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public setMaxOctetsPerFrame(maxOctetsPerFrame: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public setCodecPriority(codecPriority: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public setOctetsPerFrame(octetsPerFrame: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public setCodecType(codecType: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public setChannelCount(channelCount: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public setSampleRate(sampleRate: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public setMinOctetsPerFrame(minOctetsPerFrame: number): android.bluetooth.BluetoothLeAudioCodecConfig.Builder;
				public constructor(config: android.bluetooth.BluetoothLeAudioCodecConfig);
				public build(): android.bluetooth.BluetoothLeAudioCodecConfig;
				public constructor();
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothLeAudioCodecStatus extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothLeAudioCodecStatus>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecStatus>;
			public static EXTRA_LE_AUDIO_CODEC_STATUS: "android.bluetooth.extra.LE_AUDIO_CODEC_STATUS";
			public getOutputCodecLocalCapabilities(): java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>;
			public getOutputCodecSelectableCapabilities(): java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>;
			public getInputCodecLocalCapabilities(): java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>;
			public isOutputCodecConfigSelectable(codecConfig: android.bluetooth.BluetoothLeAudioCodecConfig): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public isInputCodecConfigSelectable(codecConfig: android.bluetooth.BluetoothLeAudioCodecConfig): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getOutputCodecConfig(): android.bluetooth.BluetoothLeAudioCodecConfig;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getInputCodecSelectableCapabilities(): java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>;
			public getInputCodecConfig(): android.bluetooth.BluetoothLeAudioCodecConfig;
			public constructor(inputCodecConfig: android.bluetooth.BluetoothLeAudioCodecConfig, outputCodecConfig: android.bluetooth.BluetoothLeAudioCodecConfig, inputCodecsLocalCapabilities: java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, outputCodecsLocalCapabilities: java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, inputCodecsSelectableCapabilities: java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>, outputCodecsSelectableCapabilities: java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig>);
			public hashCode(): number;
		}
	}
}

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

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: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
				getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			});
			public constructor();
			public static STATE_DISCONNECTED: 0;
			public static HID_DEVICE: 19;
			public static STATE_DISCONNECTING: 3;
			public static CSIP_SET_COORDINATOR: 25;
			public static HEADSET: 1;
			public static A2DP: 2;
			public static GATT_SERVER: 8;
			public static HAP_CLIENT: 28;
			public static GATT: 7;
			public static EXTRA_PREVIOUS_STATE: "android.bluetooth.profile.extra.PREVIOUS_STATE";
			public static LE_AUDIO: 22;
			public static STATE_CONNECTING: 1;
			public static EXTRA_STATE: "android.bluetooth.profile.extra.STATE";
			public static HEARING_AID: 21;
			public static SAP: 10;
			public static HEALTH: 3;
			public static STATE_CONNECTED: 2;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevicesMatchingConnectionStates(param0: androidNative.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
		}
		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 getPsm(): number;
			public toString(): string;
			public accept(timeout: number): android.bluetooth.BluetoothSocket;
			public accept(): android.bluetooth.BluetoothSocket;
			public close(): void;
		}
	}
}

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: 3;
			public static TYPE_RFCOMM: 1;
			public static TYPE_SCO: 2;
			public toString(): string;
			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 class BluetoothSocketException extends java.io.IOException {
			public static class: java.lang.Class<android.bluetooth.BluetoothSocketException>;
			public static BLUETOOTH_OFF_FAILURE: 15;
			public static L2CAP_ACL_FAILURE: 2;
			public static L2CAP_CLIENT_SECURITY_FAILURE: 3;
			public static L2CAP_INSUFFICIENT_AUTHENTICATION: 4;
			public static L2CAP_INSUFFICIENT_AUTHORIZATION: 5;
			public static L2CAP_INSUFFICIENT_ENCRYPTION: 7;
			public static L2CAP_INSUFFICIENT_ENCRYPT_KEY_SIZE: 6;
			public static L2CAP_INVALID_PARAMETERS: 11;
			public static L2CAP_INVALID_SOURCE_CID: 8;
			public static L2CAP_NO_PSM_AVAILABLE: 13;
			public static L2CAP_NO_RESOURCES: 12;
			public static L2CAP_SOURCE_CID_ALREADY_ALLOCATED: 9;
			public static L2CAP_TIMEOUT: 14;
			public static L2CAP_UNACCEPTABLE_PARAMETERS: 10;
			public static L2CAP_UNKNOWN: 1;
			public static NULL_DEVICE: 19;
			public static RPC_FAILURE: 20;
			public static SOCKET_CLOSED: 17;
			public static SOCKET_CONNECTION_FAILURE: 18;
			public static SOCKET_MANAGER_FAILURE: 16;
			public static UNIX_FILE_SOCKET_CREATION_FAILURE: 21;
			public static UNSPECIFIED: 0;
			public constructor(code: number);
			public constructor(message: string);
			public getErrorCode(): number;
			public constructor(code: number, msg: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothStatusCodes extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothStatusCodes>;
			public static ERROR_BLUETOOTH_NOT_ALLOWED: 2;
			public static ERROR_BLUETOOTH_NOT_ENABLED: 1;
			public static ERROR_DEVICE_NOT_BONDED: 3;
			public static ERROR_GATT_WRITE_NOT_ALLOWED: 200;
			public static ERROR_GATT_WRITE_REQUEST_BUSY: 201;
			public static ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION: 6;
			public static ERROR_PROFILE_SERVICE_NOT_BOUND: 9;
			public static ERROR_UNKNOWN: 2147483647;
			public static FEATURE_NOT_CONFIGURED: 30;
			public static FEATURE_NOT_SUPPORTED: 11;
			public static FEATURE_SUPPORTED: 10;
			public static SUCCESS: 0;
		}
	}
}

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: 3;
				public static ADVERTISE_FAILED_DATA_TOO_LARGE: 1;
				public static ADVERTISE_FAILED_FEATURE_UNSUPPORTED: 5;
				public static ADVERTISE_FAILED_INTERNAL_ERROR: 4;
				public static ADVERTISE_FAILED_TOO_MANY_ADVERTISERS: 2;
				public onStartFailure(errorCode: number): void;
				public onStartSuccess(settingsInEffect: 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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getServiceData(): java.util.Map<android.os.ParcelUuid,androidNative.Array<number>>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getManufacturerSpecificData(): android.util.SparseArray<androidNative.Array<number>>;
				public getIncludeDeviceName(): boolean;
				public getIncludeTxPowerLevel(): boolean;
				public toString(): string;
				public equals(obj: any): boolean;
				public getTransportDiscoveryData(): java.util.List<android.bluetooth.le.TransportDiscoveryData>;
				public hashCode(): number;
				public describeContents(): number;
				public getServiceSolicitationUuids(): java.util.List<android.os.ParcelUuid>;
			}
			export module AdvertiseData {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.AdvertiseData.Builder>;
					public setIncludeTxPowerLevel(includeTxPowerLevel: boolean): android.bluetooth.le.AdvertiseData.Builder;
					public addServiceSolicitationUuid(serviceSolicitationUuid: android.os.ParcelUuid): android.bluetooth.le.AdvertiseData.Builder;
					public constructor();
					public addTransportDiscoveryData(transportDiscoveryData: android.bluetooth.le.TransportDiscoveryData): android.bluetooth.le.AdvertiseData.Builder;
					public addServiceUuid(serviceUuid: android.os.ParcelUuid): android.bluetooth.le.AdvertiseData.Builder;
					public setIncludeDeviceName(includeDeviceName: boolean): android.bluetooth.le.AdvertiseData.Builder;
					public build(): android.bluetooth.le.AdvertiseData;
					public addServiceData(serviceDataUuid: android.os.ParcelUuid, serviceData: androidNative.Array<number>): android.bluetooth.le.AdvertiseData.Builder;
					public addManufacturerData(manufacturerId: number, manufacturerSpecificData: androidNative.Array<number>): 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: 1;
				public static ADVERTISE_MODE_LOW_LATENCY: 2;
				public static ADVERTISE_MODE_LOW_POWER: 0;
				public static ADVERTISE_TX_POWER_HIGH: 3;
				public static ADVERTISE_TX_POWER_LOW: 1;
				public static ADVERTISE_TX_POWER_MEDIUM: 2;
				public static ADVERTISE_TX_POWER_ULTRA_LOW: 0;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings>;
				public getMode(): number;
				public getTxPowerLevel(): number;
				public isConnectable(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getTimeout(): number;
				public toString(): string;
				public isDiscoverable(): boolean;
			}
			export module AdvertiseSettings {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.AdvertiseSettings.Builder>;
					public setDiscoverable(discoverable: boolean): android.bluetooth.le.AdvertiseSettings.Builder;
					public constructor();
					public build(): android.bluetooth.le.AdvertiseSettings;
					public setConnectable(connectable: boolean): android.bluetooth.le.AdvertiseSettings.Builder;
					public setTxPowerLevel(txPowerLevel: number): android.bluetooth.le.AdvertiseSettings.Builder;
					public setTimeout(timeoutMillis: number): android.bluetooth.le.AdvertiseSettings.Builder;
					public setAdvertiseMode(advertiseMode: 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 setPeriodicAdvertisingData(periodicData: android.bluetooth.le.AdvertiseData): void;
				public setPeriodicAdvertisingParameters(parameters: android.bluetooth.le.PeriodicAdvertisingParameters): void;
				public setAdvertisingData(advertiseData: android.bluetooth.le.AdvertiseData): void;
				public setPeriodicAdvertisingEnabled(enable: boolean): void;
				public enableAdvertising(enable: boolean, duration: number, maxExtendedAdvertisingEvents: number): void;
				public setAdvertisingParameters(parameters: android.bluetooth.le.AdvertisingSetParameters): void;
				public setScanResponseData(scanResponse: android.bluetooth.le.AdvertiseData): 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: 3;
				public static ADVERTISE_FAILED_DATA_TOO_LARGE: 1;
				public static ADVERTISE_FAILED_FEATURE_UNSUPPORTED: 5;
				public static ADVERTISE_FAILED_INTERNAL_ERROR: 4;
				public static ADVERTISE_FAILED_TOO_MANY_ADVERTISERS: 2;
				public static ADVERTISE_SUCCESS: 0;
				public onPeriodicAdvertisingParametersUpdated(advertisingSet: android.bluetooth.le.AdvertisingSet, status: number): void;
				public onPeriodicAdvertisingEnabled(advertisingSet: android.bluetooth.le.AdvertisingSet, enable: boolean, status: number): void;
				public onAdvertisingSetStopped(advertisingSet: android.bluetooth.le.AdvertisingSet): void;
				public onAdvertisingParametersUpdated(advertisingSet: android.bluetooth.le.AdvertisingSet, txPower: number, status: number): void;
				public onAdvertisingSetStarted(advertisingSet: android.bluetooth.le.AdvertisingSet, txPower: number, status: number): void;
				public onScanResponseDataSet(advertisingSet: android.bluetooth.le.AdvertisingSet, status: number): void;
				public onAdvertisingEnabled(advertisingSet: android.bluetooth.le.AdvertisingSet, enable: boolean, status: number): void;
				public onPeriodicAdvertisingDataSet(advertisingSet: android.bluetooth.le.AdvertisingSet, status: number): void;
				public onAdvertisingDataSet(advertisingSet: android.bluetooth.le.AdvertisingSet, status: 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: 1600;
				public static INTERVAL_LOW: 160;
				public static INTERVAL_MAX: 16777215;
				public static INTERVAL_MEDIUM: 400;
				public static INTERVAL_MIN: 160;
				public static TX_POWER_HIGH: 1;
				public static TX_POWER_LOW: -15;
				public static TX_POWER_MAX: 1;
				public static TX_POWER_MEDIUM: -7;
				public static TX_POWER_MIN: -127;
				public static TX_POWER_ULTRA_LOW: -21;
				public getSecondaryPhy(): number;
				public getTxPowerLevel(): number;
				public isConnectable(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public isAnonymous(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getInterval(): number;
				public toString(): string;
				public getPrimaryPhy(): number;
				public isLegacy(): boolean;
				public includeTxPower(): boolean;
				public describeContents(): number;
				public isScannable(): boolean;
				public isDiscoverable(): boolean;
			}
			export module AdvertisingSetParameters {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.AdvertisingSetParameters.Builder>;
					public setInterval(interval: number): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setTxPowerLevel(txPowerLevel: number): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setAnonymous(isAnonymous: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setPrimaryPhy(primaryPhy: number): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public constructor();
					public setSecondaryPhy(secondaryPhy: number): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setIncludeTxPower(includeTxPower: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setLegacyMode(isLegacy: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setDiscoverable(discoverable: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setConnectable(connectable: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setScannable(scannable: 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(parameters: android.bluetooth.le.AdvertisingSetParameters, advertiseData: android.bluetooth.le.AdvertiseData, scanResponse: android.bluetooth.le.AdvertiseData, periodicParameters: android.bluetooth.le.PeriodicAdvertisingParameters, periodicData: android.bluetooth.le.AdvertiseData, duration: number, maxExtendedAdvertisingEvents: number, callback: android.bluetooth.le.AdvertisingSetCallback): void;
				public stopAdvertising(callback: android.bluetooth.le.AdvertiseCallback): void;
				public startAdvertisingSet(parameters: android.bluetooth.le.AdvertisingSetParameters, advertiseData: android.bluetooth.le.AdvertiseData, scanResponse: android.bluetooth.le.AdvertiseData, periodicParameters: android.bluetooth.le.PeriodicAdvertisingParameters, periodicData: android.bluetooth.le.AdvertiseData, callback: android.bluetooth.le.AdvertisingSetCallback): void;
				public startAdvertisingSet(parameters: android.bluetooth.le.AdvertisingSetParameters, advertiseData: android.bluetooth.le.AdvertiseData, scanResponse: android.bluetooth.le.AdvertiseData, periodicParameters: android.bluetooth.le.PeriodicAdvertisingParameters, periodicData: android.bluetooth.le.AdvertiseData, callback: android.bluetooth.le.AdvertisingSetCallback, handler: android.os.Handler): void;
				public startAdvertising(settings: android.bluetooth.le.AdvertiseSettings, advertiseData: android.bluetooth.le.AdvertiseData, scanResponse: android.bluetooth.le.AdvertiseData, callback: android.bluetooth.le.AdvertiseCallback): void;
				public startAdvertising(settings: android.bluetooth.le.AdvertiseSettings, advertiseData: android.bluetooth.le.AdvertiseData, callback: android.bluetooth.le.AdvertiseCallback): void;
				public startAdvertisingSet(parameters: android.bluetooth.le.AdvertisingSetParameters, advertiseData: android.bluetooth.le.AdvertiseData, scanResponse: android.bluetooth.le.AdvertiseData, periodicParameters: android.bluetooth.le.PeriodicAdvertisingParameters, periodicData: android.bluetooth.le.AdvertiseData, duration: number, maxExtendedAdvertisingEvents: number, callback: android.bluetooth.le.AdvertisingSetCallback, handler: android.os.Handler): void;
				public stopAdvertisingSet(callback: android.bluetooth.le.AdvertisingSetCallback): 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: "android.bluetooth.le.extra.CALLBACK_TYPE";
				public static EXTRA_ERROR_CODE: "android.bluetooth.le.extra.ERROR_CODE";
				public static EXTRA_LIST_SCAN_RESULT: "android.bluetooth.le.extra.LIST_SCAN_RESULT";
				public startScan(filters: java.util.List<android.bluetooth.le.ScanFilter>, settings: android.bluetooth.le.ScanSettings, callbackIntent: android.app.PendingIntent): number;
				public stopScan(callback: android.bluetooth.le.ScanCallback): void;
				public startScan(filters: java.util.List<android.bluetooth.le.ScanFilter>, settings: android.bluetooth.le.ScanSettings, callback: android.bluetooth.le.ScanCallback): void;
				public stopScan(callbackIntent: android.app.PendingIntent): void;
				public flushPendingScanResults(callback: android.bluetooth.le.ScanCallback): void;
				public startScan(callback: android.bluetooth.le.ScanCallback): 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(dest: android.os.Parcel, flags: number): void;
				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 setInterval(interval: number): android.bluetooth.le.PeriodicAdvertisingParameters.Builder;
					public constructor();
					public build(): android.bluetooth.le.PeriodicAdvertisingParameters;
					public setIncludeTxPower(includeTxPower: boolean): 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: 1;
				public static SCAN_FAILED_APPLICATION_REGISTRATION_FAILED: 2;
				public static SCAN_FAILED_FEATURE_UNSUPPORTED: 4;
				public static SCAN_FAILED_INTERNAL_ERROR: 3;
				public static SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES: 5;
				public static SCAN_FAILED_SCANNING_TOO_FREQUENTLY: 6;
				public onBatchScanResults(results: java.util.List<android.bluetooth.le.ScanResult>): void;
				public onScanResult(callbackType: number, result: android.bluetooth.le.ScanResult): void;
				public onScanFailed(errorCode: number): void;
				public constructor();
			}
		}
	}
}

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 getAdvertisingDataType(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getServiceData(): androidNative.Array<number>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getManufacturerId(): number;
				public getDeviceAddress(): string;
				public getServiceUuid(): android.os.ParcelUuid;
				public toString(): string;
				public getManufacturerDataMask(): androidNative.Array<number>;
				public getServiceDataMask(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public getServiceSolicitationUuidMask(): android.os.ParcelUuid;
				public hashCode(): number;
				public describeContents(): number;
				public getServiceSolicitationUuid(): android.os.ParcelUuid;
				public getManufacturerData(): androidNative.Array<number>;
				public getAdvertisingData(): androidNative.Array<number>;
				public getAdvertisingDataMask(): androidNative.Array<number>;
				public getServiceUuidMask(): android.os.ParcelUuid;
				public matches(scanResult: android.bluetooth.le.ScanResult): boolean;
			}
			export module ScanFilter {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.ScanFilter.Builder>;
					public setServiceSolicitationUuid(serviceSolicitationUuid: android.os.ParcelUuid, solicitationUuidMask: android.os.ParcelUuid): android.bluetooth.le.ScanFilter.Builder;
					public setAdvertisingDataTypeWithData(advertisingDataType: number, advertisingData: androidNative.Array<number>, advertisingDataMask: androidNative.Array<number>): android.bluetooth.le.ScanFilter.Builder;
					public setServiceSolicitationUuid(serviceSolicitationUuid: android.os.ParcelUuid): android.bluetooth.le.ScanFilter.Builder;
					public setServiceUuid(serviceUuid: android.os.ParcelUuid): android.bluetooth.le.ScanFilter.Builder;
					public setServiceData(serviceDataUuid: android.os.ParcelUuid, serviceData: androidNative.Array<number>): android.bluetooth.le.ScanFilter.Builder;
					public setServiceData(serviceDataUuid: android.os.ParcelUuid, serviceData: androidNative.Array<number>, serviceDataMask: androidNative.Array<number>): android.bluetooth.le.ScanFilter.Builder;
					public setAdvertisingDataType(advertisingDataType: number): android.bluetooth.le.ScanFilter.Builder;
					public setManufacturerData(manufacturerId: number, manufacturerData: androidNative.Array<number>): android.bluetooth.le.ScanFilter.Builder;
					public constructor();
					public build(): android.bluetooth.le.ScanFilter;
					public setManufacturerData(manufacturerId: number, manufacturerData: androidNative.Array<number>, manufacturerDataMask: androidNative.Array<number>): android.bluetooth.le.ScanFilter.Builder;
					public setServiceUuid(serviceUuid: android.os.ParcelUuid, uuidMask: android.os.ParcelUuid): android.bluetooth.le.ScanFilter.Builder;
					public setDeviceName(deviceName: string): android.bluetooth.le.ScanFilter.Builder;
					public setDeviceAddress(deviceAddress: string): 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 static DATA_TYPE_3D_INFORMATION_DATA: 61;
				public static DATA_TYPE_ADVERTISING_INTERVAL: 26;
				public static DATA_TYPE_ADVERTISING_INTERVAL_LONG: 47;
				public static DATA_TYPE_APPEARANCE: 25;
				public static DATA_TYPE_BIG_INFO: 44;
				public static DATA_TYPE_BROADCAST_CODE: 45;
				public static DATA_TYPE_CHANNEL_MAP_UPDATE_INDICATION: 40;
				public static DATA_TYPE_CLASS_OF_DEVICE: 13;
				public static DATA_TYPE_DEVICE_ID: 16;
				public static DATA_TYPE_FLAGS: 1;
				public static DATA_TYPE_INDOOR_POSITIONING: 37;
				public static DATA_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS: 27;
				public static DATA_TYPE_LE_ROLE: 28;
				public static DATA_TYPE_LE_SECURE_CONNECTIONS_CONFIRMATION_VALUE: 34;
				public static DATA_TYPE_LE_SECURE_CONNECTIONS_RANDOM_VALUE: 35;
				public static DATA_TYPE_LE_SUPPORTED_FEATURES: 39;
				public static DATA_TYPE_LOCAL_NAME_COMPLETE: 9;
				public static DATA_TYPE_LOCAL_NAME_SHORT: 8;
				public static DATA_TYPE_MANUFACTURER_SPECIFIC_DATA: 255;
				public static DATA_TYPE_MESH_BEACON: 43;
				public static DATA_TYPE_MESH_MESSAGE: 42;
				public static DATA_TYPE_NONE: -1;
				public static DATA_TYPE_PB_ADV: 41;
				public static DATA_TYPE_PUBLIC_TARGET_ADDRESS: 23;
				public static DATA_TYPE_RANDOM_TARGET_ADDRESS: 24;
				public static DATA_TYPE_RESOLVABLE_SET_IDENTIFIER: 46;
				public static DATA_TYPE_SECURITY_MANAGER_OUT_OF_BAND_FLAGS: 17;
				public static DATA_TYPE_SERVICE_DATA_128_BIT: 33;
				public static DATA_TYPE_SERVICE_DATA_16_BIT: 22;
				public static DATA_TYPE_SERVICE_DATA_32_BIT: 32;
				public static DATA_TYPE_SERVICE_SOLICITATION_UUIDS_128_BIT: 21;
				public static DATA_TYPE_SERVICE_SOLICITATION_UUIDS_16_BIT: 20;
				public static DATA_TYPE_SERVICE_SOLICITATION_UUIDS_32_BIT: 31;
				public static DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE: 7;
				public static DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL: 6;
				public static DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE: 3;
				public static DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL: 2;
				public static DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE: 5;
				public static DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL: 4;
				public static DATA_TYPE_SIMPLE_PAIRING_HASH_C: 14;
				public static DATA_TYPE_SIMPLE_PAIRING_HASH_C_256: 29;
				public static DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R: 15;
				public static DATA_TYPE_SIMPLE_PAIRING_RANDOMIZER_R_256: 30;
				public static DATA_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE: 18;
				public static DATA_TYPE_TRANSPORT_DISCOVERY_DATA: 38;
				public static DATA_TYPE_TX_POWER_LEVEL: 10;
				public static DATA_TYPE_URI: 36;
				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,androidNative.Array<number>>;
				public getServiceData(serviceDataUuid: android.os.ParcelUuid): androidNative.Array<number>;
				public getManufacturerSpecificData(): android.util.SparseArray<androidNative.Array<number>>;
				public getManufacturerSpecificData(manufacturerId: number): androidNative.Array<number>;
				public getServiceSolicitationUuids(): java.util.List<android.os.ParcelUuid>;
				public getBytes(): androidNative.Array<number>;
				public toString(): string;
				public getAdvertisingDataMap(): java.util.Map<java.lang.Integer,androidNative.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: 0;
				public static DATA_TRUNCATED: 2;
				public static PERIODIC_INTERVAL_NOT_PRESENT: 0;
				public static PHY_UNUSED: 0;
				public static SID_NOT_PRESENT: 255;
				public static TX_POWER_NOT_PRESENT: 127;
				/** @deprecated */
				public constructor(device: android.bluetooth.BluetoothDevice, scanRecord: android.bluetooth.le.ScanRecord, rssi: number, timestampNanos: number);
				public getSecondaryPhy(): number;
				public isConnectable(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getScanRecord(): android.bluetooth.le.ScanRecord;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRssi(): number;
				public getDevice(): android.bluetooth.BluetoothDevice;
				public toString(): string;
				public getDataStatus(): number;
				public getTimestampNanos(): number;
				public getTxPower(): number;
				public getPeriodicAdvertisingInterval(): number;
				public constructor(device: android.bluetooth.BluetoothDevice, eventType: number, primaryPhy: number, secondaryPhy: number, advertisingSid: number, txPower: number, rssi: number, periodicAdvertisingInterval: number, scanRecord: android.bluetooth.le.ScanRecord, timestampNanos: number);
				public equals(obj: any): boolean;
				public getPrimaryPhy(): number;
				public isLegacy(): boolean;
				public hashCode(): number;
				public getAdvertisingSid(): number;
				public describeContents(): number;
			}
		}
	}
}

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 AUTO_BATCH_MIN_REPORT_DELAY_MILLIS: 600000;
				public static CALLBACK_TYPE_ALL_MATCHES: 1;
				public static CALLBACK_TYPE_ALL_MATCHES_AUTO_BATCH: 8;
				public static CALLBACK_TYPE_FIRST_MATCH: 2;
				public static CALLBACK_TYPE_MATCH_LOST: 4;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings>;
				public static MATCH_MODE_AGGRESSIVE: 1;
				public static MATCH_MODE_STICKY: 2;
				public static MATCH_NUM_FEW_ADVERTISEMENT: 2;
				public static MATCH_NUM_MAX_ADVERTISEMENT: 3;
				public static MATCH_NUM_ONE_ADVERTISEMENT: 1;
				public static PHY_LE_ALL_SUPPORTED: 255;
				public static SCAN_MODE_BALANCED: 1;
				public static SCAN_MODE_LOW_LATENCY: 2;
				public static SCAN_MODE_LOW_POWER: 0;
				public static SCAN_MODE_OPPORTUNISTIC: -1;
				public getReportDelayMillis(): number;
				public getScanMode(): number;
				public getLegacy(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				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 setNumOfMatches(numOfMatches: number): android.bluetooth.le.ScanSettings.Builder;
					public setCallbackType(callbackType: number): android.bluetooth.le.ScanSettings.Builder;
					public constructor();
					public setMatchMode(matchMode: number): android.bluetooth.le.ScanSettings.Builder;
					public setPhy(phy: number): android.bluetooth.le.ScanSettings.Builder;
					public build(): android.bluetooth.le.ScanSettings;
					public setReportDelay(reportDelayMillis: number): android.bluetooth.le.ScanSettings.Builder;
					public setScanMode(scanMode: number): android.bluetooth.le.ScanSettings.Builder;
					public setLegacy(legacy: boolean): android.bluetooth.le.ScanSettings.Builder;
				}
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class TransportBlock extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.TransportBlock>;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.TransportBlock>;
				public toByteArray(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getOrgId(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTransportData(): androidNative.Array<number>;
				public describeContents(): number;
				public totalBytes(): number;
				public getTdsFlags(): number;
				public getTransportDataLength(): number;
				public constructor(orgId: number, tdsFlags: number, transportDataLength: number, transportData: androidNative.Array<number>);
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class TransportDiscoveryData extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.TransportDiscoveryData>;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.TransportDiscoveryData>;
				public toByteArray(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(transportDiscoveryData: androidNative.Array<number>);
				public describeContents(): number;
				public getTransportDataType(): number;
				public totalBytes(): number;
				public toString(): string;
				public constructor(transportDataType: number, transportBlocks: java.util.List<android.bluetooth.le.TransportBlock>);
				public getTransportBlocks(): java.util.List<android.bluetooth.le.TransportBlock>;
			}
		}
	}
}

declare module android {
	export module companion {
		export class AssociatedDevice extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.companion.AssociatedDevice>;
			public static CREATOR: android.os.Parcelable.Creator<android.companion.AssociatedDevice>;
			public getBluetoothDevice(): android.bluetooth.BluetoothDevice;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getBleDevice(): android.bluetooth.le.ScanResult;
			public getWifiDevice(): android.net.wifi.ScanResult;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module companion {
		export class AssociationInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.companion.AssociationInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.companion.AssociationInfo>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public toString(): string;
			public equals(o: any): boolean;
			public getId(): number;
			public isSelfManaged(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSystemDataSyncFlags(): number;
			public getDeviceMacAddress(): android.net.MacAddress;
			public getDeviceProfile(): string;
			public getAssociatedDevice(): android.companion.AssociatedDevice;
			public getDisplayName(): string;
			public hashCode(): number;
		}
	}
}

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 static DEVICE_PROFILE_APP_STREAMING: "android.app.role.COMPANION_DEVICE_APP_STREAMING";
			public static DEVICE_PROFILE_AUTOMOTIVE_PROJECTION: "android.app.role.SYSTEM_AUTOMOTIVE_PROJECTION";
			public static DEVICE_PROFILE_COMPUTER: "android.app.role.COMPANION_DEVICE_COMPUTER";
			public static DEVICE_PROFILE_GLASSES: "android.app.role.COMPANION_DEVICE_GLASSES";
			public static DEVICE_PROFILE_NEARBY_DEVICE_STREAMING: "android.app.role.COMPANION_DEVICE_NEARBY_DEVICE_STREAMING";
			public static DEVICE_PROFILE_WATCH: "android.app.role.COMPANION_DEVICE_WATCH";
			public isSingleDevice(): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public isSelfManaged(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isForceConfirmation(): boolean;
			public getDeviceProfile(): string;
			public getDisplayName(): string;
			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 setForceConfirmation(forceConfirmation: boolean): android.companion.AssociationRequest.Builder;
				public addDeviceFilter(deviceFilter: android.companion.DeviceFilter<any>): android.companion.AssociationRequest.Builder;
				public setDeviceProfile(deviceProfile: string): android.companion.AssociationRequest.Builder;
				public setSingleDevice(singleDevice: boolean): android.companion.AssociationRequest.Builder;
				public setSelfManaged(selfManaged: boolean): android.companion.AssociationRequest.Builder;
				public setDisplayName(displayName: string): android.companion.AssociationRequest.Builder;
				public constructor();
			}
		}
	}
}

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 toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: 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 addServiceUuid(serviceUuid: android.os.ParcelUuid, serviceUuidMask: android.os.ParcelUuid): android.companion.BluetoothDeviceFilter.Builder;
				public setNamePattern(regex: java.util.regex.Pattern): android.companion.BluetoothDeviceFilter.Builder;
				public constructor();
				public setAddress(address: string): android.companion.BluetoothDeviceFilter.Builder;
			}
		}
	}
}

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 toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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 setRenameFromName(prefix: string, suffix: string, nameFrom: number, nameLength: number): android.companion.BluetoothLeDeviceFilter.Builder;
				public setScanFilter(scanFilter: android.bluetooth.le.ScanFilter): android.companion.BluetoothLeDeviceFilter.Builder;
				public setRawDataFilter(rawDataFilter: androidNative.Array<number>, rawDataFilterMask: androidNative.Array<number>): android.companion.BluetoothLeDeviceFilter.Builder;
				public setRenameFromBytes(prefix: string, suffix: string, bytesFrom: number, bytesLength: number, byteOrder: java.nio.ByteOrder): android.companion.BluetoothLeDeviceFilter.Builder;
				public setNamePattern(regex: java.util.regex.Pattern): android.companion.BluetoothLeDeviceFilter.Builder;
				public build(): android.companion.BluetoothLeDeviceFilter;
				public constructor();
			}
		}
	}
}

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_ASSOCIATION: "android.companion.extra.ASSOCIATION";
			public static EXTRA_DEVICE: "android.companion.extra.DEVICE";
			public static FLAG_CALL_METADATA: 1;
			public static RESULT_CANCELED: 0;
			public static RESULT_DISCOVERY_TIMEOUT: 2;
			public static RESULT_INTERNAL_ERROR: 3;
			public static RESULT_OK: -1;
			public static RESULT_USER_REJECTED: 1;
			public enableSystemDataSyncForTypes(associationId: number, flags: number): void;
			public isPermissionTransferUserConsented(associationId: number): boolean;
			public buildAssociationCancellationIntent(): android.content.IntentSender;
			/** @deprecated */
			public hasNotificationAccess(component: android.content.ComponentName): boolean;
			public disableSystemDataSyncForTypes(associationId: number, flags: number): void;
			public buildPermissionTransferUserConsentIntent(associationId: number): android.content.IntentSender;
			public attachSystemDataTransport(associationId: number, in_: java.io.InputStream, out: java.io.OutputStream): void;
			public getMyAssociations(): java.util.List<android.companion.AssociationInfo>;
			public requestNotificationAccess(component: android.content.ComponentName): void;
			public stopObservingDevicePresence(deviceAddress: string): void;
			/** @deprecated */
			public getAssociations(): java.util.List<string>;
			public disassociate(associationId: number): void;
			public startObservingDevicePresence(deviceAddress: string): void;
			public startSystemDataTransfer(associationId: number, executor: java.util.concurrent.Executor, result: android.os.OutcomeReceiver<java.lang.Void,android.companion.CompanionException>): void;
			public detachSystemDataTransport(associationId: number): void;
			/** @deprecated */
			public disassociate(deviceMacAddress: string): void;
			public associate(request: android.companion.AssociationRequest, callback: android.companion.CompanionDeviceManager.Callback, handler: android.os.Handler): void;
			public associate(request: android.companion.AssociationRequest, executor: java.util.concurrent.Executor, callback: android.companion.CompanionDeviceManager.Callback): void;
		}
		export module CompanionDeviceManager {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.companion.CompanionDeviceManager.Callback>;
				/** @deprecated */
				public onDeviceFound(intentSender: android.content.IntentSender): void;
				public onAssociationPending(intentSender: android.content.IntentSender): void;
				public onFailure(param0: string): void;
				public constructor();
				public onAssociationCreated(associationInfo: android.companion.AssociationInfo): void;
			}
		}
	}
}

declare module android {
	export module companion {
		export abstract class CompanionDeviceService extends android.app.Service {
			public static class: java.lang.Class<android.companion.CompanionDeviceService>;
			public static SERVICE_INTERFACE: "android.companion.CompanionDeviceService";
			/** @deprecated */
			public onDeviceAppeared(address: string): void;
			public onDeviceDisappeared(associationInfo: android.companion.AssociationInfo): void;
			public onTrimMemory(param0: number): void;
			public onDeviceAppeared(associationInfo: android.companion.AssociationInfo): void;
			public detachSystemDataTransport(associationId: number): void;
			/** @deprecated */
			public onDeviceDisappeared(address: string): void;
			public constructor();
			public constructor(base: android.content.Context);
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public attachSystemDataTransport(associationId: number, in_: java.io.InputStream, out: java.io.OutputStream): void;
		}
	}
}

declare module android {
	export module companion {
		export class CompanionException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.companion.CompanionException>;
		}
	}
}

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: 1;
			public static CONTENTS_FILE_DESCRIPTOR: 1;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module companion {
		export class DeviceNotAssociatedException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.companion.DeviceNotAssociatedException>;
		}
	}
}

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(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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 setBssid(value: android.net.MacAddress): android.companion.WifiDeviceFilter.Builder;
				public setBssidMask(value: android.net.MacAddress): android.companion.WifiDeviceFilter.Builder;
				public setNamePattern(value: java.util.regex.Pattern): android.companion.WifiDeviceFilter.Builder;
				public constructor();
				public build(): android.companion.WifiDeviceFilter;
			}
		}
	}
}

declare module android {
	export module companion {
		export module virtual {
			export class VirtualDevice extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.companion.virtual.VirtualDevice>;
				public static CREATOR: android.os.Parcelable.Creator<android.companion.virtual.VirtualDevice>;
				public getDeviceId(): number;
				public getPersistentDeviceId(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getName(): string;
				public getDisplayName(): string;
				public toString(): string;
				public hasCustomSensorSupport(): boolean;
				public getDisplayIds(): androidNative.Array<number>;
			}
		}
	}
}

declare module android {
	export module companion {
		export module virtual {
			export class VirtualDeviceManager extends java.lang.Object {
				public static class: java.lang.Class<android.companion.virtual.VirtualDeviceManager>;
				public unregisterVirtualDeviceListener(listener: android.companion.virtual.VirtualDeviceManager.VirtualDeviceListener): void;
				public getVirtualDevice(deviceId: number): android.companion.virtual.VirtualDevice;
				public getVirtualDevices(): java.util.List<android.companion.virtual.VirtualDevice>;
				public registerVirtualDeviceListener(executor: java.util.concurrent.Executor, listener: android.companion.virtual.VirtualDeviceManager.VirtualDeviceListener): void;
			}
			export module VirtualDeviceManager {
				export class VirtualDeviceListener extends java.lang.Object {
					public static class: java.lang.Class<android.companion.virtual.VirtualDeviceManager.VirtualDeviceListener>;
					/**
					 * Constructs a new instance of the android.companion.virtual.VirtualDeviceManager$VirtualDeviceListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onVirtualDeviceCreated(deviceId: number): void;
						onVirtualDeviceClosed(deviceId: number): void;
					});
					public constructor();
					public onVirtualDeviceClosed(deviceId: number): void;
					public onVirtualDeviceCreated(deviceId: number): 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: 2743;
			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 onSecurityException(account: android.accounts.Account, extras: android.os.Bundle, authority: string, syncResult: android.content.SyncResult): void;
			public onSyncCanceled(thread: java.lang.Thread): void;
			public onSyncCanceled(): void;
			public getContext(): android.content.Context;
			public constructor(context: android.content.Context, autoInitialize: boolean, allowParallelSyncs: boolean);
			public constructor(context: android.content.Context, autoInitialize: boolean);
		}
	}
}

declare module android {
	export module content {
		export class ActivityNotFoundException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.content.ActivityNotFoundException>;
			public constructor(message: string);
			public constructor(name: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module content {
		export abstract class AsyncQueryHandler extends android.os.Handler {
			public static class: java.lang.Class<android.content.AsyncQueryHandler>;
			public cancelOperation(token: number): void;
			public onUpdateComplete(token: number, cookie: any, result: number): void;
			public constructor(looper: android.os.Looper);
			public startDelete(token: number, cookie: any, uri: android.net.Uri, selection: string, selectionArgs: androidNative.Array<string>): void;
			public constructor(cr: android.content.ContentResolver);
			public constructor(looper: android.os.Looper, callback: android.os.Handler.Callback);
			public startQuery(token: number, cookie: any, uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, orderBy: string): void;
			public onInsertComplete(token: number, cookie: any, uri: android.net.Uri): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(callback: android.os.Handler.Callback);
			public startUpdate(token: number, cookie: any, uri: android.net.Uri, values: android.content.ContentValues, selection: string, selectionArgs: androidNative.Array<string>): void;
			public createHandler(looper: android.os.Looper): android.os.Handler;
			public handleMessage(msg: android.os.Message): void;
			public startInsert(token: number, cookie: any, uri: android.net.Uri, initialValues: android.content.ContentValues): void;
			public onQueryComplete(token: number, cookie: any, cursor: android.database.Cursor): void;
			public onDeleteComplete(token: number, cookie: any, result: number): 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: androidNative.Array<string>;
				public result: any;
				public selection: string;
				public selectionArgs: androidNative.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>;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public constructor(callback: android.os.Handler.Callback);
				public constructor(this$0: android.content.AsyncQueryHandler, looper: android.os.Looper);
				public constructor(looper: android.os.Looper);
				public constructor(looper: android.os.Looper, callback: android.os.Handler.Callback);
				public handleMessage(msg: 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>>;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public setUpdateThrottle(delayMS: number): void;
			/** @deprecated */
			public cancelLoadInBackground(): void;
			/** @deprecated */
			public loadInBackground(): any;
			/** @deprecated */
			public onForceLoad(): void;
			/** @deprecated */
			public dump(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			/** @deprecated */
			public onCancelLoad(): boolean;
			/** @deprecated */
			public onCanceled(data: any): void;
			/** @deprecated */
			public isLoadInBackgroundCanceled(): boolean;
			/** @deprecated */
			public onLoadInBackground(): any;
		}
	}
}

declare module android {
	export module content {
		export class AttributionSource extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.AttributionSource>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.AttributionSource>;
			public isTrusted(context: android.content.Context): boolean;
			public getUid(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getPid(): number;
			public getPackageName(): string;
			public getDeviceId(): number;
			public enforceCallingUid(): void;
			public getNext(): android.content.AttributionSource;
			public checkCallingUid(): boolean;
			public static myAttributionSource(): android.content.AttributionSource;
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getAttributionTag(): string;
			public hashCode(): number;
		}
		export module AttributionSource {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.content.AttributionSource.Builder>;
				public setPid(value: number): android.content.AttributionSource.Builder;
				public setNext(value: android.content.AttributionSource): android.content.AttributionSource.Builder;
				public setAttributionTag(value: string): android.content.AttributionSource.Builder;
				public constructor(uid: number);
				public setDeviceId(deviceId: number): android.content.AttributionSource.Builder;
				public build(): android.content.AttributionSource;
				public setPackageName(value: string): android.content.AttributionSource.Builder;
				public constructor(current: android.content.AttributionSource);
			}
		}
	}
}

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 setResultData(data: string): void;
			public isOrderedBroadcast(): boolean;
			public setResult(code: number, data: string, extras: android.os.Bundle): void;
			public peekService(myContext: android.content.Context, service: android.content.Intent): android.os.IBinder;
			public getAbortBroadcast(): boolean;
			public goAsync(): android.content.BroadcastReceiver.PendingResult;
			public onReceive(param0: android.content.Context, param1: android.content.Intent): void;
			public getSentFromPackage(): string;
			public constructor();
			public setResultCode(code: number): void;
			public getResultData(): string;
			public setDebugUnregister(debug: boolean): void;
			public getDebugUnregister(): boolean;
			public setOrderedHint(isOrdered: boolean): void;
			public abortBroadcast(): void;
			public getResultCode(): number;
			public setResultExtras(extras: android.os.Bundle): void;
			public isInitialStickyBroadcast(): boolean;
			public getResultExtras(makeMap: boolean): android.os.Bundle;
			public getSentFromUid(): number;
		}
		export module BroadcastReceiver {
			export class PendingResult extends java.lang.Object {
				public static class: java.lang.Class<android.content.BroadcastReceiver.PendingResult>;
				public clearAbortBroadcast(): void;
				public setResultData(data: string): void;
				public setResult(code: number, data: string, extras: android.os.Bundle): void;
				public getAbortBroadcast(): boolean;
				public abortBroadcast(): void;
				public getResultData(): string;
				public setResultExtras(extras: android.os.Bundle): void;
				public finish(): void;
				public getResultCode(): number;
				public setResultCode(code: number): void;
				public getResultExtras(makeMap: boolean): android.os.Bundle;
			}
		}
	}
}

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(description: android.content.ClipDescription, item: android.content.ClipData.Item);
			public constructor(label: string, mimeTypes: androidNative.Array<string>, item: android.content.ClipData.Item);
			public addItem(item: android.content.ClipData.Item): void;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public static newIntent(label: string, intent: android.content.Intent): android.content.ClipData;
			public getDescription(): android.content.ClipDescription;
			public getItemAt(index: number): android.content.ClipData.Item;
			public constructor(other: android.content.ClipData);
			public getItemCount(): number;
			public toString(): string;
			public addItem(resolver: android.content.ContentResolver, item: android.content.ClipData.Item): void;
			public static newUri(resolver: android.content.ContentResolver, label: string, uri: android.net.Uri): android.content.ClipData;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static newPlainText(label: string, text: string): android.content.ClipData;
			public static newHtmlText(label: string, text: string, htmlText: string): android.content.ClipData;
			public static newRawUri(label: string, uri: android.net.Uri): 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(intent: android.content.Intent);
				public getTextLinks(): any;
				public coerceToHtmlText(context: android.content.Context): string;
				public getIntent(): android.content.Intent;
				public constructor(text: string, htmlText: string, intent: android.content.Intent, uri: android.net.Uri);
				public toString(): string;
				public constructor(text: string, intent: android.content.Intent, uri: android.net.Uri);
				public getText(): string;
				public constructor(text: string, htmlText: string);
				public coerceToStyledText(context: android.content.Context): string;
				public getHtmlText(): string;
				public coerceToText(context: android.content.Context): string;
				public getUri(): android.net.Uri;
				public getIntentSender(): android.content.IntentSender;
				public constructor(text: string);
				public constructor(uri: android.net.Uri);
			}
			export module Item {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.content.ClipData.Item.Builder>;
					public setText(text: string): android.content.ClipData.Item.Builder;
					public build(): android.content.ClipData.Item;
					public constructor();
					public setHtmlText(htmlText: string): android.content.ClipData.Item.Builder;
					public setIntentSender(intentSender: android.content.IntentSender): android.content.ClipData.Item.Builder;
					public setUri(uri: android.net.Uri): android.content.ClipData.Item.Builder;
					public setIntent(intent: android.content.Intent): android.content.ClipData.Item.Builder;
				}
			}
		}
	}
}

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 CLASSIFICATION_COMPLETE: 3;
			public static CLASSIFICATION_NOT_COMPLETE: 1;
			public static CLASSIFICATION_NOT_PERFORMED: 2;
			public static CREATOR: android.os.Parcelable.Creator<android.content.ClipDescription>;
			public static EXTRA_IS_REMOTE_DEVICE: "android.content.extra.IS_REMOTE_DEVICE";
			public static EXTRA_IS_SENSITIVE: "android.content.extra.IS_SENSITIVE";
			public static MIMETYPE_TEXT_HTML: "text/html";
			public static MIMETYPE_TEXT_INTENT: "text/vnd.android.intent";
			public static MIMETYPE_TEXT_PLAIN: "text/plain";
			public static MIMETYPE_TEXT_URILIST: "text/uri-list";
			public static MIMETYPE_UNKNOWN: "application/octet-stream";
			public getLabel(): string;
			public getClassificationStatus(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getExtras(): any;
			public setExtras(extras: any): void;
			public getMimeTypeCount(): number;
			public constructor(o: android.content.ClipDescription);
			public getMimeType(index: number): string;
			public constructor(label: string, mimeTypes: androidNative.Array<string>);
			public toString(): string;
			public static compareMimeTypes(concreteType: string, desiredType: string): boolean;
			public getTimestamp(): number;
			public hasMimeType(mimeType: string): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public filterMimeTypes(mimeType: string): androidNative.Array<string>;
			public isStyledText(): boolean;
			public getConfidenceScore(entity: string): number;
		}
	}
}

declare module android {
	export module content {
		export class ClipboardManager extends android.text.ClipboardManager {
			public static class: java.lang.Class<android.content.ClipboardManager>;
			public hasPrimaryClip(): boolean;
			/** @deprecated */
			public getText(): string;
			public clearPrimaryClip(): void;
			public getPrimaryClipDescription(): android.content.ClipDescription;
			/** @deprecated */
			public setText(text: string): void;
			/** @deprecated */
			public hasText(): boolean;
			public addPrimaryClipChangedListener(what: android.content.ClipboardManager.OnPrimaryClipChangedListener): void;
			public getPrimaryClip(): android.content.ClipData;
			public removePrimaryClipChangedListener(what: android.content.ClipboardManager.OnPrimaryClipChangedListener): void;
			public setPrimaryClip(clip: android.content.ClipData): void;
		}
		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;
			/** @deprecated */
			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: 5;
			public static TRIM_MEMORY_RUNNING_CRITICAL: 15;
			public static TRIM_MEMORY_UI_HIDDEN: 20;
			public static TRIM_MEMORY_COMPLETE: 80;
			public static TRIM_MEMORY_BACKGROUND: 40;
			public static TRIM_MEMORY_MODERATE: 60;
			public static TRIM_MEMORY_RUNNING_LOW: 10;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			/** @deprecated */
			public onLowMemory(): void;
			public onTrimMemory(param0: number): 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 flattenToShortString(): string;
			public constructor(in_: android.os.Parcel);
			public static createRelative(pkg: string, cls: string): android.content.ComponentName;
			public static writeToParcel(c: android.content.ComponentName, out: android.os.Parcel): void;
			public getPackageName(): string;
			public toShortString(): string;
			public getShortClassName(): string;
			public clone(): android.content.ComponentName;
			public static unflattenFromString(str: string): android.content.ComponentName;
			public clone(): any;
			public toString(): string;
			public constructor(pkg: android.content.Context, cls: java.lang.Class<any>);
			public equals(obj: any): boolean;
			public static createRelative(pkg: android.content.Context, cls: string): android.content.ComponentName;
			public constructor(pkg: string, cls: string);
			public getClassName(): string;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static readFromParcel(in_: android.os.Parcel): android.content.ComponentName;
			public compareTo(that: android.content.ComponentName): number;
			public constructor(pkg: android.content.Context, cls: string);
			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 delete(uri: android.net.Uri, extras: android.os.Bundle): number;
			public getStreamTypes(uri: android.net.Uri, mimeTypeFilter: string): androidNative.Array<string>;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public getCallingAttributionSource(): android.content.AttributionSource;
			public openFile(uri: android.net.Uri, mode: string): android.os.ParcelFileDescriptor;
			public getPathPermissions(): androidNative.Array<android.content.pm.PathPermission>;
			public getTypeAnonymous(uri: android.net.Uri): string;
			public getType(param0: android.net.Uri): string;
			public getCallingPackage(): string;
			public onCreate(): boolean;
			public delete(param0: android.net.Uri, param1: string, param2: androidNative.Array<string>): number;
			public refresh(uri: android.net.Uri, extras: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): boolean;
			public isTemporary(): boolean;
			public getContext(): android.content.Context;
			public shutdown(): void;
			public insert(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): android.net.Uri;
			public openAssetFile(uri: android.net.Uri, mode: string): android.content.res.AssetFileDescriptor;
			public getWritePermission(): string;
			public uncanonicalize(url: android.net.Uri): android.net.Uri;
			public constructor();
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public applyBatch(operations: java.util.ArrayList<android.content.ContentProviderOperation>): androidNative.Array<android.content.ContentProviderResult>;
			public openFile(uri: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public onTrimMemory(level: number): void;
			public onCallingPackageChanged(): void;
			public openTypedAssetFile(uri: android.net.Uri, mimeTypeFilter: string, opts: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public setReadPermission(permission: string): void;
			public openTypedAssetFile(uri: android.net.Uri, mimeTypeFilter: string, opts: android.os.Bundle, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public query(param0: android.net.Uri, param1: androidNative.Array<string>, param2: string, param3: androidNative.Array<string>, param4: string): android.database.Cursor;
			public canonicalize(url: android.net.Uri): android.net.Uri;
			public restoreCallingIdentity(identity: android.content.ContentProvider.CallingIdentity): void;
			public update(param0: android.net.Uri, param1: android.content.ContentValues, param2: string, param3: androidNative.Array<string>): number;
			public requireContext(): android.content.Context;
			public getReadPermission(): string;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public insert(param0: android.net.Uri, param1: android.content.ContentValues): android.net.Uri;
			public onLowMemory(): void;
			public onTrimMemory(param0: number): void;
			public openPipeHelper(uri: android.net.Uri, mimeType: string, opts: android.os.Bundle, args: any, func: android.content.ContentProvider.PipeDataWriter<any>): android.os.ParcelFileDescriptor;
			public dump(fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			public call(method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			/** @deprecated */
			public onLowMemory(): void;
			public attachInfo(context: android.content.Context, info: android.content.pm.ProviderInfo): void;
			public getCallingAttributionTag(): string;
			public bulkInsert(uri: android.net.Uri, values: androidNative.Array<android.content.ContentValues>): number;
			public openAssetFile(uri: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public getCallingPackageUnchecked(): string;
			public applyBatch(authority: string, operations: java.util.ArrayList<android.content.ContentProviderOperation>): androidNative.Array<android.content.ContentProviderResult>;
			public setWritePermission(permission: string): void;
			public openFileHelper(uri: android.net.Uri, mode: string): android.os.ParcelFileDescriptor;
			public call(authority: string, method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public setPathPermissions(permissions: androidNative.Array<android.content.pm.PathPermission>): void;
			public clearCallingIdentity(): android.content.ContentProvider.CallingIdentity;
			public update(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): number;
		}
		export module ContentProvider {
			export class CallingIdentity extends java.lang.Object {
				public static class: java.lang.Class<android.content.ContentProvider.CallingIdentity>;
			}
			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 canonicalize(url: android.net.Uri): android.net.Uri;
			public delete(url: android.net.Uri, extras: android.os.Bundle): number;
			public query(url: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string): android.database.Cursor;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public openAssetFile(url: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public bulkInsert(url: android.net.Uri, initialValues: androidNative.Array<android.content.ContentValues>): number;
			public getType(url: android.net.Uri): string;
			public refresh(url: android.net.Uri, extras: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): boolean;
			public openFile(url: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public call(method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public close(): void;
			/** @deprecated */
			public release(): boolean;
			public finalize(): void;
			public update(url: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): number;
			public getStreamTypes(url: android.net.Uri, mimeTypeFilter: string): androidNative.Array<string>;
			public insert(url: android.net.Uri, initialValues: android.content.ContentValues, extras: android.os.Bundle): android.net.Uri;
			public openAssetFile(url: android.net.Uri, mode: string): android.content.res.AssetFileDescriptor;
			public update(url: android.net.Uri, values: android.content.ContentValues, selection: string, selectionArgs: androidNative.Array<string>): number;
			public uncanonicalize(url: android.net.Uri): android.net.Uri;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public getLocalContentProvider(): android.content.ContentProvider;
			public applyBatch(operations: java.util.ArrayList<android.content.ContentProviderOperation>): androidNative.Array<android.content.ContentProviderResult>;
			public insert(url: android.net.Uri, initialValues: android.content.ContentValues): android.net.Uri;
			public delete(url: android.net.Uri, selection: string, selectionArgs: androidNative.Array<string>): number;
			public applyBatch(authority: string, operations: java.util.ArrayList<android.content.ContentProviderOperation>): androidNative.Array<android.content.ContentProviderResult>;
			public openTypedAssetFileDescriptor(uri: android.net.Uri, mimeType: string, opts: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public openFile(url: android.net.Uri, mode: string): android.os.ParcelFileDescriptor;
			public call(authority: string, method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public openTypedAssetFile(uri: android.net.Uri, mimeTypeFilter: string, opts: android.os.Bundle, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public openTypedAssetFileDescriptor(uri: android.net.Uri, mimeType: string, opts: android.os.Bundle, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public isDelete(): boolean;
			public resolveExtrasBackReferences(backRefs: androidNative.Array<android.content.ContentProviderResult>, numBackRefs: number): android.os.Bundle;
			public isWriteOperation(): boolean;
			public static newInsert(uri: android.net.Uri): android.content.ContentProviderOperation.Builder;
			public isAssertQuery(): boolean;
			public static newUpdate(uri: android.net.Uri): android.content.ContentProviderOperation.Builder;
			public getUri(): android.net.Uri;
			public isReadOperation(): boolean;
			public static newCall(uri: android.net.Uri, method: string, arg: string): android.content.ContentProviderOperation.Builder;
			public isInsert(): boolean;
			public toString(): string;
			public isYieldAllowed(): boolean;
			public isExceptionAllowed(): boolean;
			public isCall(): boolean;
			public describeContents(): number;
			public static newAssertQuery(uri: android.net.Uri): android.content.ContentProviderOperation.Builder;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static newDelete(uri: android.net.Uri): android.content.ContentProviderOperation.Builder;
			public apply(provider: android.content.ContentProvider, backRefs: androidNative.Array<android.content.ContentProviderResult>, numBackRefs: number): android.content.ContentProviderResult;
			public resolveSelectionArgsBackReferences(backRefs: androidNative.Array<android.content.ContentProviderResult>, numBackRefs: number): androidNative.Array<string>;
			public resolveValueBackReferences(backRefs: androidNative.Array<android.content.ContentProviderResult>, numBackRefs: number): android.content.ContentValues;
		}
		export module ContentProviderOperation {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.content.ContentProviderOperation.Builder>;
				public withValue(key: string, value: any): android.content.ContentProviderOperation.Builder;
				public withExpectedCount(count: number): android.content.ContentProviderOperation.Builder;
				public withValueBackReference(key: string, fromIndex: number): android.content.ContentProviderOperation.Builder;
				public withSelectionBackReference(index: number, fromIndex: number, fromKey: string): android.content.ContentProviderOperation.Builder;
				public withExtra(key: string, value: any): android.content.ContentProviderOperation.Builder;
				public withExtraBackReference(key: string, fromIndex: number, fromKey: string): android.content.ContentProviderOperation.Builder;
				public withExtras(extras: android.os.Bundle): android.content.ContentProviderOperation.Builder;
				public withYieldAllowed(yieldAllowed: boolean): android.content.ContentProviderOperation.Builder;
				public withExtraBackReference(key: string, fromIndex: number): android.content.ContentProviderOperation.Builder;
				public withSelection(selection: string, selectionArgs: androidNative.Array<string>): android.content.ContentProviderOperation.Builder;
				public withValueBackReferences(backReferences: android.content.ContentValues): android.content.ContentProviderOperation.Builder;
				public withSelectionBackReference(index: number, fromIndex: number): android.content.ContentProviderOperation.Builder;
				public withValueBackReference(key: string, fromIndex: number, fromKey: string): android.content.ContentProviderOperation.Builder;
				public withExceptionAllowed(exceptionAllowed: boolean): android.content.ContentProviderOperation.Builder;
				public build(): android.content.ContentProviderOperation;
				public withValues(values: android.content.ContentValues): 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 exception: java.lang.Throwable;
			public extras: android.os.Bundle;
			public uri: android.net.Uri;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(exception: java.lang.Throwable);
			public constructor(count: number);
			public describeContents(): number;
			public constructor(extras: android.os.Bundle);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(uri: android.net.Uri);
			public constructor(source: android.os.Parcel);
		}
	}
}

declare module android {
	export module content {
		export class ContentQueryMap extends java.util.Observable {
			public static class: java.lang.Class<android.content.ContentQueryMap>;
			public constructor(cursor: android.database.Cursor, columnNameOfKey: string, keepUpdated: boolean, handlerForUpdateNotifications: android.os.Handler);
			public getValues(rowName: string): android.content.ContentValues;
			/** @deprecated */
			public constructor();
			public requery(): void;
			public setKeepUpdated(keepUpdated: boolean): void;
			public getRows(): java.util.Map<string,android.content.ContentValues>;
			public close(): void;
			public finalize(): void;
		}
	}
}

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: "vnd.android.cursor.item/*";
			public static CURSOR_DIR_BASE_TYPE: "vnd.android.cursor.dir";
			public static CURSOR_ITEM_BASE_TYPE: "vnd.android.cursor.item";
			public static EXTRA_HONORED_ARGS: "android.content.extra.HONORED_ARGS";
			public static EXTRA_REFRESH_SUPPORTED: "android.content.extra.REFRESH_SUPPORTED";
			public static EXTRA_SIZE: "android.content.extra.SIZE";
			public static EXTRA_TOTAL_COUNT: "android.content.extra.TOTAL_COUNT";
			public static NOTIFY_DELETE: 16;
			public static NOTIFY_INSERT: 4;
			public static NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS: 2;
			public static NOTIFY_SYNC_TO_NETWORK: 1;
			public static NOTIFY_UPDATE: 8;
			public static QUERY_ARG_GROUP_COLUMNS: "android:query-arg-group-columns";
			public static QUERY_ARG_LIMIT: "android:query-arg-limit";
			public static QUERY_ARG_OFFSET: "android:query-arg-offset";
			public static QUERY_ARG_SORT_COLLATION: "android:query-arg-sort-collation";
			public static QUERY_ARG_SORT_COLUMNS: "android:query-arg-sort-columns";
			public static QUERY_ARG_SORT_DIRECTION: "android:query-arg-sort-direction";
			public static QUERY_ARG_SORT_LOCALE: "android:query-arg-sort-locale";
			public static QUERY_ARG_SQL_GROUP_BY: "android:query-arg-sql-group-by";
			public static QUERY_ARG_SQL_HAVING: "android:query-arg-sql-having";
			public static QUERY_ARG_SQL_LIMIT: "android:query-arg-sql-limit";
			public static QUERY_ARG_SQL_SELECTION: "android:query-arg-sql-selection";
			public static QUERY_ARG_SQL_SELECTION_ARGS: "android:query-arg-sql-selection-args";
			public static QUERY_ARG_SQL_SORT_ORDER: "android:query-arg-sql-sort-order";
			public static QUERY_SORT_DIRECTION_ASCENDING: 0;
			public static QUERY_SORT_DIRECTION_DESCENDING: 1;
			public static SCHEME_ANDROID_RESOURCE: "android.resource";
			public static SCHEME_CONTENT: "content";
			public static SCHEME_FILE: "file";
			public static SYNC_EXTRAS_ACCOUNT: "account";
			public static SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS: "discard_deletions";
			public static SYNC_EXTRAS_DO_NOT_RETRY: "do_not_retry";
			public static SYNC_EXTRAS_EXPEDITED: "expedited";
			public static SYNC_EXTRAS_FORCE: "force";
			public static SYNC_EXTRAS_IGNORE_BACKOFF: "ignore_backoff";
			public static SYNC_EXTRAS_IGNORE_SETTINGS: "ignore_settings";
			public static SYNC_EXTRAS_INITIALIZE: "initialize";
			public static SYNC_EXTRAS_MANUAL: "force";
			public static SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS: "deletions_override";
			public static SYNC_EXTRAS_REQUIRE_CHARGING: "require_charging";
			public static SYNC_EXTRAS_SCHEDULE_AS_EXPEDITED_JOB: "schedule_as_expedited_job";
			public static SYNC_EXTRAS_UPLOAD: "upload";
			public static SYNC_OBSERVER_TYPE_ACTIVE: 4;
			public static SYNC_OBSERVER_TYPE_PENDING: 2;
			public static SYNC_OBSERVER_TYPE_SETTINGS: 1;
			public openOutputStream(uri: android.net.Uri, mode: string): java.io.OutputStream;
			public static isSyncActive(account: android.accounts.Account, authority: string): boolean;
			public acquireContentProviderClient(name: string): android.content.ContentProviderClient;
			public static removePeriodicSync(account: android.accounts.Account, authority: string, extras: android.os.Bundle): void;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string): android.database.Cursor;
			public static removeStatusChangeListener(handle: any): void;
			public static requestSync(account: android.accounts.Account, authority: string, extras: android.os.Bundle): void;
			/** @deprecated */
			public startSync(uri: android.net.Uri, extras: android.os.Bundle): void;
			public static getPeriodicSyncs(account: android.accounts.Account, authority: string): java.util.List<android.content.PeriodicSync>;
			public constructor(context: android.content.Context);
			public insert(url: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): android.net.Uri;
			public openTypedAssetFileDescriptor(uri: android.net.Uri, mimeType: string, opts: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public notifyChange(uri: android.net.Uri, observer: android.database.ContentObserver, flags: number): void;
			public notifyChange(uris: java.util.Collection<android.net.Uri>, observer: android.database.ContentObserver, flags: number): void;
			/** @deprecated */
			public notifyChange(uri: android.net.Uri, observer: android.database.ContentObserver, syncToNetwork: boolean): void;
			public acquireUnstableContentProviderClient(name: string): android.content.ContentProviderClient;
			public uncanonicalize(url: android.net.Uri): android.net.Uri;
			public static getMasterSyncAutomatically(): boolean;
			public static wrap(wrapped: android.content.ContentProvider): android.content.ContentResolver;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public openFile(uri: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public static isSyncPending(account: android.accounts.Account, authority: string): boolean;
			public static requestSync(request: android.content.SyncRequest): void;
			public bulkInsert(url: android.net.Uri, values: androidNative.Array<android.content.ContentValues>): number;
			public getPersistedUriPermissions(): java.util.List<android.content.UriPermission>;
			public openTypedAssetFile(uri: android.net.Uri, mimeTypeFilter: string, opts: android.os.Bundle, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public canonicalize(url: android.net.Uri): android.net.Uri;
			public delete(url: android.net.Uri, where: string, selectionArgs: androidNative.Array<string>): number;
			public delete(url: android.net.Uri, extras: android.os.Bundle): number;
			public openFileDescriptor(uri: android.net.Uri, mode: string, cancellationSignal: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public static setSyncAutomatically(account: android.accounts.Account, authority: string, sync: boolean): void;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public getType(url: android.net.Uri): string;
			public refresh(url: android.net.Uri, extras: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): boolean;
			public takePersistableUriPermission(uri: android.net.Uri, modeFlags: number): void;
			public registerContentObserver(uri: android.net.Uri, notifyForDescendants: boolean, observer: android.database.ContentObserver): void;
			public static addPeriodicSync(account: android.accounts.Account, authority: string, extras: android.os.Bundle, pollFrequency: number): void;
			public openOutputStream(uri: android.net.Uri): java.io.OutputStream;
			public static addStatusChangeListener(mask: number, callback: android.content.SyncStatusObserver): any;
			public notifyChange(uri: android.net.Uri, observer: android.database.ContentObserver): void;
			public getOutgoingPersistedUriPermissions(): java.util.List<android.content.UriPermission>;
			public static validateSyncExtrasBundle(extras: android.os.Bundle): void;
			public static getSyncAutomatically(account: android.accounts.Account, authority: string): boolean;
			public insert(url: android.net.Uri, values: android.content.ContentValues): android.net.Uri;
			public acquireContentProviderClient(uri: android.net.Uri): android.content.ContentProviderClient;
			public openInputStream(uri: android.net.Uri): java.io.InputStream;
			public getStreamTypes(url: android.net.Uri, mimeTypeFilter: string): androidNative.Array<string>;
			public static getSyncAdapterTypes(): androidNative.Array<android.content.SyncAdapterType>;
			public static getCurrentSyncs(): java.util.List<android.content.SyncInfo>;
			public openAssetFileDescriptor(uri: android.net.Uri, mode: string): android.content.res.AssetFileDescriptor;
			public openAssetFile(uri: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public static getIsSyncable(account: android.accounts.Account, authority: string): number;
			public static setIsSyncable(account: android.accounts.Account, authority: string, syncable: number): void;
			public openAssetFileDescriptor(uri: android.net.Uri, mode: string, cancellationSignal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public loadThumbnail(uri: android.net.Uri, size: any, signal: android.os.CancellationSignal): android.graphics.Bitmap;
			public unregisterContentObserver(observer: android.database.ContentObserver): void;
			public applyBatch(authority: string, operations: java.util.ArrayList<android.content.ContentProviderOperation>): androidNative.Array<android.content.ContentProviderResult>;
			public call(uri: android.net.Uri, method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public releasePersistableUriPermission(uri: android.net.Uri, modeFlags: number): void;
			public static cancelSync(request: android.content.SyncRequest): void;
			public openFileDescriptor(uri: android.net.Uri, mode: string): android.os.ParcelFileDescriptor;
			public openTypedAssetFileDescriptor(uri: android.net.Uri, mimeType: string, opts: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public getTypeInfo(mimeType: string): android.content.ContentResolver.MimeTypeInfo;
			public static setMasterSyncAutomatically(sync: boolean): void;
			public acquireUnstableContentProviderClient(uri: android.net.Uri): android.content.ContentProviderClient;
			public static cancelSync(account: android.accounts.Account, authority: string): void;
			public call(authority: string, method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			/** @deprecated */
			public cancelSync(uri: android.net.Uri): void;
			/** @deprecated */
			public static getCurrentSync(): android.content.SyncInfo;
			public static wrap(wrapped: android.content.ContentProviderClient): android.content.ContentResolver;
			public update(uri: android.net.Uri, values: android.content.ContentValues, where: string, selectionArgs: androidNative.Array<string>): number;
			public update(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): number;
		}
		export module ContentResolver {
			export class MimeTypeInfo extends java.lang.Object {
				public static class: java.lang.Class<android.content.ContentResolver.MimeTypeInfo>;
				public getContentDescription(): string;
				public getIcon(): any;
				public getLabel(): string;
			}
		}
	}
}

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(contentUri: android.net.Uri): number;
			public static removeId(contentUri: android.net.Uri): android.net.Uri;
			public static appendId(builder: android.net.Uri.Builder, id: number): android.net.Uri.Builder;
			public static withAppendedId(contentUri: android.net.Uri, id: number): android.net.Uri;
			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: "ContentValues";
			public keySet(): java.util.Set<string>;
			public constructor(from: android.content.ContentValues);
			public getAsByteArray(key: string): androidNative.Array<number>;
			public getAsShort(key: string): java.lang.Short;
			public constructor(size: number);
			public containsKey(key: string): boolean;
			public put(key: string, value: java.lang.Short): void;
			public valueSet(): java.util.Set<java.util.Map.Entry<string,any>>;
			public remove(key: string): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public put(key: string, value: androidNative.Array<number>): void;
			public clear(): void;
			public equals(object: any): boolean;
			public put(key: string, value: java.lang.Integer): void;
			public size(): number;
			public isEmpty(): boolean;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public getAsInteger(key: string): java.lang.Integer;
			public getAsFloat(key: string): java.lang.Float;
			public getAsString(key: string): string;
			public constructor();
			public put(key: string, value: java.lang.Boolean): void;
			public getAsByte(key: string): java.lang.Byte;
			public putNull(key: string): void;
			public getAsDouble(key: string): java.lang.Double;
			public get(key: string): any;
			public toString(): string;
			public putAll(other: android.content.ContentValues): void;
			public put(key: string, value: java.lang.Double): void;
			public getAsLong(key: string): java.lang.Long;
			public put(key: string, value: java.lang.Float): void;
			public describeContents(): number;
			public put(key: string, value: java.lang.Byte): void;
			public getAsBoolean(key: string): java.lang.Boolean;
			public put(key: string, value: java.lang.Long): void;
			public hashCode(): number;
			public put(key: string, value: 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: "accessibility";
			public static ACCOUNT_SERVICE: "account";
			public static ACTIVITY_SERVICE: "activity";
			public static ALARM_SERVICE: "alarm";
			public static APPWIDGET_SERVICE: "appwidget";
			public static APP_OPS_SERVICE: "appops";
			public static APP_SEARCH_SERVICE: "app_search";
			public static AUDIO_SERVICE: "audio";
			public static BATTERY_SERVICE: "batterymanager";
			public static BIND_ABOVE_CLIENT: 8;
			public static BIND_ADJUST_WITH_ACTIVITY: 128;
			public static BIND_ALLOW_ACTIVITY_STARTS: 512;
			public static BIND_ALLOW_OOM_MANAGEMENT: 16;
			public static BIND_AUTO_CREATE: 1;
			public static BIND_DEBUG_UNBIND: 2;
			public static BIND_EXTERNAL_SERVICE: -2147483648;
			public static BIND_EXTERNAL_SERVICE_LONG: 4611686018427387904;
			public static BIND_IMPORTANT: 64;
			public static BIND_INCLUDE_CAPABILITIES: 4096;
			public static BIND_NOT_FOREGROUND: 4;
			public static BIND_NOT_PERCEPTIBLE: 256;
			public static BIND_PACKAGE_ISOLATED_PROCESS: 16384;
			public static BIND_SHARED_ISOLATED_PROCESS: 8192;
			public static BIND_WAIVE_PRIORITY: 32;
			public static BIOMETRIC_SERVICE: "biometric";
			public static BLOB_STORE_SERVICE: "blob_store";
			public static BLUETOOTH_SERVICE: "bluetooth";
			public static BUGREPORT_SERVICE: "bugreport";
			public static CAMERA_SERVICE: "camera";
			public static CAPTIONING_SERVICE: "captioning";
			public static CARRIER_CONFIG_SERVICE: "carrier_config";
			public static CLIPBOARD_SERVICE: "clipboard";
			public static COMPANION_DEVICE_SERVICE: "companiondevice";
			public static CONNECTIVITY_DIAGNOSTICS_SERVICE: "connectivity_diagnostics";
			public static CONNECTIVITY_SERVICE: "connectivity";
			public static CONSUMER_IR_SERVICE: "consumer_ir";
			public static CONTACT_KEYS_SERVICE: "contact_keys";
			public static CONTEXT_IGNORE_SECURITY: 2;
			public static CONTEXT_INCLUDE_CODE: 1;
			public static CONTEXT_RESTRICTED: 4;
			public static CREDENTIAL_SERVICE: "credential";
			public static CROSS_PROFILE_APPS_SERVICE: "crossprofileapps";
			public static DEVICE_ID_DEFAULT: 0;
			public static DEVICE_ID_INVALID: -1;
			public static DEVICE_LOCK_SERVICE: "device_lock";
			public static DEVICE_POLICY_SERVICE: "device_policy";
			public static DISPLAY_HASH_SERVICE: "display_hash";
			public static DISPLAY_SERVICE: "display";
			public static DOMAIN_VERIFICATION_SERVICE: "domain_verification";
			public static DOWNLOAD_SERVICE: "download";
			public static DROPBOX_SERVICE: "dropbox";
			public static EUICC_SERVICE: "euicc";
			public static FILE_INTEGRITY_SERVICE: "file_integrity";
			public static FINGERPRINT_SERVICE: "fingerprint";
			public static GAME_SERVICE: "game";
			public static GRAMMATICAL_INFLECTION_SERVICE: "grammatical_inflection";
			public static HARDWARE_PROPERTIES_SERVICE: "hardware_properties";
			public static HEALTHCONNECT_SERVICE: "healthconnect";
			public static INPUT_METHOD_SERVICE: "input_method";
			public static INPUT_SERVICE: "input";
			public static IPSEC_SERVICE: "ipsec";
			public static JOB_SCHEDULER_SERVICE: "jobscheduler";
			public static KEYGUARD_SERVICE: "keyguard";
			public static LAUNCHER_APPS_SERVICE: "launcherapps";
			public static LAYOUT_INFLATER_SERVICE: "layout_inflater";
			public static LOCALE_SERVICE: "locale";
			public static LOCATION_SERVICE: "location";
			public static MEDIA_COMMUNICATION_SERVICE: "media_communication";
			public static MEDIA_METRICS_SERVICE: "media_metrics";
			public static MEDIA_PROJECTION_SERVICE: "media_projection";
			public static MEDIA_ROUTER_SERVICE: "media_router";
			public static MEDIA_SESSION_SERVICE: "media_session";
			public static MIDI_SERVICE: "midi";
			public static MODE_APPEND: 32768;
			public static MODE_ENABLE_WRITE_AHEAD_LOGGING: 8;
			public static MODE_MULTI_PROCESS: 4;
			public static MODE_NO_LOCALIZED_COLLATORS: 16;
			public static MODE_PRIVATE: 0;
			public static MODE_WORLD_READABLE: 1;
			public static MODE_WORLD_WRITEABLE: 2;
			public static NETWORK_STATS_SERVICE: "netstats";
			public static NFC_SERVICE: "nfc";
			public static NOTIFICATION_SERVICE: "notification";
			public static NSD_SERVICE: "servicediscovery";
			public static OVERLAY_SERVICE: "overlay";
			public static PEOPLE_SERVICE: "people";
			public static PERFORMANCE_HINT_SERVICE: "performance_hint";
			public static PERSISTENT_DATA_BLOCK_SERVICE: "persistent_data_block";
			public static POWER_SERVICE: "power";
			public static PRINT_SERVICE: "print";
			public static PROFILING_SERVICE: "profiling";
			public static RECEIVER_EXPORTED: 2;
			public static RECEIVER_NOT_EXPORTED: 4;
			public static RECEIVER_VISIBLE_TO_INSTANT_APPS: 1;
			public static RESTRICTIONS_SERVICE: "restrictions";
			public static ROLE_SERVICE: "role";
			public static SEARCH_SERVICE: "search";
			public static SECURITY_STATE_SERVICE: "security_state";
			public static SENSOR_SERVICE: "sensor";
			public static SHORTCUT_SERVICE: "shortcut";
			public static STATUS_BAR_SERVICE: "statusbar";
			public static STORAGE_SERVICE: "storage";
			public static STORAGE_STATS_SERVICE: "storagestats";
			public static SYSTEM_HEALTH_SERVICE: "systemhealth";
			public static TELECOM_SERVICE: "telecom";
			public static TELEPHONY_IMS_SERVICE: "telephony_ims";
			public static TELEPHONY_SERVICE: "phone";
			public static TELEPHONY_SUBSCRIPTION_SERVICE: "telephony_subscription_service";
			public static TEXT_CLASSIFICATION_SERVICE: "textclassification";
			public static TEXT_SERVICES_MANAGER_SERVICE: "textservices";
			public static TV_INPUT_SERVICE: "tv_input";
			public static TV_INTERACTIVE_APP_SERVICE: "tv_interactive_app";
			public static UI_MODE_SERVICE: "uimode";
			public static USAGE_STATS_SERVICE: "usagestats";
			public static USB_SERVICE: "usb";
			public static USER_SERVICE: "user";
			public static VIBRATOR_MANAGER_SERVICE: "vibrator_manager";
			public static VIBRATOR_SERVICE: "vibrator";
			public static VIRTUAL_DEVICE_SERVICE: "virtualdevice";
			public static VPN_MANAGEMENT_SERVICE: "vpn_management";
			public static WALLPAPER_SERVICE: "wallpaper";
			public static WIFI_AWARE_SERVICE: "wifiaware";
			public static WIFI_P2P_SERVICE: "wifip2p";
			public static WIFI_RTT_RANGING_SERVICE: "wifirtt";
			public static WIFI_SERVICE: "wifi";
			public static WINDOW_SERVICE: "window";
			public createContextForSplit(param0: string): android.content.Context;
			public getSystemService(serviceClass: java.lang.Class<any>): any;
			public getFilesDir(): java.io.File;
			public checkCallingPermission(param0: string): number;
			public getPackageName(): string;
			public sendBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle, param2: string): void;
			public isUiContext(): boolean;
			public openFileInput(param0: string): java.io.FileInputStream;
			public getText(resId: number): string;
			public moveSharedPreferencesFrom(param0: android.content.Context, param1: string): boolean;
			public databaseList(): androidNative.Array<string>;
			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 bindService(service: android.content.Intent, conn: android.content.ServiceConnection, flags: android.content.Context.BindServiceFlags): boolean;
			public bindIsolatedService(service: android.content.Intent, flags: android.content.Context.BindServiceFlags, instanceName: string, executor: java.util.concurrent.Executor, conn: android.content.ServiceConnection): boolean;
			public obtainStyledAttributes(set: android.util.AttributeSet, attrs: androidNative.Array<number>, defStyleAttr: number, defStyleRes: number): android.content.res.TypedArray;
			public updateServiceGroup(conn: android.content.ServiceConnection, group: number, importance: number): void;
			public checkCallingOrSelfPermission(param0: string): number;
			public getDataDir(): java.io.File;
			public createDeviceProtectedStorageContext(): android.content.Context;
			public getString(resId: number, formatArgs: androidNative.Array<any>): string;
			public constructor();
			public getString(resId: number): string;
			/** @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 checkCallingOrSelfUriPermissions(uris: java.util.List<android.net.Uri>, modeFlags: number): androidNative.Array<number>;
			public checkSelfPermission(param0: string): number;
			public createAttributionContext(attributionTag: string): android.content.Context;
			public sendBroadcast(intent: android.content.Intent, receiverPermission: string, options: android.os.Bundle): void;
			public getTheme(): android.content.res.Resources.Theme;
			public createDisplayContext(param0: android.view.Display): android.content.Context;
			public checkCallingUriPermissions(uris: java.util.List<android.net.Uri>, modeFlags: number): androidNative.Array<number>;
			public openOrCreateDatabase(param0: string, param1: number, param2: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
			/** @deprecated */
			public getExternalMediaDirs(): androidNative.Array<java.io.File>;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: number): android.content.Intent;
			public sendOrderedBroadcast(intent: android.content.Intent, receiverPermission: string, options: android.os.Bundle): void;
			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 obtainStyledAttributes(set: android.util.AttributeSet, attrs: androidNative.Array<number>): android.content.res.TypedArray;
			public deleteDatabase(param0: string): boolean;
			public getApplicationContext(): android.content.Context;
			public obtainStyledAttributes(resid: number, attrs: androidNative.Array<number>): android.content.res.TypedArray;
			public unregisterComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public startActivity(param0: android.content.Intent, param1: android.os.Bundle): void;
			public startInstrumentation(param0: android.content.ComponentName, param1: string, param2: android.os.Bundle): boolean;
			public obtainStyledAttributes(attrs: androidNative.Array<number>): android.content.res.TypedArray;
			/** @deprecated */
			public getWallpaperDesiredMinimumHeight(): number;
			public startActivities(param0: androidNative.Array<android.content.Intent>, param1: android.os.Bundle): void;
			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 bindService(service: android.content.Intent, flags: android.content.Context.BindServiceFlags, executor: java.util.concurrent.Executor, conn: android.content.ServiceConnection): boolean;
			public registerComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public getAttributionSource(): android.content.AttributionSource;
			public openOrCreateDatabase(param0: string, param1: number, param2: android.database.sqlite.SQLiteDatabase.CursorFactory, param3: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
			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 getColorStateList(id: number): android.content.res.ColorStateList;
			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 bindService(service: android.content.Intent, flags: number, executor: java.util.concurrent.Executor, conn: android.content.ServiceConnection): boolean;
			public getDisplay(): android.view.Display;
			public startActivities(param0: androidNative.Array<android.content.Intent>): void;
			public setTheme(param0: number): void;
			public deleteFile(param0: string): boolean;
			/** @deprecated */
			public sendStickyBroadcast(intent: android.content.Intent, options: android.os.Bundle): void;
			public getCodeCacheDir(): java.io.File;
			public getMainLooper(): android.os.Looper;
			public createContext(contextParams: android.content.ContextParams): android.content.Context;
			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 registerDeviceIdChangeListener(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public getPackageResourcePath(): string;
			public checkCallingUriPermission(param0: android.net.Uri, param1: number): number;
			public bindServiceAsUser(service: android.content.Intent, conn: android.content.ServiceConnection, flags: android.content.Context.BindServiceFlags, user: android.os.UserHandle): boolean;
			public getClassLoader(): java.lang.ClassLoader;
			public revokeSelfPermissionsOnKill(permissions: java.util.Collection<string>): void;
			public getDeviceId(): number;
			/** @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 bindIsolatedService(service: android.content.Intent, flags: number, instanceName: string, executor: java.util.concurrent.Executor, conn: android.content.ServiceConnection): boolean;
			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 revokeSelfPermissionOnKill(permName: string): void;
			public createWindowContext(type: number, options: android.os.Bundle): android.content.Context;
			public getFileStreamPath(param0: string): java.io.File;
			public deleteSharedPreferences(param0: string): boolean;
			public getObbDirs(): androidNative.Array<java.io.File>;
			public isDeviceProtectedStorage(): boolean;
			public getAssets(): android.content.res.AssetManager;
			/** @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 sendOrderedBroadcast(intent: android.content.Intent, receiverPermission: string, receiverAppOp: string, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialCode: number, initialData: string, initialExtras: 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 getDrawable(id: number): android.graphics.drawable.Drawable;
			public getOpPackageName(): string;
			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 checkContentUriPermissionFull(uri: android.net.Uri, pid: number, uid: number, modeFlags: number): number;
			public checkUriPermissions(uris: java.util.List<android.net.Uri>, pid: number, uid: number, modeFlags: number): androidNative.Array<number>;
			public createDeviceContext(deviceId: number): 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 fileList(): androidNative.Array<string>;
			public startService(param0: android.content.Intent): android.content.ComponentName;
			public checkUriPermission(param0: android.net.Uri, param1: number, param2: number, param3: number): number;
			public sendBroadcastWithMultiplePermissions(intent: android.content.Intent, receiverPermissions: androidNative.Array<string>): void;
			public getSystemService(param0: string): any;
			public getExternalFilesDirs(param0: string): androidNative.Array<java.io.File>;
			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 createWindowContext(display: android.view.Display, type: number, options: android.os.Bundle): android.content.Context;
			public createPackageContext(param0: string, param1: number): android.content.Context;
			public bindServiceAsUser(service: android.content.Intent, conn: android.content.ServiceConnection, flags: number, user: android.os.UserHandle): boolean;
			public isRestricted(): boolean;
			public getParams(): android.content.ContextParams;
			public sendOrderedBroadcast(intent: android.content.Intent, receiverPermission: string, options: android.os.Bundle, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialCode: number, initialData: string, initialExtras: android.os.Bundle): void;
			/** @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 unregisterDeviceIdChangeListener(listener: any /* any*/): void;
			public startActivity(param0: android.content.Intent): void;
			public enforcePermission(param0: string, param1: number, param2: number, param3: string): void;
			public getAttributionTag(): string;
			public getExternalCacheDirs(): androidNative.Array<java.io.File>;
			public getMainExecutor(): java.util.concurrent.Executor;
			/** @deprecated */
			public peekWallpaper(): android.graphics.drawable.Drawable;
			public getColor(id: number): number;
			/** @deprecated */
			public clearWallpaper(): void;
			public sendBroadcast(param0: android.content.Intent): void;
		}
		export module Context {
			export class BindServiceFlags extends java.lang.Object {
				public static class: java.lang.Class<android.content.Context.BindServiceFlags>;
				public static of(value: number): android.content.Context.BindServiceFlags;
			}
		}
	}
}

declare module android {
	export module content {
		export class ContextParams extends java.lang.Object {
			public static class: java.lang.Class<android.content.ContextParams>;
			public getAttributionTag(): string;
			public getNextAttributionSource(): android.content.AttributionSource;
			public shouldRegisterAttributionSource(): boolean;
		}
		export module ContextParams {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.content.ContextParams.Builder>;
				public setShouldRegisterAttributionSource(shouldRegister: boolean): android.content.ContextParams.Builder;
				public constructor(params: android.content.ContextParams);
				public setAttributionTag(attributionTag: string): android.content.ContextParams.Builder;
				public build(): android.content.ContextParams;
				public setNextAttributionSource(next: android.content.AttributionSource): android.content.ContextParams.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export class ContextWrapper extends android.content.Context {
			public static class: java.lang.Class<android.content.ContextWrapper>;
			public createDisplayContext(display: android.view.Display): android.content.Context;
			public getSystemService(serviceClass: java.lang.Class<any>): any;
			public getFilesDir(): java.io.File;
			public openFileInput(name: string): java.io.FileInputStream;
			public getPackageName(): string;
			public sendBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle, param2: string): void;
			public checkSelfPermission(permission: string): number;
			public stopService(name: android.content.Intent): boolean;
			public sendOrderedBroadcast(intent: android.content.Intent, initialCode: number, receiverPermission: string, receiverAppOp: string, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialData: string, initialExtras: android.os.Bundle, options: android.os.Bundle): void;
			public openFileOutput(name: string, mode: number): java.io.FileOutputStream;
			public isUiContext(): boolean;
			public registerReceiver(receiver: android.content.BroadcastReceiver, filter: android.content.IntentFilter, flags: number): android.content.Intent;
			public sendOrderedBroadcast(intent: android.content.Intent, receiverPermission: string, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialCode: number, initialData: string, initialExtras: android.os.Bundle): void;
			public moveSharedPreferencesFrom(sourceContext: android.content.Context, name: string): boolean;
			public databaseList(): androidNative.Array<string>;
			public revokeUriPermission(param0: string, param1: android.net.Uri, param2: number): void;
			public enforceCallingOrSelfPermission(permission: string, message: string): void;
			/** @deprecated */
			public getWallpaper(): android.graphics.drawable.Drawable;
			public unbindService(conn: android.content.ServiceConnection): void;
			public unregisterReceiver(receiver: android.content.BroadcastReceiver): void;
			/** @deprecated */
			public sendStickyOrderedBroadcastAsUser(intent: android.content.Intent, user: android.os.UserHandle, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialCode: number, initialData: string, initialExtras: android.os.Bundle): void;
			public bindService(service: android.content.Intent, conn: android.content.ServiceConnection, flags: android.content.Context.BindServiceFlags): boolean;
			public bindIsolatedService(service: android.content.Intent, flags: android.content.Context.BindServiceFlags, instanceName: string, executor: java.util.concurrent.Executor, conn: android.content.ServiceConnection): boolean;
			public startActivities(intents: androidNative.Array<android.content.Intent>, options: android.os.Bundle): void;
			public updateServiceGroup(conn: android.content.ServiceConnection, group: number, importance: number): void;
			public getDataDir(): java.io.File;
			public createDeviceProtectedStorageContext(): android.content.Context;
			public startService(service: android.content.Intent): android.content.ComponentName;
			public startInstrumentation(className: android.content.ComponentName, profileFile: string, arguments_: android.os.Bundle): boolean;
			public constructor();
			/** @deprecated */
			public removeStickyBroadcast(intent: android.content.Intent): void;
			public checkCallingOrSelfUriPermissions(uris: java.util.List<android.net.Uri>, modeFlags: number): androidNative.Array<number>;
			/** @deprecated */
			public setWallpaper(data: java.io.InputStream): void;
			public createAttributionContext(attributionTag: string): android.content.Context;
			public sendBroadcast(intent: android.content.Intent, receiverPermission: string, options: android.os.Bundle): void;
			public getTheme(): android.content.res.Resources.Theme;
			public checkCallingUriPermissions(uris: java.util.List<android.net.Uri>, modeFlags: number): androidNative.Array<number>;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: number): android.content.Intent;
			public sendOrderedBroadcast(intent: android.content.Intent, receiverPermission: string, options: android.os.Bundle): void;
			public getResources(): android.content.res.Resources;
			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 getApplicationContext(): android.content.Context;
			public unregisterComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public grantUriPermission(toPackage: string, uri: android.net.Uri, modeFlags: number): void;
			public startActivity(param0: android.content.Intent, param1: android.os.Bundle): void;
			public enforceCallingOrSelfUriPermission(uri: android.net.Uri, modeFlags: number, message: string): void;
			/** @deprecated */
			public getWallpaperDesiredMinimumHeight(): number;
			public checkUriPermission(uri: android.net.Uri, pid: number, uid: number, modeFlags: number): number;
			public startActivities(param0: androidNative.Array<android.content.Intent>, param1: android.os.Bundle): void;
			/** @deprecated */
			public sendStickyOrderedBroadcast(intent: android.content.Intent, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialCode: number, initialData: string, initialExtras: android.os.Bundle): void;
			public startActivity(intent: android.content.Intent, options: android.os.Bundle): void;
			public bindService(service: android.content.Intent, flags: android.content.Context.BindServiceFlags, executor: java.util.concurrent.Executor, conn: android.content.ServiceConnection): boolean;
			public sendBroadcast(intent: android.content.Intent, receiverPermission: string): void;
			public enforceCallingPermission(permission: string, message: string): void;
			public registerComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public openOrCreateDatabase(param0: string, param1: number, param2: android.database.sqlite.SQLiteDatabase.CursorFactory, param3: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
			public getAttributionSource(): android.content.AttributionSource;
			public checkCallingOrSelfUriPermission(uri: android.net.Uri, modeFlags: number): number;
			public checkUriPermission(uri: android.net.Uri, readPermission: string, writePermission: string, pid: number, uid: number, modeFlags: number): number;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: string, param3: android.os.Handler, param4: number): android.content.Intent;
			public deleteSharedPreferences(name: string): boolean;
			public enforceUriPermission(param0: android.net.Uri, param1: string, param2: string, param3: number, param4: number, param5: number, param6: string): void;
			public bindService(service: android.content.Intent, flags: number, executor: java.util.concurrent.Executor, conn: android.content.ServiceConnection): boolean;
			public getDisplay(): android.view.Display;
			/** @deprecated */
			public sendStickyBroadcast(intent: android.content.Intent, options: android.os.Bundle): void;
			public getCodeCacheDir(): java.io.File;
			public checkCallingUriPermission(uri: android.net.Uri, modeFlags: number): number;
			public getMainLooper(): android.os.Looper;
			public createContext(contextParams: android.content.ContextParams): android.content.Context;
			public startIntentSender(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: number, param4: number, param5: android.os.Bundle): void;
			public registerDeviceIdChangeListener(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public getPackageResourcePath(): string;
			public deleteDatabase(name: string): boolean;
			public bindServiceAsUser(service: android.content.Intent, conn: android.content.ServiceConnection, flags: android.content.Context.BindServiceFlags, user: android.os.UserHandle): boolean;
			public getClassLoader(): java.lang.ClassLoader;
			public startIntentSender(intent: android.content.IntentSender, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number, options: android.os.Bundle): void;
			public enforceCallingUriPermission(uri: android.net.Uri, modeFlags: number, message: string): void;
			public revokeUriPermission(uri: android.net.Uri, modeFlags: number): void;
			public revokeSelfPermissionsOnKill(permissions: java.util.Collection<string>): void;
			public getDeviceId(): number;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: string, param3: android.os.Handler): android.content.Intent;
			public bindIsolatedService(service: android.content.Intent, flags: number, instanceName: string, executor: java.util.concurrent.Executor, conn: android.content.ServiceConnection): boolean;
			public enforceUriPermission(uri: android.net.Uri, readPermission: string, writePermission: string, pid: number, uid: number, modeFlags: number, message: string): void;
			public getObbDir(): java.io.File;
			public startActivities(intents: androidNative.Array<android.content.Intent>): void;
			public createWindowContext(type: number, options: android.os.Bundle): android.content.Context;
			public sendOrderedBroadcast(intent: android.content.Intent, receiverPermission: string): void;
			public startIntentSender(intent: android.content.IntentSender, fillInIntent: android.content.Intent, flagsMask: number, flagsValues: number, extraFlags: number): void;
			public createPackageContext(packageName: string, flags: number): android.content.Context;
			public getDatabasePath(name: string): java.io.File;
			public sendBroadcastAsUser(intent: android.content.Intent, user: android.os.UserHandle): void;
			public moveDatabaseFrom(sourceContext: android.content.Context, name: string): boolean;
			public getObbDirs(): androidNative.Array<java.io.File>;
			public revokeUriPermission(targetPackage: string, uri: android.net.Uri, modeFlags: number): void;
			public startActivity(intent: android.content.Intent): void;
			public getExternalFilesDirs(type: string): androidNative.Array<java.io.File>;
			public getDir(name: string, mode: number): java.io.File;
			public getSystemServiceName(serviceClass: java.lang.Class<any>): string;
			public createConfigurationContext(overrideConfiguration: android.content.res.Configuration): android.content.Context;
			public isDeviceProtectedStorage(): boolean;
			/** @deprecated */
			public sendStickyBroadcast(intent: android.content.Intent): void;
			public getAssets(): android.content.res.AssetManager;
			public getPackageCodePath(): string;
			public getPackageManager(): android.content.pm.PackageManager;
			public getSharedPreferences(name: string, mode: number): android.content.SharedPreferences;
			public sendOrderedBroadcast(intent: android.content.Intent, receiverPermission: string, receiverAppOp: string, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialCode: number, initialData: string, initialExtras: android.os.Bundle): void;
			public sendBroadcast(param0: android.content.Intent, param1: string): void;
			public getExternalCacheDir(): java.io.File;
			public checkCallingOrSelfPermission(permission: string): number;
			public getOpPackageName(): string;
			public openOrCreateDatabase(name: string, mode: number, factory: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
			/** @deprecated */
			public setWallpaper(bitmap: android.graphics.Bitmap): void;
			public startForegroundService(service: android.content.Intent): android.content.ComponentName;
			public enforcePermission(permission: string, pid: number, uid: number, message: string): void;
			public getApplicationInfo(): android.content.pm.ApplicationInfo;
			public sendOrderedBroadcastAsUser(intent: android.content.Intent, user: android.os.UserHandle, receiverPermission: string, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialCode: number, initialData: string, initialExtras: android.os.Bundle): void;
			public checkContentUriPermissionFull(uri: android.net.Uri, pid: number, uid: number, modeFlags: number): number;
			public getBaseContext(): android.content.Context;
			public getSystemService(name: string): any;
			public checkUriPermissions(uris: java.util.List<android.net.Uri>, pid: number, uid: number, modeFlags: number): androidNative.Array<number>;
			public createDeviceContext(deviceId: number): android.content.Context;
			public fileList(): androidNative.Array<string>;
			public getFileStreamPath(name: string): java.io.File;
			public createContextForSplit(splitName: string): android.content.Context;
			public getNoBackupFilesDir(): java.io.File;
			public getCacheDir(): java.io.File;
			/** @deprecated */
			public getWallpaperDesiredMinimumWidth(): number;
			public registerReceiver(receiver: android.content.BroadcastReceiver, filter: android.content.IntentFilter, broadcastPermission: string, scheduler: android.os.Handler, flags: number): android.content.Intent;
			public createWindowContext(display: android.view.Display, type: number, options: android.os.Bundle): android.content.Context;
			public setTheme(resid: number): void;
			public deleteFile(name: string): boolean;
			public bindServiceAsUser(service: android.content.Intent, conn: android.content.ServiceConnection, flags: number, user: android.os.UserHandle): boolean;
			public isRestricted(): boolean;
			public sendBroadcast(intent: android.content.Intent): void;
			public getParams(): android.content.ContextParams;
			public sendOrderedBroadcast(intent: android.content.Intent, receiverPermission: string, options: android.os.Bundle, resultReceiver: android.content.BroadcastReceiver, scheduler: android.os.Handler, initialCode: number, initialData: string, initialExtras: android.os.Bundle): void;
			public checkUriPermission(param0: android.net.Uri, param1: string, param2: string, param3: number, param4: number, param5: number): number;
			public enforceUriPermission(uri: android.net.Uri, pid: number, uid: number, modeFlags: number, message: string): void;
			public checkCallingPermission(permission: string): number;
			public checkPermission(permission: string, pid: number, uid: number): number;
			/** @deprecated */
			public setWallpaper(param0: java.io.InputStream): void;
			public registerReceiver(receiver: android.content.BroadcastReceiver, filter: android.content.IntentFilter, broadcastPermission: string, scheduler: android.os.Handler): android.content.Intent;
			public openOrCreateDatabase(name: string, mode: number, factory: android.database.sqlite.SQLiteDatabase.CursorFactory, errorHandler: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
			public getContentResolver(): android.content.ContentResolver;
			public bindService(service: android.content.Intent, conn: android.content.ServiceConnection, flags: number): boolean;
			public getExternalMediaDirs(): androidNative.Array<java.io.File>;
			public attachBaseContext(base: android.content.Context): void;
			public unregisterDeviceIdChangeListener(listener: any /* any*/): void;
			public getExternalFilesDir(type: string): java.io.File;
			public getAttributionTag(): string;
			public getExternalCacheDirs(): androidNative.Array<java.io.File>;
			/** @deprecated */
			public sendStickyBroadcastAsUser(intent: android.content.Intent, user: android.os.UserHandle): void;
			public registerReceiver(receiver: android.content.BroadcastReceiver, filter: android.content.IntentFilter): android.content.Intent;
			public getMainExecutor(): java.util.concurrent.Executor;
			/** @deprecated */
			public peekWallpaper(): android.graphics.drawable.Drawable;
			public constructor(base: android.content.Context);
			/** @deprecated */
			public removeStickyBroadcastAsUser(intent: android.content.Intent, user: android.os.UserHandle): void;
			/** @deprecated */
			public clearWallpaper(): void;
			public sendBroadcastAsUser(intent: android.content.Intent, user: android.os.UserHandle, receiverPermission: string): 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>;
			/** @deprecated */
			public cancelLoadInBackground(): void;
			/** @deprecated */
			public setSortOrder(sortOrder: string): void;
			/** @deprecated */
			public setUri(uri: android.net.Uri): void;
			/** @deprecated */
			public loadInBackground(): any;
			/** @deprecated */
			public onStopLoading(): void;
			/** @deprecated */
			public loadInBackground(): android.database.Cursor;
			/** @deprecated */
			public dump(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			/** @deprecated */
			public onCanceled(cursor: android.database.Cursor): void;
			/** @deprecated */
			public getSortOrder(): string;
			/** @deprecated */
			public deliverResult(data: any): void;
			/** @deprecated */
			public onCanceled(data: any): void;
			/** @deprecated */
			public setSelectionArgs(selectionArgs: androidNative.Array<string>): void;
			/** @deprecated */
			public onStartLoading(): void;
			/** @deprecated */
			public setProjection(projection: androidNative.Array<string>): void;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onReset(): void;
			/** @deprecated */
			public getProjection(): androidNative.Array<string>;
			/** @deprecated */
			public getUri(): android.net.Uri;
			/** @deprecated */
			public getSelection(): string;
			/** @deprecated */
			public deliverResult(cursor: android.database.Cursor): void;
			/** @deprecated */
			public constructor(context: android.content.Context, uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string);
			/** @deprecated */
			public setSelection(selection: string): void;
			/** @deprecated */
			public getSelectionArgs(): androidNative.Array<string>;
		}
	}
}

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: -1;
			public static BUTTON_NEUTRAL: -3;
			public static BUTTON2: -2;
			public static BUTTON3: -3;
			public static BUTTON1: -1;
			public static BUTTON_NEGATIVE: -2;
			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(uri: android.net.Uri, values: android.content.ContentValues): void;
			public getSubValues(): java.util.ArrayList<android.content.Entity.NamedContentValues>;
			public constructor(values: 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(uri: android.net.Uri, values: 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: "android.intent.action.AIRPLANE_MODE";
			public static ACTION_ALL_APPS: "android.intent.action.ALL_APPS";
			public static ACTION_ANSWER: "android.intent.action.ANSWER";
			public static ACTION_APPLICATION_LOCALE_CHANGED: "android.intent.action.APPLICATION_LOCALE_CHANGED";
			public static ACTION_APPLICATION_PREFERENCES: "android.intent.action.APPLICATION_PREFERENCES";
			public static ACTION_APPLICATION_RESTRICTIONS_CHANGED: "android.intent.action.APPLICATION_RESTRICTIONS_CHANGED";
			public static ACTION_APP_ERROR: "android.intent.action.APP_ERROR";
			public static ACTION_ASSIST: "android.intent.action.ASSIST";
			public static ACTION_ATTACH_DATA: "android.intent.action.ATTACH_DATA";
			public static ACTION_AUTO_REVOKE_PERMISSIONS: "android.intent.action.AUTO_REVOKE_PERMISSIONS";
			public static ACTION_BATTERY_CHANGED: "android.intent.action.BATTERY_CHANGED";
			public static ACTION_BATTERY_LOW: "android.intent.action.BATTERY_LOW";
			public static ACTION_BATTERY_OKAY: "android.intent.action.BATTERY_OKAY";
			public static ACTION_BOOT_COMPLETED: "android.intent.action.BOOT_COMPLETED";
			public static ACTION_BUG_REPORT: "android.intent.action.BUG_REPORT";
			public static ACTION_CALL: "android.intent.action.CALL";
			public static ACTION_CALL_BUTTON: "android.intent.action.CALL_BUTTON";
			public static ACTION_CAMERA_BUTTON: "android.intent.action.CAMERA_BUTTON";
			public static ACTION_CARRIER_SETUP: "android.intent.action.CARRIER_SETUP";
			public static ACTION_CHOOSER: "android.intent.action.CHOOSER";
			public static ACTION_CLOSE_SYSTEM_DIALOGS: "android.intent.action.CLOSE_SYSTEM_DIALOGS";
			public static ACTION_CONFIGURATION_CHANGED: "android.intent.action.CONFIGURATION_CHANGED";
			public static ACTION_CREATE_DOCUMENT: "android.intent.action.CREATE_DOCUMENT";
			public static ACTION_CREATE_NOTE: "android.intent.action.CREATE_NOTE";
			public static ACTION_CREATE_REMINDER: "android.intent.action.CREATE_REMINDER";
			public static ACTION_CREATE_SHORTCUT: "android.intent.action.CREATE_SHORTCUT";
			public static ACTION_DATE_CHANGED: "android.intent.action.DATE_CHANGED";
			public static ACTION_DEFAULT: "android.intent.action.VIEW";
			public static ACTION_DEFINE: "android.intent.action.DEFINE";
			public static ACTION_DELETE: "android.intent.action.DELETE";
			public static ACTION_DEVICE_STORAGE_LOW: "android.intent.action.DEVICE_STORAGE_LOW";
			public static ACTION_DEVICE_STORAGE_OK: "android.intent.action.DEVICE_STORAGE_OK";
			public static ACTION_DIAL: "android.intent.action.DIAL";
			public static ACTION_DOCK_EVENT: "android.intent.action.DOCK_EVENT";
			public static ACTION_DREAMING_STARTED: "android.intent.action.DREAMING_STARTED";
			public static ACTION_DREAMING_STOPPED: "android.intent.action.DREAMING_STOPPED";
			public static ACTION_EDIT: "android.intent.action.EDIT";
			public static ACTION_EXTERNAL_APPLICATIONS_AVAILABLE: "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE";
			public static ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE: "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE";
			public static ACTION_FACTORY_TEST: "android.intent.action.FACTORY_TEST";
			public static ACTION_GET_CONTENT: "android.intent.action.GET_CONTENT";
			public static ACTION_GET_RESTRICTION_ENTRIES: "android.intent.action.GET_RESTRICTION_ENTRIES";
			public static ACTION_GTALK_SERVICE_CONNECTED: "android.intent.action.GTALK_CONNECTED";
			public static ACTION_GTALK_SERVICE_DISCONNECTED: "android.intent.action.GTALK_DISCONNECTED";
			public static ACTION_HEADSET_PLUG: "android.intent.action.HEADSET_PLUG";
			public static ACTION_INPUT_METHOD_CHANGED: "android.intent.action.INPUT_METHOD_CHANGED";
			public static ACTION_INSERT: "android.intent.action.INSERT";
			public static ACTION_INSERT_OR_EDIT: "android.intent.action.INSERT_OR_EDIT";
			public static ACTION_INSTALL_FAILURE: "android.intent.action.INSTALL_FAILURE";
			public static ACTION_INSTALL_PACKAGE: "android.intent.action.INSTALL_PACKAGE";
			public static ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE: "android.intent.action.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE";
			public static ACTION_LOCALE_CHANGED: "android.intent.action.LOCALE_CHANGED";
			public static ACTION_LOCKED_BOOT_COMPLETED: "android.intent.action.LOCKED_BOOT_COMPLETED";
			public static ACTION_MAIN: "android.intent.action.MAIN";
			public static ACTION_MANAGED_PROFILE_ADDED: "android.intent.action.MANAGED_PROFILE_ADDED";
			public static ACTION_MANAGED_PROFILE_AVAILABLE: "android.intent.action.MANAGED_PROFILE_AVAILABLE";
			public static ACTION_MANAGED_PROFILE_REMOVED: "android.intent.action.MANAGED_PROFILE_REMOVED";
			public static ACTION_MANAGED_PROFILE_UNAVAILABLE: "android.intent.action.MANAGED_PROFILE_UNAVAILABLE";
			public static ACTION_MANAGED_PROFILE_UNLOCKED: "android.intent.action.MANAGED_PROFILE_UNLOCKED";
			public static ACTION_MANAGE_NETWORK_USAGE: "android.intent.action.MANAGE_NETWORK_USAGE";
			public static ACTION_MANAGE_PACKAGE_STORAGE: "android.intent.action.MANAGE_PACKAGE_STORAGE";
			public static ACTION_MANAGE_UNUSED_APPS: "android.intent.action.MANAGE_UNUSED_APPS";
			public static ACTION_MEDIA_BAD_REMOVAL: "android.intent.action.MEDIA_BAD_REMOVAL";
			public static ACTION_MEDIA_BUTTON: "android.intent.action.MEDIA_BUTTON";
			public static ACTION_MEDIA_CHECKING: "android.intent.action.MEDIA_CHECKING";
			public static ACTION_MEDIA_EJECT: "android.intent.action.MEDIA_EJECT";
			public static ACTION_MEDIA_MOUNTED: "android.intent.action.MEDIA_MOUNTED";
			public static ACTION_MEDIA_NOFS: "android.intent.action.MEDIA_NOFS";
			public static ACTION_MEDIA_REMOVED: "android.intent.action.MEDIA_REMOVED";
			public static ACTION_MEDIA_SCANNER_FINISHED: "android.intent.action.MEDIA_SCANNER_FINISHED";
			public static ACTION_MEDIA_SCANNER_SCAN_FILE: "android.intent.action.MEDIA_SCANNER_SCAN_FILE";
			public static ACTION_MEDIA_SCANNER_STARTED: "android.intent.action.MEDIA_SCANNER_STARTED";
			public static ACTION_MEDIA_SHARED: "android.intent.action.MEDIA_SHARED";
			public static ACTION_MEDIA_UNMOUNTABLE: "android.intent.action.MEDIA_UNMOUNTABLE";
			public static ACTION_MEDIA_UNMOUNTED: "android.intent.action.MEDIA_UNMOUNTED";
			public static ACTION_MY_PACKAGE_REPLACED: "android.intent.action.MY_PACKAGE_REPLACED";
			public static ACTION_MY_PACKAGE_SUSPENDED: "android.intent.action.MY_PACKAGE_SUSPENDED";
			public static ACTION_MY_PACKAGE_UNSUSPENDED: "android.intent.action.MY_PACKAGE_UNSUSPENDED";
			public static ACTION_NEW_OUTGOING_CALL: "android.intent.action.NEW_OUTGOING_CALL";
			public static ACTION_OPEN_DOCUMENT: "android.intent.action.OPEN_DOCUMENT";
			public static ACTION_OPEN_DOCUMENT_TREE: "android.intent.action.OPEN_DOCUMENT_TREE";
			public static ACTION_PACKAGES_SUSPENDED: "android.intent.action.PACKAGES_SUSPENDED";
			public static ACTION_PACKAGES_UNSUSPENDED: "android.intent.action.PACKAGES_UNSUSPENDED";
			public static ACTION_PACKAGE_ADDED: "android.intent.action.PACKAGE_ADDED";
			public static ACTION_PACKAGE_CHANGED: "android.intent.action.PACKAGE_CHANGED";
			public static ACTION_PACKAGE_DATA_CLEARED: "android.intent.action.PACKAGE_DATA_CLEARED";
			public static ACTION_PACKAGE_FIRST_LAUNCH: "android.intent.action.PACKAGE_FIRST_LAUNCH";
			public static ACTION_PACKAGE_FULLY_REMOVED: "android.intent.action.PACKAGE_FULLY_REMOVED";
			public static ACTION_PACKAGE_INSTALL: "android.intent.action.PACKAGE_INSTALL";
			public static ACTION_PACKAGE_NEEDS_VERIFICATION: "android.intent.action.PACKAGE_NEEDS_VERIFICATION";
			public static ACTION_PACKAGE_REMOVED: "android.intent.action.PACKAGE_REMOVED";
			public static ACTION_PACKAGE_REPLACED: "android.intent.action.PACKAGE_REPLACED";
			public static ACTION_PACKAGE_RESTARTED: "android.intent.action.PACKAGE_RESTARTED";
			public static ACTION_PACKAGE_UNSTOPPED: "android.intent.action.PACKAGE_UNSTOPPED";
			public static ACTION_PACKAGE_VERIFIED: "android.intent.action.PACKAGE_VERIFIED";
			public static ACTION_PASTE: "android.intent.action.PASTE";
			public static ACTION_PICK: "android.intent.action.PICK";
			public static ACTION_PICK_ACTIVITY: "android.intent.action.PICK_ACTIVITY";
			public static ACTION_POWER_CONNECTED: "android.intent.action.ACTION_POWER_CONNECTED";
			public static ACTION_POWER_DISCONNECTED: "android.intent.action.ACTION_POWER_DISCONNECTED";
			public static ACTION_POWER_USAGE_SUMMARY: "android.intent.action.POWER_USAGE_SUMMARY";
			public static ACTION_PROCESS_TEXT: "android.intent.action.PROCESS_TEXT";
			public static ACTION_PROFILE_ACCESSIBLE: "android.intent.action.PROFILE_ACCESSIBLE";
			public static ACTION_PROFILE_ADDED: "android.intent.action.PROFILE_ADDED";
			public static ACTION_PROFILE_AVAILABLE: "android.intent.action.PROFILE_AVAILABLE";
			public static ACTION_PROFILE_INACCESSIBLE: "android.intent.action.PROFILE_INACCESSIBLE";
			public static ACTION_PROFILE_REMOVED: "android.intent.action.PROFILE_REMOVED";
			public static ACTION_PROFILE_UNAVAILABLE: "android.intent.action.PROFILE_UNAVAILABLE";
			public static ACTION_PROVIDER_CHANGED: "android.intent.action.PROVIDER_CHANGED";
			public static ACTION_QUICK_CLOCK: "android.intent.action.QUICK_CLOCK";
			public static ACTION_QUICK_VIEW: "android.intent.action.QUICK_VIEW";
			public static ACTION_REBOOT: "android.intent.action.REBOOT";
			public static ACTION_RUN: "android.intent.action.RUN";
			public static ACTION_SAFETY_CENTER: "android.intent.action.SAFETY_CENTER";
			public static ACTION_SCREEN_OFF: "android.intent.action.SCREEN_OFF";
			public static ACTION_SCREEN_ON: "android.intent.action.SCREEN_ON";
			public static ACTION_SEARCH: "android.intent.action.SEARCH";
			public static ACTION_SEARCH_LONG_PRESS: "android.intent.action.SEARCH_LONG_PRESS";
			public static ACTION_SEND: "android.intent.action.SEND";
			public static ACTION_SENDTO: "android.intent.action.SENDTO";
			public static ACTION_SEND_MULTIPLE: "android.intent.action.SEND_MULTIPLE";
			public static ACTION_SET_WALLPAPER: "android.intent.action.SET_WALLPAPER";
			public static ACTION_SHOW_APP_INFO: "android.intent.action.SHOW_APP_INFO";
			public static ACTION_SHOW_WORK_APPS: "android.intent.action.SHOW_WORK_APPS";
			public static ACTION_SHUTDOWN: "android.intent.action.ACTION_SHUTDOWN";
			public static ACTION_SYNC: "android.intent.action.SYNC";
			public static ACTION_SYSTEM_TUTORIAL: "android.intent.action.SYSTEM_TUTORIAL";
			public static ACTION_TIMEZONE_CHANGED: "android.intent.action.TIMEZONE_CHANGED";
			public static ACTION_TIME_CHANGED: "android.intent.action.TIME_SET";
			public static ACTION_TIME_TICK: "android.intent.action.TIME_TICK";
			public static ACTION_TRANSLATE: "android.intent.action.TRANSLATE";
			public static ACTION_UID_REMOVED: "android.intent.action.UID_REMOVED";
			public static ACTION_UMS_CONNECTED: "android.intent.action.UMS_CONNECTED";
			public static ACTION_UMS_DISCONNECTED: "android.intent.action.UMS_DISCONNECTED";
			public static ACTION_UNARCHIVE_PACKAGE: "android.intent.action.UNARCHIVE_PACKAGE";
			public static ACTION_UNINSTALL_PACKAGE: "android.intent.action.UNINSTALL_PACKAGE";
			public static ACTION_USER_BACKGROUND: "android.intent.action.USER_BACKGROUND";
			public static ACTION_USER_FOREGROUND: "android.intent.action.USER_FOREGROUND";
			public static ACTION_USER_INITIALIZE: "android.intent.action.USER_INITIALIZE";
			public static ACTION_USER_PRESENT: "android.intent.action.USER_PRESENT";
			public static ACTION_USER_UNLOCKED: "android.intent.action.USER_UNLOCKED";
			public static ACTION_VIEW: "android.intent.action.VIEW";
			public static ACTION_VIEW_LOCUS: "android.intent.action.VIEW_LOCUS";
			public static ACTION_VIEW_PERMISSION_USAGE: "android.intent.action.VIEW_PERMISSION_USAGE";
			public static ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD: "android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD";
			public static ACTION_VOICE_COMMAND: "android.intent.action.VOICE_COMMAND";
			public static ACTION_WALLPAPER_CHANGED: "android.intent.action.WALLPAPER_CHANGED";
			public static ACTION_WEB_SEARCH: "android.intent.action.WEB_SEARCH";
			public static CAPTURE_CONTENT_FOR_NOTE_BLOCKED_BY_ADMIN: 4;
			public static CAPTURE_CONTENT_FOR_NOTE_FAILED: 1;
			public static CAPTURE_CONTENT_FOR_NOTE_SUCCESS: 0;
			public static CAPTURE_CONTENT_FOR_NOTE_USER_CANCELED: 2;
			public static CAPTURE_CONTENT_FOR_NOTE_WINDOW_MODE_UNSUPPORTED: 3;
			public static CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET: "android.intent.category.ACCESSIBILITY_SHORTCUT_TARGET";
			public static CATEGORY_ALTERNATIVE: "android.intent.category.ALTERNATIVE";
			public static CATEGORY_APP_BROWSER: "android.intent.category.APP_BROWSER";
			public static CATEGORY_APP_CALCULATOR: "android.intent.category.APP_CALCULATOR";
			public static CATEGORY_APP_CALENDAR: "android.intent.category.APP_CALENDAR";
			public static CATEGORY_APP_CONTACTS: "android.intent.category.APP_CONTACTS";
			public static CATEGORY_APP_EMAIL: "android.intent.category.APP_EMAIL";
			public static CATEGORY_APP_FILES: "android.intent.category.APP_FILES";
			public static CATEGORY_APP_FITNESS: "android.intent.category.APP_FITNESS";
			public static CATEGORY_APP_GALLERY: "android.intent.category.APP_GALLERY";
			public static CATEGORY_APP_MAPS: "android.intent.category.APP_MAPS";
			public static CATEGORY_APP_MARKET: "android.intent.category.APP_MARKET";
			public static CATEGORY_APP_MESSAGING: "android.intent.category.APP_MESSAGING";
			public static CATEGORY_APP_MUSIC: "android.intent.category.APP_MUSIC";
			public static CATEGORY_APP_WEATHER: "android.intent.category.APP_WEATHER";
			public static CATEGORY_BROWSABLE: "android.intent.category.BROWSABLE";
			public static CATEGORY_CAR_DOCK: "android.intent.category.CAR_DOCK";
			public static CATEGORY_CAR_MODE: "android.intent.category.CAR_MODE";
			public static CATEGORY_DEFAULT: "android.intent.category.DEFAULT";
			public static CATEGORY_DESK_DOCK: "android.intent.category.DESK_DOCK";
			public static CATEGORY_DEVELOPMENT_PREFERENCE: "android.intent.category.DEVELOPMENT_PREFERENCE";
			public static CATEGORY_EMBED: "android.intent.category.EMBED";
			public static CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST: "android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST";
			public static CATEGORY_HE_DESK_DOCK: "android.intent.category.HE_DESK_DOCK";
			public static CATEGORY_HOME: "android.intent.category.HOME";
			public static CATEGORY_INFO: "android.intent.category.INFO";
			public static CATEGORY_LAUNCHER: "android.intent.category.LAUNCHER";
			public static CATEGORY_LEANBACK_LAUNCHER: "android.intent.category.LEANBACK_LAUNCHER";
			public static CATEGORY_LE_DESK_DOCK: "android.intent.category.LE_DESK_DOCK";
			public static CATEGORY_MONKEY: "android.intent.category.MONKEY";
			public static CATEGORY_OPENABLE: "android.intent.category.OPENABLE";
			public static CATEGORY_PREFERENCE: "android.intent.category.PREFERENCE";
			public static CATEGORY_SAMPLE_CODE: "android.intent.category.SAMPLE_CODE";
			public static CATEGORY_SECONDARY_HOME: "android.intent.category.SECONDARY_HOME";
			public static CATEGORY_SELECTED_ALTERNATIVE: "android.intent.category.SELECTED_ALTERNATIVE";
			public static CATEGORY_TAB: "android.intent.category.TAB";
			public static CATEGORY_TEST: "android.intent.category.TEST";
			public static CATEGORY_TYPED_OPENABLE: "android.intent.category.TYPED_OPENABLE";
			public static CATEGORY_UNIT_TEST: "android.intent.category.UNIT_TEST";
			public static CATEGORY_VOICE: "android.intent.category.VOICE";
			public static CATEGORY_VR_HOME: "android.intent.category.VR_HOME";
			public static CHOOSER_CONTENT_TYPE_ALBUM: 1;
			public static CREATOR: android.os.Parcelable.Creator<android.content.Intent>;
			public static EXTRA_ALARM_COUNT: "android.intent.extra.ALARM_COUNT";
			public static EXTRA_ALLOW_MULTIPLE: "android.intent.extra.ALLOW_MULTIPLE";
			public static EXTRA_ALLOW_REPLACE: "android.intent.extra.ALLOW_REPLACE";
			public static EXTRA_ALTERNATE_INTENTS: "android.intent.extra.ALTERNATE_INTENTS";
			public static EXTRA_ARCHIVAL: "android.intent.extra.ARCHIVAL";
			public static EXTRA_ASSIST_CONTEXT: "android.intent.extra.ASSIST_CONTEXT";
			public static EXTRA_ASSIST_INPUT_DEVICE_ID: "android.intent.extra.ASSIST_INPUT_DEVICE_ID";
			public static EXTRA_ASSIST_INPUT_HINT_KEYBOARD: "android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD";
			public static EXTRA_ASSIST_PACKAGE: "android.intent.extra.ASSIST_PACKAGE";
			public static EXTRA_ASSIST_UID: "android.intent.extra.ASSIST_UID";
			public static EXTRA_ATTRIBUTION_TAGS: "android.intent.extra.ATTRIBUTION_TAGS";
			public static EXTRA_AUTO_LAUNCH_SINGLE_CHOICE: "android.intent.extra.AUTO_LAUNCH_SINGLE_CHOICE";
			public static EXTRA_BCC: "android.intent.extra.BCC";
			public static EXTRA_BUG_REPORT: "android.intent.extra.BUG_REPORT";
			public static EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE: "android.intent.extra.CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE";
			public static EXTRA_CC: "android.intent.extra.CC";
			public static EXTRA_CHANGED_COMPONENT_NAME: "android.intent.extra.changed_component_name";
			public static EXTRA_CHANGED_COMPONENT_NAME_LIST: "android.intent.extra.changed_component_name_list";
			public static EXTRA_CHANGED_PACKAGE_LIST: "android.intent.extra.changed_package_list";
			public static EXTRA_CHANGED_UID_LIST: "android.intent.extra.changed_uid_list";
			public static EXTRA_CHOOSER_ADDITIONAL_CONTENT_URI: "android.intent.extra.CHOOSER_ADDITIONAL_CONTENT_URI";
			public static EXTRA_CHOOSER_CONTENT_TYPE_HINT: "android.intent.extra.CHOOSER_CONTENT_TYPE_HINT";
			public static EXTRA_CHOOSER_CUSTOM_ACTIONS: "android.intent.extra.CHOOSER_CUSTOM_ACTIONS";
			public static EXTRA_CHOOSER_FOCUSED_ITEM_POSITION: "android.intent.extra.CHOOSER_FOCUSED_ITEM_POSITION";
			public static EXTRA_CHOOSER_MODIFY_SHARE_ACTION: "android.intent.extra.CHOOSER_MODIFY_SHARE_ACTION";
			public static EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER: "android.intent.extra.CHOOSER_REFINEMENT_INTENT_SENDER";
			public static EXTRA_CHOOSER_RESULT: "android.intent.extra.CHOOSER_RESULT";
			public static EXTRA_CHOOSER_RESULT_INTENT_SENDER: "android.intent.extra.CHOOSER_RESULT_INTENT_SENDER";
			public static EXTRA_CHOOSER_TARGETS: "android.intent.extra.CHOOSER_TARGETS";
			public static EXTRA_CHOSEN_COMPONENT: "android.intent.extra.CHOSEN_COMPONENT";
			public static EXTRA_CHOSEN_COMPONENT_INTENT_SENDER: "android.intent.extra.CHOSEN_COMPONENT_INTENT_SENDER";
			public static EXTRA_COMPONENT_NAME: "android.intent.extra.COMPONENT_NAME";
			public static EXTRA_CONTENT_ANNOTATIONS: "android.intent.extra.CONTENT_ANNOTATIONS";
			public static EXTRA_CONTENT_QUERY: "android.intent.extra.CONTENT_QUERY";
			public static EXTRA_DATA_REMOVED: "android.intent.extra.DATA_REMOVED";
			public static EXTRA_DOCK_STATE: "android.intent.extra.DOCK_STATE";
			public static EXTRA_DOCK_STATE_CAR: 2;
			public static EXTRA_DOCK_STATE_DESK: 1;
			public static EXTRA_DOCK_STATE_HE_DESK: 4;
			public static EXTRA_DOCK_STATE_LE_DESK: 3;
			public static EXTRA_DOCK_STATE_UNDOCKED: 0;
			public static EXTRA_DONT_KILL_APP: "android.intent.extra.DONT_KILL_APP";
			public static EXTRA_DURATION_MILLIS: "android.intent.extra.DURATION_MILLIS";
			public static EXTRA_EMAIL: "android.intent.extra.EMAIL";
			public static EXTRA_END_TIME: "android.intent.extra.END_TIME";
			public static EXTRA_EXCLUDE_COMPONENTS: "android.intent.extra.EXCLUDE_COMPONENTS";
			public static EXTRA_FROM_STORAGE: "android.intent.extra.FROM_STORAGE";
			public static EXTRA_HTML_TEXT: "android.intent.extra.HTML_TEXT";
			public static EXTRA_INDEX: "android.intent.extra.INDEX";
			public static EXTRA_INITIAL_INTENTS: "android.intent.extra.INITIAL_INTENTS";
			public static EXTRA_INSTALLER_PACKAGE_NAME: "android.intent.extra.INSTALLER_PACKAGE_NAME";
			public static EXTRA_INTENT: "android.intent.extra.INTENT";
			public static EXTRA_KEY_EVENT: "android.intent.extra.KEY_EVENT";
			public static EXTRA_LOCALE_LIST: "android.intent.extra.LOCALE_LIST";
			public static EXTRA_LOCAL_ONLY: "android.intent.extra.LOCAL_ONLY";
			public static EXTRA_LOCUS_ID: "android.intent.extra.LOCUS_ID";
			public static EXTRA_METADATA_TEXT: "android.intent.extra.METADATA_TEXT";
			public static EXTRA_MIME_TYPES: "android.intent.extra.MIME_TYPES";
			public static EXTRA_NOT_UNKNOWN_SOURCE: "android.intent.extra.NOT_UNKNOWN_SOURCE";
			public static EXTRA_ORIGINATING_URI: "android.intent.extra.ORIGINATING_URI";
			public static EXTRA_PACKAGES: "android.intent.extra.PACKAGES";
			public static EXTRA_PACKAGE_NAME: "android.intent.extra.PACKAGE_NAME";
			public static EXTRA_PERMISSION_GROUP_NAME: "android.intent.extra.PERMISSION_GROUP_NAME";
			public static EXTRA_PHONE_NUMBER: "android.intent.extra.PHONE_NUMBER";
			public static EXTRA_PROCESS_TEXT: "android.intent.extra.PROCESS_TEXT";
			public static EXTRA_PROCESS_TEXT_READONLY: "android.intent.extra.PROCESS_TEXT_READONLY";
			public static EXTRA_QUICK_VIEW_FEATURES: "android.intent.extra.QUICK_VIEW_FEATURES";
			public static EXTRA_QUIET_MODE: "android.intent.extra.QUIET_MODE";
			public static EXTRA_REFERRER: "android.intent.extra.REFERRER";
			public static EXTRA_REFERRER_NAME: "android.intent.extra.REFERRER_NAME";
			public static EXTRA_REMOTE_INTENT_TOKEN: "android.intent.extra.remote_intent_token";
			public static EXTRA_REPLACEMENT_EXTRAS: "android.intent.extra.REPLACEMENT_EXTRAS";
			public static EXTRA_REPLACING: "android.intent.extra.REPLACING";
			public static EXTRA_RESTRICTIONS_BUNDLE: "android.intent.extra.restrictions_bundle";
			public static EXTRA_RESTRICTIONS_INTENT: "android.intent.extra.restrictions_intent";
			public static EXTRA_RESTRICTIONS_LIST: "android.intent.extra.restrictions_list";
			public static EXTRA_RESULT_RECEIVER: "android.intent.extra.RESULT_RECEIVER";
			public static EXTRA_RETURN_RESULT: "android.intent.extra.RETURN_RESULT";
			public static EXTRA_SHORTCUT_ICON: "android.intent.extra.shortcut.ICON";
			public static EXTRA_SHORTCUT_ICON_RESOURCE: "android.intent.extra.shortcut.ICON_RESOURCE";
			public static EXTRA_SHORTCUT_ID: "android.intent.extra.shortcut.ID";
			public static EXTRA_SHORTCUT_INTENT: "android.intent.extra.shortcut.INTENT";
			public static EXTRA_SHORTCUT_NAME: "android.intent.extra.shortcut.NAME";
			public static EXTRA_SHUTDOWN_USERSPACE_ONLY: "android.intent.extra.SHUTDOWN_USERSPACE_ONLY";
			public static EXTRA_SPLIT_NAME: "android.intent.extra.SPLIT_NAME";
			public static EXTRA_START_TIME: "android.intent.extra.START_TIME";
			public static EXTRA_STREAM: "android.intent.extra.STREAM";
			public static EXTRA_SUBJECT: "android.intent.extra.SUBJECT";
			public static EXTRA_SUSPENDED_PACKAGE_EXTRAS: "android.intent.extra.SUSPENDED_PACKAGE_EXTRAS";
			public static EXTRA_TEMPLATE: "android.intent.extra.TEMPLATE";
			public static EXTRA_TEXT: "android.intent.extra.TEXT";
			public static EXTRA_TIME: "android.intent.extra.TIME";
			public static EXTRA_TIMEZONE: "time-zone";
			public static EXTRA_TITLE: "android.intent.extra.TITLE";
			public static EXTRA_UID: "android.intent.extra.UID";
			public static EXTRA_USER: "android.intent.extra.USER";
			public static EXTRA_USER_INITIATED: "android.intent.extra.USER_INITIATED";
			public static EXTRA_USE_STYLUS_MODE: "android.intent.extra.USE_STYLUS_MODE";
			public static FILL_IN_ACTION: 1;
			public static FILL_IN_CATEGORIES: 4;
			public static FILL_IN_CLIP_DATA: 128;
			public static FILL_IN_COMPONENT: 8;
			public static FILL_IN_DATA: 2;
			public static FILL_IN_IDENTIFIER: 256;
			public static FILL_IN_PACKAGE: 16;
			public static FILL_IN_SELECTOR: 64;
			public static FILL_IN_SOURCE_BOUNDS: 32;
			public static FLAG_ACTIVITY_BROUGHT_TO_FRONT: 4194304;
			public static FLAG_ACTIVITY_CLEAR_TASK: 32768;
			public static FLAG_ACTIVITY_CLEAR_TOP: 67108864;
			public static FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET: 524288;
			public static FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS: 8388608;
			public static FLAG_ACTIVITY_FORWARD_RESULT: 33554432;
			public static FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY: 1048576;
			public static FLAG_ACTIVITY_LAUNCH_ADJACENT: 4096;
			public static FLAG_ACTIVITY_MATCH_EXTERNAL: 2048;
			public static FLAG_ACTIVITY_MULTIPLE_TASK: 134217728;
			public static FLAG_ACTIVITY_NEW_DOCUMENT: 524288;
			public static FLAG_ACTIVITY_NEW_TASK: 268435456;
			public static FLAG_ACTIVITY_NO_ANIMATION: 65536;
			public static FLAG_ACTIVITY_NO_HISTORY: 1073741824;
			public static FLAG_ACTIVITY_NO_USER_ACTION: 262144;
			public static FLAG_ACTIVITY_PREVIOUS_IS_TOP: 16777216;
			public static FLAG_ACTIVITY_REORDER_TO_FRONT: 131072;
			public static FLAG_ACTIVITY_REQUIRE_DEFAULT: 512;
			public static FLAG_ACTIVITY_REQUIRE_NON_BROWSER: 1024;
			public static FLAG_ACTIVITY_RESET_TASK_IF_NEEDED: 2097152;
			public static FLAG_ACTIVITY_RETAIN_IN_RECENTS: 8192;
			public static FLAG_ACTIVITY_SINGLE_TOP: 536870912;
			public static FLAG_ACTIVITY_TASK_ON_HOME: 16384;
			public static FLAG_DEBUG_LOG_RESOLUTION: 8;
			public static FLAG_DIRECT_BOOT_AUTO: 256;
			public static FLAG_EXCLUDE_STOPPED_PACKAGES: 16;
			public static FLAG_FROM_BACKGROUND: 4;
			public static FLAG_GRANT_PERSISTABLE_URI_PERMISSION: 64;
			public static FLAG_GRANT_PREFIX_URI_PERMISSION: 128;
			public static FLAG_GRANT_READ_URI_PERMISSION: 1;
			public static FLAG_GRANT_WRITE_URI_PERMISSION: 2;
			public static FLAG_INCLUDE_STOPPED_PACKAGES: 32;
			public static FLAG_RECEIVER_FOREGROUND: 268435456;
			public static FLAG_RECEIVER_NO_ABORT: 134217728;
			public static FLAG_RECEIVER_REGISTERED_ONLY: 1073741824;
			public static FLAG_RECEIVER_REPLACE_PENDING: 536870912;
			public static FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS: 2097152;
			public static METADATA_DOCK_HOME: "android.dock_home";
			public static URI_ALLOW_UNSAFE: 4;
			public static URI_ANDROID_APP_SCHEME: 2;
			public static URI_INTENT_SCHEME: 1;
			public putExtra(name: string, value: androidNative.Array<boolean>): android.content.Intent;
			public constructor(o: android.content.Intent);
			public getBooleanExtra(name: string, defaultValue: boolean): boolean;
			public putParcelableArrayListExtra(name: string, value: java.util.ArrayList<any>): android.content.Intent;
			public getIntegerArrayListExtra(name: string): java.util.ArrayList<java.lang.Integer>;
			public setAction(action: string): android.content.Intent;
			public fillIn(other: android.content.Intent, flags: number): number;
			public getData(): android.net.Uri;
			public static makeMainActivity(mainActivity: android.content.ComponentName): android.content.Intent;
			public static normalizeMimeType(type: string): string;
			public getScheme(): string;
			public getSelector(): android.content.Intent;
			public setDataAndTypeAndNormalize(data: android.net.Uri, type: string): android.content.Intent;
			public constructor(action: string, uri: android.net.Uri);
			public putExtra(name: string, value: string): android.content.Intent;
			public setClassName(packageContext: android.content.Context, className: string): android.content.Intent;
			public putCharSequenceArrayListExtra(name: string, value: java.util.ArrayList<string>): android.content.Intent;
			public putExtras(extras: android.os.Bundle): android.content.Intent;
			public isMismatchingFilter(): boolean;
			public getBundleExtra(name: string): android.os.Bundle;
			public constructor(action: string);
			public getLongArrayExtra(name: string): androidNative.Array<number>;
			public resolveActivityInfo(pm: android.content.pm.PackageManager, flags: number): android.content.pm.ActivityInfo;
			public getStringArrayListExtra(name: string): java.util.ArrayList<string>;
			public constructor();
			public getParcelableArrayExtra(name: string, clazz: java.lang.Class<any>): androidNative.Array<any>;
			public getCharArrayExtra(name: string): androidNative.Array<string>;
			public clone(): any;
			/** @deprecated */
			public getSerializableExtra(name: string): java.io.Serializable;
			public getShortArrayExtra(name: string): androidNative.Array<number>;
			public setPackage(packageName: string): android.content.Intent;
			public setData(data: android.net.Uri): android.content.Intent;
			public describeContents(): number;
			public getSourceBounds(): android.graphics.Rect;
			public getExtras(): android.os.Bundle;
			public putExtra(name: string, value: number): android.content.Intent;
			public setFlags(flags: number): android.content.Intent;
			public setTypeAndNormalize(type: string): android.content.Intent;
			public setComponent(component: android.content.ComponentName): android.content.Intent;
			public getCategories(): java.util.Set<string>;
			public getPackage(): string;
			public static parseUri(uri: string, flags: number): android.content.Intent;
			public getClipData(): android.content.ClipData;
			public static makeRestartActivityTask(mainActivity: android.content.ComponentName): android.content.Intent;
			public resolveTypeIfNeeded(resolver: android.content.ContentResolver): string;
			public putExtra(name: string, value: java.io.Serializable): android.content.Intent;
			public getShortExtra(name: string, defaultValue: number): number;
			public hasCategory(category: string): boolean;
			public getStringArrayExtra(name: string): androidNative.Array<string>;
			public putExtra(name: string, value: android.os.Bundle): android.content.Intent;
			public setDataAndNormalize(data: android.net.Uri): android.content.Intent;
			public removeExtra(name: string): void;
			public replaceExtras(src: android.content.Intent): android.content.Intent;
			public getCharExtra(name: string, defaultValue: string): string;
			public static parseIntent(resources: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): android.content.Intent;
			public getAction(): string;
			public getComponent(): android.content.ComponentName;
			public filterEquals(other: android.content.Intent): boolean;
			public resolveType(context: android.content.Context): string;
			public getDataString(): string;
			public getFloatArrayExtra(name: string): androidNative.Array<number>;
			public putExtra(name: string, value: android.os.Parcelable): android.content.Intent;
			public setClass(packageContext: android.content.Context, cls: java.lang.Class<any>): android.content.Intent;
			public setExtrasClassLoader(loader: java.lang.ClassLoader): void;
			/** @deprecated */
			public static getIntent(uri: string): android.content.Intent;
			public putExtras(src: android.content.Intent): android.content.Intent;
			public putIntegerArrayListExtra(name: string, value: java.util.ArrayList<java.lang.Integer>): android.content.Intent;
			public getCharSequenceArrayListExtra(name: string): java.util.ArrayList<string>;
			public putExtra(name: string, value: androidNative.Array<number>): android.content.Intent;
			public toUri(flags: number): string;
			public getIdentifier(): string;
			public filterHashCode(): number;
			public getStringExtra(name: string): string;
			public getDoubleExtra(name: string, defaultValue: number): number;
			public addFlags(flags: number): android.content.Intent;
			public setSourceBounds(r: android.graphics.Rect): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getParcelableExtra(name: string, clazz: java.lang.Class<any>): any;
			public constructor(action: string, uri: android.net.Uri, packageContext: android.content.Context, cls: java.lang.Class<any>);
			public putExtra(name: string, value: androidNative.Array<android.os.Parcelable>): android.content.Intent;
			public getType(): string;
			public getLongExtra(name: string, defaultValue: number): number;
			public setType(type: string): android.content.Intent;
			public getFlags(): number;
			public addCategory(category: string): android.content.Intent;
			public hasExtra(name: string): boolean;
			public setSelector(selector: android.content.Intent): void;
			public setDataAndType(data: android.net.Uri, type: string): android.content.Intent;
			public readFromParcel(in_: android.os.Parcel): void;
			public static createChooser(target: android.content.Intent, title: string): android.content.Intent;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public constructor(packageContext: android.content.Context, cls: java.lang.Class<any>);
			public getBooleanArrayExtra(name: string): androidNative.Array<boolean>;
			public getDoubleArrayExtra(name: string): androidNative.Array<number>;
			public getFloatExtra(name: string, defaultValue: number): number;
			public getByteArrayExtra(name: string): androidNative.Array<number>;
			public removeFlags(flags: number): void;
			public static getIntentOld(uri: string): android.content.Intent;
			public getByteExtra(name: string, defaultValue: number): number;
			public resolveActivity(pm: android.content.pm.PackageManager): android.content.ComponentName;
			/** @deprecated */
			public getParcelableArrayListExtra(name: string): java.util.ArrayList<any>;
			public putExtra(name: string, value: boolean): android.content.Intent;
			public replaceExtras(extras: android.os.Bundle): android.content.Intent;
			public getIntArrayExtra(name: string): androidNative.Array<number>;
			public resolveType(resolver: android.content.ContentResolver): string;
			public hasFileDescriptors(): boolean;
			public removeCategory(category: string): void;
			public getParcelableArrayListExtra(name: string, clazz: java.lang.Class<any>): java.util.ArrayList<any>;
			public getCharSequenceExtra(name: string): string;
			public setIdentifier(identifier: string): android.content.Intent;
			public setClipData(clip: android.content.ClipData): void;
			/** @deprecated */
			public toURI(): string;
			public putExtra(name: string, value: androidNative.Array<string>): android.content.Intent;
			/** @deprecated */
			public getParcelableArrayExtra(name: string): androidNative.Array<android.os.Parcelable>;
			public static makeMainSelectorActivity(selectorAction: string, selectorCategory: string): android.content.Intent;
			public getCharSequenceArrayExtra(name: string): androidNative.Array<string>;
			public getSerializableExtra(name: string, clazz: java.lang.Class<any>): java.io.Serializable;
			public setClassName(packageName: string, className: string): android.content.Intent;
			public toString(): string;
			public static createChooser(target: android.content.Intent, title: string, sender: android.content.IntentSender): android.content.Intent;
			public cloneFilter(): android.content.Intent;
			/** @deprecated */
			public getParcelableExtra(name: string): android.os.Parcelable;
			public getIntExtra(name: string, defaultValue: number): number;
			public putStringArrayListExtra(name: string, value: java.util.ArrayList<string>): android.content.Intent;
		}
		export module Intent {
			export class FilterComparison extends java.lang.Object {
				public static class: java.lang.Class<android.content.Intent.FilterComparison>;
				public equals(obj: any): boolean;
				public constructor(intent: android.content.Intent);
				public getIntent(): android.content.Intent;
				public hashCode(): number;
			}
			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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public static fromContext(context: android.content.Context, resourceId: number): android.content.Intent.ShortcutIconResource;
				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: 65535;
			public static MATCH_ADJUSTMENT_NORMAL: 32768;
			public static MATCH_CATEGORY_EMPTY: 1048576;
			public static MATCH_CATEGORY_HOST: 3145728;
			public static MATCH_CATEGORY_MASK: 268369920;
			public static MATCH_CATEGORY_PATH: 5242880;
			public static MATCH_CATEGORY_PORT: 4194304;
			public static MATCH_CATEGORY_SCHEME: 2097152;
			public static MATCH_CATEGORY_SCHEME_SPECIFIC_PART: 5767168;
			public static MATCH_CATEGORY_TYPE: 6291456;
			public static NO_MATCH_ACTION: -3;
			public static NO_MATCH_CATEGORY: -4;
			public static NO_MATCH_DATA: -2;
			public static NO_MATCH_TYPE: -1;
			public static SYSTEM_HIGH_PRIORITY: 1000;
			public static SYSTEM_LOW_PRIORITY: -1000;
			public hasDataSchemeSpecificPart(data: string): boolean;
			public typesIterator(): java.util.Iterator<string>;
			public addAction(action: string): void;
			public getDataScheme(index: number): string;
			public matchDataAuthority(data: android.net.Uri): number;
			public constructor(action: string, dataType: string);
			public hasDataAuthority(data: android.net.Uri): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public pathsIterator(): java.util.Iterator<android.os.PatternMatcher>;
			public matchData(type: string, scheme: string, data: android.net.Uri): number;
			public constructor(o: android.content.IntentFilter);
			public dump(du: android.util.Printer, prefix: string): void;
			public countActions(): number;
			public countDataSchemeSpecificParts(): number;
			public readFromXml(parser: org.xmlpull.v1.XmlPullParser): void;
			public constructor(action: string);
			public actionsIterator(): java.util.Iterator<string>;
			public countUriRelativeFilterGroups(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public categoriesIterator(): java.util.Iterator<string>;
			public addCategory(category: string): void;
			public constructor();
			public schemeSpecificPartsIterator(): java.util.Iterator<android.os.PatternMatcher>;
			public countDataAuthorities(): number;
			public countDataTypes(): number;
			public getUriRelativeFilterGroup(index: number): android.content.UriRelativeFilterGroup;
			public getDataAuthority(index: number): android.content.IntentFilter.AuthorityEntry;
			public matchCategories(categories: java.util.Set<string>): string;
			public describeContents(): number;
			public hasDataType(type: string): boolean;
			public match(resolver: android.content.ContentResolver, intent: android.content.Intent, resolve: boolean, logTag: string): number;
			public writeToXml(serializer: org.xmlpull.v1.XmlSerializer): void;
			public getDataType(index: number): string;
			public getDataSchemeSpecificPart(index: number): android.os.PatternMatcher;
			public matchAction(action: string): boolean;
			public setPriority(priority: number): void;
			public countCategories(): number;
			public getDataPath(index: number): android.os.PatternMatcher;
			public addDataScheme(scheme: string): void;
			public addDataAuthority(host: string, port: string): void;
			public hasCategory(category: string): boolean;
			public asPredicate(): any /* any*/;
			public schemesIterator(): java.util.Iterator<string>;
			public countDataSchemes(): number;
			public getCategory(index: number): string;
			public addUriRelativeFilterGroup(group: android.content.UriRelativeFilterGroup): void;
			public clearUriRelativeFilterGroups(): void;
			public countDataPaths(): number;
			public asPredicateWithTypeResolution(resolver: android.content.ContentResolver): any /* any*/;
			public addDataSchemeSpecificPart(ssp: string, type: number): void;
			public hasAction(action: string): boolean;
			public static create(action: string, dataType: string): android.content.IntentFilter;
			public getAction(index: number): string;
			public addDataPath(path: string, type: number): void;
			public hasDataPath(data: string): boolean;
			public match(action: string, type: string, scheme: string, data: android.net.Uri, categories: java.util.Set<string>, logTag: string): number;
			public getPriority(): number;
			public addDataType(type: string): void;
			public hasDataScheme(scheme: 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 equals(obj: any): boolean;
				public getPort(): number;
				public getHost(): string;
				public match(data: android.net.Uri): number;
				public constructor(host: string, port: string);
			}
			export class MalformedMimeTypeException extends android.util.AndroidException {
				public static class: java.lang.Class<android.content.IntentFilter.MalformedMimeTypeException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(name: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(name: string, cause: java.lang.Throwable);
				public constructor(cause: java.lang.Exception);
				public constructor();
			}
		}
	}
}

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 static writeIntentSenderOrNullToParcel(sender: android.content.IntentSender, out: android.os.Parcel): void;
			/** @deprecated */
			public getTargetPackage(): string;
			public getCreatorPackage(): string;
			public toString(): string;
			public getCreatorUserHandle(): android.os.UserHandle;
			public static readIntentSenderOrNullFromParcel(in_: android.os.Parcel): android.content.IntentSender;
			public equals(otherObj: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public sendIntent(context: android.content.Context, code: number, intent: android.content.Intent, onFinished: android.content.IntentSender.OnFinished, handler: android.os.Handler): void;
			public sendIntent(context: android.content.Context, code: number, intent: android.content.Intent, onFinished: android.content.IntentSender.OnFinished, handler: android.os.Handler, requiredPermission: string): 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(cause: java.lang.Throwable);
				public constructor(name: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(name: string, cause: java.lang.Throwable);
				public constructor(cause: java.lang.Exception);
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export class Loader<D>  extends java.lang.Object {
			public static class: java.lang.Class<android.content.Loader<any>>;
			/** @deprecated */
			public abandon(): void;
			/** @deprecated */
			public registerOnLoadCanceledListener(listener: android.content.Loader.OnLoadCanceledListener<D>): void;
			/** @deprecated */
			public onStartLoading(): void;
			/** @deprecated */
			public rollbackContentChanged(): void;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public stopLoading(): void;
			/** @deprecated */
			public onReset(): void;
			/** @deprecated */
			public cancelLoad(): boolean;
			/** @deprecated */
			public isAbandoned(): boolean;
			/** @deprecated */
			public forceLoad(): void;
			/** @deprecated */
			public registerListener(id: number, listener: android.content.Loader.OnLoadCompleteListener<D>): void;
			/** @deprecated */
			public startLoading(): void;
			/** @deprecated */
			public takeContentChanged(): boolean;
			/** @deprecated */
			public onCancelLoad(): boolean;
			/** @deprecated */
			public reset(): void;
			/** @deprecated */
			public unregisterListener(listener: android.content.Loader.OnLoadCompleteListener<D>): void;
			/** @deprecated */
			public unregisterOnLoadCanceledListener(listener: android.content.Loader.OnLoadCanceledListener<D>): void;
			/** @deprecated */
			public onStopLoading(): void;
			/** @deprecated */
			public isStarted(): boolean;
			/** @deprecated */
			public onForceLoad(): void;
			/** @deprecated */
			public dump(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
			/** @deprecated */
			public getId(): number;
			/** @deprecated */
			public isReset(): boolean;
			/** @deprecated */
			public onContentChanged(): void;
			/** @deprecated */
			public getContext(): android.content.Context;
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public deliverCancellation(): void;
			/** @deprecated */
			public deliverResult(data: D): void;
			/** @deprecated */
			public commitContentChanged(): void;
			/** @deprecated */
			public onAbandon(): void;
			/** @deprecated */
			public dataToString(data: D): string;
		}
		export module Loader {
			export class ForceLoadContentObserver extends android.database.ContentObserver {
				public static class: java.lang.Class<android.content.Loader.ForceLoadContentObserver>;
				public onChange(selfChange: boolean, uri: android.net.Uri): void;
				/** @deprecated */
				public constructor(this$0: android.content.Loader<any>);
				public constructor(handler: android.os.Handler);
				public onChange(selfChange: boolean, uri: android.net.Uri, flags: number): void;
				/** @deprecated */
				public onChange(selfChange: boolean): void;
				/** @deprecated */
				public deliverSelfNotifications(): boolean;
				public onChange(selfChange: boolean, uris: java.util.Collection<android.net.Uri>, flags: number): 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();
				/** @deprecated */
				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();
				/** @deprecated */
				public onLoadComplete(param0: android.content.Loader<D>, param1: D): void;
			}
		}
	}
}

declare module android {
	export module content {
		export class LocusId extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.LocusId>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.LocusId>;
			public getId(): string;
			public toString(): string;
			public equals(obj: any): boolean;
			public constructor(id: string);
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module content {
		export class MutableContextWrapper extends android.content.ContextWrapper {
			public static class: java.lang.Class<android.content.MutableContextWrapper>;
			public constructor();
			public constructor(base: android.content.Context);
			public setBaseContext(base: 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(message: string);
			public constructor(numSuccessfulYieldPoints: number);
			public getNumSuccessfulYieldPoints(): number;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(message: string, numSuccessfulYieldPoints: number);
		}
	}
}

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 toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(account: android.accounts.Account, authority: string, extras: android.os.Bundle, periodInSeconds: number);
		}
	}
}

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: "android:delete";
			public static FEATURE_DOWNLOAD: "android:download";
			public static FEATURE_EDIT: "android:edit";
			public static FEATURE_PRINT: "android:print";
			public static FEATURE_SEND: "android:send";
			public static FEATURE_VIEW: "android:view";
		}
	}
}

declare module android {
	export module content {
		export class ReceiverCallNotAllowedException extends android.util.AndroidRuntimeException {
			public static class: java.lang.Class<android.content.ReceiverCallNotAllowedException>;
			public constructor(cause: java.lang.Exception);
			public constructor(name: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: string);
		}
	}
}

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: 1;
			public static TYPE_BUNDLE: 7;
			public static TYPE_BUNDLE_ARRAY: 8;
			public static TYPE_CHOICE: 2;
			public static TYPE_INTEGER: 5;
			public static TYPE_MULTI_SELECT: 4;
			public static TYPE_NULL: 0;
			public static TYPE_STRING: 6;
			public getType(): number;
			public static createBundleArrayEntry(key: string, restrictionEntries: androidNative.Array<android.content.RestrictionEntry>): android.content.RestrictionEntry;
			public setChoiceEntries(context: android.content.Context, stringArrayResId: number): void;
			public constructor(key: string, selectedString: string);
			public constructor(type: number, key: string);
			public setRestrictions(restrictions: androidNative.Array<android.content.RestrictionEntry>): void;
			public getSelectedString(): string;
			public setChoiceEntries(choiceEntries: androidNative.Array<string>): void;
			public static createBundleEntry(key: string, restrictionEntries: androidNative.Array<android.content.RestrictionEntry>): android.content.RestrictionEntry;
			public getKey(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setChoiceValues(context: android.content.Context, stringArrayResId: number): void;
			public setIntValue(value: number): void;
			public constructor(key: string, selectedStrings: androidNative.Array<string>);
			public setDescription(description: string): void;
			public getAllSelectedStrings(): androidNative.Array<string>;
			public getSelectedState(): boolean;
			public getTitle(): string;
			public setChoiceValues(choiceValues: androidNative.Array<string>): void;
			public constructor(in_: android.os.Parcel);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(key: string, selectedState: boolean);
			public setSelectedString(selectedString: string): void;
			public getRestrictions(): androidNative.Array<android.content.RestrictionEntry>;
			public setTitle(title: string): void;
			public constructor(key: string, selectedInt: number);
			public getIntValue(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public getChoiceValues(): androidNative.Array<string>;
			public describeContents(): number;
			public setSelectedState(state: boolean): void;
			public setType(type: number): void;
			public setAllSelectedStrings(allSelectedStrings: androidNative.Array<string>): void;
			public getDescription(): string;
			public getChoiceEntries(): androidNative.Array<string>;
			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: "android.content.action.PERMISSION_RESPONSE_RECEIVED";
			public static ACTION_REQUEST_LOCAL_APPROVAL: "android.content.action.REQUEST_LOCAL_APPROVAL";
			public static ACTION_REQUEST_PERMISSION: "android.content.action.REQUEST_PERMISSION";
			public static EXTRA_PACKAGE_NAME: "android.content.extra.PACKAGE_NAME";
			public static EXTRA_REQUEST_BUNDLE: "android.content.extra.REQUEST_BUNDLE";
			public static EXTRA_REQUEST_ID: "android.content.extra.REQUEST_ID";
			public static EXTRA_REQUEST_TYPE: "android.content.extra.REQUEST_TYPE";
			public static EXTRA_RESPONSE_BUNDLE: "android.content.extra.RESPONSE_BUNDLE";
			public static META_DATA_APP_RESTRICTIONS: "android.content.APP_RESTRICTIONS";
			public static REQUEST_KEY_APPROVE_LABEL: "android.request.approve_label";
			public static REQUEST_KEY_DATA: "android.request.data";
			public static REQUEST_KEY_DENY_LABEL: "android.request.deny_label";
			public static REQUEST_KEY_ICON: "android.request.icon";
			public static REQUEST_KEY_ID: "android.request.id";
			public static REQUEST_KEY_MESSAGE: "android.request.mesg";
			public static REQUEST_KEY_NEW_REQUEST: "android.request.new_request";
			public static REQUEST_KEY_TITLE: "android.request.title";
			public static REQUEST_TYPE_APPROVAL: "android.request.type.approval";
			public static RESPONSE_KEY_ERROR_CODE: "android.response.errorcode";
			public static RESPONSE_KEY_MESSAGE: "android.response.msg";
			public static RESPONSE_KEY_RESPONSE_TIMESTAMP: "android.response.timestamp";
			public static RESPONSE_KEY_RESULT: "android.response.result";
			public static RESULT_APPROVED: 1;
			public static RESULT_DENIED: 2;
			public static RESULT_ERROR: 5;
			public static RESULT_ERROR_BAD_REQUEST: 1;
			public static RESULT_ERROR_INTERNAL: 3;
			public static RESULT_ERROR_NETWORK: 2;
			public static RESULT_NO_RESPONSE: 3;
			public static RESULT_UNKNOWN_REQUEST: 4;
			public static convertRestrictionsToBundle(entries: java.util.List<android.content.RestrictionEntry>): android.os.Bundle;
			public requestPermission(requestType: string, requestId: string, request: any): void;
			public hasRestrictionsProvider(): boolean;
			public getApplicationRestrictionsPerAdmin(): java.util.List<android.os.Bundle>;
			public getManifestRestrictions(packageName: string): java.util.List<android.content.RestrictionEntry>;
			public getApplicationRestrictions(): android.os.Bundle;
			public createLocalApprovalIntent(): android.content.Intent;
			public notifyPermissionResponse(packageName: string, response: 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: 2;
			public static DATABASE_MODE_QUERIES: 1;
			public insert(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): android.net.Uri;
			public delete(uri: android.net.Uri, extras: android.os.Bundle): number;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string): android.database.Cursor;
			public constructor();
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public setupSuggestions(authority: string, mode: number): void;
			public getType(uri: android.net.Uri): string;
			public onCreate(): boolean;
			public delete(uri: android.net.Uri, selection: string, selectionArgs: androidNative.Array<string>): number;
			public onTrimMemory(param0: number): void;
			public update(uri: android.net.Uri, values: android.content.ContentValues, selection: string, selectionArgs: androidNative.Array<string>): number;
			public update(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): number;
			public insert(uri: android.net.Uri, values: android.content.ContentValues): android.net.Uri;
		}
	}
}

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(name: android.content.ComponentName): void;
				onNullBinding(name: android.content.ComponentName): void;
			});
			public constructor();
			public onNullBinding(name: android.content.ComponentName): void;
			public onServiceDisconnected(param0: android.content.ComponentName): void;
			public onBindingDied(name: 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 constructor(authority: string, accountType: string, userVisible: boolean, supportsUploading: boolean);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public supportsUploading(): boolean;
			public isAlwaysSyncable(): boolean;
			public allowParallelSyncs(): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static newKey(authority: string, accountType: string): android.content.SyncAdapterType;
			public getSettingsActivity(): string;
			public isUserVisible(): boolean;
			public constructor(source: android.os.Parcel);
			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 getSyncContextBinder(): android.os.IBinder;
			public onFinished(result: android.content.SyncResult): void;
		}
	}
}

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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
			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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
			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 setDisallowMetered(disallow: boolean): android.content.SyncRequest.Builder;
				public setIgnoreBackoff(ignoreBackoff: boolean): android.content.SyncRequest.Builder;
				public setScheduleAsExpeditedJob(scheduleAsExpeditedJob: boolean): android.content.SyncRequest.Builder;
				public setManual(isManual: boolean): android.content.SyncRequest.Builder;
				public setSyncAdapter(account: android.accounts.Account, authority: string): android.content.SyncRequest.Builder;
				public build(): android.content.SyncRequest;
				public constructor();
				public setExpedited(expedited: boolean): android.content.SyncRequest.Builder;
				public setNoRetry(noRetry: boolean): android.content.SyncRequest.Builder;
				public setExtras(bundle: android.os.Bundle): android.content.SyncRequest.Builder;
				public setRequiresCharging(requiresCharging: boolean): android.content.SyncRequest.Builder;
				public syncPeriodic(pollFrequency: number, beforeSeconds: number): android.content.SyncRequest.Builder;
				public syncOnce(): android.content.SyncRequest.Builder;
				public setIgnoreSettings(ignoreSettings: 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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
			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(in_: android.os.Parcel);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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: -1;
			public constructor(code: number);
			public match(uri: android.net.Uri): number;
			public addURI(authority: string, path: string, code: number): void;
		}
	}
}

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: -9223372036854775808;
			public getUri(): android.net.Uri;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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 class UriRelativeFilter extends java.lang.Object {
			public static class: java.lang.Class<android.content.UriRelativeFilter>;
			public static FRAGMENT: 2;
			public static PATH: 0;
			public static QUERY: 1;
			public constructor(uriPart: number, patternType: number, filter: string);
			public getUriPart(): number;
			public toString(): string;
			public matchData(data: android.net.Uri): boolean;
			public equals(o: any): boolean;
			public getPatternType(): number;
			public getFilter(): string;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module content {
		export class UriRelativeFilterGroup extends java.lang.Object {
			public static class: java.lang.Class<android.content.UriRelativeFilterGroup>;
			public static ACTION_ALLOW: 0;
			public static ACTION_BLOCK: 1;
			public toString(): string;
			public matchData(data: android.net.Uri): boolean;
			public equals(o: any): boolean;
			public getUriRelativeFilters(): java.util.Collection<android.content.UriRelativeFilter>;
			public addUriRelativeFilter(uriRelativeFilter: android.content.UriRelativeFilter): void;
			public constructor(action: number);
			public getAction(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module content {
		export module om {
			export class FabricatedOverlay extends java.lang.Object {
				public static class: java.lang.Class<android.content.om.FabricatedOverlay>;
				public setNinePatchResourceValue(resourceName: string, value: android.os.ParcelFileDescriptor, configuration: string): void;
				public setResourceValue(resourceName: string, dataType: number, value: string, configuration: string): void;
				public setTargetOverlayable(targetOverlayable: string): void;
				public setResourceValue(resourceName: string, value: android.content.res.AssetFileDescriptor, configuration: string): void;
				public getIdentifier(): android.content.om.OverlayIdentifier;
				public constructor(overlayName: string, targetPackage: string);
				public setResourceValue(resourceName: string, dataType: number, value: number, configuration: string): void;
				public setResourceValue(resourceName: string, value: android.os.ParcelFileDescriptor, configuration: string): void;
			}
		}
	}
}

declare module android {
	export module content {
		export module om {
			export class OverlayIdentifier extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.om.OverlayIdentifier>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.om.OverlayIdentifier>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module content {
		export module om {
			export class OverlayInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.om.OverlayInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.om.OverlayInfo>;
				public getOverlayName(): string;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTargetOverlayableName(): string;
				public getOverlayIdentifier(): android.content.om.OverlayIdentifier;
				public describeContents(): number;
				public getTargetPackageName(): string;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module content {
		export module om {
			export class OverlayManager extends java.lang.Object {
				public static class: java.lang.Class<android.content.om.OverlayManager>;
				public getOverlayInfosForTarget(targetPackageName: string): java.util.List<android.content.om.OverlayInfo>;
				public commit(transaction: android.content.om.OverlayManagerTransaction): void;
			}
		}
	}
}

declare module android {
	export module content {
		export module om {
			export class OverlayManagerTransaction extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.om.OverlayManagerTransaction>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.om.OverlayManagerTransaction>;
				public static newInstance(): android.content.om.OverlayManagerTransaction;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public registerFabricatedOverlay(overlay: android.content.om.FabricatedOverlay): void;
				public unregisterFabricatedOverlay(overlay: android.content.om.OverlayIdentifier): void;
			}
		}
	}
}

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: 0;
				public static COLOR_MODE_HDR: 2;
				public static COLOR_MODE_WIDE_COLOR_GAMUT: 1;
				public static CONFIG_COLOR_MODE: 16384;
				public static CONFIG_DENSITY: 4096;
				public static CONFIG_FONT_SCALE: 1073741824;
				public static CONFIG_FONT_WEIGHT_ADJUSTMENT: 268435456;
				public static CONFIG_GRAMMATICAL_GENDER: 32768;
				public static CONFIG_KEYBOARD: 16;
				public static CONFIG_KEYBOARD_HIDDEN: 32;
				public static CONFIG_LAYOUT_DIRECTION: 8192;
				public static CONFIG_LOCALE: 4;
				public static CONFIG_MCC: 1;
				public static CONFIG_MNC: 2;
				public static CONFIG_NAVIGATION: 64;
				public static CONFIG_ORIENTATION: 128;
				public static CONFIG_SCREEN_LAYOUT: 256;
				public static CONFIG_SCREEN_SIZE: 1024;
				public static CONFIG_SMALLEST_SCREEN_SIZE: 2048;
				public static CONFIG_TOUCHSCREEN: 8;
				public static CONFIG_UI_MODE: 512;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ActivityInfo>;
				public static DOCUMENT_LAUNCH_ALWAYS: 2;
				public static DOCUMENT_LAUNCH_INTO_EXISTING: 1;
				public static DOCUMENT_LAUNCH_NEVER: 3;
				public static DOCUMENT_LAUNCH_NONE: 0;
				public static FLAG_ALLOW_TASK_REPARENTING: 64;
				public static FLAG_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING: 268435456;
				public static FLAG_ALWAYS_RETAIN_TASK_STATE: 8;
				public static FLAG_AUTO_REMOVE_FROM_RECENTS: 8192;
				public static FLAG_CLEAR_TASK_ON_LAUNCH: 4;
				public static FLAG_ENABLE_VR_MODE: 32768;
				public static FLAG_EXCLUDE_FROM_RECENTS: 32;
				public static FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS: 256;
				public static FLAG_FINISH_ON_TASK_LAUNCH: 2;
				public static FLAG_HARDWARE_ACCELERATED: 512;
				public static FLAG_IMMERSIVE: 2048;
				public static FLAG_MULTIPROCESS: 1;
				public static FLAG_NO_HISTORY: 128;
				public static FLAG_PREFER_MINIMAL_POST_PROCESSING: 33554432;
				public static FLAG_RELINQUISH_TASK_IDENTITY: 4096;
				public static FLAG_RESUME_WHILE_PAUSING: 16384;
				public static FLAG_SINGLE_USER: 1073741824;
				public static FLAG_STATE_NOT_NEEDED: 16;
				public static LAUNCH_MULTIPLE: 0;
				public static LAUNCH_SINGLE_INSTANCE: 3;
				public static LAUNCH_SINGLE_INSTANCE_PER_TASK: 4;
				public static LAUNCH_SINGLE_TASK: 2;
				public static LAUNCH_SINGLE_TOP: 1;
				public static PERSIST_ACROSS_REBOOTS: 2;
				public static PERSIST_NEVER: 1;
				public static PERSIST_ROOT_ONLY: 0;
				public static SCREEN_ORIENTATION_BEHIND: 3;
				public static SCREEN_ORIENTATION_FULL_SENSOR: 10;
				public static SCREEN_ORIENTATION_FULL_USER: 13;
				public static SCREEN_ORIENTATION_LANDSCAPE: 0;
				public static SCREEN_ORIENTATION_LOCKED: 14;
				public static SCREEN_ORIENTATION_NOSENSOR: 5;
				public static SCREEN_ORIENTATION_PORTRAIT: 1;
				public static SCREEN_ORIENTATION_REVERSE_LANDSCAPE: 8;
				public static SCREEN_ORIENTATION_REVERSE_PORTRAIT: 9;
				public static SCREEN_ORIENTATION_SENSOR: 4;
				public static SCREEN_ORIENTATION_SENSOR_LANDSCAPE: 6;
				public static SCREEN_ORIENTATION_SENSOR_PORTRAIT: 7;
				public static SCREEN_ORIENTATION_UNSPECIFIED: -1;
				public static SCREEN_ORIENTATION_USER: 2;
				public static SCREEN_ORIENTATION_USER_LANDSCAPE: 11;
				public static SCREEN_ORIENTATION_USER_PORTRAIT: 12;
				public static UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW: 1;
				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 requiredDisplayCategory: string;
				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 constructor(orig: android.content.pm.ComponentInfo);
				public constructor(orig: android.content.pm.PackageItemInfo);
				public getThemeResource(): number;
				public dump(pw: android.util.Printer, prefix: string): void;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(orig: android.content.pm.ActivityInfo);
				public toString(): string;
				public constructor(source: android.os.Parcel);
				public constructor();
				public getKnownActivityEmbeddingCerts(): java.util.Set<string>;
			}
			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(width: number, widthFraction: number, height: number, heightFraction: number, gravity: number, minWidth: number, minHeight: number);
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ApkChecksum extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ApkChecksum>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ApkChecksum>;
				public getValue(): androidNative.Array<number>;
				public getInstallerPackageName(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getInstallerCertificate(): java.security.cert.Certificate;
				public describeContents(): number;
				public getSplitName(): string;
				public toString(): string;
			}
		}
	}
}

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_ACCESSIBILITY: 8;
				public static CATEGORY_AUDIO: 1;
				public static CATEGORY_GAME: 0;
				public static CATEGORY_IMAGE: 3;
				public static CATEGORY_MAPS: 6;
				public static CATEGORY_NEWS: 5;
				public static CATEGORY_PRODUCTIVITY: 7;
				public static CATEGORY_SOCIAL: 4;
				public static CATEGORY_UNDEFINED: -1;
				public static CATEGORY_VIDEO: 2;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ApplicationInfo>;
				public static FLAG_ALLOW_BACKUP: 32768;
				public static FLAG_ALLOW_CLEAR_USER_DATA: 64;
				public static FLAG_ALLOW_TASK_REPARENTING: 32;
				public static FLAG_DEBUGGABLE: 2;
				public static FLAG_EXTERNAL_STORAGE: 262144;
				public static FLAG_EXTRACT_NATIVE_LIBS: 268435456;
				public static FLAG_FACTORY_TEST: 16;
				public static FLAG_FULL_BACKUP_ONLY: 67108864;
				public static FLAG_HARDWARE_ACCELERATED: 536870912;
				public static FLAG_HAS_CODE: 4;
				public static FLAG_INSTALLED: 8388608;
				public static FLAG_IS_DATA_ONLY: 16777216;
				public static FLAG_IS_GAME: 33554432;
				public static FLAG_KILL_AFTER_RESTORE: 65536;
				public static FLAG_LARGE_HEAP: 1048576;
				public static FLAG_MULTIARCH: -2147483648;
				public static FLAG_PERSISTENT: 8;
				public static FLAG_RESIZEABLE_FOR_SCREENS: 4096;
				public static FLAG_RESTORE_ANY_VERSION: 131072;
				public static FLAG_STOPPED: 2097152;
				public static FLAG_SUPPORTS_LARGE_SCREENS: 2048;
				public static FLAG_SUPPORTS_NORMAL_SCREENS: 1024;
				public static FLAG_SUPPORTS_RTL: 4194304;
				public static FLAG_SUPPORTS_SCREEN_DENSITIES: 8192;
				public static FLAG_SUPPORTS_SMALL_SCREENS: 512;
				public static FLAG_SUPPORTS_XLARGE_SCREENS: 524288;
				public static FLAG_SUSPENDED: 1073741824;
				public static FLAG_SYSTEM: 1;
				public static FLAG_TEST_ONLY: 256;
				public static FLAG_UPDATED_SYSTEM_APP: 128;
				public static FLAG_USES_CLEARTEXT_TRAFFIC: 134217728;
				public static FLAG_VM_SAFE_MODE: 16384;
				public static GWP_ASAN_ALWAYS: 1;
				public static GWP_ASAN_DEFAULT: -1;
				public static GWP_ASAN_NEVER: 0;
				public static MEMTAG_ASYNC: 1;
				public static MEMTAG_DEFAULT: -1;
				public static MEMTAG_OFF: 0;
				public static MEMTAG_SYNC: 2;
				public static RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT: 0;
				public static RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED: 2;
				public static RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED: 1;
				public static ZEROINIT_DEFAULT: -1;
				public static ZEROINIT_DISABLED: 0;
				public static ZEROINIT_ENABLED: 1;
				public appComponentFactory: string;
				public backupAgentName: string;
				public category: number;
				public className: string;
				public compatibleWidthLimitDp: number;
				public compileSdkVersion: number;
				public compileSdkVersionCodename: string;
				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: androidNative.Array<string>;
				public sourceDir: string;
				public splitNames: androidNative.Array<string>;
				public splitPublicSourceDirs: androidNative.Array<string>;
				public splitSourceDirs: androidNative.Array<string>;
				public storageUuid: java.util.UUID;
				public targetSdkVersion: number;
				public taskAffinity: string;
				public theme: number;
				public uiOptions: number;
				public uid: number;
				public constructor(orig: android.content.pm.PackageItemInfo);
				public getGwpAsanMode(): number;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(orig: android.content.pm.ApplicationInfo);
				public isProfileable(): boolean;
				public getRequestRawExternalStorageAccess(): number;
				public static getCategoryTitle(context: android.content.Context, category: number): string;
				public getMemtagMode(): number;
				public toString(): string;
				public constructor(source: android.os.Parcel);
				public loadDescription(pm: android.content.pm.PackageManager): string;
				public isVirtualPreload(): boolean;
				public constructor();
				public getNativeHeapZeroInitialized(): number;
				public dump(pw: android.util.Printer, prefix: string): void;
				public isProfileableByShell(): boolean;
				public describeContents(): number;
				public isResourceOverlay(): boolean;
				public areAttributionsUserVisible(): boolean;
				public getKnownActivityEmbeddingCerts(): java.util.Set<string>;
			}
			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 nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparing(other: java.util.Comparator<any>): java.util.Comparator<any>;
					public static reverseOrder(): java.util.Comparator<any>;
					public static comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public constructor(pm: android.content.pm.PackageManager);
					public static comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public equals(param0: any): boolean;
					public reversed(): java.util.Comparator<any>;
					public thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static naturalOrder(): java.util.Comparator<any>;
					public compare(aa: android.content.pm.ApplicationInfo, ab: android.content.pm.ApplicationInfo): number;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ArchivedActivityInfo extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.ArchivedActivityInfo>;
				public setComponentName(value: android.content.ComponentName): android.content.pm.ArchivedActivityInfo;
				public getLabel(): string;
				public setMonochromeIcon(value: android.graphics.drawable.Drawable): android.content.pm.ArchivedActivityInfo;
				public getComponentName(): android.content.ComponentName;
				public constructor(label: string, componentName: android.content.ComponentName);
				public setLabel(value: string): android.content.pm.ArchivedActivityInfo;
				public getIcon(): android.graphics.drawable.Drawable;
				public setIcon(value: android.graphics.drawable.Drawable): android.content.pm.ArchivedActivityInfo;
				public getMonochromeIcon(): android.graphics.drawable.Drawable;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ArchivedPackageInfo extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.ArchivedPackageInfo>;
				public getRequestLegacyExternalStorage(): string;
				public getSigningInfo(): android.content.pm.SigningInfo;
				public setSigningInfo(value: android.content.pm.SigningInfo): android.content.pm.ArchivedPackageInfo;
				public setVersionCode(value: number): android.content.pm.ArchivedPackageInfo;
				public setUserDataFragile(value: string): android.content.pm.ArchivedPackageInfo;
				public getPackageName(): string;
				public getTargetSdkVersion(): number;
				public setPackageName(value: string): android.content.pm.ArchivedPackageInfo;
				public getVersionCode(): number;
				public setDefaultToDeviceProtectedStorage(value: string): android.content.pm.ArchivedPackageInfo;
				public getVersionCodeMajor(): number;
				public setTargetSdkVersion(value: number): android.content.pm.ArchivedPackageInfo;
				public setRequestLegacyExternalStorage(value: string): android.content.pm.ArchivedPackageInfo;
				public setVersionCodeMajor(value: number): android.content.pm.ArchivedPackageInfo;
				public constructor(packageName: string, signingInfo: android.content.pm.SigningInfo, launcherActivities: java.util.List<android.content.pm.ArchivedActivityInfo>);
				public getUserDataFragile(): string;
				public getLauncherActivities(): java.util.List<android.content.pm.ArchivedActivityInfo>;
				public setLauncherActivities(value: java.util.List<android.content.pm.ArchivedActivityInfo>): android.content.pm.ArchivedPackageInfo;
				public getDefaultToDeviceProtectedStorage(): string;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class Attribution extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.Attribution>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.Attribution>;
				public getLabel(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTag(): string;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class Capability extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.Capability>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.Capability>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getName(): string;
			}
			export module Capability {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.Capability.Builder>;
					public constructor(name: string);
					public build(): android.content.pm.Capability;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class CapabilityParams extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.CapabilityParams>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.CapabilityParams>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getValue(): string;
				public describeContents(): number;
				public getName(): string;
				public getAliases(): java.util.List<string>;
			}
			export module CapabilityParams {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.CapabilityParams.Builder>;
					public constructor(key: string, value: string);
					public addAlias(alias: string): android.content.pm.CapabilityParams.Builder;
					public build(): android.content.pm.CapabilityParams;
				}
			}
		}
	}
}

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(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(sequenceNumber: number, packageNames: java.util.List<string>);
				public getSequenceNumber(): number;
				public getPackageNames(): java.util.List<string>;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class Checksum extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.Checksum>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.Checksum>;
				public static TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256: 32;
				public static TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512: 64;
				public static TYPE_WHOLE_MD5: 2;
				public static TYPE_WHOLE_MERKLE_ROOT_4K_SHA256: 1;
				public static TYPE_WHOLE_SHA1: 4;
				public static TYPE_WHOLE_SHA256: 8;
				public static TYPE_WHOLE_SHA512: 16;
				public getValue(): androidNative.Array<number>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(type: number, value: androidNative.Array<number>);
			}
		}
	}
}

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 attributionTags: androidNative.Array<string>;
				public descriptionRes: number;
				public directBootAware: boolean;
				public enabled: boolean;
				public exported: boolean;
				public processName: string;
				public splitName: string;
				public constructor(orig: android.content.pm.PackageItemInfo);
				public constructor(orig: android.content.pm.ComponentInfo);
				public getLogoResource(): number;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public getBannerResource(): number;
				public isEnabled(): boolean;
				public getIconResource(): number;
				public constructor(source: android.os.Parcel);
				public dumpBack(pw: android.util.Printer, prefix: string): void;
				public constructor();
				public dumpFront(pw: android.util.Printer, prefix: string): void;
			}
		}
	}
}

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: 0;
				public static INPUT_FEATURE_FIVE_WAY_NAV: 2;
				public static INPUT_FEATURE_HARD_KEYBOARD: 1;
				public reqGlEsVersion: number;
				public reqInputFeatures: number;
				public reqKeyboardType: number;
				public reqNavigation: number;
				public reqTouchScreen: number;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getGlEsVersion(): string;
				public describeContents(): number;
				public toString(): string;
				public constructor();
				public constructor(orig: android.content.pm.ConfigurationInfo);
			}
		}
	}
}

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 static ACTION_CAN_INTERACT_ACROSS_PROFILES_CHANGED: "android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED";
				public startMainActivity(component: android.content.ComponentName, targetUser: android.os.UserHandle): void;
				public startMainActivity(component: android.content.ComponentName, targetUser: android.os.UserHandle, callingActivity: android.app.Activity, options: android.os.Bundle): void;
				public createRequestInteractAcrossProfilesIntent(): android.content.Intent;
				public getProfileSwitchingLabel(userHandle: android.os.UserHandle): string;
				public canInteractAcrossProfiles(): boolean;
				public getTargetUserProfiles(): java.util.List<android.os.UserHandle>;
				public isProfile(userHandle: android.os.UserHandle): boolean;
				public startActivity(intent: android.content.Intent, targetUser: android.os.UserHandle, callingActivity: android.app.Activity, options: android.os.Bundle): void;
				public startActivity(intent: android.content.Intent, targetUser: android.os.UserHandle, callingActivity: android.app.Activity): void;
				public getProfileSwitchingIconDrawable(userHandle: android.os.UserHandle): android.graphics.drawable.Drawable;
				public isManagedProfile(userHandle: android.os.UserHandle): boolean;
				public canRequestInteractAcrossProfiles(): boolean;
			}
		}
	}
}

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: androidNative.Array<android.content.pm.FeatureInfo>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(other: android.content.pm.FeatureGroupInfo);
				public describeContents(): number;
				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: 1;
				public static GL_ES_VERSION_UNDEFINED: 0;
				public flags: number;
				public name: string;
				public reqGlEsVersion: number;
				public version: number;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getGlEsVersion(): string;
				public describeContents(): number;
				public toString(): string;
				public constructor(orig: android.content.pm.FeatureInfo);
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class InstallSourceInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.InstallSourceInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.InstallSourceInfo>;
				public getInstallingPackageName(): string;
				public getPackageSource(): number;
				public getUpdateOwnerPackageName(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getInitiatingPackageName(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getInitiatingPackageSigningInfo(): android.content.pm.SigningInfo;
				public getOriginatingPackageName(): string;
			}
		}
	}
}

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: androidNative.Array<string>;
				public splitPublicSourceDirs: androidNative.Array<string>;
				public splitSourceDirs: androidNative.Array<string>;
				public targetPackage: string;
				public targetProcesses: string;
				public constructor(orig: android.content.pm.PackageItemInfo);
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(orig: android.content.pm.InstrumentationInfo);
				public toString(): string;
				public constructor(source: android.os.Parcel);
				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(action: string);
				public constructor(action: string, uri: android.net.Uri, packageContext: android.content.Context, cls: java.lang.Class<any>);
				public constructor(o: android.content.Intent);
				public constructor(packageContext: android.content.Context, cls: java.lang.Class<any>);
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(origIntent: android.content.Intent, sourcePackage: string, labelRes: number, icon: number);
				public constructor(sourcePackage: string, nonLocalizedLabel: string, icon: number);
				public loadLabel(pm: android.content.pm.PackageManager): string;
				public getIconResource(): number;
				public loadIcon(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public readFromParcel(in_: android.os.Parcel): void;
				public getSourcePackage(): string;
				public constructor();
				public getNonLocalizedLabel(): string;
				public constructor(action: string, uri: android.net.Uri);
				public getLabelResource(): number;
				public describeContents(): number;
				public constructor(sourcePackage: string, labelRes: number, icon: number);
				public constructor(origIntent: android.content.Intent, sourcePackage: string, nonLocalizedLabel: string, icon: number);
			}
		}
	}
}

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 getBadgedIcon(density: number): android.graphics.drawable.Drawable;
				public getActivityInfo(): android.content.pm.ActivityInfo;
				public getLabel(): string;
				public getLoadingProgress(): number;
				public getApplicationInfo(): android.content.pm.ApplicationInfo;
				public getFirstInstallTime(): number;
				public getComponentName(): android.content.ComponentName;
				public getName(): string;
				public getIcon(density: 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: "android.content.pm.action.CONFIRM_PIN_APPWIDGET";
				public static ACTION_CONFIRM_PIN_SHORTCUT: "android.content.pm.action.CONFIRM_PIN_SHORTCUT";
				public static EXTRA_PIN_ITEM_REQUEST: "android.content.pm.extra.PIN_ITEM_REQUEST";
				public getActivityList(packageName: string, user: android.os.UserHandle): java.util.List<android.content.pm.LauncherActivityInfo>;
				public getAppMarketActivityIntent(packageName: string, user: android.os.UserHandle): android.content.IntentSender;
				public startShortcut(shortcut: any, sourceBounds: android.graphics.Rect, startActivityOptions: android.os.Bundle): void;
				public getShortcutConfigActivityList(packageName: string, user: android.os.UserHandle): java.util.List<android.content.pm.LauncherActivityInfo>;
				public registerPackageInstallerSessionCallback(executor: java.util.concurrent.Executor, callback: android.content.pm.PackageInstaller.SessionCallback): void;
				public pinShortcuts(packageName: string, shortcutIds: java.util.List<string>, user: android.os.UserHandle): void;
				public getSuspendedPackageLauncherExtras(packageName: string, user: android.os.UserHandle): android.os.Bundle;
				public getShortcuts(query: android.content.pm.LauncherApps.ShortcutQuery, user: android.os.UserHandle): java.util.List<any>;
				public registerCallback(callback: android.content.pm.LauncherApps.Callback): void;
				public unregisterPackageInstallerSessionCallback(callback: android.content.pm.PackageInstaller.SessionCallback): void;
				public getPreInstalledSystemPackages(userHandle: android.os.UserHandle): java.util.List<string>;
				public getAllPackageInstallerSessions(): java.util.List<android.content.pm.PackageInstaller.SessionInfo>;
				public getPinItemRequest(intent: android.content.Intent): android.content.pm.LauncherApps.PinItemRequest;
				public isPackageEnabled(packageName: string, user: android.os.UserHandle): boolean;
				public getShortcutIconDrawable(shortcut: any, density: number): android.graphics.drawable.Drawable;
				public getProfiles(): java.util.List<android.os.UserHandle>;
				public getApplicationInfo(packageName: string, flags: number, user: android.os.UserHandle): android.content.pm.ApplicationInfo;
				public hasShortcutHostPermission(): boolean;
				public startAppDetailsActivity(component: android.content.ComponentName, user: android.os.UserHandle, sourceBounds: android.graphics.Rect, opts: android.os.Bundle): void;
				public startPackageInstallerSessionDetailsActivity(sessionInfo: android.content.pm.PackageInstaller.SessionInfo, sourceBounds: android.graphics.Rect, opts: android.os.Bundle): void;
				public getLauncherUserInfo(userHandle: android.os.UserHandle): android.content.pm.LauncherUserInfo;
				public isActivityEnabled(component: android.content.ComponentName, user: android.os.UserHandle): boolean;
				public getShortcutBadgedIconDrawable(shortcut: any, density: number): android.graphics.drawable.Drawable;
				public resolveActivity(intent: android.content.Intent, user: android.os.UserHandle): android.content.pm.LauncherActivityInfo;
				public startShortcut(packageName: string, shortcutId: string, sourceBounds: android.graphics.Rect, startActivityOptions: android.os.Bundle, user: android.os.UserHandle): void;
				public unregisterCallback(callback: android.content.pm.LauncherApps.Callback): void;
				public startMainActivity(component: android.content.ComponentName, user: android.os.UserHandle, sourceBounds: android.graphics.Rect, opts: android.os.Bundle): void;
				public shouldHideFromSuggestions(packageName: string, user: android.os.UserHandle): boolean;
				public registerCallback(callback: android.content.pm.LauncherApps.Callback, handler: android.os.Handler): void;
				public getShortcutIntent(packageName: string, shortcutId: string, opts: android.os.Bundle, user: android.os.UserHandle): android.app.PendingIntent;
				public setArchiveCompatibility(params: android.content.pm.LauncherApps.ArchiveCompatibilityParams): void;
				public getShortcutConfigActivityIntent(info: android.content.pm.LauncherActivityInfo): android.content.IntentSender;
			}
			export module LauncherApps {
				export class ArchiveCompatibilityParams extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.LauncherApps.ArchiveCompatibilityParams>;
					public constructor();
					public setEnableIconOverlay(enableIconOverlay: boolean): void;
					public setEnableUnarchivalConfirmation(enableUnarchivalConfirmation: boolean): void;
				}
				export abstract class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.LauncherApps.Callback>;
					public onPackagesSuspended(packageNames: androidNative.Array<string>, user: android.os.UserHandle): void;
					public constructor();
					public onPackagesUnsuspended(packageNames: androidNative.Array<string>, user: android.os.UserHandle): void;
					public onPackagesAvailable(param0: androidNative.Array<string>, param1: android.os.UserHandle, param2: boolean): void;
					public onPackagesUnavailable(param0: androidNative.Array<string>, param1: android.os.UserHandle, param2: boolean): void;
					/** @deprecated */
					public onPackagesSuspended(packageNames: androidNative.Array<string>, user: android.os.UserHandle, launcherExtras: android.os.Bundle): void;
					public onPackageRemoved(param0: string, param1: android.os.UserHandle): void;
					public onPackageLoadingProgressChanged(packageName: string, user: android.os.UserHandle, progress: number): void;
					public onShortcutsChanged(packageName: string, shortcuts: java.util.List<any>, user: android.os.UserHandle): void;
					public onPackageChanged(param0: string, param1: android.os.UserHandle): void;
					public onPackageAdded(param0: 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: 2;
					public static REQUEST_TYPE_SHORTCUT: 1;
					public getRequestType(): number;
					public getShortcutInfo(): any;
					public accept(options: android.os.Bundle): boolean;
					public accept(): boolean;
					public getAppWidgetProviderInfo(context: android.content.Context): android.appwidget.AppWidgetProviderInfo;
					public isValid(): boolean;
					public describeContents(): number;
					public getExtras(): android.os.Bundle;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					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: 4;
					public static FLAG_MATCH_CACHED: 16;
					public static FLAG_MATCH_DYNAMIC: 1;
					public static FLAG_MATCH_MANIFEST: 8;
					public static FLAG_MATCH_PINNED: 2;
					public static FLAG_MATCH_PINNED_BY_ANY_LAUNCHER: 1024;
					public setShortcutIds(shortcutIds: java.util.List<string>): android.content.pm.LauncherApps.ShortcutQuery;
					public constructor();
					public setLocusIds(locusIds: java.util.List<android.content.LocusId>): android.content.pm.LauncherApps.ShortcutQuery;
					public setActivity(activity: android.content.ComponentName): android.content.pm.LauncherApps.ShortcutQuery;
					public setQueryFlags(queryFlags: number): android.content.pm.LauncherApps.ShortcutQuery;
					public setPackage(packageName: string): android.content.pm.LauncherApps.ShortcutQuery;
					public setChangedSince(changedSince: number): android.content.pm.LauncherApps.ShortcutQuery;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class LauncherUserInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.LauncherUserInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.LauncherUserInfo>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getUserSerialNumber(): number;
				public describeContents(): number;
				public getUserType(): string;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ModuleInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ModuleInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ModuleInfo>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public describeContents(): number;
				public getName(): string;
				public isHidden(): boolean;
				public toString(): string;
			}
		}
	}
}

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: 0;
				public static INSTALL_LOCATION_INTERNAL_ONLY: 1;
				public static INSTALL_LOCATION_PREFER_EXTERNAL: 2;
				public static REQUESTED_PERMISSION_GRANTED: 2;
				public static REQUESTED_PERMISSION_IMPLICIT: 4;
				public static REQUESTED_PERMISSION_NEVER_FOR_LOCATION: 65536;
				public activities: androidNative.Array<android.content.pm.ActivityInfo>;
				public applicationInfo: android.content.pm.ApplicationInfo;
				public attributions: androidNative.Array<android.content.pm.Attribution>;
				public baseRevisionCode: number;
				public configPreferences: androidNative.Array<android.content.pm.ConfigurationInfo>;
				public featureGroups: androidNative.Array<android.content.pm.FeatureGroupInfo>;
				public firstInstallTime: number;
				public gids: androidNative.Array<number>;
				public installLocation: number;
				public instrumentation: androidNative.Array<android.content.pm.InstrumentationInfo>;
				public isApex: boolean;
				public lastUpdateTime: number;
				public packageName: string;
				public permissions: androidNative.Array<android.content.pm.PermissionInfo>;
				public providers: androidNative.Array<android.content.pm.ProviderInfo>;
				public receivers: androidNative.Array<android.content.pm.ActivityInfo>;
				public reqFeatures: androidNative.Array<android.content.pm.FeatureInfo>;
				public requestedPermissions: androidNative.Array<string>;
				public requestedPermissionsFlags: androidNative.Array<number>;
				public services: androidNative.Array<android.content.pm.ServiceInfo>;
				public sharedUserId: string;
				public sharedUserLabel: number;
				public signatures: androidNative.Array<android.content.pm.Signature>;
				public signingInfo: android.content.pm.SigningInfo;
				public splitNames: androidNative.Array<string>;
				public splitRevisionCodes: androidNative.Array<number>;
				public versionCode: number;
				public versionName: string;
				public setLongVersionCode(longVersionCode: number): void;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getArchiveTimeMillis(): number;
				public getApexPackageName(): string;
				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: "android.content.pm.action.SESSION_COMMITTED";
				public static ACTION_SESSION_DETAILS: "android.content.pm.action.SESSION_DETAILS";
				public static ACTION_SESSION_UPDATED: "android.content.pm.action.SESSION_UPDATED";
				public static EXTRA_INSTALL_CONSTRAINTS: "android.content.pm.extra.INSTALL_CONSTRAINTS";
				public static EXTRA_INSTALL_CONSTRAINTS_RESULT: "android.content.pm.extra.INSTALL_CONSTRAINTS_RESULT";
				public static EXTRA_OTHER_PACKAGE_NAME: "android.content.pm.extra.OTHER_PACKAGE_NAME";
				public static EXTRA_PACKAGE_NAME: "android.content.pm.extra.PACKAGE_NAME";
				public static EXTRA_PRE_APPROVAL: "android.content.pm.extra.PRE_APPROVAL";
				public static EXTRA_SESSION: "android.content.pm.extra.SESSION";
				public static EXTRA_SESSION_ID: "android.content.pm.extra.SESSION_ID";
				public static EXTRA_STATUS: "android.content.pm.extra.STATUS";
				public static EXTRA_STATUS_MESSAGE: "android.content.pm.extra.STATUS_MESSAGE";
				public static EXTRA_STORAGE_PATH: "android.content.pm.extra.STORAGE_PATH";
				public static EXTRA_UNARCHIVE_ALL_USERS: "android.content.pm.extra.UNARCHIVE_ALL_USERS";
				public static EXTRA_UNARCHIVE_ID: "android.content.pm.extra.UNARCHIVE_ID";
				public static EXTRA_UNARCHIVE_PACKAGE_NAME: "android.content.pm.extra.UNARCHIVE_PACKAGE_NAME";
				public static EXTRA_UNARCHIVE_STATUS: "android.content.pm.extra.UNARCHIVE_STATUS";
				public static PACKAGE_SOURCE_DOWNLOADED_FILE: 4;
				public static PACKAGE_SOURCE_LOCAL_FILE: 3;
				public static PACKAGE_SOURCE_OTHER: 1;
				public static PACKAGE_SOURCE_STORE: 2;
				public static PACKAGE_SOURCE_UNSPECIFIED: 0;
				public static STATUS_FAILURE: 1;
				public static STATUS_FAILURE_ABORTED: 3;
				public static STATUS_FAILURE_BLOCKED: 2;
				public static STATUS_FAILURE_CONFLICT: 5;
				public static STATUS_FAILURE_INCOMPATIBLE: 7;
				public static STATUS_FAILURE_INVALID: 4;
				public static STATUS_FAILURE_STORAGE: 6;
				public static STATUS_FAILURE_TIMEOUT: 8;
				public static STATUS_PENDING_USER_ACTION: -1;
				public static STATUS_SUCCESS: 0;
				public static UNARCHIVAL_ERROR_INSTALLER_DISABLED: 4;
				public static UNARCHIVAL_ERROR_INSTALLER_UNINSTALLED: 5;
				public static UNARCHIVAL_ERROR_INSUFFICIENT_STORAGE: 2;
				public static UNARCHIVAL_ERROR_NO_CONNECTIVITY: 3;
				public static UNARCHIVAL_ERROR_USER_ACTION_NEEDED: 1;
				public static UNARCHIVAL_GENERIC_ERROR: 100;
				public static UNARCHIVAL_OK: 0;
				public registerSessionCallback(callback: android.content.pm.PackageInstaller.SessionCallback, handler: android.os.Handler): void;
				public requestArchive(packageName: string, statusReceiver: 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 registerSessionCallback(callback: android.content.pm.PackageInstaller.SessionCallback): void;
				public requestUnarchive(packageName: string, statusReceiver: android.content.IntentSender): void;
				public getStagedSessions(): java.util.List<android.content.pm.PackageInstaller.SessionInfo>;
				public uninstall(versionedPackage: android.content.pm.VersionedPackage, flags: number, statusReceiver: android.content.IntentSender): void;
				public installExistingPackage(packageName: string, installReason: number, statusReceiver: android.content.IntentSender): void;
				public getSessionInfo(sessionId: number): android.content.pm.PackageInstaller.SessionInfo;
				public uninstall(versionedPackage: android.content.pm.VersionedPackage, statusReceiver: android.content.IntentSender): void;
				public reportUnarchivalState(unarchivalState: android.content.pm.PackageInstaller.UnarchivalState): void;
				public updateSessionAppLabel(sessionId: number, appLabel: string): void;
				public unregisterSessionCallback(callback: android.content.pm.PackageInstaller.SessionCallback): void;
				public getActiveStagedSessions(): java.util.List<android.content.pm.PackageInstaller.SessionInfo>;
				public installPackageArchived(archivedPackageInfo: android.content.pm.ArchivedPackageInfo, sessionParams: android.content.pm.PackageInstaller.SessionParams, statusReceiver: android.content.IntentSender): void;
				public createSession(params: android.content.pm.PackageInstaller.SessionParams): number;
				public openSession(sessionId: number): android.content.pm.PackageInstaller.Session;
				/** @deprecated */
				public getActiveStagedSession(): android.content.pm.PackageInstaller.SessionInfo;
				public checkInstallConstraints(packageNames: java.util.List<string>, constraints: android.content.pm.PackageInstaller.InstallConstraints, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public updateSessionAppIcon(sessionId: number, appIcon: android.graphics.Bitmap): void;
				public uninstall(packageName: string, statusReceiver: android.content.IntentSender): void;
				public abandonSession(sessionId: number): void;
				public uninstallExistingPackage(packageName: string, statusReceiver: android.content.IntentSender): void;
				public commitSessionAfterInstallConstraintsAreMet(sessionId: number, statusReceiver: android.content.IntentSender, constraints: android.content.pm.PackageInstaller.InstallConstraints, timeoutMillis: number): void;
				public waitForInstallConstraints(packageNames: java.util.List<string>, constraints: android.content.pm.PackageInstaller.InstallConstraints, callback: android.content.IntentSender, timeoutMillis: number): void;
				public reportUnarchivalStatus(unarchiveId: number, status: number, requiredStorageBytes: number, userActionIntent: android.app.PendingIntent): void;
			}
			export module PackageInstaller {
				export class InstallConstraints extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.InstallConstraints>;
					public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageInstaller.InstallConstraints>;
					public static GENTLE_UPDATE: android.content.pm.PackageInstaller.InstallConstraints;
					public isNotInCallRequired(): boolean;
					public isAppNotForegroundRequired(): boolean;
					public describeContents(): number;
					public isAppNotTopVisibleRequired(): boolean;
					public isAppNotInteractingRequired(): boolean;
					public equals(o: any): boolean;
					public hashCode(): number;
					public isDeviceIdleRequired(): boolean;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module InstallConstraints {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.content.pm.PackageInstaller.InstallConstraints.Builder>;
						public constructor();
						public setDeviceIdleRequired(): android.content.pm.PackageInstaller.InstallConstraints.Builder;
						public setNotInCallRequired(): android.content.pm.PackageInstaller.InstallConstraints.Builder;
						public setAppNotForegroundRequired(): android.content.pm.PackageInstaller.InstallConstraints.Builder;
						public build(): android.content.pm.PackageInstaller.InstallConstraints;
						public setAppNotInteractingRequired(): android.content.pm.PackageInstaller.InstallConstraints.Builder;
						public setAppNotTopVisibleRequired(): android.content.pm.PackageInstaller.InstallConstraints.Builder;
					}
				}
				export class InstallConstraintsResult extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.InstallConstraintsResult>;
					public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageInstaller.InstallConstraintsResult>;
					public describeContents(): number;
					public areAllConstraintsSatisfied(): boolean;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export class PreapprovalDetails extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.PreapprovalDetails>;
					public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageInstaller.PreapprovalDetails>;
					public getLabel(): string;
					public toString(): string;
					public getIcon(): android.graphics.Bitmap;
					public getPackageName(): string;
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getLocale(): android.icu.util.ULocale;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module PreapprovalDetails {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.content.pm.PackageInstaller.PreapprovalDetails.Builder>;
						public build(): android.content.pm.PackageInstaller.PreapprovalDetails;
						public constructor();
						public setIcon(value: android.graphics.Bitmap): android.content.pm.PackageInstaller.PreapprovalDetails.Builder;
						public setLabel(value: string): android.content.pm.PackageInstaller.PreapprovalDetails.Builder;
						public setLocale(value: android.icu.util.ULocale): android.content.pm.PackageInstaller.PreapprovalDetails.Builder;
						public setPackageName(value: string): android.content.pm.PackageInstaller.PreapprovalDetails.Builder;
					}
				}
				export class Session extends java.lang.Object implements java.io.Closeable {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.Session>;
					public isMultiPackage(): boolean;
					public removeChildSessionId(sessionId: number): void;
					public setAppMetadata(data: any): void;
					public removeSplit(splitName: string): void;
					public openWrite(name: string, offsetBytes: number, lengthBytes: number): java.io.OutputStream;
					public setStagingProgress(progress: number): void;
					public commit(statusReceiver: android.content.IntentSender): void;
					public abandon(): void;
					public addChildSessionId(sessionId: number): void;
					public requestUserPreapproval(details: android.content.pm.PackageInstaller.PreapprovalDetails, statusReceiver: android.content.IntentSender): void;
					public getParentSessionId(): number;
					public fsync(out: java.io.OutputStream): void;
					/** @deprecated */
					public setChecksums(name: string, checksums: java.util.List<android.content.pm.Checksum>, signature: androidNative.Array<number>): void;
					public requestChecksums(name: string, required: number, trustedInstallers: java.util.List<java.security.cert.Certificate>, executor: java.util.concurrent.Executor, onChecksumsReadyListener: android.content.pm.PackageManager.OnChecksumsReadyListener): void;
					public isStaged(): boolean;
					public openRead(name: string): java.io.InputStream;
					public transfer(packageName: string): void;
					public close(): void;
					public getAppMetadata(): any;
					public isRequestUpdateOwnership(): boolean;
					public isApplicationEnabledSettingPersistent(): boolean;
					public getChildSessionIds(): androidNative.Array<number>;
					public getNames(): androidNative.Array<string>;
				}
				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 static INVALID_ID: -1;
					public static SESSION_ACTIVATION_FAILED: 2;
					public static SESSION_CONFLICT: 4;
					public static SESSION_NO_ERROR: 0;
					public static SESSION_UNKNOWN_ERROR: 3;
					public static SESSION_VERIFICATION_FAILED: 1;
					public static STAGED_SESSION_ACTIVATION_FAILED: 2;
					public static STAGED_SESSION_CONFLICT: 4;
					public static STAGED_SESSION_NO_ERROR: 0;
					public static STAGED_SESSION_UNKNOWN: 3;
					public static STAGED_SESSION_VERIFICATION_FAILED: 1;
					public getUser(): android.os.UserHandle;
					public isUnarchival(): boolean;
					public isStagedSessionReady(): boolean;
					public getInstallerAttributionTag(): string;
					public getSize(): number;
					public getOriginatingUid(): number;
					public getInstallerPackageName(): string;
					public isStagedSessionFailed(): boolean;
					public isStaged(): boolean;
					public isRequestUpdateOwnership(): boolean;
					public isApplicationEnabledSettingPersistent(): boolean;
					public getAppLabel(): string;
					public getSessionId(): number;
					public getReferrerUri(): android.net.Uri;
					public hasParentSessionId(): boolean;
					public isStagedSessionActive(): boolean;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
					public isStagedSessionApplied(): boolean;
					public isMultiPackage(): boolean;
					public getAppPackageName(): string;
					public getAppIcon(): android.graphics.Bitmap;
					public getInstallLocation(): number;
					public getPackageSource(): number;
					public describeContents(): number;
					public getInstallerUid(): number;
					public getStagedSessionErrorMessage(): string;
					public createDetailsIntent(): android.content.Intent;
					public isSealed(): boolean;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getInstallReason(): number;
					public getRequireUserAction(): number;
					public getProgress(): number;
					public isActive(): boolean;
					public getParentSessionId(): number;
					public getStagedSessionErrorCode(): number;
					public isCommitted(): boolean;
					public isPreApprovalRequested(): boolean;
					public getCreatedMillis(): number;
					public getUpdatedMillis(): number;
					public getOriginatingUri(): android.net.Uri;
					public getChildSessionIds(): androidNative.Array<number>;
					public getMode(): number;
					public getDontKillApp(): boolean;
				}
				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: 1;
					public static MODE_INHERIT_EXISTING: 2;
					public static PERMISSION_STATE_DEFAULT: 0;
					public static PERMISSION_STATE_DENIED: 2;
					public static PERMISSION_STATE_GRANTED: 1;
					public static RESTRICTED_PERMISSIONS_ALL: java.util.Set<string>;
					public static USER_ACTION_NOT_REQUIRED: 2;
					public static USER_ACTION_REQUIRED: 1;
					public static USER_ACTION_UNSPECIFIED: 0;
					public setPermissionState(permissionName: string, state: number): android.content.pm.PackageInstaller.SessionParams;
					public setPackageSource(packageSource: number): void;
					public setMultiPackage(): void;
					public setOriginatingUid(originatingUid: number): void;
					public setWhitelistedRestrictedPermissions(permissions: java.util.Set<string>): void;
					public setUnarchiveId(unarchiveId: number): void;
					public setSize(sizeBytes: number): void;
					public setInstallReason(installReason: number): void;
					public setAppPackageName(appPackageName: string): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
					public setAppLabel(appLabel: string): void;
					public constructor(mode: number);
					public setRequestUpdateOwnership(enable: boolean): void;
					public describeContents(): number;
					public setInstallScenario(installScenario: number): void;
					public setOriginatingUri(originatingUri: android.net.Uri): void;
					public setApplicationEnabledSettingPersistent(): void;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public setAppIcon(appIcon: android.graphics.Bitmap): void;
					public setRequireUserAction(requireUserAction: number): void;
					public setDontKillApp(dontKillApp: boolean): void;
					public setReferrerUri(referrerUri: android.net.Uri): void;
					/** @deprecated */
					public setAutoRevokePermissionsMode(shouldAutoRevoke: boolean): void;
					public setInstallLocation(installLocation: number): void;
					public setInstallerPackageName(installerPackageName: string): void;
				}
				export class UnarchivalState extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.UnarchivalState>;
					public static createNoConnectivityState(unarchiveId: number): android.content.pm.PackageInstaller.UnarchivalState;
					public static createInsufficientStorageState(unarchiveId: number, requiredStorageBytes: number, userActionIntent: android.app.PendingIntent): android.content.pm.PackageInstaller.UnarchivalState;
					public static createUserActionRequiredState(unarchiveId: number, userActionIntent: android.app.PendingIntent): android.content.pm.PackageInstaller.UnarchivalState;
					public static createGenericErrorState(unarchiveId: number): android.content.pm.PackageInstaller.UnarchivalState;
					public static createOkState(unarchiveId: number): android.content.pm.PackageInstaller.UnarchivalState;
				}
			}
		}
	}
}

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 isArchived: boolean;
				public labelRes: number;
				public logo: number;
				public metaData: android.os.Bundle;
				public name: string;
				public nonLocalizedLabel: string;
				public packageName: string;
				public constructor(orig: android.content.pm.PackageItemInfo);
				public loadUnbadgedIcon(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public loadXmlMetaData(pm: android.content.pm.PackageManager, name: string): android.content.res.XmlResourceParser;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public loadLogo(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public loadBanner(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public loadLabel(pm: android.content.pm.PackageManager): string;
				public loadIcon(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public constructor(source: android.os.Parcel);
				public dumpBack(pw: android.util.Printer, prefix: string): void;
				public constructor();
				public dumpFront(pw: android.util.Printer, prefix: string): void;
			}
			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 nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparing(other: java.util.Comparator<any>): java.util.Comparator<any>;
					public static reverseOrder(): java.util.Comparator<any>;
					public static comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public constructor(pm: android.content.pm.PackageManager);
					public static comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public equals(param0: any): boolean;
					public reversed(): java.util.Comparator<any>;
					public thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public compare(aa: android.content.pm.PackageItemInfo, ab: android.content.pm.PackageItemInfo): number;
					public static comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static naturalOrder(): 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: 0;
				public static CERT_INPUT_SHA256: 1;
				public static COMPONENT_ENABLED_STATE_DEFAULT: 0;
				public static COMPONENT_ENABLED_STATE_DISABLED: 2;
				public static COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED: 4;
				public static COMPONENT_ENABLED_STATE_DISABLED_USER: 3;
				public static COMPONENT_ENABLED_STATE_ENABLED: 1;
				public static DELETE_ARCHIVE: 16;
				public static DONT_KILL_APP: 1;
				public static EXTRA_VERIFICATION_ID: "android.content.pm.extra.VERIFICATION_ID";
				public static EXTRA_VERIFICATION_RESULT: "android.content.pm.extra.VERIFICATION_RESULT";
				public static FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS: "android.software.activities_on_secondary_displays";
				public static FEATURE_APP_WIDGETS: "android.software.app_widgets";
				public static FEATURE_AUDIO_LOW_LATENCY: "android.hardware.audio.low_latency";
				public static FEATURE_AUDIO_OUTPUT: "android.hardware.audio.output";
				public static FEATURE_AUDIO_PRO: "android.hardware.audio.pro";
				public static FEATURE_AUTOFILL: "android.software.autofill";
				public static FEATURE_AUTOMOTIVE: "android.hardware.type.automotive";
				public static FEATURE_BACKUP: "android.software.backup";
				public static FEATURE_BLUETOOTH: "android.hardware.bluetooth";
				public static FEATURE_BLUETOOTH_LE: "android.hardware.bluetooth_le";
				public static FEATURE_CAMERA: "android.hardware.camera";
				public static FEATURE_CAMERA_ANY: "android.hardware.camera.any";
				public static FEATURE_CAMERA_AR: "android.hardware.camera.ar";
				public static FEATURE_CAMERA_AUTOFOCUS: "android.hardware.camera.autofocus";
				public static FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING: "android.hardware.camera.capability.manual_post_processing";
				public static FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR: "android.hardware.camera.capability.manual_sensor";
				public static FEATURE_CAMERA_CAPABILITY_RAW: "android.hardware.camera.capability.raw";
				public static FEATURE_CAMERA_CONCURRENT: "android.hardware.camera.concurrent";
				public static FEATURE_CAMERA_EXTERNAL: "android.hardware.camera.external";
				public static FEATURE_CAMERA_FLASH: "android.hardware.camera.flash";
				public static FEATURE_CAMERA_FRONT: "android.hardware.camera.front";
				public static FEATURE_CAMERA_LEVEL_FULL: "android.hardware.camera.level.full";
				public static FEATURE_CANT_SAVE_STATE: "android.software.cant_save_state";
				public static FEATURE_COMPANION_DEVICE_SETUP: "android.software.companion_device_setup";
				public static FEATURE_CONNECTION_SERVICE: "android.software.connectionservice";
				public static FEATURE_CONSUMER_IR: "android.hardware.consumerir";
				public static FEATURE_CONTROLS: "android.software.controls";
				public static FEATURE_CREDENTIALS: "android.software.credentials";
				public static FEATURE_DEVICE_ADMIN: "android.software.device_admin";
				public static FEATURE_DEVICE_LOCK: "android.software.device_lock";
				public static FEATURE_EMBEDDED: "android.hardware.type.embedded";
				public static FEATURE_ETHERNET: "android.hardware.ethernet";
				public static FEATURE_EXPANDED_PICTURE_IN_PICTURE: "android.software.expanded_picture_in_picture";
				public static FEATURE_FACE: "android.hardware.biometrics.face";
				public static FEATURE_FAKETOUCH: "android.hardware.faketouch";
				public static FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT: "android.hardware.faketouch.multitouch.distinct";
				public static FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND: "android.hardware.faketouch.multitouch.jazzhand";
				public static FEATURE_FINGERPRINT: "android.hardware.fingerprint";
				public static FEATURE_FREEFORM_WINDOW_MANAGEMENT: "android.software.freeform_window_management";
				public static FEATURE_GAMEPAD: "android.hardware.gamepad";
				public static FEATURE_HARDWARE_KEYSTORE: "android.hardware.hardware_keystore";
				public static FEATURE_HIFI_SENSORS: "android.hardware.sensor.hifi_sensors";
				public static FEATURE_HOME_SCREEN: "android.software.home_screen";
				public static FEATURE_IDENTITY_CREDENTIAL_HARDWARE: "android.hardware.identity_credential";
				public static FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS: "android.hardware.identity_credential_direct_access";
				public static FEATURE_INPUT_METHODS: "android.software.input_methods";
				public static FEATURE_IPSEC_TUNNELS: "android.software.ipsec_tunnels";
				public static FEATURE_IPSEC_TUNNEL_MIGRATION: "android.software.ipsec_tunnel_migration";
				public static FEATURE_IRIS: "android.hardware.biometrics.iris";
				public static FEATURE_KEYSTORE_APP_ATTEST_KEY: "android.hardware.keystore.app_attest_key";
				public static FEATURE_KEYSTORE_LIMITED_USE_KEY: "android.hardware.keystore.limited_use_key";
				public static FEATURE_KEYSTORE_SINGLE_USE_KEY: "android.hardware.keystore.single_use_key";
				public static FEATURE_LEANBACK: "android.software.leanback";
				public static FEATURE_LEANBACK_ONLY: "android.software.leanback_only";
				public static FEATURE_LIVE_TV: "android.software.live_tv";
				public static FEATURE_LIVE_WALLPAPER: "android.software.live_wallpaper";
				public static FEATURE_LOCATION: "android.hardware.location";
				public static FEATURE_LOCATION_GPS: "android.hardware.location.gps";
				public static FEATURE_LOCATION_NETWORK: "android.hardware.location.network";
				public static FEATURE_MANAGED_USERS: "android.software.managed_users";
				public static FEATURE_MICROPHONE: "android.hardware.microphone";
				public static FEATURE_MIDI: "android.software.midi";
				public static FEATURE_NFC: "android.hardware.nfc";
				public static FEATURE_NFC_BEAM: "android.sofware.nfc.beam";
				public static FEATURE_NFC_HOST_CARD_EMULATION: "android.hardware.nfc.hce";
				public static FEATURE_NFC_HOST_CARD_EMULATION_NFCF: "android.hardware.nfc.hcef";
				public static FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE: "android.hardware.nfc.ese";
				public static FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC: "android.hardware.nfc.uicc";
				public static FEATURE_OPENGLES_DEQP_LEVEL: "android.software.opengles.deqp.level";
				public static FEATURE_OPENGLES_EXTENSION_PACK: "android.hardware.opengles.aep";
				public static FEATURE_PC: "android.hardware.type.pc";
				public static FEATURE_PICTURE_IN_PICTURE: "android.software.picture_in_picture";
				public static FEATURE_PRINTING: "android.software.print";
				public static FEATURE_RAM_LOW: "android.hardware.ram.low";
				public static FEATURE_RAM_NORMAL: "android.hardware.ram.normal";
				public static FEATURE_SCREEN_LANDSCAPE: "android.hardware.screen.landscape";
				public static FEATURE_SCREEN_PORTRAIT: "android.hardware.screen.portrait";
				public static FEATURE_SECURELY_REMOVES_USERS: "android.software.securely_removes_users";
				public static FEATURE_SECURE_LOCK_SCREEN: "android.software.secure_lock_screen";
				public static FEATURE_SECURITY_MODEL_COMPATIBLE: "android.hardware.security.model.compatible";
				public static FEATURE_SENSOR_ACCELEROMETER: "android.hardware.sensor.accelerometer";
				public static FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES: "android.hardware.sensor.accelerometer_limited_axes";
				public static FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: "android.hardware.sensor.accelerometer_limited_axes_uncalibrated";
				public static FEATURE_SENSOR_AMBIENT_TEMPERATURE: "android.hardware.sensor.ambient_temperature";
				public static FEATURE_SENSOR_BAROMETER: "android.hardware.sensor.barometer";
				public static FEATURE_SENSOR_COMPASS: "android.hardware.sensor.compass";
				public static FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER: "android.hardware.sensor.dynamic.head_tracker";
				public static FEATURE_SENSOR_GYROSCOPE: "android.hardware.sensor.gyroscope";
				public static FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES: "android.hardware.sensor.gyroscope_limited_axes";
				public static FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: "android.hardware.sensor.gyroscope_limited_axes_uncalibrated";
				public static FEATURE_SENSOR_HEADING: "android.hardware.sensor.heading";
				public static FEATURE_SENSOR_HEART_RATE: "android.hardware.sensor.heartrate";
				public static FEATURE_SENSOR_HEART_RATE_ECG: "android.hardware.sensor.heartrate.ecg";
				public static FEATURE_SENSOR_HINGE_ANGLE: "android.hardware.sensor.hinge_angle";
				public static FEATURE_SENSOR_LIGHT: "android.hardware.sensor.light";
				public static FEATURE_SENSOR_PROXIMITY: "android.hardware.sensor.proximity";
				public static FEATURE_SENSOR_RELATIVE_HUMIDITY: "android.hardware.sensor.relative_humidity";
				public static FEATURE_SENSOR_STEP_COUNTER: "android.hardware.sensor.stepcounter";
				public static FEATURE_SENSOR_STEP_DETECTOR: "android.hardware.sensor.stepdetector";
				public static FEATURE_SE_OMAPI_ESE: "android.hardware.se.omapi.ese";
				public static FEATURE_SE_OMAPI_SD: "android.hardware.se.omapi.sd";
				public static FEATURE_SE_OMAPI_UICC: "android.hardware.se.omapi.uicc";
				public static FEATURE_SIP: "android.software.sip";
				public static FEATURE_SIP_VOIP: "android.software.sip.voip";
				public static FEATURE_STRONGBOX_KEYSTORE: "android.hardware.strongbox_keystore";
				public static FEATURE_TELECOM: "android.software.telecom";
				public static FEATURE_TELEPHONY: "android.hardware.telephony";
				public static FEATURE_TELEPHONY_CALLING: "android.hardware.telephony.calling";
				public static FEATURE_TELEPHONY_CDMA: "android.hardware.telephony.cdma";
				public static FEATURE_TELEPHONY_DATA: "android.hardware.telephony.data";
				public static FEATURE_TELEPHONY_EUICC: "android.hardware.telephony.euicc";
				public static FEATURE_TELEPHONY_EUICC_MEP: "android.hardware.telephony.euicc.mep";
				public static FEATURE_TELEPHONY_GSM: "android.hardware.telephony.gsm";
				public static FEATURE_TELEPHONY_IMS: "android.hardware.telephony.ims";
				public static FEATURE_TELEPHONY_MBMS: "android.hardware.telephony.mbms";
				public static FEATURE_TELEPHONY_MESSAGING: "android.hardware.telephony.messaging";
				public static FEATURE_TELEPHONY_RADIO_ACCESS: "android.hardware.telephony.radio.access";
				public static FEATURE_TELEPHONY_SUBSCRIPTION: "android.hardware.telephony.subscription";
				public static FEATURE_TELEVISION: "android.hardware.type.television";
				public static FEATURE_TOUCHSCREEN: "android.hardware.touchscreen";
				public static FEATURE_TOUCHSCREEN_MULTITOUCH: "android.hardware.touchscreen.multitouch";
				public static FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT: "android.hardware.touchscreen.multitouch.distinct";
				public static FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND: "android.hardware.touchscreen.multitouch.jazzhand";
				public static FEATURE_USB_ACCESSORY: "android.hardware.usb.accessory";
				public static FEATURE_USB_HOST: "android.hardware.usb.host";
				public static FEATURE_UWB: "android.hardware.uwb";
				public static FEATURE_VERIFIED_BOOT: "android.software.verified_boot";
				public static FEATURE_VR_HEADTRACKING: "android.hardware.vr.headtracking";
				public static FEATURE_VR_MODE: "android.software.vr.mode";
				public static FEATURE_VR_MODE_HIGH_PERFORMANCE: "android.hardware.vr.high_performance";
				public static FEATURE_VULKAN_DEQP_LEVEL: "android.software.vulkan.deqp.level";
				public static FEATURE_VULKAN_HARDWARE_COMPUTE: "android.hardware.vulkan.compute";
				public static FEATURE_VULKAN_HARDWARE_LEVEL: "android.hardware.vulkan.level";
				public static FEATURE_VULKAN_HARDWARE_VERSION: "android.hardware.vulkan.version";
				public static FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS: "android.software.wallet_location_based_suggestions";
				public static FEATURE_WATCH: "android.hardware.type.watch";
				public static FEATURE_WEBVIEW: "android.software.webview";
				public static FEATURE_WIFI: "android.hardware.wifi";
				public static FEATURE_WIFI_AWARE: "android.hardware.wifi.aware";
				public static FEATURE_WIFI_DIRECT: "android.hardware.wifi.direct";
				public static FEATURE_WIFI_PASSPOINT: "android.hardware.wifi.passpoint";
				public static FEATURE_WIFI_RTT: "android.hardware.wifi.rtt";
				public static FEATURE_WINDOW_MAGNIFICATION: "android.software.window_magnification";
				public static FLAG_PERMISSION_WHITELIST_INSTALLER: 2;
				public static FLAG_PERMISSION_WHITELIST_SYSTEM: 1;
				public static FLAG_PERMISSION_WHITELIST_UPGRADE: 4;
				public static GET_ACTIVITIES: 1;
				public static GET_ATTRIBUTIONS: -2147483648;
				public static GET_ATTRIBUTIONS_LONG: 2147483648;
				public static GET_CONFIGURATIONS: 16384;
				public static GET_DISABLED_COMPONENTS: 512;
				public static GET_DISABLED_UNTIL_USED_COMPONENTS: 32768;
				public static GET_GIDS: 256;
				public static GET_INSTRUMENTATION: 16;
				public static GET_INTENT_FILTERS: 32;
				public static GET_META_DATA: 128;
				public static GET_PERMISSIONS: 4096;
				public static GET_PROVIDERS: 8;
				public static GET_RECEIVERS: 2;
				public static GET_RESOLVED_FILTER: 64;
				public static GET_SERVICES: 4;
				public static GET_SHARED_LIBRARY_FILES: 1024;
				public static GET_SIGNATURES: 64;
				public static GET_SIGNING_CERTIFICATES: 134217728;
				public static GET_UNINSTALLED_PACKAGES: 8192;
				public static GET_URI_PERMISSION_PATTERNS: 2048;
				public static INSTALL_REASON_DEVICE_RESTORE: 2;
				public static INSTALL_REASON_DEVICE_SETUP: 3;
				public static INSTALL_REASON_POLICY: 1;
				public static INSTALL_REASON_UNKNOWN: 0;
				public static INSTALL_REASON_USER: 4;
				public static INSTALL_SCENARIO_BULK: 2;
				public static INSTALL_SCENARIO_BULK_SECONDARY: 3;
				public static INSTALL_SCENARIO_DEFAULT: 0;
				public static INSTALL_SCENARIO_FAST: 1;
				public static MATCH_ALL: 131072;
				public static MATCH_APEX: 1073741824;
				public static MATCH_ARCHIVED_PACKAGES: 4294967296;
				public static MATCH_DEFAULT_ONLY: 65536;
				public static MATCH_DIRECT_BOOT_AUTO: 268435456;
				public static MATCH_DIRECT_BOOT_AWARE: 524288;
				public static MATCH_DIRECT_BOOT_UNAWARE: 262144;
				public static MATCH_DISABLED_COMPONENTS: 512;
				public static MATCH_DISABLED_UNTIL_USED_COMPONENTS: 32768;
				public static MATCH_SYSTEM_ONLY: 1048576;
				public static MATCH_UNINSTALLED_PACKAGES: 8192;
				public static MAXIMUM_VERIFICATION_TIMEOUT: 3600000;
				public static PERMISSION_DENIED: -1;
				public static PERMISSION_GRANTED: 0;
				public static PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT: "android.camera.PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT";
				public static PROPERTY_MEDIA_CAPABILITIES: "android.media.PROPERTY_MEDIA_CAPABILITIES";
				public static PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES: "android.net.PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES";
				public static PROPERTY_SPECIAL_USE_FGS_SUBTYPE: "android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE";
				public static SIGNATURE_FIRST_NOT_SIGNED: -1;
				public static SIGNATURE_MATCH: 0;
				public static SIGNATURE_NEITHER_SIGNED: 1;
				public static SIGNATURE_NO_MATCH: -3;
				public static SIGNATURE_SECOND_NOT_SIGNED: -2;
				public static SIGNATURE_UNKNOWN_PACKAGE: -4;
				public static SYNCHRONOUS: 2;
				public static TRUST_ALL: java.util.List<java.security.cert.Certificate>;
				public static TRUST_NONE: java.util.List<java.security.cert.Certificate>;
				public static VERIFICATION_ALLOW: 1;
				public static VERIFICATION_REJECT: -1;
				public static VERSION_CODE_HIGHEST: -1;
				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 queryIntentContentProviders(intent: android.content.Intent, flags: android.content.pm.PackageManager.ResolveInfoFlags): java.util.List<android.content.pm.ResolveInfo>;
				public getLaunchIntentSenderForPackage(packageName: string): android.content.IntentSender;
				public getPackageGids(param0: string): androidNative.Array<number>;
				public queryBroadcastReceivers(intent: android.content.Intent, flags: android.content.pm.PackageManager.ResolveInfoFlags): java.util.List<android.content.pm.ResolveInfo>;
				public getPackageGids(param0: string, param1: number): androidNative.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;
				/** @deprecated */
				public getPreferredPackages(param0: number): java.util.List<android.content.pm.PackageInfo>;
				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 canPackageQuery(sourcePackageName: string, targetPackageName: string): boolean;
				public getResourcesForActivity(param0: android.content.ComponentName): android.content.res.Resources;
				public resolveActivity(param0: android.content.Intent, param1: number): android.content.pm.ResolveInfo;
				public getSyntheticAppDetailsActivityEnabled(packageName: string): boolean;
				public getTargetSdkVersion(packageName: string): number;
				public getActivityInfo(param0: android.content.ComponentName, param1: number): android.content.pm.ActivityInfo;
				public getBackgroundPermissionOptionLabel(): string;
				public setApplicationEnabledSetting(param0: string, param1: number, param2: number): void;
				public updateInstantAppCookie(param0: androidNative.Array<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 getPlatformPermissionsForGroup(permissionGroupName: string, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public getInstantAppCookieMaxBytes(): number;
				/** @deprecated */
				public constructor();
				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 addWhitelistedRestrictedPermission(packageName: string, permName: string, whitelistFlags: number): boolean;
				public getActivityBanner(param0: android.content.ComponentName): android.graphics.drawable.Drawable;
				public relinquishUpdateOwnership(targetPackage: string): void;
				public getModuleInfo(packageName: string, flags: number): android.content.pm.ModuleInfo;
				public getPackagesForUid(param0: number): androidNative.Array<string>;
				public getActivityLogo(param0: android.content.Intent): android.graphics.drawable.Drawable;
				public setAutoRevokeWhitelisted(packageName: string, whitelisted: boolean): boolean;
				public getLeanbackLaunchIntentForPackage(param0: string): android.content.Intent;
				public queryPermissionsByGroup(param0: string, param1: number): java.util.List<android.content.pm.PermissionInfo>;
				public isDeviceUpgrading(): boolean;
				public getInstalledApplications(param0: number): java.util.List<android.content.pm.ApplicationInfo>;
				public resolveContentProvider(authority: string, flags: android.content.pm.PackageManager.ComponentInfoFlags): android.content.pm.ProviderInfo;
				public getWhitelistedRestrictedPermissions(packageName: string, whitelistFlag: number): java.util.Set<string>;
				public queryInstrumentation(param0: string, param1: number): java.util.List<android.content.pm.InstrumentationInfo>;
				public getApplicationLogo(param0: string): android.graphics.drawable.Drawable;
				/** @deprecated */
				public getInstallerPackageName(param0: string): string;
				public getSharedLibraries(param0: number): java.util.List<android.content.pm.SharedLibraryInfo>;
				public resolveActivity(intent: android.content.Intent, flags: android.content.pm.PackageManager.ResolveInfoFlags): android.content.pm.ResolveInfo;
				public getGroupOfPlatformPermission(permissionName: string, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public getApplicationIcon(param0: android.content.pm.ApplicationInfo): android.graphics.drawable.Drawable;
				public verifyPendingInstall(param0: number, param1: number): void;
				/** @deprecated */
				public getPreferredActivities(param0: java.util.List<android.content.IntentFilter>, param1: java.util.List<android.content.ComponentName>, param2: string): number;
				public getProviderInfo(param0: android.content.ComponentName, param1: number): android.content.pm.ProviderInfo;
				public getApplicationEnabledSetting(param0: string): number;
				public canonicalToCurrentPackageNames(param0: androidNative.Array<string>): androidNative.Array<string>;
				public getServiceInfo(component: android.content.ComponentName, flags: android.content.pm.PackageManager.ComponentInfoFlags): android.content.pm.ServiceInfo;
				public hasSystemFeature(param0: string): boolean;
				public queryServiceProperty(propertyName: string): java.util.List<android.content.pm.PackageManager.Property>;
				/** @deprecated */
				public addPreferredActivity(param0: android.content.IntentFilter, param1: number, param2: androidNative.Array<android.content.ComponentName>, param3: android.content.ComponentName): void;
				public getNameForUid(param0: number): string;
				public queryProviderProperty(propertyName: string): java.util.List<android.content.pm.PackageManager.Property>;
				public canPackageQuery(sourcePackageName: string, targetPackageNames: androidNative.Array<string>): androidNative.Array<boolean>;
				public isAutoRevokeWhitelisted(packageName: string): boolean;
				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 getProperty(propertyName: string, packageName: string): android.content.pm.PackageManager.Property;
				public queryContentProviders(param0: string, param1: number, param2: number): java.util.List<android.content.pm.ProviderInfo>;
				public getChangedPackages(param0: number): android.content.pm.ChangedPackages;
				public queryContentProviders(processName: string, uid: number, flags: android.content.pm.PackageManager.ComponentInfoFlags): java.util.List<android.content.pm.ProviderInfo>;
				public clearInstantAppCookie(): void;
				public getPackageInfo(packageName: string, flags: android.content.pm.PackageManager.PackageInfoFlags): android.content.pm.PackageInfo;
				public queryApplicationProperty(propertyName: string): java.util.List<android.content.pm.PackageManager.Property>;
				public parseAndroidManifest(apkFile: java.io.File, parserFunction: any /* any*/): any;
				public removeWhitelistedRestrictedPermission(packageName: string, permName: string, whitelistFlags: number): boolean;
				public checkSignatures(param0: number, param1: number): number;
				public getMimeGroup(mimeGroup: string): java.util.Set<string>;
				public resolveService(param0: android.content.Intent, param1: number): android.content.pm.ResolveInfo;
				public isAppArchivable(packageName: string): boolean;
				public getApplicationLabel(param0: android.content.pm.ApplicationInfo): string;
				public getReceiverInfo(component: android.content.ComponentName, flags: android.content.pm.PackageManager.ComponentInfoFlags): android.content.pm.ActivityInfo;
				public checkPermission(param0: string, param1: string): number;
				public getPackagesHoldingPermissions(param0: androidNative.Array<string>, param1: number): java.util.List<android.content.pm.PackageInfo>;
				public isAutoRevokeWhitelisted(): boolean;
				public setComponentEnabledSettings(settings: java.util.List<android.content.pm.PackageManager.ComponentEnabledSetting>): void;
				public getPackageInstaller(): android.content.pm.PackageInstaller;
				public canRequestPackageInstalls(): boolean;
				public queryIntentActivities(intent: android.content.Intent, flags: android.content.pm.PackageManager.ResolveInfoFlags): java.util.List<android.content.pm.ResolveInfo>;
				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 queryIntentActivityOptions(param0: android.content.ComponentName, param1: androidNative.Array<android.content.Intent>, param2: android.content.Intent, param3: number): java.util.List<android.content.pm.ResolveInfo>;
				public getText(param0: string, param1: number, param2: android.content.pm.ApplicationInfo): string;
				public getComponentEnabledSetting(param0: android.content.ComponentName): number;
				public getActivityBanner(param0: android.content.Intent): android.graphics.drawable.Drawable;
				public hasSigningCertificate(uid: number, certificate: androidNative.Array<number>, type: number): boolean;
				public isDefaultApplicationIcon(drawable: android.graphics.drawable.Drawable): boolean;
				public getInstrumentationInfo(param0: android.content.ComponentName, param1: number): android.content.pm.InstrumentationInfo;
				public getProperty(propertyName: string, component: android.content.ComponentName): android.content.pm.PackageManager.Property;
				public getAllPermissionGroups(param0: number): java.util.List<android.content.pm.PermissionGroupInfo>;
				public getApplicationIcon(param0: string): android.graphics.drawable.Drawable;
				public getSystemSharedLibraryNames(): androidNative.Array<string>;
				public getSystemAvailableFeatures(): androidNative.Array<android.content.pm.FeatureInfo>;
				public getActivityInfo(component: android.content.ComponentName, flags: android.content.pm.PackageManager.ComponentInfoFlags): android.content.pm.ActivityInfo;
				public getApplicationBanner(param0: string): android.graphics.drawable.Drawable;
				public queryActivityProperty(propertyName: string): java.util.List<android.content.pm.PackageManager.Property>;
				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 requestChecksums(packageName: string, includeSplits: boolean, required: number, trustedInstallers: java.util.List<java.security.cert.Certificate>, onChecksumsReadyListener: android.content.pm.PackageManager.OnChecksumsReadyListener): void;
				/** @deprecated */
				public clearPackagePreferredActivities(param0: string): void;
				public getPackageUid(packageName: string, flags: android.content.pm.PackageManager.PackageInfoFlags): number;
				public removePermission(param0: string): void;
				public hasSystemFeature(param0: string, param1: number): boolean;
				public queryIntentActivityOptions(caller: android.content.ComponentName, specifics: java.util.List<android.content.Intent>, intent: android.content.Intent, flags: android.content.pm.PackageManager.ResolveInfoFlags): java.util.List<android.content.pm.ResolveInfo>;
				public getArchivedPackage(packageName: string): android.content.pm.ArchivedPackageInfo;
				public currentToCanonicalPackageNames(param0: androidNative.Array<string>): androidNative.Array<string>;
				public getInstalledPackages(flags: android.content.pm.PackageManager.PackageInfoFlags): java.util.List<android.content.pm.PackageInfo>;
				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 getInstantAppCookie(): androidNative.Array<number>;
				public getApplicationBanner(param0: android.content.pm.ApplicationInfo): android.graphics.drawable.Drawable;
				public resolveService(intent: android.content.Intent, flags: android.content.pm.PackageManager.ResolveInfoFlags): android.content.pm.ResolveInfo;
				public queryIntentServices(intent: android.content.Intent, flags: android.content.pm.PackageManager.ResolveInfoFlags): java.util.List<android.content.pm.ResolveInfo>;
				public isInstantApp(param0: string): boolean;
				public checkSignatures(param0: string, param1: string): number;
				public getPackagesHoldingPermissions(permissions: androidNative.Array<string>, flags: android.content.pm.PackageManager.PackageInfoFlags): java.util.List<android.content.pm.PackageInfo>;
				public addPermissionAsync(param0: android.content.pm.PermissionInfo): boolean;
				public getPackageInfo(versionedPackage: android.content.pm.VersionedPackage, flags: android.content.pm.PackageManager.PackageInfoFlags): android.content.pm.PackageInfo;
				public getPackageGids(packageName: string, flags: android.content.pm.PackageManager.PackageInfoFlags): androidNative.Array<number>;
				public setMimeGroup(mimeGroup: string, mimeTypes: java.util.Set<string>): void;
				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 getActivityIcon(param0: android.content.Intent): android.graphics.drawable.Drawable;
				public getSharedLibraries(flags: android.content.pm.PackageManager.PackageInfoFlags): java.util.List<android.content.pm.SharedLibraryInfo>;
				public getReceiverInfo(param0: android.content.ComponentName, param1: number): android.content.pm.ActivityInfo;
				public getProviderInfo(component: android.content.ComponentName, flags: android.content.pm.PackageManager.ComponentInfoFlags): android.content.pm.ProviderInfo;
				public getPackageArchiveInfo(archiveFilePath: string, flags: number): android.content.pm.PackageInfo;
				public getApplicationInfo(packageName: string, flags: android.content.pm.PackageManager.ApplicationInfoFlags): android.content.pm.ApplicationInfo;
				public isPackageSuspended(packageName: string): boolean;
				public queryReceiverProperty(propertyName: string): java.util.List<android.content.pm.PackageManager.Property>;
				public getXml(param0: string, param1: number, param2: android.content.pm.ApplicationInfo): android.content.res.XmlResourceParser;
				public getInstallSourceInfo(packageName: string): android.content.pm.InstallSourceInfo;
				public getSuspendedPackageAppExtras(): android.os.Bundle;
				public isPackageStopped(packageName: string): boolean;
				public hasSigningCertificate(packageName: string, certificate: androidNative.Array<number>, type: number): boolean;
				public getInstalledApplications(flags: android.content.pm.PackageManager.ApplicationInfoFlags): java.util.List<android.content.pm.ApplicationInfo>;
				public isInstantApp(): boolean;
				public isSafeMode(): boolean;
				public getPackageArchiveInfo(archiveFilePath: string, flags: android.content.pm.PackageManager.PackageInfoFlags): android.content.pm.PackageInfo;
				/** @deprecated */
				public addPackageToPreferred(param0: string): void;
				public getApplicationLogo(param0: android.content.pm.ApplicationInfo): android.graphics.drawable.Drawable;
				public getResourcesForApplication(app: android.content.pm.ApplicationInfo, configuration: android.content.res.Configuration): android.content.res.Resources;
				public getInstalledModules(flags: number): java.util.List<android.content.pm.ModuleInfo>;
			}
			export module PackageManager {
				export class ApplicationInfoFlags extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.PackageManager.ApplicationInfoFlags>;
					public getValue(): number;
					public static of(value: number): android.content.pm.PackageManager.ApplicationInfoFlags;
				}
				export class ComponentEnabledSetting extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.content.pm.PackageManager.ComponentEnabledSetting>;
					public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageManager.ComponentEnabledSetting>;
					public getComponentName(): android.content.ComponentName;
					public getEnabledFlags(): number;
					public describeContents(): number;
					public constructor(componentName: android.content.ComponentName, newState: number, flags: number);
					public getEnabledState(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export class ComponentInfoFlags extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.PackageManager.ComponentInfoFlags>;
					public getValue(): number;
					public static of(value: number): android.content.pm.PackageManager.ComponentInfoFlags;
				}
				export class NameNotFoundException extends android.util.AndroidException {
					public static class: java.lang.Class<android.content.pm.PackageManager.NameNotFoundException>;
					public constructor(cause: java.lang.Exception);
					public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor(name: string);
					public constructor(name: string, cause: java.lang.Throwable);
					public constructor();
					public constructor(cause: java.lang.Throwable);
				}
				export class OnChecksumsReadyListener extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.PackageManager.OnChecksumsReadyListener>;
					/**
					 * Constructs a new instance of the android.content.pm.PackageManager$OnChecksumsReadyListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onChecksumsReady(param0: java.util.List<android.content.pm.ApkChecksum>): void;
					});
					public constructor();
					public onChecksumsReady(param0: java.util.List<android.content.pm.ApkChecksum>): void;
				}
				export class PackageInfoFlags extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.PackageManager.PackageInfoFlags>;
					public static of(value: number): android.content.pm.PackageManager.PackageInfoFlags;
					public getValue(): number;
				}
				export class Property extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.content.pm.PackageManager.Property>;
					public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageManager.Property>;
					public isBoolean(): boolean;
					public isString(): boolean;
					public getPackageName(): string;
					public describeContents(): number;
					public getInteger(): number;
					public getString(): string;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getClassName(): string;
					public isInteger(): boolean;
					public getName(): string;
					public getResourceId(): number;
					public getBoolean(): boolean;
					public isFloat(): boolean;
					public getFloat(): number;
					public isResourceId(): boolean;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export class ResolveInfoFlags extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.PackageManager.ResolveInfoFlags>;
					public getValue(): number;
					public static of(value: number): android.content.pm.PackageManager.ResolveInfoFlags;
				}
			}
		}
	}
}

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;
				/** @deprecated */
				public hashCode(): number;
				/** @deprecated */
				public constructor(pStats: android.content.pm.PackageStats);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public equals(obj: any): boolean;
				public describeContents(): number;
				/** @deprecated */
				public constructor(pkgName: string);
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public describeContents(): number;
				/** @deprecated */
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				/** @deprecated */
				public constructor(source: android.os.Parcel);
			}
		}
	}
}

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(pattern: string, type: number, readPermission: string, writePermission: string);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getWritePermission(): string;
				public describeContents(): number;
				public constructor(pattern: string, type: number);
				public getReadPermission(): string;
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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: 1;
				public descriptionRes: number;
				public flags: number;
				public nonLocalizedDescription: string;
				public priority: number;
				public constructor(orig: android.content.pm.PackageItemInfo);
				/** @deprecated */
				public constructor();
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public constructor(source: android.os.Parcel);
				/** @deprecated */
				public constructor(orig: android.content.pm.PermissionGroupInfo);
				public loadDescription(pm: android.content.pm.PackageManager): string;
			}
		}
	}
}

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: 1;
				public static FLAG_HARD_RESTRICTED: 4;
				public static FLAG_IMMUTABLY_RESTRICTED: 16;
				public static FLAG_INSTALLED: 1073741824;
				public static FLAG_SOFT_RESTRICTED: 8;
				public static PROTECTION_DANGEROUS: 1;
				public static PROTECTION_FLAG_APPOP: 64;
				public static PROTECTION_FLAG_DEVELOPMENT: 32;
				public static PROTECTION_FLAG_INSTALLER: 256;
				public static PROTECTION_FLAG_INSTANT: 4096;
				public static PROTECTION_FLAG_PRE23: 128;
				public static PROTECTION_FLAG_PREINSTALLED: 1024;
				public static PROTECTION_FLAG_PRIVILEGED: 16;
				public static PROTECTION_FLAG_RUNTIME_ONLY: 8192;
				public static PROTECTION_FLAG_SETUP: 2048;
				public static PROTECTION_FLAG_SYSTEM: 16;
				public static PROTECTION_FLAG_VERIFIER: 512;
				public static PROTECTION_INTERNAL: 4;
				public static PROTECTION_MASK_BASE: 15;
				public static PROTECTION_MASK_FLAGS: 65520;
				public static PROTECTION_NORMAL: 0;
				public static PROTECTION_SIGNATURE: 2;
				public static PROTECTION_SIGNATURE_OR_SYSTEM: 3;
				public descriptionRes: number;
				public flags: number;
				public group: string;
				public nonLocalizedDescription: string;
				public protectionLevel: number;
				public constructor(orig: android.content.pm.PackageItemInfo);
				/** @deprecated */
				public constructor();
				public getProtection(): number;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				/** @deprecated */
				public constructor(orig: android.content.pm.PermissionInfo);
				public toString(): string;
				public constructor(source: android.os.Parcel);
				public loadDescription(pm: android.content.pm.PackageManager): string;
				public getProtectionFlags(): number;
			}
		}
	}
}

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: 1073741824;
				public authority: string;
				public flags: number;
				public forceUriPermissions: boolean;
				public grantUriPermissions: boolean;
				public initOrder: number;
				public isSyncable: boolean;
				public multiprocess: boolean;
				public pathPermissions: androidNative.Array<android.content.pm.PathPermission>;
				public readPermission: string;
				public uriPermissionPatterns: androidNative.Array<android.os.PatternMatcher>;
				public writePermission: string;
				public constructor(orig: android.content.pm.ComponentInfo);
				public constructor(orig: android.content.pm.PackageItemInfo);
				public dump(pw: android.util.Printer, prefix: string): void;
				public writeToParcel(out: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(orig: android.content.pm.ProviderInfo);
				public toString(): string;
				public constructor(source: android.os.Parcel);
				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 dump(pw: android.util.Printer, prefix: string): void;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public constructor(orig: android.content.pm.ResolveInfo);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public loadLabel(pm: android.content.pm.PackageManager): string;
				public getIconResource(): number;
				public loadIcon(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public toString(): string;
				public isCrossProfileIntentForwarderActivity(): boolean;
				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 nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public thenComparing(other: java.util.Comparator<any>): java.util.Comparator<any>;
					public static reverseOrder(): java.util.Comparator<any>;
					public static comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public constructor(pm: android.content.pm.PackageManager);
					public static comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
					public equals(param0: any): boolean;
					public reversed(): java.util.Comparator<any>;
					public thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
					public static naturalOrder(): java.util.Comparator<any>;
					public compare(a: android.content.pm.ResolveInfo, b: android.content.pm.ResolveInfo): number;
				}
			}
		}
	}
}

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_ALLOW_SHARED_ISOLATED_PROCESS: 16;
				public static FLAG_EXTERNAL_SERVICE: 4;
				public static FLAG_ISOLATED_PROCESS: 2;
				public static FLAG_SINGLE_USER: 1073741824;
				public static FLAG_STOP_WITH_TASK: 1;
				public static FLAG_USE_APP_ZYGOTE: 8;
				public static FOREGROUND_SERVICE_TYPE_CAMERA: 64;
				public static FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE: 16;
				public static FOREGROUND_SERVICE_TYPE_DATA_SYNC: 1;
				public static FOREGROUND_SERVICE_TYPE_HEALTH: 256;
				public static FOREGROUND_SERVICE_TYPE_LOCATION: 8;
				public static FOREGROUND_SERVICE_TYPE_MANIFEST: -1;
				public static FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK: 2;
				public static FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING: 8192;
				public static FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION: 32;
				public static FOREGROUND_SERVICE_TYPE_MICROPHONE: 128;
				public static FOREGROUND_SERVICE_TYPE_NONE: 0;
				public static FOREGROUND_SERVICE_TYPE_PHONE_CALL: 4;
				public static FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING: 512;
				public static FOREGROUND_SERVICE_TYPE_SHORT_SERVICE: 2048;
				public static FOREGROUND_SERVICE_TYPE_SPECIAL_USE: 1073741824;
				public static FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED: 1024;
				public flags: number;
				public permission: string;
				public constructor(orig: android.content.pm.ComponentInfo);
				public constructor(orig: android.content.pm.PackageItemInfo);
				public dump(pw: android.util.Printer, prefix: string): void;
				public getForegroundServiceType(): number;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public constructor(source: android.os.Parcel);
				public constructor();
				public constructor(orig: android.content.pm.ServiceInfo);
			}
		}
	}
}

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: 0;
				public static TYPE_DYNAMIC: 1;
				public static TYPE_SDK_PACKAGE: 3;
				public static TYPE_STATIC: 2;
				public static VERSION_UNDEFINED: -1;
				/** @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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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: 2;
				public static DISABLED_REASON_BACKUP_NOT_SUPPORTED: 101;
				public static DISABLED_REASON_BY_APP: 1;
				public static DISABLED_REASON_NOT_DISABLED: 0;
				public static DISABLED_REASON_OTHER_RESTORE_ISSUE: 103;
				public static DISABLED_REASON_SIGNATURE_MISMATCH: 102;
				public static DISABLED_REASON_UNKNOWN: 3;
				public static DISABLED_REASON_VERSION_LOWER: 100;
				public static SHORTCUT_CATEGORY_CONVERSATION: "android.shortcut.conversation";
				public static SURFACE_LAUNCHER: 1;
				public getId(): string;
				public isDynamic(): boolean;
				public getShortLabel(): string;
				public getIntent(): android.content.Intent;
				public getDisabledMessage(): string;
				public hasKeyFieldsOnly(): boolean;
				public isPinned(): boolean;
				public isImmutable(): boolean;
				public getCapabilityParams(capability: android.content.pm.Capability): java.util.List<android.content.pm.CapabilityParams>;
				public getIntents(): androidNative.Array<android.content.Intent>;
				public getExtras(): any;
				public getRank(): number;
				public isDeclaredInManifest(): boolean;
				public getPackage(): string;
				public getLocusId(): android.content.LocusId;
				public isCached(): boolean;
				public getCategories(): java.util.Set<string>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getCapabilities(): java.util.List<android.content.pm.Capability>;
				public toString(): string;
				public getActivity(): android.content.ComponentName;
				public getDisabledReason(): number;
				public getUserHandle(): android.os.UserHandle;
				public getExcludedFromSurfaces(): number;
				public isExcludedFromSurfaces(surface: number): boolean;
				public describeContents(): number;
				public isEnabled(): boolean;
				public getLongLabel(): string;
				public getLastChangedTimestamp(): number;
				public static createFromGenericDocument(context: android.content.Context, document: android.app.appsearch.GenericDocument): any;
			}
			export module ShortcutInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<any>;
					public setPersons(persons: androidNative.Array<any>): any;
					public setStartingTheme(themeResId: number): any;
					public setLongLived(longLived: boolean): any;
					public setDisabledMessage(disabledMessage: string): any;
					public setIntent(intent: android.content.Intent): any;
					public setExtras(extras: any): any;
					public setLocusId(locusId: android.content.LocusId): any;
					public constructor(context: android.content.Context, id: string);
					public build(): any;
					public setLongLabel(longLabel: string): any;
					public setCategories(categories: java.util.Set<string>): any;
					public setActivity(activity: android.content.ComponentName): any;
					public setRank(rank: number): any;
					public setIntents(intents: androidNative.Array<android.content.Intent>): any;
					public addCapabilityBinding(capability: android.content.pm.Capability, capabilityParams: android.content.pm.CapabilityParams): any;
					public setExcludedFromSurfaces(surfaces: number): any;
					public setPerson(person: any): any;
					public setIcon(icon: any): any;
					public setShortLabel(shortLabel: 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 static FLAG_MATCH_CACHED: 8;
				public static FLAG_MATCH_DYNAMIC: 2;
				public static FLAG_MATCH_MANIFEST: 1;
				public static FLAG_MATCH_PINNED: 4;
				public getPinnedShortcuts(): java.util.List<any>;
				public pushDynamicShortcut(shortcut: any): void;
				public getIconMaxWidth(): number;
				public enableShortcuts(shortcutIds: java.util.List<string>): void;
				public removeLongLivedShortcuts(shortcutIds: java.util.List<string>): void;
				public getManifestShortcuts(): java.util.List<any>;
				public reportShortcutUsed(shortcutId: string): void;
				public updateShortcuts(shortcutInfoList: java.util.List<any>): boolean;
				public disableShortcuts(shortcutIds: java.util.List<string>): void;
				public createShortcutResultIntent(shortcut: any): android.content.Intent;
				public removeDynamicShortcuts(shortcutIds: java.util.List<string>): void;
				public removeAllDynamicShortcuts(): void;
				public getMaxShortcutCountPerActivity(): number;
				public getIconMaxHeight(): number;
				public disableShortcuts(shortcutIds: java.util.List<string>, disabledMessage: string): void;
				public setDynamicShortcuts(shortcutInfoList: java.util.List<any>): boolean;
				public isRequestPinShortcutSupported(): boolean;
				public getDynamicShortcuts(): java.util.List<any>;
				public requestPinShortcut(shortcut: any, resultIntent: android.content.IntentSender): boolean;
				public isRateLimitingActive(): boolean;
				public getShortcuts(matchFlags: number): java.util.List<any>;
				public addDynamicShortcuts(shortcutInfoList: java.util.List<any>): 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 toChars(existingArray: androidNative.Array<string>, outLen: androidNative.Array<number>): androidNative.Array<string>;
				public toByteArray(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public toChars(): androidNative.Array<string>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(text: string);
				public toCharsString(): string;
				public describeContents(): number;
				public constructor(signature: androidNative.Array<number>);
			}
		}
	}
}

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 getSchemeVersion(): number;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public hasMultipleSigners(): boolean;
				public getSigningCertificateHistory(): androidNative.Array<android.content.pm.Signature>;
				public constructor(schemeVersion: number, apkContentsSigners: java.util.Collection<android.content.pm.Signature>, publicKeys: java.util.Collection<java.security.PublicKey>, signingCertificateHistory: java.util.Collection<android.content.pm.Signature>);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getApkContentsSigners(): androidNative.Array<android.content.pm.Signature>;
				public constructor(orig: android.content.pm.SigningInfo);
				public describeContents(): number;
				public getPublicKeys(): java.util.Collection<java.security.PublicKey>;
				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 hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public constructor(packageName: string, versionCode: number);
				public equals(o: any): boolean;
				public toString(): string;
				public getLongVersionCode(): number;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export module verify {
				export module domain {
					export class DomainVerificationManager extends java.lang.Object {
						public static class: java.lang.Class<android.content.pm.verify.domain.DomainVerificationManager>;
						public getDomainVerificationUserState(packageName: string): android.content.pm.verify.domain.DomainVerificationUserState;
					}
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export module verify {
				export module domain {
					export class DomainVerificationUserState extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.content.pm.verify.domain.DomainVerificationUserState>;
						public static CREATOR: android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationUserState>;
						public static DOMAIN_STATE_NONE: 0;
						public static DOMAIN_STATE_SELECTED: 1;
						public static DOMAIN_STATE_VERIFIED: 2;
						public writeToParcel(dest: android.os.Parcel, flags: number): void;
						public describeContents(): number;
						public getPackageName(): string;
						public getUser(): android.os.UserHandle;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public isLinkHandlingAllowed(): boolean;
						public hashCode(): number;
						public getHostToStateMap(): java.util.Map<string,java.lang.Integer>;
						public equals(o: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

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: -1;
				public close(): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public toString(): string;
				public constructor(fd: android.os.ParcelFileDescriptor, startOffset: number, length: number, extras: 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 constructor(fd: android.os.ParcelFileDescriptor, startOffset: number, length: 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(b: androidNative.Array<number>): number;
					public reset(): void;
					public markSupported(): boolean;
					public constructor(file: java.io.File);
					public read(buffer: androidNative.Array<number>): number;
					public skip(count: number): number;
					public constructor(fdObj: java.io.FileDescriptor);
					public constructor(fd: android.content.res.AssetFileDescriptor);
					public read(b: androidNative.Array<number>, off: number, len: number): number;
					public constructor(pfd: android.os.ParcelFileDescriptor);
					public read(buffer: androidNative.Array<number>, offset: number, count: number): number;
					public mark(readlimit: number): void;
					public available(): number;
					public getChannel(): java.nio.channels.FileChannel;
					public constructor(name: string);
					public constructor();
					public close(): void;
				}
				export class AutoCloseOutputStream extends android.os.ParcelFileDescriptor.AutoCloseOutputStream {
					public static class: java.lang.Class<android.content.res.AssetFileDescriptor.AutoCloseOutputStream>;
					public write(buffer: androidNative.Array<number>): void;
					public write(buffer: androidNative.Array<number>, offset: number, count: number): void;
					public constructor(file: java.io.File);
					public flush(): void;
					public constructor(fdObj: java.io.FileDescriptor);
					public constructor(fd: android.content.res.AssetFileDescriptor);
					public constructor(pfd: android.os.ParcelFileDescriptor);
					public write(oneByte: number): void;
					public constructor(name: string);
					public constructor();
					public write(b: number): void;
					public constructor(name: string, append: boolean);
					public write(b: androidNative.Array<number>): void;
					public close(): void;
					public constructor(file: java.io.File, append: boolean);
				}
			}
		}
	}
}

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: 3;
				public static ACCESS_RANDOM: 1;
				public static ACCESS_STREAMING: 2;
				public static ACCESS_UNKNOWN: 0;
				public openFd(fileName: string): android.content.res.AssetFileDescriptor;
				public list(path: string): androidNative.Array<string>;
				public close(): void;
				public getLocales(): androidNative.Array<string>;
				public open(fileName: string, accessMode: number): java.io.InputStream;
				public finalize(): void;
				public open(fileName: string): java.io.InputStream;
				public openNonAssetFd(cookie: number, fileName: string): android.content.res.AssetFileDescriptor;
				public openNonAssetFd(fileName: string): android.content.res.AssetFileDescriptor;
				public openXmlResourceParser(fileName: string): android.content.res.XmlResourceParser;
				public openXmlResourceParser(cookie: number, fileName: string): android.content.res.XmlResourceParser;
			}
			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(b: androidNative.Array<number>): number;
					public reset(): void;
					public markSupported(): boolean;
					public finalize(): void;
					public close(): void;
					public read(b: androidNative.Array<number>, off: number, len: number): number;
					public skip(n: number): number;
					public mark(readlimit: 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(dest: android.os.Parcel, flags: number): void;
				public static createFromXml(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, theme: android.content.res.Resources.Theme): android.content.res.ColorStateList;
				public getColorForState(stateSet: androidNative.Array<number>, defaultColor: number): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public isOpaque(): boolean;
				public getChangingConfigurations(): number;
				public toString(): string;
				/** @deprecated */
				public static createFromXml(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser): android.content.res.ColorStateList;
				public static valueOf(color: number): android.content.res.ColorStateList;
				public getDefaultColor(): number;
				public withLStar(lStar: number): android.content.res.ColorStateList;
				public withAlpha(alpha: number): android.content.res.ColorStateList;
				public describeContents(): number;
				public constructor(states: androidNative.Array<androidNative.Array<number>>, colors: androidNative.Array<number>);
				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: 12;
				public static COLOR_MODE_HDR_NO: 4;
				public static COLOR_MODE_HDR_SHIFT: 2;
				public static COLOR_MODE_HDR_UNDEFINED: 0;
				public static COLOR_MODE_HDR_YES: 8;
				public static COLOR_MODE_UNDEFINED: 0;
				public static COLOR_MODE_WIDE_COLOR_GAMUT_MASK: 3;
				public static COLOR_MODE_WIDE_COLOR_GAMUT_NO: 1;
				public static COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED: 0;
				public static COLOR_MODE_WIDE_COLOR_GAMUT_YES: 2;
				public static CREATOR: android.os.Parcelable.Creator<android.content.res.Configuration>;
				public static DENSITY_DPI_UNDEFINED: 0;
				public static FONT_WEIGHT_ADJUSTMENT_UNDEFINED: 2147483647;
				public static GRAMMATICAL_GENDER_FEMININE: 2;
				public static GRAMMATICAL_GENDER_MASCULINE: 3;
				public static GRAMMATICAL_GENDER_NEUTRAL: 1;
				public static GRAMMATICAL_GENDER_NOT_SPECIFIED: 0;
				public static HARDKEYBOARDHIDDEN_NO: 1;
				public static HARDKEYBOARDHIDDEN_UNDEFINED: 0;
				public static HARDKEYBOARDHIDDEN_YES: 2;
				public static KEYBOARDHIDDEN_NO: 1;
				public static KEYBOARDHIDDEN_UNDEFINED: 0;
				public static KEYBOARDHIDDEN_YES: 2;
				public static KEYBOARD_12KEY: 3;
				public static KEYBOARD_NOKEYS: 1;
				public static KEYBOARD_QWERTY: 2;
				public static KEYBOARD_UNDEFINED: 0;
				public static MNC_ZERO: 65535;
				public static NAVIGATIONHIDDEN_NO: 1;
				public static NAVIGATIONHIDDEN_UNDEFINED: 0;
				public static NAVIGATIONHIDDEN_YES: 2;
				public static NAVIGATION_DPAD: 2;
				public static NAVIGATION_NONAV: 1;
				public static NAVIGATION_TRACKBALL: 3;
				public static NAVIGATION_UNDEFINED: 0;
				public static NAVIGATION_WHEEL: 4;
				public static ORIENTATION_LANDSCAPE: 2;
				public static ORIENTATION_PORTRAIT: 1;
				public static ORIENTATION_SQUARE: 3;
				public static ORIENTATION_UNDEFINED: 0;
				public static SCREENLAYOUT_LAYOUTDIR_LTR: 64;
				public static SCREENLAYOUT_LAYOUTDIR_MASK: 192;
				public static SCREENLAYOUT_LAYOUTDIR_RTL: 128;
				public static SCREENLAYOUT_LAYOUTDIR_SHIFT: 6;
				public static SCREENLAYOUT_LAYOUTDIR_UNDEFINED: 0;
				public static SCREENLAYOUT_LONG_MASK: 48;
				public static SCREENLAYOUT_LONG_NO: 16;
				public static SCREENLAYOUT_LONG_UNDEFINED: 0;
				public static SCREENLAYOUT_LONG_YES: 32;
				public static SCREENLAYOUT_ROUND_MASK: 768;
				public static SCREENLAYOUT_ROUND_NO: 256;
				public static SCREENLAYOUT_ROUND_UNDEFINED: 0;
				public static SCREENLAYOUT_ROUND_YES: 512;
				public static SCREENLAYOUT_SIZE_LARGE: 3;
				public static SCREENLAYOUT_SIZE_MASK: 15;
				public static SCREENLAYOUT_SIZE_NORMAL: 2;
				public static SCREENLAYOUT_SIZE_SMALL: 1;
				public static SCREENLAYOUT_SIZE_UNDEFINED: 0;
				public static SCREENLAYOUT_SIZE_XLARGE: 4;
				public static SCREENLAYOUT_UNDEFINED: 0;
				public static SCREEN_HEIGHT_DP_UNDEFINED: 0;
				public static SCREEN_WIDTH_DP_UNDEFINED: 0;
				public static SMALLEST_SCREEN_WIDTH_DP_UNDEFINED: 0;
				public static TOUCHSCREEN_FINGER: 3;
				public static TOUCHSCREEN_NOTOUCH: 1;
				public static TOUCHSCREEN_STYLUS: 2;
				public static TOUCHSCREEN_UNDEFINED: 0;
				public static UI_MODE_NIGHT_MASK: 48;
				public static UI_MODE_NIGHT_NO: 16;
				public static UI_MODE_NIGHT_UNDEFINED: 0;
				public static UI_MODE_NIGHT_YES: 32;
				public static UI_MODE_TYPE_APPLIANCE: 5;
				public static UI_MODE_TYPE_CAR: 3;
				public static UI_MODE_TYPE_DESK: 2;
				public static UI_MODE_TYPE_MASK: 15;
				public static UI_MODE_TYPE_NORMAL: 1;
				public static UI_MODE_TYPE_TELEVISION: 4;
				public static UI_MODE_TYPE_UNDEFINED: 0;
				public static UI_MODE_TYPE_VR_HEADSET: 7;
				public static UI_MODE_TYPE_WATCH: 6;
				public colorMode: number;
				public densityDpi: number;
				public fontScale: number;
				public fontWeightAdjustment: 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 readFromParcel(source: android.os.Parcel): void;
				public isScreenHdr(): boolean;
				public constructor();
				public equals(that: any): boolean;
				public setTo(o: android.content.res.Configuration): void;
				public constructor(o: android.content.res.Configuration);
				public hashCode(): number;
				public updateFrom(delta: android.content.res.Configuration): number;
				public isScreenWideColorGamut(): boolean;
				public static needNewResources(configChanges: number, interestingChanges: number): boolean;
				public isNightModeActive(): boolean;
				public getGrammaticalGender(): number;
				public diff(delta: android.content.res.Configuration): number;
				public static generateDelta(base: android.content.res.Configuration, change: android.content.res.Configuration): android.content.res.Configuration;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public isLayoutSizeAtLeast(size: number): boolean;
				public setLayoutDirection(loc: java.util.Locale): void;
				public toString(): string;
				public isScreenRound(): boolean;
				public setLocale(loc: java.util.Locale): void;
				public compareTo(that: android.content.res.Configuration): number;
				public equals(obj: any): boolean;
				public setLocales(locales: any): void;
				public getLocales(): any;
				public setToDefaults(): void;
				public describeContents(): number;
				public equals(that: android.content.res.Configuration): boolean;
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class FontScaleConverter extends java.lang.Object {
				public static class: java.lang.Class<android.content.res.FontScaleConverter>;
				/**
				 * Constructs a new instance of the android.content.res.FontScaleConverter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					convertSpToDp(param0: number): number;
					convertDpToSp(param0: number): number;
					isNonLinearFontScalingActive(fontScale: number): boolean;
					forScale(fontScale: number): android.content.res.FontScaleConverter;
				});
				public constructor();
				public static forScale(fontScale: number): android.content.res.FontScaleConverter;
				public convertSpToDp(param0: number): number;
				public convertDpToSp(param0: number): number;
				public static isNonLinearFontScalingActive(fontScale: number): 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: 1;
				public filename: string;
				public flags: number;
				public packageName: string;
				public version: number;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				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(filePath: 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>;
				public static ID_NULL: 0;
				public getDrawableForDensity(id: number, density: number, theme: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
				/** @deprecated */
				public updateConfiguration(config: android.content.res.Configuration, metrics: android.util.DisplayMetrics): void;
				public getLayout(id: number): android.content.res.XmlResourceParser;
				public getValueForDensity(id: number, density: number, outValue: android.util.TypedValue, resolveRefs: boolean): void;
				public getValue(name: string, outValue: android.util.TypedValue, resolveRefs: boolean): void;
				public getQuantityString(id: number, quantity: number, formatArgs: androidNative.Array<any>): string;
				public getDimension(id: number): number;
				public getFloat(id: number): number;
				public getBoolean(id: number): boolean;
				public getQuantityString(id: number, quantity: number): string;
				public getStringArray(id: number): androidNative.Array<string>;
				public parseBundleExtras(parser: android.content.res.XmlResourceParser, outBundle: android.os.Bundle): void;
				public getString(id: number): string;
				public getQuantityText(id: number, quantity: number): string;
				/** @deprecated */
				public getDrawable(id: number): android.graphics.drawable.Drawable;
				public finishPreloading(): void;
				public openRawResource(id: number): java.io.InputStream;
				/** @deprecated */
				public getColor(id: number): number;
				public removeLoaders(loaders: androidNative.Array<android.content.res.loader.ResourcesLoader>): void;
				public getFraction(id: number, base: number, pbase: number): number;
				public getColor(id: number, theme: android.content.res.Resources.Theme): number;
				public getText(id: number): string;
				public getString(id: number, formatArgs: androidNative.Array<any>): string;
				public static registerResourcePaths(uniqueId: string, appInfo: android.content.pm.ApplicationInfo): void;
				public getXml(id: number): android.content.res.XmlResourceParser;
				public getResourceName(resid: number): string;
				public flushLayoutCache(): void;
				public static getAttributeSetSourceResId(set: android.util.AttributeSet): number;
				public getIntArray(id: number): androidNative.Array<number>;
				public obtainAttributes(set: android.util.AttributeSet, attrs: androidNative.Array<number>): android.content.res.TypedArray;
				public getDisplayMetrics(): android.util.DisplayMetrics;
				public getResourceTypeName(resid: number): string;
				public getValue(id: number, outValue: android.util.TypedValue, resolveRefs: boolean): void;
				public getIdentifier(name: string, defType: string, defPackage: string): number;
				/** @deprecated */
				public constructor(assets: android.content.res.AssetManager, metrics: android.util.DisplayMetrics, config: android.content.res.Configuration);
				public getConfiguration(): android.content.res.Configuration;
				public newTheme(): android.content.res.Resources.Theme;
				public getDrawable(id: number, theme: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
				public openRawResourceFd(id: number): android.content.res.AssetFileDescriptor;
				public getResourceEntryName(resid: number): string;
				/** @deprecated */
				public getColorStateList(id: number): android.content.res.ColorStateList;
				public parseBundleExtra(tagName: string, attrs: android.util.AttributeSet, outBundle: android.os.Bundle): void;
				public getFont(id: number): android.graphics.Typeface;
				public getDimensionPixelOffset(id: number): number;
				public getColorStateList(id: number, theme: android.content.res.Resources.Theme): android.content.res.ColorStateList;
				public getAnimation(id: number): android.content.res.XmlResourceParser;
				public getInteger(id: number): number;
				public openRawResource(id: number, value: android.util.TypedValue): java.io.InputStream;
				public getAssets(): android.content.res.AssetManager;
				public getDimensionPixelSize(id: number): number;
				public getText(id: number, def: string): string;
				public getResourcePackageName(resid: number): string;
				public obtainTypedArray(id: number): android.content.res.TypedArray;
				public static getSystem(): android.content.res.Resources;
				/** @deprecated */
				public getDrawableForDensity(id: number, density: number): android.graphics.drawable.Drawable;
				/** @deprecated */
				public getMovie(id: number): android.graphics.Movie;
				public getTextArray(id: number): androidNative.Array<string>;
				public addLoaders(loaders: androidNative.Array<android.content.res.loader.ResourcesLoader>): void;
			}
			export module Resources {
				export class NotFoundException extends java.lang.RuntimeException {
					public static class: java.lang.Class<android.content.res.Resources.NotFoundException>;
					public constructor(message: string);
					public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor(name: string);
					public constructor();
					public constructor(cause: java.lang.Throwable);
					public constructor(name: string, cause: java.lang.Exception);
					public constructor(message: string, cause: java.lang.Throwable);
				}
				export class Theme extends java.lang.Object {
					public static class: java.lang.Class<android.content.res.Resources.Theme>;
					public obtainStyledAttributes(set: android.util.AttributeSet, attrs: androidNative.Array<number>, defStyleAttr: number, defStyleRes: number): android.content.res.TypedArray;
					public obtainStyledAttributes(attrs: androidNative.Array<number>): android.content.res.TypedArray;
					public obtainStyledAttributes(resId: number, attrs: androidNative.Array<number>): android.content.res.TypedArray;
					public equals(o: any): boolean;
					public dump(priority: number, tag: string, prefix: string): void;
					public resolveAttribute(resid: number, outValue: android.util.TypedValue, resolveRefs: boolean): boolean;
					public getExplicitStyle(set: android.util.AttributeSet): number;
					public getDrawable(id: number): android.graphics.drawable.Drawable;
					public toString(): string;
					public getChangingConfigurations(): number;
					public rebase(): void;
					public getResources(): android.content.res.Resources;
					public setTo(other: android.content.res.Resources.Theme): void;
					public applyStyle(resId: number, force: boolean): void;
					public hashCode(): number;
					public getAttributeResolutionStack(defStyleAttr: number, defStyleRes: number, explicitStyleRes: number): androidNative.Array<number>;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class TypedArray extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.content.res.TypedArray>;
				public recycle(): void;
				public hasValueOrEmpty(index: number): boolean;
				public getDimensionPixelOffset(index: number, defValue: number): number;
				public getColorStateList(index: number): android.content.res.ColorStateList;
				public getType(index: number): number;
				public getPositionDescription(): string;
				public getDrawable(index: number): android.graphics.drawable.Drawable;
				public getNonResourceString(index: number): string;
				public getDimension(index: number, defValue: number): number;
				public getFont(index: number): android.graphics.Typeface;
				public getIndexCount(): number;
				public close(): void;
				public getIndex(at: number): number;
				public getTextArray(index: number): androidNative.Array<string>;
				public getSourceResourceId(index: number, defaultValue: number): number;
				public length(): number;
				public getBoolean(index: number, defValue: boolean): boolean;
				public getChangingConfigurations(): number;
				public hasValue(index: number): boolean;
				public toString(): string;
				public getString(index: number): string;
				public getInteger(index: number, defValue: number): number;
				public getLayoutDimension(index: number, defValue: number): number;
				public getResources(): android.content.res.Resources;
				public getFloat(index: number, defValue: number): number;
				public peekValue(index: number): android.util.TypedValue;
				public getDimensionPixelSize(index: number, defValue: number): number;
				public getColor(index: number, defValue: number): number;
				public getFraction(index: number, base: number, pbase: number, defValue: number): number;
				public getText(index: number): string;
				public getLayoutDimension(index: number, name: string): number;
				public getValue(index: number, outValue: android.util.TypedValue): boolean;
				public getInt(index: number, defValue: number): number;
				public getResourceId(index: number, defValue: 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: androidNative.Array<number>): androidNative.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(index: 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: androidNative.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: androidNative.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 FEATURE_REPORT_NAMESPACE_ATTRIBUTES: "http://xmlpull.org/v1/doc/features.html#report-namespace-prefixes";
				public static TEXT: 4;
				public static CDSECT: 5;
				public static NO_NAMESPACE: "";
				public static COMMENT: 9;
				public static FEATURE_PROCESS_DOCDECL: "http://xmlpull.org/v1/doc/features.html#process-docdecl";
				public static TYPES: androidNative.Array<string>;
				public static PROCESSING_INSTRUCTION: 8;
				public static END_DOCUMENT: 1;
				public static START_DOCUMENT: 0;
				public static IGNORABLE_WHITESPACE: 7;
				public static START_TAG: 2;
				public static ENTITY_REF: 6;
				public static FEATURE_VALIDATION: "http://xmlpull.org/v1/doc/features.html#validation";
				public static DOCDECL: 10;
				public static END_TAG: 3;
				public static FEATURE_PROCESS_NAMESPACES: "http://xmlpull.org/v1/doc/features.html#process-namespaces";
				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 getAttributeNamespace(index: number): 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 getAttributeType(param0: number): string;
				public getStyleAttribute(): number;
				public getAttributeValue(param0: number): string;
				public getTextCharacters(param0: androidNative.Array<number>): androidNative.Array<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 getAttributeResourceValue(param0: string, param1: string, param2: number): number;
				public getNamespaceUri(param0: number): string;
				public getAttributeListValue(param0: number, param1: androidNative.Array<string>, param2: number): number;
				public isEmptyElementTag(): boolean;
				public getNamespacePrefix(param0: number): string;
				public getPrefix(): string;
				public getAttributeListValue(param0: string, param1: string, param2: androidNative.Array<string>, param3: number): number;
				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 content {
		export module res {
			export module loader {
				export class AssetsProvider extends java.lang.Object {
					public static class: java.lang.Class<android.content.res.loader.AssetsProvider>;
					/**
					 * Constructs a new instance of the android.content.res.loader.AssetsProvider interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						loadAssetFd(path: string, accessMode: number): android.content.res.AssetFileDescriptor;
					});
					public constructor();
					public loadAssetFd(path: string, accessMode: number): android.content.res.AssetFileDescriptor;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export module loader {
				export class ResourcesLoader extends java.lang.Object {
					public static class: java.lang.Class<android.content.res.loader.ResourcesLoader>;
					public getProviders(): java.util.List<android.content.res.loader.ResourcesProvider>;
					public constructor();
					public clearProviders(): void;
					public setProviders(resourcesProviders: java.util.List<android.content.res.loader.ResourcesProvider>): void;
					public addProvider(resourcesProvider: android.content.res.loader.ResourcesProvider): void;
					public removeProvider(resourcesProvider: android.content.res.loader.ResourcesProvider): void;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export module loader {
				export class ResourcesProvider extends java.lang.Object implements java.lang.AutoCloseable, java.io.Closeable {
					public static class: java.lang.Class<android.content.res.loader.ResourcesProvider>;
					public static empty(assetsProvider: android.content.res.loader.AssetsProvider): android.content.res.loader.ResourcesProvider;
					public static loadFromDirectory(path: string, assetsProvider: android.content.res.loader.AssetsProvider): android.content.res.loader.ResourcesProvider;
					public static loadFromApk(fileDescriptor: android.os.ParcelFileDescriptor): android.content.res.loader.ResourcesProvider;
					public static loadFromApk(fileDescriptor: android.os.ParcelFileDescriptor, assetsProvider: android.content.res.loader.AssetsProvider): android.content.res.loader.ResourcesProvider;
					public finalize(): void;
					public close(): void;
					public static loadOverlay(overlayInfo: android.content.om.OverlayInfo): android.content.res.loader.ResourcesProvider;
					public static loadFromTable(fileDescriptor: android.os.ParcelFileDescriptor, assetsProvider: android.content.res.loader.AssetsProvider): android.content.res.loader.ResourcesProvider;
					public static loadFromSplit(context: android.content.Context, splitName: string): android.content.res.loader.ResourcesProvider;
				}
			}
		}
	}
}

declare module android {
	export module credentials {
		export class ClearCredentialStateException extends java.lang.Exception {
			public static class: java.lang.Class<android.credentials.ClearCredentialStateException>;
			public static TYPE_UNKNOWN: "android.credentials.ClearCredentialStateException.TYPE_UNKNOWN";
			public constructor(message: string);
			public constructor(type: string, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(type: string);
			public constructor();
			public constructor(type: string, message: string, cause: java.lang.Throwable);
			public getType(): string;
			public constructor(type: string, message: string);
		}
	}
}

declare module android {
	export module credentials {
		export class ClearCredentialStateRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.ClearCredentialStateRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.ClearCredentialStateRequest>;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getData(): android.os.Bundle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(data: android.os.Bundle);
		}
	}
}

declare module android {
	export module credentials {
		export class CreateCredentialException extends java.lang.Exception {
			public static class: java.lang.Class<android.credentials.CreateCredentialException>;
			public static TYPE_INTERRUPTED: "android.credentials.CreateCredentialException.TYPE_INTERRUPTED";
			public static TYPE_NO_CREATE_OPTIONS: "android.credentials.CreateCredentialException.TYPE_NO_CREATE_OPTIONS";
			public static TYPE_UNKNOWN: "android.credentials.CreateCredentialException.TYPE_UNKNOWN";
			public static TYPE_USER_CANCELED: "android.credentials.CreateCredentialException.TYPE_USER_CANCELED";
			public constructor(message: string);
			public constructor(type: string, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(type: string);
			public constructor();
			public constructor(type: string, message: string, cause: java.lang.Throwable);
			public getType(): string;
			public constructor(type: string, message: string);
		}
	}
}

declare module android {
	export module credentials {
		export class CreateCredentialRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.CreateCredentialRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.CreateCredentialRequest>;
			public toString(): string;
			public getCredentialData(): android.os.Bundle;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getOrigin(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public alwaysSendAppInfoToProvider(): boolean;
			public getCandidateQueryData(): android.os.Bundle;
			public getType(): string;
			public isSystemProviderRequired(): boolean;
		}
		export module CreateCredentialRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.credentials.CreateCredentialRequest.Builder>;
				public constructor(type: string, credentialData: android.os.Bundle, candidateQueryData: android.os.Bundle);
				public setAlwaysSendAppInfoToProvider(value: boolean): android.credentials.CreateCredentialRequest.Builder;
				public build(): android.credentials.CreateCredentialRequest;
				public setOrigin(origin: string): android.credentials.CreateCredentialRequest.Builder;
				public setIsSystemProviderRequired(value: boolean): android.credentials.CreateCredentialRequest.Builder;
			}
		}
	}
}

declare module android {
	export module credentials {
		export class CreateCredentialResponse extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.CreateCredentialResponse>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.CreateCredentialResponse>;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getData(): android.os.Bundle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(data: android.os.Bundle);
		}
	}
}

declare module android {
	export module credentials {
		export class Credential extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.Credential>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.Credential>;
			public static TYPE_PASSWORD_CREDENTIAL: "android.credentials.TYPE_PASSWORD_CREDENTIAL";
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(type: string, data: android.os.Bundle);
			public describeContents(): number;
			public getData(): android.os.Bundle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getType(): string;
		}
	}
}

declare module android {
	export module credentials {
		export class CredentialDescription extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.CredentialDescription>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.CredentialDescription>;
			public constructor(type: string, supportedElementKeys: java.util.Set<string>, credentialEntries: java.util.List<android.service.credentials.CredentialEntry>);
			public getCredentialEntries(): java.util.List<android.service.credentials.CredentialEntry>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSupportedElementKeys(): java.util.Set<string>;
			public getType(): string;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module credentials {
		export class CredentialManager extends java.lang.Object {
			public static class: java.lang.Class<android.credentials.CredentialManager>;
			public createCredential(context: android.content.Context, request: android.credentials.CreateCredentialRequest, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.credentials.CreateCredentialResponse,android.credentials.CreateCredentialException>): void;
			public unregisterCredentialDescription(request: android.credentials.UnregisterCredentialDescriptionRequest): void;
			public clearCredentialState(request: android.credentials.ClearCredentialStateRequest, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.credentials.ClearCredentialStateException>): void;
			public isEnabledCredentialProviderService(componentName: android.content.ComponentName): boolean;
			public prepareGetCredential(request: android.credentials.GetCredentialRequest, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.credentials.PrepareGetCredentialResponse,android.credentials.GetCredentialException>): void;
			public getCredential(context: android.content.Context, request: android.credentials.GetCredentialRequest, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>): void;
			public registerCredentialDescription(request: android.credentials.RegisterCredentialDescriptionRequest): void;
			public getCredential(context: android.content.Context, pendingGetCredentialHandle: android.credentials.PrepareGetCredentialResponse.PendingGetCredentialHandle, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>): void;
		}
	}
}

declare module android {
	export module credentials {
		export class CredentialOption extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.CredentialOption>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.CredentialOption>;
			public static SUPPORTED_ELEMENT_KEYS: "android.credentials.GetCredentialOption.SUPPORTED_ELEMENT_KEYS";
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getAllowedProviders(): java.util.Set<android.content.ComponentName>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCandidateQueryData(): android.os.Bundle;
			public getType(): string;
			public getCredentialRetrievalData(): android.os.Bundle;
			public isSystemProviderRequired(): boolean;
		}
		export module CredentialOption {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.credentials.CredentialOption.Builder>;
				public setAllowedProviders(allowedProviders: java.util.Set<android.content.ComponentName>): android.credentials.CredentialOption.Builder;
				public addAllowedProvider(allowedProvider: android.content.ComponentName): android.credentials.CredentialOption.Builder;
				public build(): android.credentials.CredentialOption;
				public constructor(type: string, credentialRetrievalData: android.os.Bundle, candidateQueryData: android.os.Bundle);
				public setIsSystemProviderRequired(isSystemProviderRequired: boolean): android.credentials.CredentialOption.Builder;
			}
		}
	}
}

declare module android {
	export module credentials {
		export class GetCredentialException extends java.lang.Exception {
			public static class: java.lang.Class<android.credentials.GetCredentialException>;
			public static TYPE_INTERRUPTED: "android.credentials.GetCredentialException.TYPE_INTERRUPTED";
			public static TYPE_NO_CREDENTIAL: "android.credentials.GetCredentialException.TYPE_NO_CREDENTIAL";
			public static TYPE_UNKNOWN: "android.credentials.GetCredentialException.TYPE_UNKNOWN";
			public static TYPE_USER_CANCELED: "android.credentials.GetCredentialException.TYPE_USER_CANCELED";
			public constructor(message: string);
			public constructor(type: string, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(type: string);
			public constructor();
			public constructor(type: string, message: string, cause: java.lang.Throwable);
			public getType(): string;
			public constructor(type: string, message: string);
		}
	}
}

declare module android {
	export module credentials {
		export class GetCredentialRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.GetCredentialRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.GetCredentialRequest>;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getOrigin(): string;
			public describeContents(): number;
			public getData(): android.os.Bundle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public alwaysSendAppInfoToProvider(): boolean;
			public getCredentialOptions(): java.util.List<android.credentials.CredentialOption>;
		}
		export module GetCredentialRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.credentials.GetCredentialRequest.Builder>;
				public setOrigin(origin: string): android.credentials.GetCredentialRequest.Builder;
				public addCredentialOption(credentialOption: android.credentials.CredentialOption): android.credentials.GetCredentialRequest.Builder;
				public setCredentialOptions(credentialOptions: java.util.List<android.credentials.CredentialOption>): android.credentials.GetCredentialRequest.Builder;
				public constructor(data: android.os.Bundle);
				public build(): android.credentials.GetCredentialRequest;
				public setAlwaysSendAppInfoToProvider(value: boolean): android.credentials.GetCredentialRequest.Builder;
			}
		}
	}
}

declare module android {
	export module credentials {
		export class GetCredentialResponse extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.GetCredentialResponse>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.GetCredentialResponse>;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCredential(): android.credentials.Credential;
			public constructor(credential: android.credentials.Credential);
		}
	}
}

declare module android {
	export module credentials {
		export class PrepareGetCredentialResponse extends java.lang.Object {
			public static class: java.lang.Class<android.credentials.PrepareGetCredentialResponse>;
			public getPendingGetCredentialHandle(): android.credentials.PrepareGetCredentialResponse.PendingGetCredentialHandle;
			public hasCredentialResults(credentialType: string): boolean;
			public hasRemoteResults(): boolean;
			public hasAuthenticationResults(): boolean;
		}
		export module PrepareGetCredentialResponse {
			export class PendingGetCredentialHandle extends java.lang.Object {
				public static class: java.lang.Class<android.credentials.PrepareGetCredentialResponse.PendingGetCredentialHandle>;
			}
		}
	}
}

declare module android {
	export module credentials {
		export class RegisterCredentialDescriptionRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.RegisterCredentialDescriptionRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.RegisterCredentialDescriptionRequest>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(credentialDescriptions: java.util.Set<android.credentials.CredentialDescription>);
			public constructor(credentialDescription: android.credentials.CredentialDescription);
			public getCredentialDescriptions(): java.util.Set<android.credentials.CredentialDescription>;
		}
	}
}

declare module android {
	export module credentials {
		export class UnregisterCredentialDescriptionRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.credentials.UnregisterCredentialDescriptionRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.credentials.UnregisterCredentialDescriptionRequest>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(credentialDescriptions: java.util.Set<android.credentials.CredentialDescription>);
			public constructor(credentialDescription: android.credentials.CredentialDescription);
			public getCredentialDescriptions(): java.util.Set<android.credentials.CredentialDescription>;
		}
	}
}

declare module android {
	export module crypto {
		export module hpke {
			export class HpkeSpi extends java.lang.Object {
				public static class: java.lang.Class<android.crypto.hpke.HpkeSpi>;
				/**
				 * Constructs a new instance of the android.crypto.hpke.HpkeSpi interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					engineInitSender(param0: java.security.PublicKey, param1: androidNative.Array<number>, param2: java.security.PrivateKey, param3: androidNative.Array<number>, param4: androidNative.Array<number>): void;
					engineInitSenderWithSeed(param0: java.security.PublicKey, param1: androidNative.Array<number>, param2: java.security.PrivateKey, param3: androidNative.Array<number>, param4: androidNative.Array<number>, param5: androidNative.Array<number>): void;
					engineInitRecipient(param0: androidNative.Array<number>, param1: java.security.PrivateKey, param2: androidNative.Array<number>, param3: java.security.PublicKey, param4: androidNative.Array<number>, param5: androidNative.Array<number>): void;
					engineSeal(param0: androidNative.Array<number>, param1: androidNative.Array<number>): androidNative.Array<number>;
					engineOpen(param0: androidNative.Array<number>, param1: androidNative.Array<number>): androidNative.Array<number>;
					engineExport(param0: number, param1: androidNative.Array<number>): androidNative.Array<number>;
					getEncapsulated(): androidNative.Array<number>;
				});
				public constructor();
				public engineOpen(param0: androidNative.Array<number>, param1: androidNative.Array<number>): androidNative.Array<number>;
				public getEncapsulated(): androidNative.Array<number>;
				public engineInitSenderWithSeed(param0: java.security.PublicKey, param1: androidNative.Array<number>, param2: java.security.PrivateKey, param3: androidNative.Array<number>, param4: androidNative.Array<number>, param5: androidNative.Array<number>): void;
				public engineInitSender(param0: java.security.PublicKey, param1: androidNative.Array<number>, param2: java.security.PrivateKey, param3: androidNative.Array<number>, param4: androidNative.Array<number>): void;
				public engineInitRecipient(param0: androidNative.Array<number>, param1: java.security.PrivateKey, param2: androidNative.Array<number>, param3: java.security.PublicKey, param4: androidNative.Array<number>, param5: androidNative.Array<number>): void;
				public engineSeal(param0: androidNative.Array<number>, param1: androidNative.Array<number>): androidNative.Array<number>;
				public engineExport(param0: number, param1: androidNative.Array<number>): androidNative.Array<number>;
			}
		}
	}
}

declare module android {
	export module crypto {
		export module hpke {
			export class XdhKeySpec extends java.security.spec.EncodedKeySpec {
				public static class: java.lang.Class<android.crypto.hpke.XdhKeySpec>;
				public constructor(encoded: androidNative.Array<number>);
				public getFormat(): string;
				public getKey(): androidNative.Array<number>;
				public hashCode(): number;
				public equals(o: any): boolean;
				public constructor(encodedKey: androidNative.Array<number>, algorithm: string);
			}
		}
	}
}

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 getUpdatedField(columnIndex: number): any;
			public setExtras(extras: android.os.Bundle): void;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public requery(): boolean;
			public setNotificationUri(cr: android.content.ContentResolver, notifyUri: android.net.Uri): void;
			public isAfterLast(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getBlob(param0: number): androidNative.Array<number>;
			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 setNotificationUris(cr: android.content.ContentResolver, notifyUris: java.util.List<android.net.Uri>): void;
			public isNull(param0: number): boolean;
			public getDouble(param0: number): number;
			public getColumnName(param0: number): string;
			public getString(param0: number): string;
			public getBlob(column: number): androidNative.Array<number>;
			public deactivate(): void;
			public getColumnIndex(columnName: string): number;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			public constructor();
			public moveToPosition(position: number): boolean;
			public registerContentObserver(observer: android.database.ContentObserver): void;
			public move(param0: number): boolean;
			public registerContentObserver(param0: android.database.ContentObserver): void;
			public unregisterDataSetObserver(observer: android.database.DataSetObserver): 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;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getColumnName(columnIndex: number): string;
			public getColumnIndexOrThrow(columnName: string): number;
			public onMove(oldPosition: number, newPosition: number): boolean;
			public getPosition(): number;
			public getNotificationUris(): java.util.List<android.net.Uri>;
			public onChange(selfChange: boolean): void;
			public respond(extras: android.os.Bundle): android.os.Bundle;
			public getWindow(): android.database.CursorWindow;
			public isBeforeFirst(): boolean;
			public moveToFirst(): boolean;
			public getNotificationUri(): android.net.Uri;
			public respond(param0: android.os.Bundle): android.os.Bundle;
			public getType(column: number): number;
			public getColumnNames(): androidNative.Array<string>;
			public isLast(): boolean;
			public close(): void;
			public moveToNext(): boolean;
			public finalize(): void;
			public setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public moveToLast(): boolean;
			public move(offset: number): boolean;
			public getColumnCount(): number;
			public checkPosition(): void;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public isFirst(): boolean;
			public copyStringToBuffer(columnIndex: number, buffer: android.database.CharArrayBuffer): void;
			public registerDataSetObserver(observer: android.database.DataSetObserver): void;
			public setNotificationUris(cr: android.content.ContentResolver, uris: java.util.List<android.net.Uri>): void;
			public unregisterContentObserver(observer: android.database.ContentObserver): void;
			public moveToPosition(param0: number): boolean;
			public getLong(param0: number): number;
			/** @deprecated */
			public isFieldUpdated(columnIndex: number): boolean;
			public fillWindow(position: number, window: android.database.CursorWindow): void;
		}
		export module AbstractCursor {
			export class SelfContentObserver extends android.database.ContentObserver {
				public static class: java.lang.Class<android.database.AbstractCursor.SelfContentObserver>;
				public deliverSelfNotifications(): boolean;
				public onChange(selfChange: boolean, uri: android.net.Uri): void;
				public constructor(handler: android.os.Handler);
				public constructor(cursor: android.database.AbstractCursor);
				public onChange(selfChange: boolean, uri: android.net.Uri, flags: number): void;
				public onChange(selfChange: boolean, uris: java.util.Collection<android.net.Uri>, flags: number): void;
				public onChange(selfChange: 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 isFloat(columnIndex: number): boolean;
			public getFloat(columnIndex: number): number;
			public checkPosition(): void;
			public getString(columnIndex: number): string;
			public getInt(columnIndex: number): number;
			public getShort(columnIndex: number): number;
			/** @deprecated */
			public isString(columnIndex: number): boolean;
			public copyStringToBuffer(columnIndex: number, buffer: android.database.CharArrayBuffer): void;
			/** @deprecated */
			public isBlob(columnIndex: number): boolean;
			public constructor();
			public getDouble(columnIndex: number): number;
			public getWindow(): android.database.CursorWindow;
			public setWindow(window: android.database.CursorWindow): void;
			public hasWindow(): boolean;
			public getLong(columnIndex: number): number;
			public isNull(columnIndex: number): boolean;
			public onMove(param0: number, param1: number): boolean;
			/** @deprecated */
			public isLong(columnIndex: number): boolean;
			public getType(columnIndex: number): number;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getBlob(columnIndex: number): androidNative.Array<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: androidNative.Array<string>;
			public sizeCopied: number;
			public constructor(buf: androidNative.Array<string>);
			public constructor(size: 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 dispatchChange(selfChange: boolean, uri: android.net.Uri): void;
			public registerObserver(observer: any): void;
			/** @deprecated */
			public dispatchChange(selfChange: boolean): void;
			public registerObserver(observer: android.database.ContentObserver): void;
			public constructor();
			/** @deprecated */
			public notifyChange(selfChange: 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 dispatchChange(selfChange: boolean, uri: android.net.Uri): void;
			public deliverSelfNotifications(): boolean;
			public dispatchChange(selfChange: boolean, uri: android.net.Uri, flags: number): void;
			/** @deprecated */
			public dispatchChange(selfChange: boolean): void;
			public constructor(handler: android.os.Handler);
			public onChange(selfChange: boolean, uri: android.net.Uri, flags: number): void;
			public onChange(selfChange: boolean, uris: java.util.Collection<android.net.Uri>, flags: number): void;
			public dispatchChange(selfChange: boolean, uris: java.util.Collection<android.net.Uri>, flags: number): void;
			public onChange(selfChange: boolean, uri: android.net.Uri): void;
			public onChange(selfChange: 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(): androidNative.Array<string>;
				getColumnCount(): number;
				getBlob(param0: number): androidNative.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;
				setNotificationUris(cr: android.content.ContentResolver, uris: java.util.List<android.net.Uri>): void;
				getNotificationUri(): android.net.Uri;
				getNotificationUris(): java.util.List<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: 1;
			public static FIELD_TYPE_BLOB: 4;
			public static FIELD_TYPE_NULL: 0;
			public static FIELD_TYPE_STRING: 3;
			public static FIELD_TYPE_FLOAT: 2;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public getPosition(): number;
			public getNotificationUris(): java.util.List<android.net.Uri>;
			public getWindow(): android.database.CursorWindow;
			public isBeforeFirst(): boolean;
			public isAfterLast(): boolean;
			public moveToFirst(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getNotificationUri(): android.net.Uri;
			public getBlob(param0: number): androidNative.Array<number>;
			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 getColumnNames(): androidNative.Array<string>;
			public getCount(): 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 setNotificationUris(cr: android.content.ContentResolver, uris: java.util.List<android.net.Uri>): 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>;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public isAfterLast(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getBlob(param0: number): androidNative.Array<number>;
			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 getColumnName(param0: number): string;
			public getDouble(param0: number): number;
			public getString(param0: number): string;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			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;
			public getInt(param0: number): number;
			public getWantsAllOnMoveCalls(): boolean;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public onMove(oldPosition: number, newPosition: number): boolean;
			public getPosition(): number;
			public getNotificationUris(): java.util.List<android.net.Uri>;
			public getWindow(): android.database.CursorWindow;
			public isBeforeFirst(): boolean;
			public moveToFirst(): boolean;
			public getNotificationUri(): android.net.Uri;
			public respond(param0: android.os.Bundle): android.os.Bundle;
			public isLast(): boolean;
			public getColumnNames(): androidNative.Array<string>;
			public moveToNext(): boolean;
			public close(): void;
			public setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public moveToLast(): boolean;
			public getColumnCount(): number;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public isFirst(): boolean;
			public setNotificationUris(cr: android.content.ContentResolver, uris: java.util.List<android.net.Uri>): void;
			public moveToPosition(param0: number): boolean;
			public getLong(param0: number): number;
			public fillWindow(position: number, window: android.database.CursorWindow): void;
			public constructor(cursor: android.database.Cursor);
		}
	}
}

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(): androidNative.Array<string>;
				getColumnCount(): number;
				getBlob(param0: number): androidNative.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;
				setNotificationUris(cr: android.content.ContentResolver, uris: java.util.List<android.net.Uri>): void;
				getNotificationUri(): android.net.Uri;
				getNotificationUris(): java.util.List<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: 1;
			public static FIELD_TYPE_BLOB: 4;
			public static FIELD_TYPE_NULL: 0;
			public static FIELD_TYPE_STRING: 3;
			public static FIELD_TYPE_FLOAT: 2;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public getPosition(): number;
			public getNotificationUris(): java.util.List<android.net.Uri>;
			public isBeforeFirst(): boolean;
			public isAfterLast(): boolean;
			public moveToFirst(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getNotificationUri(): android.net.Uri;
			public getBlob(param0: number): androidNative.Array<number>;
			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 getColumnNames(): androidNative.Array<string>;
			public getCount(): 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 setNotificationUris(cr: android.content.ContentResolver, uris: java.util.List<android.net.Uri>): 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(index: number, size: number);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(index: 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(cursorLeft: android.database.Cursor, columnNamesLeft: androidNative.Array<string>, cursorRight: android.database.Cursor, columnNamesRight: androidNative.Array<string>);
			public iterator(): java.util.Iterator<android.database.CursorJoiner.Result>;
			public next(): android.database.CursorJoiner.Result;
			public hasNext(): boolean;
			public forEach(action: any /* any*/): void;
			public remove(): void;
			public spliterator(): java.util.Spliterator<any>;
			public iterator(): java.util.Iterator<any>;
		}
		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 values(): androidNative.Array<android.database.CursorJoiner.Result>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.database.CursorJoiner.Result;
			}
		}
	}
}

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 getDouble(row: number, column: number): number;
			/** @deprecated */
			public isBlob(row: number, column: number): boolean;
			/** @deprecated */
			public constructor(localWindow: boolean);
			public getStartPosition(): number;
			public onAllReferencesReleased(): void;
			public allocRow(): boolean;
			public setNumColumns(columnNum: number): boolean;
			public getBlob(row: number, column: number): androidNative.Array<number>;
			public getInt(row: number, column: number): number;
			public setStartPosition(pos: number): void;
			public getNumRows(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getType(row: number, column: number): number;
			public close(): void;
			/** @deprecated */
			public isLong(row: number, column: number): boolean;
			public constructor(name: string, windowSizeBytes: number);
			public finalize(): void;
			public putBlob(value: androidNative.Array<number>, row: number, column: number): boolean;
			public clear(): void;
			/** @deprecated */
			public isString(row: number, column: number): boolean;
			public static newFromParcel(p: android.os.Parcel): android.database.CursorWindow;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(name: string);
			/** @deprecated */
			public isNull(row: number, column: number): boolean;
			public constructor();
			public getShort(row: number, column: number): number;
			public putLong(value: number, row: number, column: number): boolean;
			/** @deprecated */
			public isFloat(row: number, column: number): boolean;
			public copyStringToBuffer(row: number, column: number, buffer: android.database.CharArrayBuffer): void;
			public freeLastRow(): void;
			public putString(value: string, row: number, column: number): boolean;
			public toString(): string;
			public getFloat(row: number, column: number): number;
			public getString(row: number, column: number): string;
			public putDouble(value: number, row: number, column: number): boolean;
			public describeContents(): number;
			public putNull(row: number, column: number): boolean;
			public getLong(row: number, column: number): number;
		}
	}
}

declare module android {
	export module database {
		export class CursorWindowAllocationException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.database.CursorWindowAllocationException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(description: string);
		}
	}
}

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 setExtras(extras: android.os.Bundle): void;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public getDouble(columnIndex: number): number;
			public isAfterLast(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getBlob(param0: number): androidNative.Array<number>;
			public getColumnIndexOrThrow(param0: string): number;
			public setExtras(param0: android.os.Bundle): void;
			public isNull(columnIndex: number): boolean;
			/** @deprecated */
			public deactivate(): void;
			public getCount(): number;
			public setNotificationUri(cr: android.content.ContentResolver, uri: android.net.Uri): void;
			public getShort(param0: number): number;
			public getType(param0: number): number;
			public getBlob(columnIndex: number): androidNative.Array<number>;
			public isNull(param0: number): boolean;
			public getColumnName(param0: number): string;
			public getDouble(param0: number): number;
			public getString(param0: number): string;
			public getColumnIndex(columnName: string): number;
			public getInt(columnIndex: number): number;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			public moveToPosition(position: number): boolean;
			public registerContentObserver(observer: android.database.ContentObserver): void;
			public move(param0: number): boolean;
			public getLong(columnIndex: number): number;
			public registerContentObserver(param0: android.database.ContentObserver): void;
			public unregisterDataSetObserver(observer: android.database.DataSetObserver): void;
			public getColumnIndex(param0: string): number;
			public moveToPrevious(): boolean;
			public getExtras(): android.os.Bundle;
			public getWantsAllOnMoveCalls(): boolean;
			public getInt(param0: number): number;
			public isClosed(): boolean;
			public getFloat(columnIndex: number): number;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getColumnName(columnIndex: number): string;
			public getColumnIndexOrThrow(columnName: string): number;
			public getString(columnIndex: number): string;
			public getPosition(): number;
			public getNotificationUris(): java.util.List<android.net.Uri>;
			public getWrappedCursor(): android.database.Cursor;
			public respond(extras: android.os.Bundle): android.os.Bundle;
			public isBeforeFirst(): boolean;
			public moveToFirst(): boolean;
			public getNotificationUri(): android.net.Uri;
			public respond(param0: android.os.Bundle): android.os.Bundle;
			public getColumnNames(): androidNative.Array<string>;
			public isLast(): boolean;
			public close(): void;
			public moveToNext(): boolean;
			public setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public moveToLast(): boolean;
			public move(offset: number): boolean;
			public getColumnCount(): number;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public isFirst(): boolean;
			public getShort(columnIndex: number): number;
			public copyStringToBuffer(columnIndex: number, buffer: android.database.CharArrayBuffer): void;
			public registerDataSetObserver(observer: android.database.DataSetObserver): void;
			public setNotificationUris(cr: android.content.ContentResolver, uris: java.util.List<android.net.Uri>): void;
			public unregisterContentObserver(observer: android.database.ContentObserver): void;
			public moveToPosition(param0: number): boolean;
			public getLong(param0: number): number;
			public constructor(cursor: android.database.Cursor);
			public getType(columnIndex: number): number;
		}
	}
}

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: 6;
			public static STATEMENT_ATTACH: 3;
			public static STATEMENT_BEGIN: 4;
			public static STATEMENT_COMMIT: 5;
			public static STATEMENT_DDL: 8;
			public static STATEMENT_OTHER: 99;
			public static STATEMENT_PRAGMA: 7;
			public static STATEMENT_SELECT: 1;
			public static STATEMENT_UNPREPARED: 9;
			public static STATEMENT_UPDATE: 2;
			public static dumpCurrentRow(cursor: android.database.Cursor): void;
			public static blobFileDescriptorForQuery(prog: android.database.sqlite.SQLiteStatement, selectionArgs: androidNative.Array<string>): android.os.ParcelFileDescriptor;
			public static cursorDoubleToContentValuesIfPresent(cursor: android.database.Cursor, values: android.content.ContentValues, column: string): void;
			public static appendSelectionArgs(originalValues: androidNative.Array<string>, newValues: androidNative.Array<string>): androidNative.Array<string>;
			public static appendEscapedSQLString(sb: java.lang.StringBuilder, sqlString: string): void;
			public static longForQuery(db: android.database.sqlite.SQLiteDatabase, query: string, selectionArgs: androidNative.Array<string>): number;
			public static cursorIntToContentValues(cursor: android.database.Cursor, field: string, values: android.content.ContentValues, key: string): void;
			public static readExceptionWithFileNotFoundExceptionFromParcel(reply: android.os.Parcel): void;
			public static appendValueToSql(sql: java.lang.StringBuilder, value: any): void;
			public static cursorDoubleToContentValues(cursor: android.database.Cursor, field: string, values: android.content.ContentValues, key: string): void;
			public static stringForQuery(db: android.database.sqlite.SQLiteDatabase, query: string, selectionArgs: androidNative.Array<string>): string;
			public static cursorStringToContentValues(cursor: android.database.Cursor, field: string, values: android.content.ContentValues): void;
			public static getHexCollationKey(name: string): string;
			public static dumpCursor(cursor: android.database.Cursor): void;
			public static writeExceptionToParcel(reply: android.os.Parcel, e: java.lang.Exception): void;
			public static getCollationKey(name: string): string;
			public static cursorStringToInsertHelper(cursor: android.database.Cursor, field: string, inserter: android.database.DatabaseUtils.InsertHelper, index: number): void;
			public static cursorLongToContentValues(cursor: android.database.Cursor, field: string, values: android.content.ContentValues): void;
			public static concatenateWhere(a: string, b: string): string;
			public static cursorLongToContentValuesIfPresent(cursor: android.database.Cursor, values: android.content.ContentValues, column: string): void;
			public static cursorRowToContentValues(cursor: android.database.Cursor, values: android.content.ContentValues): void;
			public static cursorIntToContentValues(cursor: android.database.Cursor, field: string, values: android.content.ContentValues): void;
			public static cursorStringToContentValues(cursor: android.database.Cursor, field: string, values: android.content.ContentValues, key: string): void;
			public static queryNumEntries(db: android.database.sqlite.SQLiteDatabase, table: string, selection: string): number;
			public static dumpCursor(cursor: android.database.Cursor, sb: java.lang.StringBuilder): void;
			public static queryNumEntries(db: android.database.sqlite.SQLiteDatabase, table: string): number;
			public static dumpCursorToString(cursor: android.database.Cursor): string;
			public static dumpCurrentRowToString(cursor: android.database.Cursor): string;
			public static dumpCurrentRow(cursor: android.database.Cursor, sb: java.lang.StringBuilder): void;
			public constructor();
			public static dumpCursor(cursor: android.database.Cursor, stream: java.io.PrintStream): void;
			public static cursorLongToContentValues(cursor: android.database.Cursor, field: string, values: android.content.ContentValues, key: string): void;
			public static stringForQuery(prog: android.database.sqlite.SQLiteStatement, selectionArgs: androidNative.Array<string>): string;
			public static longForQuery(prog: android.database.sqlite.SQLiteStatement, selectionArgs: androidNative.Array<string>): number;
			public static cursorDoubleToCursorValues(cursor: android.database.Cursor, field: string, values: android.content.ContentValues): void;
			public static queryNumEntries(db: android.database.sqlite.SQLiteDatabase, table: string, selection: string, selectionArgs: androidNative.Array<string>): number;
			public static cursorStringToContentValuesIfPresent(cursor: android.database.Cursor, values: android.content.ContentValues, column: string): void;
			public static createDbFromSqlStatements(context: android.content.Context, dbName: string, dbVersion: number, sqlStatements: string): void;
			public static cursorShortToContentValuesIfPresent(cursor: android.database.Cursor, values: android.content.ContentValues, column: string): void;
			public static blobFileDescriptorForQuery(db: android.database.sqlite.SQLiteDatabase, query: string, selectionArgs: androidNative.Array<string>): android.os.ParcelFileDescriptor;
			public static cursorIntToContentValuesIfPresent(cursor: android.database.Cursor, values: android.content.ContentValues, column: string): void;
			public static readExceptionWithOperationApplicationExceptionFromParcel(reply: android.os.Parcel): void;
			public static readExceptionFromParcel(reply: android.os.Parcel): void;
			public static sqlEscapeString(value: string): string;
			public static dumpCurrentRow(cursor: android.database.Cursor, stream: java.io.PrintStream): void;
			public static bindObjectToProgram(prog: android.database.sqlite.SQLiteProgram, index: number, value: any): void;
			public static getSqlStatementType(sql: string): number;
			public static cursorFloatToContentValuesIfPresent(cursor: android.database.Cursor, values: android.content.ContentValues, column: string): void;
		}
		export module DatabaseUtils {
			export class InsertHelper extends java.lang.Object {
				public static class: java.lang.Class<android.database.DatabaseUtils.InsertHelper>;
				/** @deprecated */
				public insert(values: android.content.ContentValues): number;
				/** @deprecated */
				public bind(index: number, value: boolean): void;
				/** @deprecated */
				public bindNull(index: number): void;
				/** @deprecated */
				public bind(index: number, value: number): void;
				/** @deprecated */
				public constructor(db: android.database.sqlite.SQLiteDatabase, tableName: string);
				/** @deprecated */
				public prepareForReplace(): void;
				/** @deprecated */
				public getColumnIndex(key: string): number;
				/** @deprecated */
				public prepareForInsert(): void;
				/** @deprecated */
				public bind(index: number, value: androidNative.Array<number>): void;
				/** @deprecated */
				public execute(): number;
				/** @deprecated */
				public replace(values: android.content.ContentValues): number;
				/** @deprecated */
				public bind(index: number, value: string): void;
				/** @deprecated */
				public close(): void;
			}
		}
	}
}

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();
			public onCorruption(dbObj: android.database.sqlite.SQLiteDatabase): void;
		}
	}
}

declare module android {
	export module database {
		export class MatrixCursor extends android.database.AbstractCursor {
			public static class: java.lang.Class<android.database.MatrixCursor>;
			public addRow(columnValues: java.lang.Iterable<any>): void;
			public getBlob(column: number): androidNative.Array<number>;
			public getDouble(column: number): number;
			public constructor();
			public newRow(): android.database.MatrixCursor.RowBuilder;
			public getWindow(): android.database.CursorWindow;
			public getLong(column: number): number;
			public constructor(columnNames: androidNative.Array<string>, initialCapacity: number);
			public getShort(column: number): number;
			public getType(column: number): number;
			public addRow(columnValues: androidNative.Array<any>): void;
			public getInt(column: number): number;
			public onMove(param0: number, param1: number): boolean;
			public isNull(column: number): boolean;
			public getColumnNames(): androidNative.Array<string>;
			public getFloat(column: number): number;
			public constructor(columnNames: androidNative.Array<string>);
			public getCount(): number;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getString(column: number): string;
		}
		export module MatrixCursor {
			export class RowBuilder extends java.lang.Object {
				public static class: java.lang.Class<android.database.MatrixCursor.RowBuilder>;
				public add(columnValue: any): android.database.MatrixCursor.RowBuilder;
				public add(columnName: string, value: 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 constructor(cursors: androidNative.Array<android.database.Cursor>);
			public getBlob(column: number): androidNative.Array<number>;
			public deactivate(): void;
			public requery(): boolean;
			public onMove(oldPosition: number, newPosition: number): boolean;
			public getDouble(column: number): number;
			public constructor();
			public registerDataSetObserver(observer: android.database.DataSetObserver): void;
			public getWindow(): android.database.CursorWindow;
			public getLong(column: number): number;
			public getShort(column: number): number;
			public registerContentObserver(observer: android.database.ContentObserver): void;
			public unregisterContentObserver(observer: android.database.ContentObserver): void;
			public getType(column: number): number;
			public getInt(column: number): number;
			public onMove(param0: number, param1: number): boolean;
			public isNull(column: number): boolean;
			public getFloat(column: number): number;
			public getColumnNames(): androidNative.Array<string>;
			public unregisterDataSetObserver(observer: android.database.DataSetObserver): void;
			public getCount(): number;
			public close(): void;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getString(column: number): string;
		}
	}
}

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 unregisterObserver(observer: T): void;
			public unregisterAll(): void;
			public registerObserver(observer: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(error: string);
			public constructor();
			public constructor(error: string, cause: java.lang.Throwable);
		}
	}
}

declare module android {
	export module database {
		export class StaleDataException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.database.StaleDataException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(description: 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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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 requery(): boolean;
				public setFillWindowForwardOnly(fillWindowForwardOnly: boolean): void;
				public close(): void;
				public constructor(driver: android.database.sqlite.SQLiteCursorDriver, editTable: string, query: android.database.sqlite.SQLiteQuery);
				public onMove(oldPosition: number, newPosition: number): boolean;
				public fillWindow(param0: number, param1: android.database.CursorWindow): void;
				public onMove(param0: number, param1: number): boolean;
				/** @deprecated */
				public constructor(db: android.database.sqlite.SQLiteDatabase, driver: android.database.sqlite.SQLiteCursorDriver, editTable: string, query: android.database.sqlite.SQLiteQuery);
				public finalize(): void;
				public getCount(): number;
				public setSelectionArguments(selectionArgs: androidNative.Array<string>): void;
				public constructor();
				public getWindow(): android.database.CursorWindow;
				public getColumnIndex(columnName: string): number;
				public getColumnNames(): androidNative.Array<string>;
				public setWindow(window: android.database.CursorWindow): void;
				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: androidNative.Array<string>): android.database.Cursor;
					cursorDeactivated(): void;
					cursorRequeried(param0: android.database.Cursor): void;
					cursorClosed(): void;
					setBindArguments(param0: androidNative.Array<string>): void;
				});
				public constructor();
				public cursorRequeried(param0: android.database.Cursor): void;
				public query(param0: android.database.sqlite.SQLiteDatabase.CursorFactory, param1: androidNative.Array<string>): android.database.Cursor;
				public cursorDeactivated(): void;
				public cursorClosed(): void;
				public setBindArguments(param0: androidNative.Array<string>): void;
			}
		}
	}
}

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: 2;
				public static CONFLICT_FAIL: 3;
				public static CONFLICT_IGNORE: 4;
				public static CONFLICT_NONE: 0;
				public static CONFLICT_REPLACE: 5;
				public static CONFLICT_ROLLBACK: 1;
				public static CREATE_IF_NECESSARY: 268435456;
				public static ENABLE_WRITE_AHEAD_LOGGING: 536870912;
				public static JOURNAL_MODE_DELETE: "DELETE";
				public static JOURNAL_MODE_MEMORY: "MEMORY";
				public static JOURNAL_MODE_OFF: "OFF";
				public static JOURNAL_MODE_PERSIST: "PERSIST";
				public static JOURNAL_MODE_TRUNCATE: "TRUNCATE";
				public static JOURNAL_MODE_WAL: "WAL";
				public static MAX_SQL_CACHE_SIZE: 100;
				public static NO_LOCALIZED_COLLATORS: 16;
				public static OPEN_READONLY: 1;
				public static OPEN_READWRITE: 0;
				public static SQLITE_MAX_LIKE_PATTERN_LENGTH: 50000;
				public static SYNC_MODE_EXTRA: "EXTRA";
				public static SYNC_MODE_FULL: "FULL";
				public static SYNC_MODE_NORMAL: "NORMAL";
				public static SYNC_MODE_OFF: "OFF";
				public beginTransaction(): void;
				public execSQL(sql: string): void;
				public rawQuery(sql: string, selectionArgs: androidNative.Array<string>, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				public compileStatement(sql: string): android.database.sqlite.SQLiteStatement;
				public queryWithFactory(cursorFactory: android.database.sqlite.SQLiteDatabase.CursorFactory, distinct: boolean, table: string, columns: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, orderBy: string, limit: string): android.database.Cursor;
				public insert(table: string, nullColumnHack: string, values: android.content.ContentValues): number;
				public static openDatabase(path: string, factory: android.database.sqlite.SQLiteDatabase.CursorFactory, flags: number): android.database.sqlite.SQLiteDatabase;
				public setVersion(version: number): void;
				public static deleteDatabase(file: java.io.File): boolean;
				public isDbLockedByCurrentThread(): boolean;
				public isWriteAheadLoggingEnabled(): boolean;
				public static releaseMemory(): number;
				public update(table: string, values: android.content.ContentValues, whereClause: string, whereArgs: androidNative.Array<string>): number;
				public validateSql(sql: string, cancellationSignal: android.os.CancellationSignal): void;
				/** @deprecated */
				public yieldIfContended(): boolean;
				/** @deprecated */
				public markTableSyncable(table: string, deletedTable: string): void;
				public query(table: string, columns: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, orderBy: string): android.database.Cursor;
				public getLastChangedRowCount(): number;
				public inTransaction(): boolean;
				public setCustomAggregateFunction(functionName: string, aggregateFunction: any /* any*/): void;
				public createRawStatement(sql: string): android.database.sqlite.SQLiteRawStatement;
				public enableWriteAheadLogging(): boolean;
				public close(): void;
				public execPerConnectionSQL(sql: string, bindArgs: androidNative.Array<any>): void;
				public updateWithOnConflict(table: string, values: android.content.ContentValues, whereClause: string, whereArgs: androidNative.Array<string>, conflictAlgorithm: number): number;
				public setTransactionSuccessful(): void;
				/** @deprecated */
				public markTableSyncable(table: string, foreignKey: string, updateTable: string): void;
				public insertOrThrow(table: string, nullColumnHack: string, values: android.content.ContentValues): number;
				public static openOrCreateDatabase(path: string, factory: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
				public getPath(): string;
				public toString(): string;
				public yieldIfContendedSafely(): boolean;
				public beginTransactionWithListenerReadOnly(transactionListener: android.database.sqlite.SQLiteTransactionListener): void;
				public static openOrCreateDatabase(file: java.io.File, factory: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
				public setMaxSqlCacheSize(cacheSize: number): void;
				public setPageSize(numBytes: number): void;
				public getVersion(): number;
				public static openDatabase(path: string, factory: android.database.sqlite.SQLiteDatabase.CursorFactory, flags: number, errorHandler: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
				public static openOrCreateDatabase(path: string, factory: android.database.sqlite.SQLiteDatabase.CursorFactory, errorHandler: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
				public getTotalChangedRowCount(): number;
				public replace(table: string, nullColumnHack: string, initialValues: android.content.ContentValues): number;
				public getLastInsertRowId(): number;
				public query(table: string, columns: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, orderBy: string, limit: string): android.database.Cursor;
				public getAttachedDbs(): java.util.List<android.util.Pair<string,string>>;
				public beginTransactionReadOnly(): void;
				public static create(factory: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
				public finalize(): void;
				public queryWithFactory(cursorFactory: android.database.sqlite.SQLiteDatabase.CursorFactory, distinct: boolean, table: string, columns: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, orderBy: string, limit: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				public beginTransactionNonExclusive(): void;
				public setMaximumSize(numBytes: number): number;
				public setLocale(locale: java.util.Locale): void;
				/** @deprecated */
				public getSyncedTables(): java.util.Map<string,string>;
				public static createInMemory(openParams: android.database.sqlite.SQLiteDatabase.OpenParams): android.database.sqlite.SQLiteDatabase;
				public yieldIfContendedSafely(sleepAfterYieldDelay: number): boolean;
				public replaceOrThrow(table: string, nullColumnHack: string, initialValues: android.content.ContentValues): number;
				public insertWithOnConflict(table: string, nullColumnHack: string, initialValues: android.content.ContentValues, conflictAlgorithm: number): number;
				public query(distinct: boolean, table: string, columns: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, orderBy: string, limit: string): android.database.Cursor;
				public setCustomScalarFunction(functionName: string, scalarFunction: any /* any*/): void;
				public getMaximumSize(): number;
				public isDatabaseIntegrityOk(): boolean;
				public rawQueryWithFactory(cursorFactory: android.database.sqlite.SQLiteDatabase.CursorFactory, sql: string, selectionArgs: androidNative.Array<string>, editTable: string): android.database.Cursor;
				public onAllReferencesReleased(): void;
				public static openDatabase(path: java.io.File, openParams: android.database.sqlite.SQLiteDatabase.OpenParams): android.database.sqlite.SQLiteDatabase;
				public beginTransactionWithListenerNonExclusive(transactionListener: android.database.sqlite.SQLiteTransactionListener): void;
				public delete(table: string, whereClause: string, whereArgs: androidNative.Array<string>): number;
				/** @deprecated */
				public isDbLockedByOtherThreads(): boolean;
				public rawQuery(sql: string, selectionArgs: androidNative.Array<string>): android.database.Cursor;
				public setForeignKeyConstraintsEnabled(enable: boolean): void;
				public disableWriteAheadLogging(): void;
				public static findEditTable(tables: string): string;
				public rawQueryWithFactory(cursorFactory: android.database.sqlite.SQLiteDatabase.CursorFactory, sql: string, selectionArgs: androidNative.Array<string>, editTable: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				public needUpgrade(newVersion: number): boolean;
				public getPageSize(): number;
				public beginTransactionWithListener(transactionListener: android.database.sqlite.SQLiteTransactionListener): void;
				public isReadOnly(): boolean;
				public isOpen(): boolean;
				public endTransaction(): void;
				public execSQL(sql: string, bindArgs: androidNative.Array<any>): void;
				public query(distinct: boolean, table: string, columns: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, orderBy: string, limit: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				/** @deprecated */
				public setLockingEnabled(lockingEnabled: boolean): void;
			}
			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 addOpenFlags(openFlags: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public removeOpenFlags(openFlags: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setCursorFactory(cursorFactory: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setSynchronousMode(syncMode: string): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public constructor();
						/** @deprecated */
						public setIdleConnectionTimeout(idleConnectionTimeoutMs: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setJournalMode(journalMode: string): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setOpenFlags(openFlags: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setErrorHandler(errorHandler: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setLookasideConfig(slotSize: number, slotCount: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public constructor(params: 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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export abstract class SQLiteOpenHelper extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.database.sqlite.SQLiteOpenHelper>;
				public close(): void;
				public onOpen(db: android.database.sqlite.SQLiteDatabase): void;
				/** @deprecated */
				public setIdleConnectionTimeout(idleConnectionTimeoutMs: number): void;
				public onUpgrade(param0: android.database.sqlite.SQLiteDatabase, param1: number, param2: number): void;
				public getReadableDatabase(): android.database.sqlite.SQLiteDatabase;
				public onDowngrade(db: android.database.sqlite.SQLiteDatabase, oldVersion: number, newVersion: number): void;
				public setOpenParams(openParams: android.database.sqlite.SQLiteDatabase.OpenParams): void;
				public onConfigure(db: android.database.sqlite.SQLiteDatabase): void;
				public constructor(context: android.content.Context, name: string, factory: android.database.sqlite.SQLiteDatabase.CursorFactory, version: number);
				public setLookasideConfig(slotSize: number, slotCount: number): void;
				public onCreate(param0: android.database.sqlite.SQLiteDatabase): void;
				public constructor(context: android.content.Context, name: string, version: number, openParams: android.database.sqlite.SQLiteDatabase.OpenParams);
				public getDatabaseName(): string;
				public getWritableDatabase(): android.database.sqlite.SQLiteDatabase;
				public constructor(context: android.content.Context, name: string, factory: android.database.sqlite.SQLiteDatabase.CursorFactory, version: number, errorHandler: android.database.DatabaseErrorHandler);
				public setWriteAheadLoggingEnabled(enabled: boolean): 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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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 bindLong(index: number, value: number): void;
				public clearBindings(): void;
				public close(): void;
				public bindDouble(index: number, value: number): void;
				public bindString(index: number, value: string): void;
				public bindAllArgsAsStrings(bindArgs: androidNative.Array<string>): void;
				/** @deprecated */
				public getUniqueId(): number;
				public bindBlob(index: number, value: androidNative.Array<number>): void;
				public bindNull(index: 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 query(db: android.database.sqlite.SQLiteDatabase, projectionIn: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, sortOrder: string, limit: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
				public delete(db: android.database.sqlite.SQLiteDatabase, selection: string, selectionArgs: androidNative.Array<string>): number;
				/** @deprecated */
				public buildUnionSubQuery(typeDiscriminatorColumn: string, unionColumns: androidNative.Array<string>, columnsPresentInTable: java.util.Set<string>, computedColumnsOffset: number, typeDiscriminatorValue: string, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string): string;
				public getProjectionMap(): java.util.Map<string,string>;
				public query(db: android.database.sqlite.SQLiteDatabase, projectionIn: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, sortOrder: string): android.database.Cursor;
				public buildUnionQuery(subQueries: androidNative.Array<string>, sortOrder: string, limit: string): string;
				public static buildQueryString(distinct: boolean, tables: string, columns: androidNative.Array<string>, where: string, groupBy: string, having: string, orderBy: string, limit: string): string;
				/** @deprecated */
				public buildQuery(projectionIn: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, sortOrder: string, limit: string): string;
				public buildQuery(projectionIn: androidNative.Array<string>, selection: string, groupBy: string, having: string, sortOrder: string, limit: string): string;
				public constructor();
				public isStrict(): boolean;
				public setStrictGrammar(strictGrammar: boolean): void;
				public appendWhereEscapeString(inWhere: string): void;
				public getTables(): string;
				public setProjectionGreylist(projectionGreylist: java.util.Collection<java.util.regex.Pattern>): void;
				public setStrictColumns(strictColumns: boolean): void;
				public query(db: android.database.sqlite.SQLiteDatabase, projectionIn: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, groupBy: string, having: string, sortOrder: string, limit: string): android.database.Cursor;
				public setStrict(strict: boolean): void;
				public setDistinct(distinct: boolean): void;
				public update(db: android.database.sqlite.SQLiteDatabase, values: android.content.ContentValues, selection: string, selectionArgs: androidNative.Array<string>): number;
				public appendWhereStandalone(inWhere: string): void;
				public setCursorFactory(factory: android.database.sqlite.SQLiteDatabase.CursorFactory): void;
				public setProjectionMap(columnMap: java.util.Map<string,string>): void;
				public isStrictGrammar(): boolean;
				public getCursorFactory(): android.database.sqlite.SQLiteDatabase.CursorFactory;
				public setTables(inTables: string): void;
				public appendWhere(inWhere: string): void;
				public getProjectionGreylist(): java.util.Collection<java.util.regex.Pattern>;
				public buildUnionSubQuery(typeDiscriminatorColumn: string, unionColumns: androidNative.Array<string>, columnsPresentInTable: java.util.Set<string>, computedColumnsOffset: number, typeDiscriminatorValue: string, selection: string, groupBy: string, having: string): string;
				public isStrictColumns(): boolean;
				public isDistinct(): boolean;
				public static appendColumns(s: java.lang.StringBuilder, columns: androidNative.Array<string>): void;
				public insert(db: android.database.sqlite.SQLiteDatabase, values: android.content.ContentValues): number;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteRawStatement extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.database.sqlite.SQLiteRawStatement>;
				public static SQLITE_DATA_TYPE_BLOB: 4;
				public static SQLITE_DATA_TYPE_FLOAT: 2;
				public static SQLITE_DATA_TYPE_INTEGER: 1;
				public static SQLITE_DATA_TYPE_NULL: 5;
				public static SQLITE_DATA_TYPE_TEXT: 3;
				public step(): boolean;
				public bindBlob(parameterIndex: number, value: androidNative.Array<number>, offset: number, length: number): void;
				public bindInt(parameterIndex: number, value: number): void;
				public getColumnDouble(columnIndex: number): number;
				public getColumnText(columnIndex: number): string;
				public reset(): void;
				public clearBindings(): void;
				public getParameterIndex(name: string): number;
				public bindDouble(parameterIndex: number, value: number): void;
				public getParameterCount(): number;
				public close(): void;
				public getColumnLong(columnIndex: number): number;
				public getColumnName(columnIndex: number): string;
				public getColumnInt(columnIndex: number): number;
				public toString(): string;
				public bindBlob(parameterIndex: number, value: androidNative.Array<number>): void;
				public bindLong(parameterIndex: number, value: number): void;
				public getParameterName(parameterIndex: number): string;
				public getColumnBlob(columnIndex: number): androidNative.Array<number>;
				public readColumnBlob(columnIndex: number, buffer: androidNative.Array<number>, offset: number, length: number, srcOffset: number): number;
				public isOpen(): boolean;
				public bindText(parameterIndex: number, value: string): void;
				public getResultColumnCount(): number;
				public getColumnType(columnIndex: number): number;
				public bindNull(parameterIndex: number): void;
				public getColumnLength(columnIndex: number): number;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(error: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(error: string);
				public constructor();
			}
		}
	}
}

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 devicelock {
		export class DeviceId extends java.lang.Object {
			public static class: java.lang.Class<android.devicelock.DeviceId>;
			public static DEVICE_ID_TYPE_IMEI: 0;
			public static DEVICE_ID_TYPE_MEID: 1;
			public getType(): number;
			public getId(): string;
		}
	}
}

declare module android {
	export module devicelock {
		export class DeviceLockManager extends java.lang.Object {
			public static class: java.lang.Class<android.devicelock.DeviceLockManager>;
			public static DEVICE_LOCK_ROLE_FINANCING: 0;
			public unlockDevice(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,java.lang.Exception>): void;
			public lockDevice(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,java.lang.Exception>): void;
			public getDeviceId(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.devicelock.DeviceId,java.lang.Exception>): void;
			public isDeviceLocked(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Boolean,java.lang.Exception>): void;
			public getKioskApps(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.util.Map<java.lang.Integer,string>,java.lang.Exception>): 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: 3;
			public static STATUS_INPUTDATA_ERROR: 2;
			public static STATUS_OK: 1;
			public convertedData: androidNative.Array<number>;
			public offset: number;
			public statusCode: number;
			/** @deprecated */
			public constructor(statusCode: number, convertedData: androidNative.Array<number>, offset: 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: 2008;
			public static TYPE_NOT_SUPPORTED: 2003;
			public static TYPE_NO_INTERNET_CONNECTION: 2005;
			public static TYPE_OUT_OF_MEMORY: 2004;
			public static TYPE_PROCESS_DRM_INFO_FAILED: 2006;
			public static TYPE_REMOVE_ALL_RIGHTS_FAILED: 2007;
			public static TYPE_RIGHTS_NOT_INSTALLED: 2001;
			public static TYPE_RIGHTS_RENEWAL_NOT_ALLOWED: 2002;
			/** @deprecated */
			public constructor(uniqueId: number, type: number, message: string, attributes: java.util.HashMap<string,any>);
			/** @deprecated */
			public constructor(uniqueId: number, type: number, message: string);
		}
	}
}

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: "drm_info_object";
			public static DRM_INFO_STATUS_OBJECT: "drm_info_status_object";
			public static TYPE_ALL_RIGHTS_REMOVED: 1001;
			public static TYPE_DRM_INFO_PROCESSED: 1002;
			/** @deprecated */
			public constructor(uniqueId: number, type: number, message: string, attributes: java.util.HashMap<string,any>);
			/** @deprecated */
			public constructor(uniqueId: number, type: number, message: string);
			/** @deprecated */
			public getUniqueId(): number;
			/** @deprecated */
			public getMessage(): string;
			/** @deprecated */
			public getAttribute(key: string): any;
			/** @deprecated */
			public getType(): number;
		}
	}
}

declare module android {
	export module drm {
		export class DrmInfo extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmInfo>;
			/** @deprecated */
			public getMimeType(): string;
			/** @deprecated */
			public put(key: string, value: any): void;
			/** @deprecated */
			public getData(): androidNative.Array<number>;
			/** @deprecated */
			public constructor(infoType: number, path: string, mimeType: string);
			/** @deprecated */
			public constructor(infoType: number, data: androidNative.Array<number>, mimeType: string);
			/** @deprecated */
			public iterator(): java.util.Iterator<any>;
			/** @deprecated */
			public getInfoType(): number;
			/** @deprecated */
			public get(key: string): any;
			/** @deprecated */
			public keyIterator(): java.util.Iterator<string>;
		}
	}
}

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: 5;
			public static TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT: 1;
			public static TYPE_REMOVE_RIGHTS: 2;
			public static TYPE_RIGHTS_INSTALLED: 3;
			public static TYPE_RIGHTS_REMOVED: 6;
			public static TYPE_WAIT_FOR_RIGHTS: 4;
			/** @deprecated */
			public constructor(uniqueId: number, type: number, message: string, attributes: java.util.HashMap<string,any>);
			/** @deprecated */
			public constructor(uniqueId: number, type: number, message: string);
		}
	}
}

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: "account_id";
			public static SUBSCRIPTION_ID: "subscription_id";
			public static TYPE_REGISTRATION_INFO: 1;
			public static TYPE_RIGHTS_ACQUISITION_INFO: 3;
			public static TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO: 4;
			public static TYPE_UNREGISTRATION_INFO: 2;
			/** @deprecated */
			public getMimeType(): string;
			/** @deprecated */
			public constructor(infoType: number, mimeType: string);
			/** @deprecated */
			public put(key: string, value: any): void;
			/** @deprecated */
			public iterator(): java.util.Iterator<any>;
			/** @deprecated */
			public getInfoType(): number;
			/** @deprecated */
			public get(key: string): any;
			/** @deprecated */
			public keyIterator(): java.util.Iterator<string>;
		}
	}
}

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: 2;
			public static STATUS_OK: 1;
			public data: android.drm.ProcessedData;
			public infoType: number;
			public mimeType: string;
			public statusCode: number;
			/** @deprecated */
			public constructor(statusCode: number, infoType: number, data: android.drm.ProcessedData, mimeType: 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: 0;
			public static ERROR_UNKNOWN: -2000;
			/** @deprecated */
			public getConstraints(path: string, action: number): android.content.ContentValues;
			/** @deprecated */
			public getAvailableDrmSupportInfo(): java.util.Collection<android.drm.DrmSupportInfo>;
			/** @deprecated */
			public setOnEventListener(eventListener: android.drm.DrmManagerClient.OnEventListener): void;
			/** @deprecated */
			public setOnErrorListener(errorListener: android.drm.DrmManagerClient.OnErrorListener): void;
			/** @deprecated */
			public getOriginalMimeType(path: string): string;
			/** @deprecated */
			public getAvailableDrmEngines(): androidNative.Array<string>;
			/** @deprecated */
			public processDrmInfo(drmInfo: android.drm.DrmInfo): number;
			/** @deprecated */
			public getOriginalMimeType(uri: android.net.Uri): string;
			/** @deprecated */
			public convertData(convertId: number, inputData: androidNative.Array<number>): android.drm.DrmConvertedStatus;
			/** @deprecated */
			public saveRights(drmRights: android.drm.DrmRights, rightsPath: string, contentPath: string): number;
			/** @deprecated */
			public removeRights(uri: android.net.Uri): number;
			/** @deprecated */
			public getConstraints(uri: android.net.Uri, action: number): android.content.ContentValues;
			/** @deprecated */
			public canHandle(uri: android.net.Uri, mimeType: string): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public close(): void;
			/** @deprecated */
			public removeRights(path: string): number;
			public close(): void;
			/** @deprecated */
			public checkRightsStatus(path: string, action: number): number;
			/** @deprecated */
			public checkRightsStatus(uri: android.net.Uri): number;
			/** @deprecated */
			public removeAllRights(): number;
			/** @deprecated */
			public checkRightsStatus(path: string): number;
			/** @deprecated */
			public getMetadata(uri: android.net.Uri): android.content.ContentValues;
			/** @deprecated */
			public setOnInfoListener(infoListener: android.drm.DrmManagerClient.OnInfoListener): void;
			/** @deprecated */
			public openConvertSession(mimeType: string): number;
			/** @deprecated */
			public getDrmObjectType(path: string, mimeType: string): number;
			/** @deprecated */
			public release(): void;
			/** @deprecated */
			public acquireRights(drmInfoRequest: android.drm.DrmInfoRequest): number;
			/** @deprecated */
			public finalize(): void;
			/** @deprecated */
			public getDrmObjectType(uri: android.net.Uri, mimeType: string): number;
			/** @deprecated */
			public closeConvertSession(convertId: number): android.drm.DrmConvertedStatus;
			/** @deprecated */
			public checkRightsStatus(uri: android.net.Uri, action: number): number;
			/** @deprecated */
			public canHandle(path: string, mimeType: string): boolean;
			/** @deprecated */
			public getMetadata(path: string): android.content.ContentValues;
			/** @deprecated */
			public acquireDrmInfo(drmInfoRequest: android.drm.DrmInfoRequest): android.drm.DrmInfo;
		}
		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();
				/** @deprecated */
				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();
				/** @deprecated */
				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();
				/** @deprecated */
				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>;
			/** @deprecated */
			public constructor(rightsFilePath: string, mimeType: string, accountId: string);
			/** @deprecated */
			public getMimeType(): string;
			/** @deprecated */
			public getData(): androidNative.Array<number>;
			/** @deprecated */
			public constructor(data: android.drm.ProcessedData, mimeType: string);
			/** @deprecated */
			public getAccountId(): string;
			/** @deprecated */
			public constructor(rightsFilePath: string, mimeType: string);
			/** @deprecated */
			public getSubscriptionId(): string;
			/** @deprecated */
			public constructor(rightsFilePath: string, mimeType: string, accountId: string, subscriptionId: string);
			/** @deprecated */
			public constructor(rightsFile: java.io.File, mimeType: 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: 0;
				public static DISPLAY: 7;
				public static EXECUTE: 6;
				public static OUTPUT: 4;
				public static PLAY: 1;
				public static PREVIEW: 5;
				public static RINGTONE: 2;
				public static TRANSFER: 3;
				/** @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 MAX_REPEAT_COUNT: "max_repeat_count";
				public static REMAINING_REPEAT_COUNT: "remaining_repeat_count";
				public static LICENSE_AVAILABLE_TIME: "license_available_time";
				public static EXTENDED_METADATA: "extended_metadata";
				public static LICENSE_EXPIRY_TIME: "license_expiry_time";
				public static LICENSE_START_TIME: "license_start_time";
			}
			export class DrmObjectType extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmStore.DrmObjectType>;
				public static CONTENT: 1;
				public static RIGHTS_OBJECT: 2;
				public static TRIGGER_OBJECT: 3;
				public static UNKNOWN: 0;
				/** @deprecated */
				public constructor();
			}
			export class Playback extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmStore.Playback>;
				public static PAUSE: 2;
				public static RESUME: 3;
				public static START: 0;
				public static STOP: 1;
				/** @deprecated */
				public constructor();
			}
			export class RightsStatus extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmStore.RightsStatus>;
				public static RIGHTS_EXPIRED: 2;
				public static RIGHTS_INVALID: 1;
				public static RIGHTS_NOT_ACQUIRED: 3;
				public static RIGHTS_VALID: 0;
				/** @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>;
			/** @deprecated */
			public addFileSuffix(fileSuffix: string): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public addMimeType(mimeType: string): void;
			/** @deprecated */
			public equals(object: any): boolean;
			/** @deprecated */
			public getMimeTypeIterator(): java.util.Iterator<string>;
			/** @deprecated */
			public setDescription(description: string): void;
			/** @deprecated */
			public getDescription(): string;
			/** @deprecated */
			public hashCode(): number;
			/** @deprecated */
			public getDescriprition(): string;
			/** @deprecated */
			public getFileSuffixIterator(): java.util.Iterator<string>;
		}
	}
}

declare module android {
	export module drm {
		export class DrmUtils extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmUtils>;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public static getExtendedMetadataParser(extendedMetadata: androidNative.Array<number>): android.drm.DrmUtils.ExtendedMetadataParser;
		}
		export module DrmUtils {
			export class ExtendedMetadataParser extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmUtils.ExtendedMetadataParser>;
				/** @deprecated */
				public keyIterator(): java.util.Iterator<string>;
				/** @deprecated */
				public iterator(): java.util.Iterator<string>;
				/** @deprecated */
				public get(key: string): string;
			}
		}
	}
}

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

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 toBitmap(width: number, height: number, edge: number, numSample: number, color: number): android.graphics.Bitmap;
			public getLength(): number;
			public getStrokes(): java.util.ArrayList<android.gesture.GestureStroke>;
			public getBoundingBox(): android.graphics.RectF;
			public toPath(path: android.graphics.Path, width: number, height: number, edge: number, numSample: number): android.graphics.Path;
			public constructor();
			public addStroke(stroke: android.gesture.GestureStroke): void;
			public toPath(): android.graphics.Path;
			public clone(): any;
			public toPath(width: number, height: number, edge: number, numSample: number): android.graphics.Path;
			public toPath(path: android.graphics.Path): android.graphics.Path;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getStrokesCount(): number;
			public toBitmap(width: number, height: number, inset: number, color: number): android.graphics.Bitmap;
		}
	}
}

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(path: string): android.gesture.GestureLibrary;
			public static fromFile(path: java.io.File): android.gesture.GestureLibrary;
			public static fromFileDescriptor(pfd: android.os.ParcelFileDescriptor): android.gesture.GestureLibrary;
			public static fromPrivateFile(context: android.content.Context, name: string): android.gesture.GestureLibrary;
			public static fromRawResource(context: android.content.Context, resourceId: number): 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 removeGesture(entryName: string, gesture: android.gesture.Gesture): void;
			public getGestureEntries(): java.util.Set<string>;
			public save(): boolean;
			public constructor();
			public getGestures(entryName: string): java.util.ArrayList<android.gesture.Gesture>;
			public getSequenceType(): number;
			public setOrientationStyle(style: number): void;
			public removeEntry(entryName: string): void;
			public load(): boolean;
			public setSequenceType(type: number): void;
			public recognize(gesture: android.gesture.Gesture): java.util.ArrayList<android.gesture.Prediction>;
			public addGesture(entryName: string, gesture: android.gesture.Gesture): 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: 1;
			public static GESTURE_STROKE_TYPE_SINGLE: 0;
			public static ORIENTATION_HORIZONTAL: 0;
			public static ORIENTATION_VERTICAL: 1;
			public removeAllOnGesturingListeners(): void;
			public cancelGesture(): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public setGestureStrokeLengthThreshold(gestureStrokeLengthThreshold: number): void;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 setGestureStrokeAngleThreshold(gestureStrokeAngleThreshold: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public setGestureStrokeType(gestureStrokeType: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public isGestureVisible(): boolean;
			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 addView(child: android.view.View, width: number, height: number): void;
			public setFadeEnabled(fadeEnabled: boolean): 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 unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getCurrentStroke(): java.util.ArrayList<android.gesture.GesturePoint>;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public setGesture(gesture: android.gesture.Gesture): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public isFadeEnabled(): boolean;
			public removeAllOnGestureListeners(): void;
			public removeOnGesturePerformedListener(listener: android.gesture.GestureOverlayView.OnGesturePerformedListener): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setGestureColor(color: number): void;
			public setGestureStrokeWidth(gestureStrokeWidth: number): void;
			public removeAllOnGesturePerformedListeners(): void;
			public setOrientation(orientation: number): void;
			public clear(animated: boolean): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public dispatchTouchEvent(event: android.view.MotionEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public getGesture(): android.gesture.Gesture;
			public requestFitSystemWindows(): void;
			public getGestureStrokeLengthThreshold(): number;
			public setGestureStrokeSquarenessTreshold(gestureStrokeSquarenessTreshold: number): void;
			public addOnGesturingListener(listener: android.gesture.GestureOverlayView.OnGesturingListener): void;
			public setUncertainGestureColor(color: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public removeOnGestureListener(listener: android.gesture.GestureOverlayView.OnGestureListener): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public draw(canvas: android.graphics.Canvas): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getGestureStrokeSquarenessTreshold(): number;
			public removeOnGesturingListener(listener: android.gesture.GestureOverlayView.OnGesturingListener): void;
			public setGestureVisible(visible: boolean): void;
			public getGesturePath(): android.graphics.Path;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public isEventsInterceptionEnabled(): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public getGestureStrokeWidth(): number;
			public setEventsInterceptionEnabled(enabled: boolean): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public getUncertainGestureColor(): number;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public addOnGestureListener(listener: android.gesture.GestureOverlayView.OnGestureListener): void;
			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 getGesturePath(path: android.graphics.Path): android.graphics.Path;
			public getGestureColor(): number;
			public addOnGesturePerformedListener(listener: android.gesture.GestureOverlayView.OnGesturePerformedListener): 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 getGestureStrokeType(): number;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			public setFadeOffset(fadeOffset: number): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
		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 clone(): any;
			public constructor(x: number, y: number, t: number);
		}
	}
}

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: 1;
			public static ORIENTATION_SENSITIVE: 2;
			public static SEQUENCE_INVARIANT: 1;
			public static SEQUENCE_SENSITIVE: 2;
			public hasChanged(): boolean;
			public removeGesture(entryName: string, gesture: android.gesture.Gesture): void;
			public getGestureEntries(): java.util.Set<string>;
			public constructor();
			public save(stream: java.io.OutputStream, closeStream: boolean): void;
			public getGestures(entryName: string): java.util.ArrayList<android.gesture.Gesture>;
			public getSequenceType(): number;
			public setOrientationStyle(style: number): void;
			public removeEntry(entryName: string): void;
			public load(stream: java.io.InputStream): void;
			public setSequenceType(type: number): void;
			public recognize(gesture: android.gesture.Gesture): java.util.ArrayList<android.gesture.Prediction>;
			public load(stream: java.io.InputStream, closeStream: boolean): void;
			public addGesture(entryName: string, gesture: android.gesture.Gesture): void;
			public save(stream: java.io.OutputStream): void;
			public getOrientationStyle(): number;
		}
	}
}

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: androidNative.Array<number>;
			public constructor(points: java.util.ArrayList<android.gesture.GesturePoint>);
			public clearPath(): void;
			public clone(): any;
			public toPath(width: number, height: number, numSample: number): android.graphics.Path;
			public getPath(): android.graphics.Path;
			public computeOrientedBoundingBox(): android.gesture.OrientedBoundingBox;
		}
	}
}

declare module android {
	export module gesture {
		export class GestureUtils extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.GestureUtils>;
			public static temporalSampling(stroke: android.gesture.GestureStroke, numPoints: number): androidNative.Array<number>;
			public static spatialSampling(gesture: android.gesture.Gesture, bitmapSize: number): androidNative.Array<number>;
			public static spatialSampling(gesture: android.gesture.Gesture, bitmapSize: number, keepAspectRatio: boolean): androidNative.Array<number>;
			public static computeOrientedBoundingBox(originalPoints: java.util.ArrayList<android.gesture.GesturePoint>): android.gesture.OrientedBoundingBox;
			public static computeOrientedBoundingBox(originalPoints: androidNative.Array<number>): android.gesture.OrientedBoundingBox;
		}
	}
}

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: 0;
			public reconfigure(width: number, height: number, config: android.graphics.Bitmap.Config): void;
			public getScaledWidth(metrics: android.util.DisplayMetrics): number;
			public static createBitmap(display: android.util.DisplayMetrics, colors: androidNative.Array<number>, width: number, height: number, config: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public hasMipMap(): boolean;
			public static createBitmap(colors: androidNative.Array<number>, offset: number, stride: number, width: number, height: number, config: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public setHasMipMap(hasMipMap: boolean): void;
			public getGainmap(): android.graphics.Gainmap;
			public getWidth(): number;
			public getScaledHeight(canvas: android.graphics.Canvas): number;
			public getPixel(x: number, y: number): number;
			public copy(config: android.graphics.Bitmap.Config, isMutable: boolean): android.graphics.Bitmap;
			public static createBitmap(source: android.graphics.Bitmap, x: number, y: number, width: number, height: number): android.graphics.Bitmap;
			public hasAlpha(): boolean;
			public setHasAlpha(hasAlpha: boolean): void;
			public getHardwareBuffer(): android.hardware.HardwareBuffer;
			public static createBitmap(display: android.util.DisplayMetrics, width: number, height: number, config: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public recycle(): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getScaledHeight(targetDensity: number): number;
			public isMutable(): boolean;
			public getHeight(): number;
			public isRecycled(): boolean;
			public getScaledWidth(targetDensity: number): number;
			public setHeight(height: number): void;
			public getNinePatchChunk(): androidNative.Array<number>;
			public getPixels(pixels: androidNative.Array<number>, offset: number, stride: number, x: number, y: number, width: number, height: number): void;
			public writeToParcel(p: android.os.Parcel, flags: number): void;
			public static createBitmap(width: number, height: number, config: android.graphics.Bitmap.Config, hasAlpha: boolean): android.graphics.Bitmap;
			public isPremultiplied(): boolean;
			public eraseColor(c: number): void;
			public static createBitmap(source: android.graphics.Picture): android.graphics.Bitmap;
			public getDensity(): number;
			public static createScaledBitmap(src: android.graphics.Bitmap, dstWidth: number, dstHeight: number, filter: boolean): android.graphics.Bitmap;
			public setPremultiplied(premultiplied: boolean): void;
			public describeContents(): number;
			public static createBitmap(display: android.util.DisplayMetrics, width: number, height: number, config: android.graphics.Bitmap.Config, hasAlpha: boolean, colorSpace: android.graphics.ColorSpace): android.graphics.Bitmap;
			public static createBitmap(display: android.util.DisplayMetrics, width: number, height: number, config: android.graphics.Bitmap.Config, hasAlpha: boolean): android.graphics.Bitmap;
			public static createBitmap(display: android.util.DisplayMetrics, colors: androidNative.Array<number>, offset: number, stride: number, width: number, height: number, config: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public getColor(x: number, y: number): android.graphics.Color;
			public prepareToDraw(): void;
			public setColorSpace(colorSpace: android.graphics.ColorSpace): void;
			public static createBitmap(colors: androidNative.Array<number>, width: number, height: number, config: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public getConfig(): android.graphics.Bitmap.Config;
			public getScaledWidth(canvas: android.graphics.Canvas): number;
			public setGainmap(gainmap: android.graphics.Gainmap): void;
			public setPixel(x: number, y: number, color: number): void;
			public static createBitmap(source: android.graphics.Picture, width: number, height: number, config: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public static createBitmap(width: number, height: number, config: android.graphics.Bitmap.Config, hasAlpha: boolean, colorSpace: android.graphics.ColorSpace): android.graphics.Bitmap;
			public getScaledHeight(metrics: android.util.DisplayMetrics): number;
			public getColorSpace(): android.graphics.ColorSpace;
			public setPixels(pixels: androidNative.Array<number>, offset: number, stride: number, x: number, y: number, width: number, height: number): void;
			public static wrapHardwareBuffer(hardwareBuffer: android.hardware.HardwareBuffer, colorSpace: android.graphics.ColorSpace): android.graphics.Bitmap;
			public getRowBytes(): number;
			public setWidth(width: number): void;
			public extractAlpha(paint: android.graphics.Paint, offsetXY: androidNative.Array<number>): android.graphics.Bitmap;
			public getAllocationByteCount(): number;
			public hasGainmap(): boolean;
			public sameAs(other: android.graphics.Bitmap): boolean;
			public getGenerationId(): number;
			public getByteCount(): number;
			public compress(format: android.graphics.Bitmap.CompressFormat, quality: number, stream: java.io.OutputStream): boolean;
			public static createBitmap(width: number, height: number, config: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public copyPixelsFromBuffer(src: java.nio.Buffer): void;
			public extractAlpha(): android.graphics.Bitmap;
			public eraseColor(color: number): void;
			public setDensity(density: number): void;
			public copyPixelsToBuffer(dst: java.nio.Buffer): void;
			public static createBitmap(source: android.graphics.Bitmap, x: number, y: number, width: number, height: number, m: android.graphics.Matrix, filter: boolean): android.graphics.Bitmap;
			public static createBitmap(src: android.graphics.Bitmap): android.graphics.Bitmap;
			public setConfig(config: android.graphics.Bitmap.Config): void;
			public asShared(): 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 WEBP_LOSSY: android.graphics.Bitmap.CompressFormat;
				public static WEBP_LOSSLESS: android.graphics.Bitmap.CompressFormat;
				public static valueOf(name: string): android.graphics.Bitmap.CompressFormat;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.graphics.Bitmap.CompressFormat>;
			}
			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 RGBA_1010102: android.graphics.Bitmap.Config;
				public static valueOf(name: string): android.graphics.Bitmap.Config;
				public static values(): androidNative.Array<android.graphics.Bitmap.Config>;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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 decodeResource(res: android.content.res.Resources, id: number, opts: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeStream(is: java.io.InputStream): android.graphics.Bitmap;
			public static decodeFile(pathName: string): android.graphics.Bitmap;
			public static decodeByteArray(data: androidNative.Array<number>, offset: number, length: number, opts: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeFileDescriptor(fd: java.io.FileDescriptor, outPadding: android.graphics.Rect, opts: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeFileDescriptor(fd: java.io.FileDescriptor): android.graphics.Bitmap;
			public static decodeResourceStream(res: android.content.res.Resources, value: android.util.TypedValue, is: java.io.InputStream, pad: android.graphics.Rect, opts: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeByteArray(data: androidNative.Array<number>, offset: number, length: number): android.graphics.Bitmap;
			public constructor();
			public static decodeFile(pathName: string, opts: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeStream(is: java.io.InputStream, outPadding: android.graphics.Rect, opts: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeResource(res: android.content.res.Resources, id: number): 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: androidNative.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>;
			/** @deprecated */
			public static newInstance(pathName: string, isShareable: boolean): android.graphics.BitmapRegionDecoder;
			public getHeight(): number;
			public static newInstance(is: java.io.InputStream): android.graphics.BitmapRegionDecoder;
			public isRecycled(): boolean;
			/** @deprecated */
			public static newInstance(data: androidNative.Array<number>, offset: number, length: number, isShareable: boolean): android.graphics.BitmapRegionDecoder;
			/** @deprecated */
			public static newInstance(fd: java.io.FileDescriptor, isShareable: boolean): android.graphics.BitmapRegionDecoder;
			public getWidth(): number;
			public static newInstance(data: androidNative.Array<number>, offset: number, length: number): android.graphics.BitmapRegionDecoder;
			public static newInstance(pfd: android.os.ParcelFileDescriptor): android.graphics.BitmapRegionDecoder;
			public recycle(): void;
			public static newInstance(pathName: string): android.graphics.BitmapRegionDecoder;
			/** @deprecated */
			public static newInstance(is: java.io.InputStream, isShareable: boolean): android.graphics.BitmapRegionDecoder;
			public decodeRegion(rect: android.graphics.Rect, options: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public finalize(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class BitmapShader extends android.graphics.Shader {
			public static class: java.lang.Class<android.graphics.BitmapShader>;
			public static FILTER_MODE_DEFAULT: 0;
			public static FILTER_MODE_LINEAR: 2;
			public static FILTER_MODE_NEAREST: 1;
			/** @deprecated */
			public constructor();
			public getFilterMode(): number;
			public setFilterMode(mode: number): void;
			public setOverrideGainmap(overrideGainmap: android.graphics.Gainmap): void;
			public constructor(bitmap: android.graphics.Bitmap, tileX: android.graphics.Shader.TileMode, tileY: android.graphics.Shader.TileMode);
			public setMaxAnisotropy(maxAnisotropy: number): void;
			public getMaxAnisotropy(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class BlendMode {
			public static class: java.lang.Class<android.graphics.BlendMode>;
			public static CLEAR: android.graphics.BlendMode;
			public static SRC: android.graphics.BlendMode;
			public static DST: android.graphics.BlendMode;
			public static SRC_OVER: android.graphics.BlendMode;
			public static DST_OVER: android.graphics.BlendMode;
			public static SRC_IN: android.graphics.BlendMode;
			public static DST_IN: android.graphics.BlendMode;
			public static SRC_OUT: android.graphics.BlendMode;
			public static DST_OUT: android.graphics.BlendMode;
			public static SRC_ATOP: android.graphics.BlendMode;
			public static DST_ATOP: android.graphics.BlendMode;
			public static XOR: android.graphics.BlendMode;
			public static PLUS: android.graphics.BlendMode;
			public static MODULATE: android.graphics.BlendMode;
			public static SCREEN: android.graphics.BlendMode;
			public static OVERLAY: android.graphics.BlendMode;
			public static DARKEN: android.graphics.BlendMode;
			public static LIGHTEN: android.graphics.BlendMode;
			public static COLOR_DODGE: android.graphics.BlendMode;
			public static COLOR_BURN: android.graphics.BlendMode;
			public static HARD_LIGHT: android.graphics.BlendMode;
			public static SOFT_LIGHT: android.graphics.BlendMode;
			public static DIFFERENCE: android.graphics.BlendMode;
			public static EXCLUSION: android.graphics.BlendMode;
			public static MULTIPLY: android.graphics.BlendMode;
			public static HUE: android.graphics.BlendMode;
			public static SATURATION: android.graphics.BlendMode;
			public static COLOR: android.graphics.BlendMode;
			public static LUMINOSITY: android.graphics.BlendMode;
			public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public static values(): androidNative.Array<android.graphics.BlendMode>;
			public static valueOf(name: string): android.graphics.BlendMode;
		}
	}
}

declare module android {
	export module graphics {
		export class BlendModeColorFilter extends android.graphics.ColorFilter {
			public static class: java.lang.Class<android.graphics.BlendModeColorFilter>;
			/** @deprecated */
			public constructor();
			public getColor(): number;
			public equals(object: any): boolean;
			public constructor(color: number, mode: android.graphics.BlendMode);
			public getMode(): android.graphics.BlendMode;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class BlurMaskFilter extends android.graphics.MaskFilter {
			public static class: java.lang.Class<android.graphics.BlurMaskFilter>;
			public constructor(radius: number, style: android.graphics.BlurMaskFilter.Blur);
			public constructor();
		}
		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 valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.graphics.BlurMaskFilter.Blur>;
				public static valueOf(name: 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(canvas: 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 rotateZ(param0: number): void;
			public getMatrix(matrix: android.graphics.Matrix): 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: 31;
			public drawTextRun(text: android.graphics.text.MeasuredText, start: number, end: number, contextStart: number, contextEnd: number, x: number, y: number, isRtl: boolean, paint: android.graphics.Paint): void;
			/** @deprecated */
			public saveLayerAlpha(left: number, top: number, right: number, bottom: number, alpha: number, saveFlags: number): number;
			public drawColor(color: number, mode: android.graphics.PorterDuff.Mode): void;
			public getWidth(): number;
			public drawBitmap(bitmap: android.graphics.Bitmap, src: android.graphics.Rect, dst: android.graphics.Rect, paint: android.graphics.Paint): void;
			public drawRect(left: number, top: number, right: number, bottom: number, paint: android.graphics.Paint): void;
			public drawLine(startX: number, startY: number, stopX: number, stopY: number, paint: android.graphics.Paint): void;
			public translate(dx: number, dy: number): void;
			public quickReject(left: number, top: number, right: number, bottom: number): boolean;
			public drawColor(color: number): void;
			public drawCircle(cx: number, cy: number, radius: number, paint: android.graphics.Paint): void;
			/** @deprecated */
			public saveLayer(bounds: android.graphics.RectF, paint: android.graphics.Paint, saveFlags: number): number;
			public getSaveCount(): number;
			public drawMesh(mesh: android.graphics.Mesh, blendMode: android.graphics.BlendMode, paint: android.graphics.Paint): void;
			/** @deprecated */
			public drawBitmap(colors: androidNative.Array<number>, offset: number, stride: number, x: number, y: number, width: number, height: number, hasAlpha: boolean, paint: android.graphics.Paint): void;
			public drawDoubleRoundRect(outer: android.graphics.RectF, outerRadii: androidNative.Array<number>, inner: android.graphics.RectF, innerRadii: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public drawBitmap(bitmap: android.graphics.Bitmap, matrix: android.graphics.Matrix, paint: android.graphics.Paint): void;
			public drawLines(pts: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public getHeight(): number;
			/** @deprecated */
			public quickReject(rect: android.graphics.RectF, type: android.graphics.Canvas.EdgeType): boolean;
			/** @deprecated */
			public drawPosText(text: string, pos: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public constructor();
			/** @deprecated */
			public drawPosText(text: androidNative.Array<string>, index: number, count: number, pos: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public getDensity(): number;
			public scale(sx: number, sy: number): void;
			public clipOutRect(left: number, top: number, right: number, bottom: number): boolean;
			public drawARGB(a: number, r: number, g: number, b: number): void;
			public concat(m: android.graphics.Matrix44): void;
			public rotate(degrees: number, px: number, py: number): void;
			public setDrawFilter(filter: android.graphics.DrawFilter): void;
			public clipPath(path: android.graphics.Path): boolean;
			public drawText(text: androidNative.Array<string>, index: number, count: number, x: number, y: number, paint: android.graphics.Paint): void;
			public drawTextOnPath(text: androidNative.Array<string>, index: number, count: number, path: android.graphics.Path, hOffset: number, vOffset: number, paint: android.graphics.Paint): void;
			/** @deprecated */
			public saveLayerAlpha(bounds: android.graphics.RectF, alpha: number, saveFlags: number): number;
			public drawRect(rect: android.graphics.RectF, paint: android.graphics.Paint): void;
			public clipOutPath(path: android.graphics.Path): boolean;
			public drawPatch(patch: android.graphics.NinePatch, dst: android.graphics.Rect, paint: android.graphics.Paint): void;
			public constructor(bitmap: android.graphics.Bitmap);
			public clipRect(left: number, top: number, right: number, bottom: number): boolean;
			/** @deprecated */
			public clipPath(path: android.graphics.Path, op: android.graphics.Region.Op): boolean;
			/** @deprecated */
			public getMatrix(ctm: android.graphics.Matrix): void;
			public drawOval(left: number, top: number, right: number, bottom: number, paint: android.graphics.Paint): void;
			public drawArc(oval: android.graphics.RectF, startAngle: number, sweepAngle: number, useCenter: boolean, paint: android.graphics.Paint): void;
			public drawTextOnPath(text: string, path: android.graphics.Path, hOffset: number, vOffset: number, paint: android.graphics.Paint): void;
			public drawPatch(patch: android.graphics.NinePatch, dst: android.graphics.RectF, paint: android.graphics.Paint): void;
			public getMaximumBitmapHeight(): number;
			public save(): number;
			public rotate(degrees: number): void;
			public saveLayer(left: number, top: number, right: number, bottom: number, paint: android.graphics.Paint): number;
			public scale(sx: number, sy: number, px: number, py: number): void;
			public getClipBounds(): android.graphics.Rect;
			public drawText(text: string, start: number, end: number, x: number, y: number, paint: android.graphics.Paint): void;
			public drawPoints(pts: androidNative.Array<number>, offset: number, count: number, paint: android.graphics.Paint): void;
			/** @deprecated */
			public clipRect(rect: android.graphics.Rect, op: android.graphics.Region.Op): boolean;
			public drawRGB(r: number, g: number, b: number): void;
			public setBitmap(bitmap: android.graphics.Bitmap): void;
			public getMaximumBitmapWidth(): number;
			public saveLayerAlpha(left: number, top: number, right: number, bottom: number, alpha: number): number;
			public drawGlyphs(glyphIds: androidNative.Array<number>, glyphIdOffset: number, positions: androidNative.Array<number>, positionOffset: number, glyphCount: number, font: android.graphics.fonts.Font, paint: android.graphics.Paint): void;
			public saveLayer(bounds: android.graphics.RectF, paint: android.graphics.Paint): number;
			/** @deprecated */
			public saveLayer(left: number, top: number, right: number, bottom: number, paint: android.graphics.Paint, saveFlags: number): number;
			public drawText(text: string, x: number, y: number, paint: android.graphics.Paint): void;
			public isHardwareAccelerated(): boolean;
			public restore(): void;
			public drawPoints(pts: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public clipShader(shader: android.graphics.Shader): void;
			public clipOutShader(shader: android.graphics.Shader): void;
			public drawColor(color: number, mode: android.graphics.BlendMode): void;
			public disableZ(): void;
			public drawBitmapMesh(bitmap: android.graphics.Bitmap, meshWidth: number, meshHeight: number, verts: androidNative.Array<number>, vertOffset: number, colors: androidNative.Array<number>, colorOffset: number, paint: android.graphics.Paint): void;
			public drawOval(oval: android.graphics.RectF, paint: android.graphics.Paint): void;
			public clipOutRect(rect: android.graphics.Rect): boolean;
			public drawBitmap(bitmap: android.graphics.Bitmap, left: number, top: number, paint: android.graphics.Paint): void;
			public clipOutRect(rect: android.graphics.RectF): boolean;
			public restoreToCount(saveCount: number): void;
			public drawVertices(mode: android.graphics.Canvas.VertexMode, vertexCount: number, verts: androidNative.Array<number>, vertOffset: number, texs: androidNative.Array<number>, texOffset: number, colors: androidNative.Array<number>, colorOffset: number, indices: androidNative.Array<number>, indexOffset: number, indexCount: number, paint: android.graphics.Paint): void;
			public drawArc(left: number, top: number, right: number, bottom: number, startAngle: number, sweepAngle: number, useCenter: boolean, paint: android.graphics.Paint): void;
			public drawPaint(paint: android.graphics.Paint): void;
			public setMatrix(matrix: android.graphics.Matrix): void;
			public getClipBounds(bounds: android.graphics.Rect): boolean;
			public concat(matrix: android.graphics.Matrix): void;
			public drawLines(pts: androidNative.Array<number>, offset: number, count: number, paint: android.graphics.Paint): void;
			public drawPath(path: android.graphics.Path, paint: android.graphics.Paint): void;
			public clipRect(rect: android.graphics.RectF): boolean;
			public drawTextRun(text: string, start: number, end: number, contextStart: number, contextEnd: number, x: number, y: number, isRtl: boolean, paint: android.graphics.Paint): void;
			public drawPicture(picture: android.graphics.Picture, dst: android.graphics.RectF): void;
			public quickReject(rect: android.graphics.RectF): boolean;
			public clipRect(rect: android.graphics.Rect): boolean;
			/** @deprecated */
			public quickReject(left: number, top: number, right: number, bottom: number, type: android.graphics.Canvas.EdgeType): boolean;
			public drawPicture(picture: android.graphics.Picture, dst: android.graphics.Rect): void;
			public drawBitmap(bitmap: android.graphics.Bitmap, src: android.graphics.Rect, dst: android.graphics.RectF, paint: android.graphics.Paint): void;
			public drawRect(r: android.graphics.Rect, paint: android.graphics.Paint): void;
			public drawDoubleRoundRect(outer: android.graphics.RectF, outerRx: number, outerRy: number, inner: android.graphics.RectF, innerRx: number, innerRy: number, paint: android.graphics.Paint): void;
			public drawPicture(picture: android.graphics.Picture): void;
			public drawRoundRect(rect: android.graphics.RectF, rx: number, ry: number, paint: android.graphics.Paint): void;
			public drawRenderNode(renderNode: android.graphics.RenderNode): void;
			public enableZ(): void;
			public getDrawFilter(): android.graphics.DrawFilter;
			public isOpaque(): boolean;
			public drawPoint(x: number, y: number, paint: android.graphics.Paint): void;
			public saveLayerAlpha(bounds: android.graphics.RectF, alpha: number): number;
			/** @deprecated */
			public getMatrix(): android.graphics.Matrix;
			public quickReject(path: android.graphics.Path): boolean;
			/** @deprecated */
			public clipRect(left: number, top: number, right: number, bottom: number, op: android.graphics.Region.Op): boolean;
			public drawTextRun(text: androidNative.Array<string>, index: number, count: number, contextIndex: number, contextCount: number, x: number, y: number, isRtl: boolean, paint: android.graphics.Paint): void;
			public setDensity(density: number): void;
			/** @deprecated */
			public quickReject(path: android.graphics.Path, type: android.graphics.Canvas.EdgeType): boolean;
			public drawRoundRect(left: number, top: number, right: number, bottom: number, rx: number, ry: number, paint: android.graphics.Paint): void;
			public skew(sx: number, sy: number): void;
			/** @deprecated */
			public clipRect(rect: android.graphics.RectF, op: android.graphics.Region.Op): boolean;
		}
		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(): androidNative.Array<android.graphics.Canvas.EdgeType>;
				public static valueOf(name: string): android.graphics.Canvas.EdgeType;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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(): androidNative.Array<android.graphics.Canvas.VertexMode>;
				public static valueOf(name: string): android.graphics.Canvas.VertexMode;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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: -16777216;
			public static BLUE: -16776961;
			public static CYAN: -16711681;
			public static DKGRAY: -12303292;
			public static GRAY: -7829368;
			public static GREEN: -16711936;
			public static LTGRAY: -3355444;
			public static MAGENTA: -65281;
			public static RED: -65536;
			public static TRANSPARENT: 0;
			public static WHITE: -1;
			public static YELLOW: -256;
			public red(): number;
			public static pack(red: number, green: number, blue: number, alpha: number, colorSpace: android.graphics.ColorSpace): number;
			public static valueOf(components: androidNative.Array<number>, colorSpace: android.graphics.ColorSpace): android.graphics.Color;
			public static convert(color: number, connector: android.graphics.ColorSpace.Connector): number;
			public static valueOf(r: number, g: number, b: number, a: number, colorSpace: android.graphics.ColorSpace): android.graphics.Color;
			public static rgb(red: number, green: number, blue: number): number;
			public alpha(): number;
			public static HSVToColor(alpha: number, hsv: androidNative.Array<number>): number;
			public constructor();
			public static valueOf(r: number, g: number, b: number, a: number): android.graphics.Color;
			public luminance(): number;
			public static red(color: number): number;
			public static HSVToColor(hsv: androidNative.Array<number>): number;
			public equals(o: any): boolean;
			public static convert(r: number, g: number, b: number, a: number, connector: android.graphics.ColorSpace.Connector): number;
			public static valueOf(color: number): android.graphics.Color;
			public getComponentCount(): number;
			public static colorToHSV(color: number, hsv: androidNative.Array<number>): void;
			public static convert(color: number, colorSpace: android.graphics.ColorSpace): number;
			public static argb(alpha: number, red: number, green: number, blue: number): number;
			public getColorSpace(): android.graphics.ColorSpace;
			public static alpha(color: number): number;
			public getComponents(components: androidNative.Array<number>): androidNative.Array<number>;
			public green(): number;
			public static green(color: number): number;
			public static isInColorSpace(color: number, colorSpace: android.graphics.ColorSpace): boolean;
			public isWideGamut(): boolean;
			public static convert(r: number, g: number, b: number, a: number, source: android.graphics.ColorSpace, destination: android.graphics.ColorSpace): number;
			public blue(): number;
			public static colorSpace(color: number): android.graphics.ColorSpace;
			public static isSrgb(color: number): boolean;
			public pack(): number;
			public static pack(red: number, green: number, blue: number): number;
			public getComponent(component: number): number;
			public static pack(red: number, green: number, blue: number, alpha: number): number;
			public toArgb(): number;
			public static toArgb(color: number): number;
			public static parseColor(colorString: string): number;
			public static blue(color: number): number;
			public isSrgb(): boolean;
			public getComponents(): androidNative.Array<number>;
			public convert(colorSpace: android.graphics.ColorSpace): android.graphics.Color;
			public static isWideGamut(color: number): boolean;
			public toString(): string;
			public static pack(color: number): number;
			public getModel(): android.graphics.ColorSpace.Model;
			public static valueOf(r: number, g: number, b: number): android.graphics.Color;
			public static RGBToHSV(red: number, green: number, blue: number, hsv: androidNative.Array<number>): void;
			public hashCode(): number;
			public static luminance(color: number): 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 set(src: androidNative.Array<number>): void;
			public preConcat(prematrix: android.graphics.ColorMatrix): void;
			public constructor();
			public constructor(src: androidNative.Array<number>);
			public setRotate(axis: number, degrees: number): void;
			public postConcat(postmatrix: android.graphics.ColorMatrix): void;
			public getArray(): androidNative.Array<number>;
			public setSaturation(sat: number): void;
			public set(src: android.graphics.ColorMatrix): void;
			public equals(obj: any): boolean;
			public setRGB2YUV(): void;
			public setScale(rScale: number, gScale: number, bScale: number, aScale: number): void;
			public constructor(src: android.graphics.ColorMatrix);
			public reset(): void;
			public setConcat(matA: android.graphics.ColorMatrix, matB: 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>;
			public getColorMatrix(colorMatrix: android.graphics.ColorMatrix): void;
			/** @deprecated */
			public constructor();
			public constructor(array: androidNative.Array<number>);
			public constructor(matrix: android.graphics.ColorMatrix);
		}
	}
}

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: androidNative.Array<number>;
			public static ILLUMINANT_B: androidNative.Array<number>;
			public static ILLUMINANT_C: androidNative.Array<number>;
			public static ILLUMINANT_D50: androidNative.Array<number>;
			public static ILLUMINANT_D55: androidNative.Array<number>;
			public static ILLUMINANT_D60: androidNative.Array<number>;
			public static ILLUMINANT_D65: androidNative.Array<number>;
			public static ILLUMINANT_D75: androidNative.Array<number>;
			public static ILLUMINANT_E: androidNative.Array<number>;
			public static MAX_ID: 63;
			public static MIN_ID: -1;
			public static get(name: android.graphics.ColorSpace.Named): android.graphics.ColorSpace;
			public static connect(source: android.graphics.ColorSpace, destination: android.graphics.ColorSpace, intent: android.graphics.ColorSpace.RenderIntent): android.graphics.ColorSpace.Connector;
			public static match(toXYZD50: androidNative.Array<number>, function_: android.graphics.ColorSpace.Rgb.TransferParameters): android.graphics.ColorSpace;
			public toXyz(r: number, g: number, b: number): androidNative.Array<number>;
			public getMaxValue(param0: number): number;
			public isWideGamut(): boolean;
			public getId(): number;
			public getMinValue(param0: number): number;
			public static chromaticAdaptation(adaptation: android.graphics.ColorSpace.Adaptation, srcWhitePoint: androidNative.Array<number>, dstWhitePoint: androidNative.Array<number>): androidNative.Array<number>;
			public static adapt(colorSpace: android.graphics.ColorSpace, whitePoint: androidNative.Array<number>, adaptation: android.graphics.ColorSpace.Adaptation): android.graphics.ColorSpace;
			public static getFromDataSpace(dataSpace: number): android.graphics.ColorSpace;
			public static connect(source: android.graphics.ColorSpace, intent: android.graphics.ColorSpace.RenderIntent): android.graphics.ColorSpace.Connector;
			public static cctToXyz(cct: number): androidNative.Array<number>;
			public isSrgb(): boolean;
			public static connect(source: android.graphics.ColorSpace): android.graphics.ColorSpace.Connector;
			public getDataSpace(): number;
			public fromXyz(x: number, y: number, z: number): androidNative.Array<number>;
			public static connect(source: android.graphics.ColorSpace, destination: android.graphics.ColorSpace): android.graphics.ColorSpace.Connector;
			public toString(): string;
			public getName(): string;
			public equals(o: any): boolean;
			public getModel(): android.graphics.ColorSpace.Model;
			public toXyz(param0: androidNative.Array<number>): androidNative.Array<number>;
			public getComponentCount(): number;
			public fromXyz(param0: androidNative.Array<number>): androidNative.Array<number>;
			public hashCode(): number;
			public static adapt(colorSpace: android.graphics.ColorSpace, whitePoint: androidNative.Array<number>): android.graphics.ColorSpace;
		}
		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(): androidNative.Array<android.graphics.ColorSpace.Adaptation>;
				public static valueOf(name: string): android.graphics.ColorSpace.Adaptation;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			}
			export class Connector extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.ColorSpace.Connector>;
				public transform(v: androidNative.Array<number>): androidNative.Array<number>;
				public getDestination(): android.graphics.ColorSpace;
				public getRenderIntent(): android.graphics.ColorSpace.RenderIntent;
				public transform(r: number, g: number, b: number): androidNative.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 valueOf(name: string): android.graphics.ColorSpace.Model;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public getComponentCount(): number;
				public static values(): androidNative.Array<android.graphics.ColorSpace.Model>;
			}
			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 BT2020_HLG: android.graphics.ColorSpace.Named;
				public static BT2020_PQ: android.graphics.ColorSpace.Named;
				public static values(): androidNative.Array<android.graphics.ColorSpace.Named>;
				public static valueOf(name: string): android.graphics.ColorSpace.Named;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			}
			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(name: string): android.graphics.ColorSpace.RenderIntent;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.graphics.ColorSpace.RenderIntent>;
			}
			export class Rgb extends android.graphics.ColorSpace {
				public static class: java.lang.Class<android.graphics.ColorSpace.Rgb>;
				public constructor(name: string, primaries: androidNative.Array<number>, whitePoint: androidNative.Array<number>, oetf: any /* any*/, eotf: any /* any*/, min: number, max: number);
				public getPrimaries(primaries: androidNative.Array<number>): androidNative.Array<number>;
				public getInverseTransform(): androidNative.Array<number>;
				public fromLinear(r: number, g: number, b: number): androidNative.Array<number>;
				public constructor(name: string, toXYZ: androidNative.Array<number>, oetf: any /* any*/, eotf: any /* any*/);
				public constructor(name: string, toXYZ: androidNative.Array<number>, gamma: number);
				public getEotf(): any /* any*/;
				public toLinear(r: number, g: number, b: number): androidNative.Array<number>;
				public getTransform(transform: androidNative.Array<number>): androidNative.Array<number>;
				public getWhitePoint(): androidNative.Array<number>;
				public toLinear(v: androidNative.Array<number>): androidNative.Array<number>;
				public hashCode(): number;
				public fromXyz(x: number, y: number, z: number): androidNative.Array<number>;
				public equals(o: any): boolean;
				public getWhitePoint(whitePoint: androidNative.Array<number>): androidNative.Array<number>;
				public getPrimaries(): androidNative.Array<number>;
				public constructor(name: string, primaries: androidNative.Array<number>, whitePoint: androidNative.Array<number>, function_: android.graphics.ColorSpace.Rgb.TransferParameters);
				public getMinValue(component: number): number;
				public fromLinear(v: androidNative.Array<number>): androidNative.Array<number>;
				public toXyz(r: number, g: number, b: number): androidNative.Array<number>;
				public isSrgb(): boolean;
				public constructor(name: string, primaries: androidNative.Array<number>, whitePoint: androidNative.Array<number>, gamma: number);
				public getTransform(): androidNative.Array<number>;
				public isWideGamut(): boolean;
				public getOetf(): any /* any*/;
				public fromXyz(v: androidNative.Array<number>): androidNative.Array<number>;
				public getTransferParameters(): android.graphics.ColorSpace.Rgb.TransferParameters;
				public getMaxValue(component: number): number;
				public constructor(name: string, toXYZ: androidNative.Array<number>, function_: android.graphics.ColorSpace.Rgb.TransferParameters);
				public getInverseTransform(inverseTransform: androidNative.Array<number>): androidNative.Array<number>;
				public toXyz(v: androidNative.Array<number>): androidNative.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(a: number, b: number, c: number, d: number, e: number, f: number, g: number);
					public constructor(a: number, b: number, c: number, d: number, g: number);
					public equals(o: any): boolean;
					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(outerpe: android.graphics.PathEffect, innerpe: android.graphics.PathEffect);
			public constructor();
		}
	}
}

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();
			/** @deprecated */
			public constructor(shaderA: android.graphics.Shader, shaderB: android.graphics.Shader, mode: android.graphics.Xfermode);
			public constructor(shaderA: android.graphics.Shader, shaderB: android.graphics.Shader, mode: android.graphics.PorterDuff.Mode);
			public constructor(shaderA: android.graphics.Shader, shaderB: android.graphics.Shader, blendMode: android.graphics.BlendMode);
		}
	}
}

declare module android {
	export module graphics {
		export class CornerPathEffect extends android.graphics.PathEffect {
			public static class: java.lang.Class<android.graphics.CornerPathEffect>;
			public constructor(radius: 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(intervals: androidNative.Array<number>, phase: number);
			public constructor();
		}
	}
}

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(segmentLength: number, deviation: 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(direction: androidNative.Array<number>, ambient: number, specular: number, blurRadius: number);
			public constructor();
		}
	}
}

declare module android {
	export module graphics {
		export class Gainmap extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.Gainmap>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.Gainmap>;
			public getDisplayRatioForFullHdr(): number;
			public constructor(gainmapContents: android.graphics.Bitmap);
			public getRatioMin(): androidNative.Array<number>;
			public setRatioMax(r: number, g: number, b: number): void;
			public setEpsilonSdr(r: number, g: number, b: number): void;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(gainmap: android.graphics.Gainmap, gainmapContents: android.graphics.Bitmap);
			public setRatioMin(r: number, g: number, b: number): void;
			public getRatioMax(): androidNative.Array<number>;
			public setEpsilonHdr(r: number, g: number, b: number): void;
			public getGainmapContents(): android.graphics.Bitmap;
			public getEpsilonHdr(): androidNative.Array<number>;
			public setDisplayRatioForFullHdr(max: number): void;
			public setGainmapContents(bitmap: android.graphics.Bitmap): void;
			public getMinDisplayRatioForHdrTransition(): number;
			public setMinDisplayRatioForHdrTransition(min: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getEpsilonSdr(): androidNative.Array<number>;
			public setGamma(r: number, g: number, b: number): void;
			public getGamma(): androidNative.Array<number>;
		}
	}
}

declare module android {
	export module graphics {
		export class HardwareBufferRenderer extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.graphics.HardwareBufferRenderer>;
			public isClosed(): boolean;
			public setContentRoot(content: android.graphics.RenderNode): void;
			public setLightSourceAlpha(ambientShadowAlpha: number, spotShadowAlpha: number): void;
			public close(): void;
			public obtainRenderRequest(): android.graphics.HardwareBufferRenderer.RenderRequest;
			public constructor(buffer: android.hardware.HardwareBuffer);
			public setLightSourceGeometry(lightX: number, lightY: number, lightZ: number, lightRadius: number): void;
		}
		export module HardwareBufferRenderer {
			export class RenderRequest extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.HardwareBufferRenderer.RenderRequest>;
				public draw(executor: java.util.concurrent.Executor, renderCallback: any /* any*/): void;
				public setColorSpace(colorSpace: android.graphics.ColorSpace): android.graphics.HardwareBufferRenderer.RenderRequest;
				public setBufferTransform(bufferTransform: number): android.graphics.HardwareBufferRenderer.RenderRequest;
			}
			export class RenderResult extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.HardwareBufferRenderer.RenderResult>;
				public static ERROR_UNKNOWN: 1;
				public static SUCCESS: 0;
				public getStatus(): number;
				public getFence(): android.hardware.SyncFence;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class HardwareRenderer extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.HardwareRenderer>;
			public static SYNC_CONTEXT_IS_STOPPED: 4;
			public static SYNC_FRAME_DROPPED: 8;
			public static SYNC_LOST_SURFACE_REWARD_IF_FOUND: 2;
			public static SYNC_OK: 0;
			public static SYNC_REDRAW_REQUESTED: 1;
			public setContentRoot(content: android.graphics.RenderNode): void;
			public setSurface(surface: android.view.Surface): void;
			public destroy(): void;
			public constructor();
			public setOpaque(opaque: boolean): void;
			public createRenderRequest(): android.graphics.HardwareRenderer.FrameRenderRequest;
			public notifyFramePending(): void;
			public clearContent(): void;
			public stop(): void;
			public setName(name: string): void;
			public setLightSourceAlpha(ambientShadowAlpha: number, spotShadowAlpha: number): void;
			public static setDrawingEnabled(drawingEnabled: boolean): void;
			public start(): void;
			public static isDrawingEnabled(): boolean;
			public setLightSourceGeometry(lightX: number, lightY: number, lightZ: number, lightRadius: number): void;
			public isOpaque(): boolean;
		}
		export module HardwareRenderer {
			export class FrameRenderRequest extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.HardwareRenderer.FrameRenderRequest>;
				public setVsyncTime(vsyncTime: number): android.graphics.HardwareRenderer.FrameRenderRequest;
				public setWaitForPresent(shouldWait: boolean): android.graphics.HardwareRenderer.FrameRenderRequest;
				public syncAndDraw(): number;
				public setFrameCommitCallback(executor: java.util.concurrent.Executor, frameCommitCallback: java.lang.Runnable): android.graphics.HardwareRenderer.FrameRenderRequest;
			}
		}
	}
}

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: 0;
			public static ALLOCATOR_HARDWARE: 3;
			public static ALLOCATOR_SHARED_MEMORY: 2;
			public static ALLOCATOR_SOFTWARE: 1;
			public static MEMORY_POLICY_DEFAULT: 1;
			public static MEMORY_POLICY_LOW_RAM: 0;
			public static createSource(callable: java.util.concurrent.Callable<android.content.res.AssetFileDescriptor>): android.graphics.ImageDecoder.Source;
			public setTargetColorSpace(colorSpace: android.graphics.ColorSpace): void;
			public static decodeBitmap(src: android.graphics.ImageDecoder.Source): android.graphics.Bitmap;
			public getMemorySizePolicy(): number;
			public static createSource(cr: android.content.ContentResolver, uri: android.net.Uri): android.graphics.ImageDecoder.Source;
			public static decodeDrawable(src: android.graphics.ImageDecoder.Source, listener: android.graphics.ImageDecoder.OnHeaderDecodedListener): android.graphics.drawable.Drawable;
			public isDecodeAsAlphaMaskEnabled(): boolean;
			public static createSource(buffer: java.nio.ByteBuffer): android.graphics.ImageDecoder.Source;
			public static createSource(file: java.io.File): android.graphics.ImageDecoder.Source;
			public setPostProcessor(postProcessor: android.graphics.PostProcessor): void;
			public setTargetSize(width: number, height: number): void;
			public static createSource(data: androidNative.Array<number>, offset: number, length: number): android.graphics.ImageDecoder.Source;
			public static isMimeTypeSupported(mimeType: string): boolean;
			public getAllocator(): number;
			public static decodeBitmap(src: android.graphics.ImageDecoder.Source, listener: android.graphics.ImageDecoder.OnHeaderDecodedListener): android.graphics.Bitmap;
			public close(): void;
			public finalize(): void;
			public static createSource(assets: android.content.res.AssetManager, fileName: string): android.graphics.ImageDecoder.Source;
			public setTargetSampleSize(sampleSize: number): void;
			public setMutableRequired(mutable: boolean): void;
			public setOnPartialImageListener(listener: android.graphics.ImageDecoder.OnPartialImageListener): void;
			public setUnpremultipliedRequired(unpremultipliedRequired: boolean): void;
			public isMutableRequired(): boolean;
			public setMemorySizePolicy(policy: number): void;
			public static createSource(res: android.content.res.Resources, resId: number): android.graphics.ImageDecoder.Source;
			public getCrop(): android.graphics.Rect;
			public static decodeDrawable(src: android.graphics.ImageDecoder.Source): android.graphics.drawable.Drawable;
			public getOnPartialImageListener(): android.graphics.ImageDecoder.OnPartialImageListener;
			public setDecodeAsAlphaMaskEnabled(enabled: boolean): void;
			public setAllocator(allocator: number): void;
			public getPostProcessor(): android.graphics.PostProcessor;
			public isUnpremultipliedRequired(): boolean;
			public static createSource(data: androidNative.Array<number>): android.graphics.ImageDecoder.Source;
			public setCrop(subset: android.graphics.Rect): void;
		}
		export module ImageDecoder {
			export class DecodeException extends java.io.IOException {
				public static class: java.lang.Class<android.graphics.ImageDecoder.DecodeException>;
				public static SOURCE_EXCEPTION: 1;
				public static SOURCE_INCOMPLETE: 2;
				public static SOURCE_MALFORMED_DATA: 3;
				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: 1144402265;
			public static DEPTH_JPEG: 1768253795;
			public static DEPTH_POINT_CLOUD: 257;
			public static FLEX_RGBA_8888: 42;
			public static FLEX_RGB_888: 41;
			public static HEIC: 1212500294;
			public static JPEG: 256;
			public static JPEG_R: 4101;
			public static NV16: 16;
			public static NV21: 17;
			public static PRIVATE: 34;
			public static RAW10: 37;
			public static RAW12: 38;
			public static RAW_PRIVATE: 36;
			public static RAW_SENSOR: 32;
			public static RGB_565: 4;
			public static UNKNOWN: 0;
			public static Y8: 538982489;
			public static YCBCR_P010: 54;
			public static YUV_420_888: 35;
			public static YUV_422_888: 39;
			public static YUV_444_888: 40;
			public static YUY2: 20;
			public static YV12: 842094169;
			public static getBitsPerPixel(format: number): number;
			public constructor();
		}
	}
}

declare module android {
	export module graphics {
		export class Insets extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.Insets>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.Insets>;
			public static NONE: android.graphics.Insets;
			public bottom: number;
			public left: number;
			public right: number;
			public top: number;
			public toString(): string;
			public static min(a: android.graphics.Insets, b: android.graphics.Insets): android.graphics.Insets;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static of(left: number, top: number, right: number, bottom: number): android.graphics.Insets;
			public static max(a: android.graphics.Insets, b: android.graphics.Insets): android.graphics.Insets;
			public static add(a: android.graphics.Insets, b: android.graphics.Insets): android.graphics.Insets;
			public static subtract(a: android.graphics.Insets, b: android.graphics.Insets): android.graphics.Insets;
			public static of(r: android.graphics.Rect): android.graphics.Insets;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class Interpolator extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Interpolator>;
			public setKeyFrame(index: number, msec: number, values: androidNative.Array<number>, blend: androidNative.Array<number>): void;
			public constructor(valueCount: number, frameCount: number);
			public getKeyFrameCount(): number;
			public setKeyFrame(index: number, msec: number, values: androidNative.Array<number>): void;
			public timeToValues(values: androidNative.Array<number>): android.graphics.Interpolator.Result;
			public getValueCount(): number;
			public timeToValues(msec: number, values: androidNative.Array<number>): android.graphics.Interpolator.Result;
			public reset(valueCount: number): void;
			public constructor(valueCount: number);
			public reset(valueCount: number, frameCount: number): void;
			public finalize(): void;
			public setRepeatMirror(repeatCount: number, mirror: boolean): 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(): androidNative.Array<android.graphics.Interpolator.Result>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.graphics.Interpolator.Result;
			}
		}
	}
}

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 constructor(mul: number, add: number);
			public getColorAdd(): number;
			public getColorMultiply(): 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(x0: number, y0: number, x1: number, y1: number, colors: androidNative.Array<number>, positions: androidNative.Array<number>, tile: android.graphics.Shader.TileMode);
			/** @deprecated */
			public constructor();
			public constructor(x0: number, y0: number, x1: number, y1: number, color0: number, color1: number, tile: 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 IDENTITY_MATRIX: android.graphics.Matrix;
			public static MPERSP_0: 6;
			public static MPERSP_1: 7;
			public static MPERSP_2: 8;
			public static MSCALE_X: 0;
			public static MSCALE_Y: 4;
			public static MSKEW_X: 1;
			public static MSKEW_Y: 3;
			public static MTRANS_X: 2;
			public static MTRANS_Y: 5;
			public postScale(sx: number, sy: number, px: number, py: number): boolean;
			public preSkew(kx: number, ky: number): boolean;
			public postRotate(degrees: number, px: number, py: number): boolean;
			public preSkew(kx: number, ky: number, px: number, py: number): boolean;
			public setSinCos(sinValue: number, cosValue: number, px: number, py: number): void;
			public postScale(sx: number, sy: number): boolean;
			public postSkew(kx: number, ky: number): boolean;
			public invert(inverse: android.graphics.Matrix): boolean;
			public setPolyToPoly(src: androidNative.Array<number>, srcIndex: number, dst: androidNative.Array<number>, dstIndex: number, pointCount: number): boolean;
			public setSinCos(sinValue: number, cosValue: number): void;
			public postConcat(other: android.graphics.Matrix): boolean;
			public dump(pw: java.io.PrintWriter): void;
			public preScale(sx: number, sy: number): boolean;
			public preConcat(other: android.graphics.Matrix): boolean;
			public getValues(values: androidNative.Array<number>): void;
			public constructor(src: android.graphics.Matrix);
			public preTranslate(dx: number, dy: number): boolean;
			public mapVectors(vecs: androidNative.Array<number>): void;
			public constructor();
			public mapVectors(dst: androidNative.Array<number>, dstIndex: number, src: androidNative.Array<number>, srcIndex: number, vectorCount: number): void;
			public setRectToRect(src: android.graphics.RectF, dst: android.graphics.RectF, stf: android.graphics.Matrix.ScaleToFit): boolean;
			public mapRect(dst: android.graphics.RectF, src: android.graphics.RectF): boolean;
			public setTranslate(dx: number, dy: number): void;
			public rectStaysRect(): boolean;
			public preRotate(degrees: number, px: number, py: number): boolean;
			public mapPoints(dst: androidNative.Array<number>, dstIndex: number, src: androidNative.Array<number>, srcIndex: number, pointCount: number): void;
			public set(src: android.graphics.Matrix): void;
			public postSkew(kx: number, ky: number, px: number, py: number): boolean;
			public setScale(sx: number, sy: number): void;
			public isAffine(): boolean;
			public setSkew(kx: number, ky: number): void;
			public mapPoints(pts: androidNative.Array<number>): void;
			public setValues(values: androidNative.Array<number>): void;
			public mapRect(rect: android.graphics.RectF): boolean;
			public reset(): void;
			public setScale(sx: number, sy: number, px: number, py: number): void;
			public setRotate(degrees: number): void;
			public setConcat(a: android.graphics.Matrix, b: android.graphics.Matrix): boolean;
			public mapVectors(dst: androidNative.Array<number>, src: androidNative.Array<number>): void;
			public setSkew(kx: number, ky: number, px: number, py: number): void;
			public preRotate(degrees: number): boolean;
			public toShortString(): string;
			public mapPoints(dst: androidNative.Array<number>, src: androidNative.Array<number>): void;
			public isIdentity(): boolean;
			public setRotate(degrees: number, px: number, py: number): void;
			public toString(): string;
			public equals(obj: any): boolean;
			public postRotate(degrees: number): boolean;
			public postTranslate(dx: number, dy: number): boolean;
			public preScale(sx: number, sy: number, px: number, py: number): boolean;
			public mapRadius(radius: number): number;
			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(): androidNative.Array<android.graphics.Matrix.ScaleToFit>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.graphics.Matrix.ScaleToFit;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class Matrix44 extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Matrix44>;
			public invert(): boolean;
			public map(x: number, y: number, z: number, w: number): androidNative.Array<number>;
			public concat(b: android.graphics.Matrix44): android.graphics.Matrix44;
			public constructor(mat: android.graphics.Matrix);
			public set(row: number, col: number, val: number): void;
			public constructor();
			public get(row: number, col: number): number;
			public isIdentity(): boolean;
			public map(x: number, y: number, z: number, w: number, dst: androidNative.Array<number>): void;
			public setValues(src: androidNative.Array<number>): void;
			public toString(): string;
			public equals(obj: any): boolean;
			public rotate(deg: number, xComp: number, yComp: number, zComp: number): android.graphics.Matrix44;
			public scale(x: number, y: number, z: number): android.graphics.Matrix44;
			public translate(x: number, y: number, z: number): android.graphics.Matrix44;
			public reset(): void;
			public getValues(dst: androidNative.Array<number>): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class Mesh extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Mesh>;
			public static TRIANGLES: 0;
			public static TRIANGLE_STRIP: 1;
			public constructor(meshSpec: android.graphics.MeshSpecification, mode: number, vertexBuffer: java.nio.Buffer, vertexCount: number, bounds: android.graphics.RectF);
			public setIntUniform(uniformName: string, value: number): void;
			public setIntUniform(uniformName: string, values: androidNative.Array<number>): void;
			public setColorUniform(uniformName: string, color: number): void;
			public setFloatUniform(uniformName: string, value1: number, value2: number): void;
			public setIntUniform(uniformName: string, value1: number, value2: number, value3: number): void;
			public setFloatUniform(uniformName: string, values: androidNative.Array<number>): void;
			public setFloatUniform(uniformName: string, value: number): void;
			public setIntUniform(uniformName: string, value1: number, value2: number, value3: number, value4: number): void;
			public setIntUniform(uniformName: string, value1: number, value2: number): void;
			public constructor(meshSpec: android.graphics.MeshSpecification, mode: number, vertexBuffer: java.nio.Buffer, vertexCount: number, indexBuffer: java.nio.ShortBuffer, bounds: android.graphics.RectF);
			public setColorUniform(uniformName: string, color: android.graphics.Color): void;
			public setFloatUniform(uniformName: string, value1: number, value2: number, value3: number, value4: number): void;
			public setFloatUniform(uniformName: string, value1: number, value2: number, value3: number): void;
		}
	}
}

declare module android {
	export module graphics {
		export class MeshSpecification extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.MeshSpecification>;
			public static ALPHA_TYPE_OPAQUE: 1;
			public static ALPHA_TYPE_PREMULTIPLIED: 2;
			public static ALPHA_TYPE_UNKNOWN: 0;
			public static ALPHA_TYPE_UNPREMULTIPLIED: 3;
			public static TYPE_FLOAT: 0;
			public static TYPE_FLOAT2: 1;
			public static TYPE_FLOAT3: 2;
			public static TYPE_FLOAT4: 3;
			public static TYPE_UBYTE4: 4;
			public static make(attributes: androidNative.Array<android.graphics.MeshSpecification.Attribute>, vertexStride: number, varyings: androidNative.Array<android.graphics.MeshSpecification.Varying>, vertexShader: string, fragmentShader: string, colorSpace: android.graphics.ColorSpace): android.graphics.MeshSpecification;
			public static make(attributes: androidNative.Array<android.graphics.MeshSpecification.Attribute>, vertexStride: number, varyings: androidNative.Array<android.graphics.MeshSpecification.Varying>, vertexShader: string, fragmentShader: string, colorSpace: android.graphics.ColorSpace, alphaType: number): android.graphics.MeshSpecification;
			public static make(attributes: androidNative.Array<android.graphics.MeshSpecification.Attribute>, vertexStride: number, varyings: androidNative.Array<android.graphics.MeshSpecification.Varying>, vertexShader: string, fragmentShader: string): android.graphics.MeshSpecification;
		}
		export module MeshSpecification {
			export class Attribute extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.MeshSpecification.Attribute>;
				public getOffset(): number;
				public getType(): number;
				public constructor(type: number, offset: number, name: string);
				public getName(): string;
				public toString(): string;
			}
			export class Varying extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.MeshSpecification.Varying>;
				public getType(): number;
				public constructor(type: number, name: string);
				public getName(): string;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class Movie extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Movie>;
			/** @deprecated */
			public setTime(param0: number): boolean;
			/** @deprecated */
			public static decodeByteArray(param0: androidNative.Array<number>, param1: number, param2: number): android.graphics.Movie;
			/** @deprecated */
			public width(): number;
			/** @deprecated */
			public duration(): number;
			/** @deprecated */
			public finalize(): void;
			/** @deprecated */
			public isOpaque(): boolean;
			/** @deprecated */
			public height(): number;
			/** @deprecated */
			public draw(canvas: android.graphics.Canvas, x: number, y: number, paint: android.graphics.Paint): void;
			/** @deprecated */
			public static decodeFile(pathName: string): android.graphics.Movie;
			/** @deprecated */
			public draw(canvas: android.graphics.Canvas, x: number, y: number): void;
			/** @deprecated */
			public static decodeStream(is: java.io.InputStream): android.graphics.Movie;
		}
	}
}

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

declare module android {
	export module graphics {
		export class Outline extends java.lang.Object {
			public static class: java.lang.Class<any>;
			public constructor(src: any);
			public setEmpty(): void;
			public setRect(rect: android.graphics.Rect): void;
			public setRoundRect(rect: android.graphics.Rect, radius: number): void;
			public setOval(rect: android.graphics.Rect): void;
			public isEmpty(): boolean;
			public getRect(outRect: android.graphics.Rect): boolean;
			public getAlpha(): number;
			public getRadius(): number;
			public constructor();
			public setAlpha(alpha: number): void;
			public canClip(): boolean;
			public set(src: any): void;
			public offset(dx: number, dy: number): void;
			public setRect(left: number, top: number, right: number, bottom: number): void;
			public setOval(left: number, top: number, right: number, bottom: number): void;
			/** @deprecated */
			public setConvexPath(convexPath: android.graphics.Path): void;
			public setRoundRect(left: number, top: number, right: number, bottom: number, radius: number): void;
			public setPath(path: android.graphics.Path): void;
		}
	}
}

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: 1;
			public static CURSOR_AFTER: 0;
			public static CURSOR_AT: 4;
			public static CURSOR_AT_OR_AFTER: 1;
			public static CURSOR_AT_OR_BEFORE: 3;
			public static CURSOR_BEFORE: 2;
			public static DEV_KERN_TEXT_FLAG: 256;
			public static DITHER_FLAG: 4;
			public static EMBEDDED_BITMAP_TEXT_FLAG: 1024;
			public static END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN: 3;
			public static END_HYPHEN_EDIT_INSERT_HYPHEN: 2;
			public static END_HYPHEN_EDIT_INSERT_MAQAF: 4;
			public static END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN: 5;
			public static END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN: 6;
			public static END_HYPHEN_EDIT_NO_EDIT: 0;
			public static END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN: 1;
			public static FAKE_BOLD_TEXT_FLAG: 32;
			public static FILTER_BITMAP_FLAG: 2;
			public static HINTING_OFF: 0;
			public static HINTING_ON: 1;
			public static LINEAR_TEXT_FLAG: 64;
			public static START_HYPHEN_EDIT_INSERT_HYPHEN: 1;
			public static START_HYPHEN_EDIT_INSERT_ZWJ: 2;
			public static START_HYPHEN_EDIT_NO_EDIT: 0;
			public static STRIKE_THRU_TEXT_FLAG: 16;
			public static SUBPIXEL_TEXT_FLAG: 128;
			public static TEXT_RUN_FLAG_LEFT_EDGE: 8192;
			public static TEXT_RUN_FLAG_RIGHT_EDGE: 16384;
			public static UNDERLINE_TEXT_FLAG: 8;
			public getFontVariationSettings(): string;
			public getUnderlinePosition(): number;
			public getAlpha(): number;
			public getTextPath(text: string, start: number, end: number, x: number, y: number, path: android.graphics.Path): void;
			public getStyle(): android.graphics.Paint.Style;
			public setElegantTextHeight(elegant: boolean): void;
			public setShader(shader: android.graphics.Shader): android.graphics.Shader;
			public isElegantTextHeight(): boolean;
			public isFakeBoldText(): boolean;
			public getStartHyphenEdit(): number;
			public getFontMetricsIntForLocale(metrics: android.graphics.Paint.FontMetricsInt): void;
			public constructor(paint: android.graphics.Paint);
			public setTextSkewX(skewX: number): void;
			public setHinting(mode: number): void;
			public setFilterBitmap(filter: boolean): void;
			public setTypeface(typeface: android.graphics.Typeface): android.graphics.Typeface;
			public getTextWidths(text: androidNative.Array<string>, index: number, count: number, widths: androidNative.Array<number>): number;
			public getTextWidths(text: string, start: number, end: number, widths: androidNative.Array<number>): number;
			public constructor();
			public getFontMetrics(metrics: android.graphics.Paint.FontMetrics): number;
			public getTextSize(): number;
			public hasGlyph(string: string): boolean;
			public measureText(text: string, start: number, end: number): number;
			public set(src: android.graphics.Paint): void;
			public setLetterSpacing(letterSpacing: number): void;
			public isSubpixelText(): boolean;
			public getTextLocale(): java.util.Locale;
			public getTextRunAdvances(chars: androidNative.Array<string>, index: number, count: number, contextIndex: number, contextCount: number, isRtl: boolean, advances: androidNative.Array<number>, advancesIndex: number): number;
			public setStrokeMiter(miter: number): void;
			public getFontMetricsForLocale(metrics: android.graphics.Paint.FontMetrics): void;
			public clearShadowLayer(): void;
			public getStrikeThruPosition(): number;
			public getTextBounds(text: androidNative.Array<string>, index: number, count: number, bounds: android.graphics.Rect): void;
			public isAntiAlias(): boolean;
			public setPathEffect(effect: android.graphics.PathEffect): android.graphics.PathEffect;
			public setWordSpacing(wordSpacing: number): void;
			public setDither(dither: boolean): void;
			public getTextScaleX(): number;
			public getStrokeJoin(): android.graphics.Paint.Join;
			public getColor(): number;
			public getShader(): android.graphics.Shader;
			public getStrikeThruThickness(): number;
			public setColorFilter(filter: android.graphics.ColorFilter): android.graphics.ColorFilter;
			public getRunAdvance(text: string, start: number, end: number, contextStart: number, contextEnd: number, isRtl: boolean, offset: number): number;
			public setSubpixelText(subpixelText: boolean): void;
			public setStrokeCap(cap: android.graphics.Paint.Cap): void;
			public setBlendMode(blendmode: android.graphics.BlendMode): void;
			public setUnderlineText(underlineText: boolean): void;
			public getRunCharacterAdvance(text: string, start: number, end: number, contextStart: number, contextEnd: number, isRtl: boolean, offset: number, advances: androidNative.Array<number>, advancesIndex: number): number;
			public isDither(): boolean;
			public getFillPath(src: android.graphics.Path, dst: android.graphics.Path): boolean;
			public getBlendMode(): android.graphics.BlendMode;
			public setTextScaleX(scaleX: number): void;
			public getTypeface(): android.graphics.Typeface;
			public getTextLocales(): any;
			public getFontMetricsInt(fmi: android.graphics.Paint.FontMetricsInt): number;
			public getTextRunCursor(text: string, contextStart: number, contextEnd: number, isRtl: boolean, offset: number, cursorOpt: number): number;
			public getTextPath(text: androidNative.Array<string>, index: number, count: number, x: number, y: number, path: android.graphics.Path): void;
			public getOffsetForAdvance(text: string, start: number, end: number, contextStart: number, contextEnd: number, isRtl: boolean, advance: number): number;
			public setTextLocale(locale: java.util.Locale): void;
			public breakText(text: string, measureForwards: boolean, maxWidth: number, measuredWidth: androidNative.Array<number>): number;
			public setStrokeWidth(width: number): void;
			public getFontMetrics(): android.graphics.Paint.FontMetrics;
			public getUnderlineThickness(): number;
			public setMaskFilter(maskfilter: android.graphics.MaskFilter): android.graphics.MaskFilter;
			public getFontFeatureSettings(): string;
			public getFontMetricsInt(text: string, start: number, count: number, contextStart: number, contextCount: number, isRtl: boolean, outMetrics: android.graphics.Paint.FontMetricsInt): void;
			public getColorLong(): number;
			public setColor(color: number): void;
			public getStrokeMiter(): number;
			public setFontVariationSettings(fontVariationSettings: string): boolean;
			public measureText(text: androidNative.Array<string>, index: number, count: number): number;
			public getMaskFilter(): android.graphics.MaskFilter;
			public breakText(text: string, start: number, end: number, measureForwards: boolean, maxWidth: number, measuredWidth: androidNative.Array<number>): number;
			public setShadowLayer(radius: number, dx: number, dy: number, shadowColor: number): void;
			public setEndHyphenEdit(endHyphen: number): void;
			public setTextSize(textSize: number): void;
			public getColorFilter(): android.graphics.ColorFilter;
			public getTextBounds(text: string, start: number, end: number, bounds: android.graphics.Rect): void;
			public getOffsetForAdvance(text: androidNative.Array<string>, start: number, end: number, contextStart: number, contextEnd: number, isRtl: boolean, advance: number): number;
			public setFakeBoldText(fakeBoldText: boolean): void;
			public getTextAlign(): android.graphics.Paint.Align;
			public getFontMetricsInt(): android.graphics.Paint.FontMetricsInt;
			public setStrokeJoin(join: android.graphics.Paint.Join): void;
			public setAntiAlias(aa: boolean): void;
			public setTextAlign(align: android.graphics.Paint.Align): void;
			public setFontFeatureSettings(settings: string): void;
			public getTextRunCursor(text: androidNative.Array<string>, contextStart: number, contextLength: number, isRtl: boolean, offset: number, cursorOpt: number): number;
			public ascent(): number;
			public getWordSpacing(): number;
			public setStyle(style: android.graphics.Paint.Style): void;
			public constructor(flags: number);
			public getStrokeWidth(): number;
			public getFlags(): number;
			public getShadowLayerColor(): number;
			public isUnderlineText(): boolean;
			public setStartHyphenEdit(startHyphen: number): void;
			public isFilterBitmap(): boolean;
			public getShadowLayerColorLong(): number;
			public setStrikeThruText(strikeThruText: boolean): void;
			public equalsForTextMeasurement(other: android.graphics.Paint): boolean;
			public isLinearText(): boolean;
			public getRunAdvance(text: androidNative.Array<string>, start: number, end: number, contextStart: number, contextEnd: number, isRtl: boolean, offset: number): number;
			public breakText(text: androidNative.Array<string>, index: number, count: number, maxWidth: number, measuredWidth: androidNative.Array<number>): number;
			public setAlpha(a: number): void;
			public isStrikeThruText(): boolean;
			public getStrokeCap(): android.graphics.Paint.Cap;
			public getShadowLayerRadius(): number;
			public setXfermode(xfermode: android.graphics.Xfermode): android.graphics.Xfermode;
			public setFlags(flags: number): void;
			public getRunCharacterAdvance(text: androidNative.Array<string>, start: number, end: number, contextStart: number, contextEnd: number, isRtl: boolean, offset: number, advances: androidNative.Array<number>, advancesIndex: number): number;
			public getEndHyphenEdit(): number;
			public descent(): number;
			public setARGB(a: number, r: number, g: number, b: number): void;
			public getFontSpacing(): number;
			public reset(): void;
			public getLetterSpacing(): number;
			public setTextLocales(locales: any): void;
			public measureText(text: string): number;
			public getTextWidths(text: string, widths: androidNative.Array<number>): number;
			public getTextSkewX(): number;
			public setLinearText(linearText: boolean): void;
			public getPathEffect(): android.graphics.PathEffect;
			public getHinting(): number;
			public getShadowLayerDx(): number;
			public getFontMetricsInt(text: androidNative.Array<string>, start: number, count: number, contextStart: number, contextCount: number, isRtl: boolean, outMetrics: android.graphics.Paint.FontMetricsInt): void;
			public getXfermode(): android.graphics.Xfermode;
			public getShadowLayerDy(): number;
		}
		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(name: string): android.graphics.Paint.Align;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.graphics.Paint.Align>;
			}
			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(): androidNative.Array<android.graphics.Paint.Cap>;
				public static valueOf(name: string): android.graphics.Paint.Cap;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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 hashCode(): number;
				public equals(o: any): boolean;
				public toString(): string;
				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 hashCode(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public set(fontMetricsInt: android.graphics.Paint.FontMetricsInt): void;
				public set(fontMetrics: android.graphics.Paint.FontMetrics): void;
				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 valueOf(name: string): android.graphics.Paint.Join;
				public static values(): androidNative.Array<android.graphics.Paint.Join>;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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(name: string): android.graphics.Paint.Style;
				public static values(): androidNative.Array<android.graphics.Paint.Style>;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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(clearBits: number, setBits: number);
		}
	}
}

declare module android {
	export module graphics {
		export class ParcelableColorSpace extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.ParcelableColorSpace>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.ParcelableColorSpace>;
			public static isParcelable(colorSpace: android.graphics.ColorSpace): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(colorSpace: android.graphics.ColorSpace);
			public getColorSpace(): android.graphics.ColorSpace;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class Path extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Path>;
			public arcTo(oval: android.graphics.RectF, startAngle: number, sweepAngle: number, forceMoveTo: boolean): void;
			public lineTo(x: number, y: number): void;
			public isRect(rect: android.graphics.RectF): boolean;
			public rMoveTo(dx: number, dy: number): void;
			public quadTo(x1: number, y1: number, x2: number, y2: number): void;
			public cubicTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
			public rCubicTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
			public op(path1: android.graphics.Path, path2: android.graphics.Path, op: android.graphics.Path.Op): boolean;
			public op(path: android.graphics.Path, op: android.graphics.Path.Op): boolean;
			public setFillType(ft: android.graphics.Path.FillType): void;
			public setLastPoint(dx: number, dy: number): void;
			public constructor(src: android.graphics.Path);
			public addRoundRect(left: number, top: number, right: number, bottom: number, radii: androidNative.Array<number>, dir: android.graphics.Path.Direction): void;
			public addRect(rect: android.graphics.RectF, dir: android.graphics.Path.Direction): void;
			public rewind(): void;
			public addRect(left: number, top: number, right: number, bottom: number, dir: android.graphics.Path.Direction): void;
			public toggleInverseFillType(): void;
			public addOval(left: number, top: number, right: number, bottom: number, dir: android.graphics.Path.Direction): void;
			public isInterpolatable(otherPath: android.graphics.Path): boolean;
			public addPath(src: android.graphics.Path, dx: number, dy: number): void;
			public incReserve(extraPtCount: number): void;
			public interpolate(otherPath: android.graphics.Path, t: number, interpolatedPath: android.graphics.Path): boolean;
			public constructor();
			public rLineTo(dx: number, dy: number): void;
			public addOval(oval: android.graphics.RectF, dir: android.graphics.Path.Direction): void;
			public addPath(src: android.graphics.Path, matrix: android.graphics.Matrix): void;
			public getFillType(): android.graphics.Path.FillType;
			public approximate(acceptableError: number): androidNative.Array<number>;
			public arcTo(left: number, top: number, right: number, bottom: number, startAngle: number, sweepAngle: number, forceMoveTo: boolean): void;
			public addArc(oval: android.graphics.RectF, startAngle: number, sweepAngle: number): void;
			public addCircle(x: number, y: number, radius: number, dir: android.graphics.Path.Direction): void;
			public transform(matrix: android.graphics.Matrix): void;
			public conicTo(x1: number, y1: number, x2: number, y2: number, weight: number): void;
			/** @deprecated */
			public computeBounds(bounds: android.graphics.RectF, exact: boolean): void;
			public transform(matrix: android.graphics.Matrix, dst: android.graphics.Path): void;
			public rQuadTo(dx1: number, dy1: number, dx2: number, dy2: number): void;
			public rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, weight: number): void;
			public addPath(src: android.graphics.Path): void;
			public getPathIterator(): android.graphics.PathIterator;
			public addArc(left: number, top: number, right: number, bottom: number, startAngle: number, sweepAngle: number): void;
			public offset(dx: number, dy: number): void;
			public reset(): void;
			public addRoundRect(rect: android.graphics.RectF, radii: androidNative.Array<number>, dir: android.graphics.Path.Direction): void;
			public close(): void;
			public getGenerationId(): number;
			public isEmpty(): boolean;
			public addRoundRect(left: number, top: number, right: number, bottom: number, rx: number, ry: number, dir: android.graphics.Path.Direction): void;
			public addRoundRect(rect: android.graphics.RectF, rx: number, ry: number, dir: android.graphics.Path.Direction): void;
			/** @deprecated */
			public isConvex(): boolean;
			public offset(dx: number, dy: number, dst: android.graphics.Path): void;
			public arcTo(oval: android.graphics.RectF, startAngle: number, sweepAngle: number): void;
			public set(src: android.graphics.Path): void;
			public isInverseFillType(): boolean;
			public moveTo(x: number, y: number): 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(): androidNative.Array<android.graphics.Path.Direction>;
				public static valueOf(name: string): android.graphics.Path.Direction;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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(name: string): android.graphics.Path.FillType;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.graphics.Path.FillType>;
			}
			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(name: string): android.graphics.Path.Op;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.graphics.Path.Op>;
			}
		}
	}
}

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(shape: android.graphics.Path, advance: number, phase: number, style: 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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.graphics.PathDashPathEffect.Style;
				public static values(): androidNative.Array<android.graphics.PathDashPathEffect.Style>;
			}
		}
	}
}

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 PathIterator extends java.util.Iterator<android.graphics.PathIterator.Segment> {
			public static class: java.lang.Class<android.graphics.PathIterator>;
			public static VERB_CLOSE: 5;
			public static VERB_CONIC: 3;
			public static VERB_CUBIC: 4;
			public static VERB_DONE: 6;
			public static VERB_LINE: 1;
			public static VERB_MOVE: 0;
			public static VERB_QUAD: 2;
			public next(): android.graphics.PathIterator.Segment;
			public next(points: androidNative.Array<number>, offset: number): number;
			public peek(): number;
			public hasNext(): boolean;
		}
		export module PathIterator {
			export class Segment extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.PathIterator.Segment>;
				public getPoints(): androidNative.Array<number>;
				public getVerb(): number;
				public getConicWeight(): number;
			}
		}
	}
}

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: 1;
			public static TANGENT_MATRIX_FLAG: 2;
			public getSegment(startD: number, stopD: number, dst: android.graphics.Path, startWithMoveTo: boolean): boolean;
			public isClosed(): boolean;
			public constructor(path: android.graphics.Path, forceClosed: boolean);
			public getLength(): number;
			public setPath(path: android.graphics.Path, forceClosed: boolean): void;
			public getPosTan(distance: number, pos: androidNative.Array<number>, tan: androidNative.Array<number>): boolean;
			public constructor();
			public nextContour(): boolean;
			public finalize(): void;
			public getMatrix(distance: number, matrix: android.graphics.Matrix, flags: number): boolean;
		}
	}
}

declare module android {
	export module graphics {
		export class Picture extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Picture>;
			public beginRecording(width: number, height: number): android.graphics.Canvas;
			public getHeight(): number;
			public draw(canvas: android.graphics.Canvas): void;
			public constructor(src: android.graphics.Picture);
			public getWidth(): number;
			public constructor();
			public endRecording(): void;
			public finalize(): void;
			public requiresHardwareAcceleration(): boolean;
		}
	}
}

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: 8;
			public static JPEG: 256;
			public static LA_88: 10;
			public static L_8: 9;
			public static OPAQUE: -1;
			public static RGBA_1010102: 43;
			public static RGBA_4444: 7;
			public static RGBA_5551: 6;
			public static RGBA_8888: 1;
			public static RGBA_F16: 22;
			public static RGBX_8888: 2;
			public static RGB_332: 11;
			public static RGB_565: 4;
			public static RGB_888: 3;
			public static TRANSLUCENT: -3;
			public static TRANSPARENT: -2;
			public static UNKNOWN: 0;
			public static YCbCr_420_SP: 17;
			public static YCbCr_422_I: 20;
			public static YCbCr_422_SP: 16;
			public bitsPerPixel: number;
			public bytesPerPixel: number;
			public static formatHasAlpha(format: number): boolean;
			public constructor();
			public static getPixelFormatInfo(format: number, info: 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 constructor(x: number, y: number);
			public equals(x: number, y: number): boolean;
			public set(x: number, y: number): void;
			public constructor();
			public readFromParcel(in_: android.os.Parcel): void;
			public negate(): void;
			public toString(): string;
			public equals(obj: any): boolean;
			public equals(o: any): boolean;
			public offset(dx: number, dy: number): void;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(src: android.graphics.Point);
			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 constructor(p: android.graphics.Point);
			public constructor(x: number, y: number);
			public equals(x: number, y: number): boolean;
			public length(): number;
			public constructor(p: android.graphics.PointF);
			public set(x: number, y: number): void;
			public constructor();
			public static length(x: number, y: number): number;
			public readFromParcel(in_: android.os.Parcel): void;
			public negate(): void;
			public toString(): string;
			public set(p: android.graphics.PointF): void;
			public equals(obj: any): boolean;
			public equals(o: any): boolean;
			public offset(dx: number, dy: number): void;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.graphics.PorterDuff.Mode;
				public static values(): androidNative.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 constructor(color: number, mode: android.graphics.PorterDuff.Mode);
			/** @deprecated */
			public constructor();
			public equals(object: any): boolean;
			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(mode: 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>;
			/** @deprecated */
			public constructor();
			public constructor(startX: number, startY: number, startRadius: number, endX: number, endY: number, endRadius: number, colors: androidNative.Array<number>, stops: androidNative.Array<number>, tileMode: android.graphics.Shader.TileMode);
			public constructor(centerX: number, centerY: number, radius: number, centerColor: number, edgeColor: number, tileMode: android.graphics.Shader.TileMode);
			public constructor(centerX: number, centerY: number, radius: number, colors: androidNative.Array<number>, stops: androidNative.Array<number>, tileMode: android.graphics.Shader.TileMode);
		}
	}
}

declare module android {
	export module graphics {
		export class RecordingCanvas extends android.graphics.Canvas {
			public static class: java.lang.Class<android.graphics.RecordingCanvas>;
			public drawTextRun(text: android.graphics.text.MeasuredText, start: number, end: number, contextStart: number, contextEnd: number, x: number, y: number, isRtl: boolean, paint: android.graphics.Paint): void;
			public drawText(text: string, x: number, y: number, paint: android.graphics.Paint): void;
			public isHardwareAccelerated(): boolean;
			public drawColor(color: number, mode: android.graphics.PorterDuff.Mode): void;
			public getWidth(): number;
			public drawBitmap(bitmap: android.graphics.Bitmap, src: android.graphics.Rect, dst: android.graphics.Rect, paint: android.graphics.Paint): void;
			public drawPoints(pts: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public drawRect(left: number, top: number, right: number, bottom: number, paint: android.graphics.Paint): void;
			public drawLine(startX: number, startY: number, stopX: number, stopY: number, paint: android.graphics.Paint): void;
			public drawColor(color: number, mode: android.graphics.BlendMode): void;
			public disableZ(): void;
			public drawColor(color: number): void;
			public drawOval(oval: android.graphics.RectF, paint: android.graphics.Paint): void;
			public drawBitmapMesh(bitmap: android.graphics.Bitmap, meshWidth: number, meshHeight: number, verts: androidNative.Array<number>, vertOffset: number, colors: androidNative.Array<number>, colorOffset: number, paint: android.graphics.Paint): void;
			public drawCircle(cx: number, cy: number, radius: number, paint: android.graphics.Paint): void;
			public drawMesh(mesh: android.graphics.Mesh, blendMode: android.graphics.BlendMode, paint: android.graphics.Paint): void;
			public drawDoubleRoundRect(outer: android.graphics.RectF, outerRadii: androidNative.Array<number>, inner: android.graphics.RectF, innerRadii: androidNative.Array<number>, paint: android.graphics.Paint): void;
			/** @deprecated */
			public drawBitmap(colors: androidNative.Array<number>, offset: number, stride: number, x: number, y: number, width: number, height: number, hasAlpha: boolean, paint: android.graphics.Paint): void;
			public drawTextRun(measuredText: android.graphics.text.MeasuredText, start: number, end: number, contextStart: number, contextEnd: number, x: number, y: number, isRtl: boolean, paint: android.graphics.Paint): void;
			public drawBitmap(bitmap: android.graphics.Bitmap, left: number, top: number, paint: android.graphics.Paint): void;
			public drawBitmap(bitmap: android.graphics.Bitmap, matrix: android.graphics.Matrix, paint: android.graphics.Paint): void;
			public drawVertices(mode: android.graphics.Canvas.VertexMode, vertexCount: number, verts: androidNative.Array<number>, vertOffset: number, texs: androidNative.Array<number>, texOffset: number, colors: androidNative.Array<number>, colorOffset: number, indices: androidNative.Array<number>, indexOffset: number, indexCount: number, paint: android.graphics.Paint): void;
			public drawLines(pts: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public drawPaint(paint: android.graphics.Paint): void;
			public drawArc(left: number, top: number, right: number, bottom: number, startAngle: number, sweepAngle: number, useCenter: boolean, paint: android.graphics.Paint): void;
			public getHeight(): number;
			/** @deprecated */
			public drawPosText(text: string, pos: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public drawLines(pts: androidNative.Array<number>, offset: number, count: number, paint: android.graphics.Paint): void;
			public drawPath(path: android.graphics.Path, paint: android.graphics.Paint): void;
			/** @deprecated */
			public drawPosText(text: androidNative.Array<string>, index: number, count: number, pos: androidNative.Array<number>, paint: android.graphics.Paint): void;
			public drawTextRun(text: string, start: number, end: number, contextStart: number, contextEnd: number, x: number, y: number, isRtl: boolean, paint: android.graphics.Paint): void;
			public drawPicture(picture: android.graphics.Picture, dst: android.graphics.RectF): void;
			public drawBitmap(bitmap: android.graphics.Bitmap, src: android.graphics.Rect, dst: android.graphics.RectF, paint: android.graphics.Paint): void;
			public drawPicture(picture: android.graphics.Picture, dst: android.graphics.Rect): void;
			public drawARGB(a: number, r: number, g: number, b: number): void;
			public drawRect(r: android.graphics.Rect, paint: android.graphics.Paint): void;
			public drawTextOnPath(text: androidNative.Array<string>, index: number, count: number, path: android.graphics.Path, hOffset: number, vOffset: number, paint: android.graphics.Paint): void;
			public drawDoubleRoundRect(outer: android.graphics.RectF, outerRx: number, outerRy: number, inner: android.graphics.RectF, innerRx: number, innerRy: number, paint: android.graphics.Paint): void;
			public drawText(text: androidNative.Array<string>, index: number, count: number, x: number, y: number, paint: android.graphics.Paint): void;
			public drawPicture(picture: android.graphics.Picture): void;
			public drawRect(rect: android.graphics.RectF, paint: android.graphics.Paint): void;
			public drawRoundRect(rect: android.graphics.RectF, rx: number, ry: number, paint: android.graphics.Paint): void;
			public drawPatch(patch: android.graphics.NinePatch, dst: android.graphics.Rect, paint: android.graphics.Paint): void;
			public drawRenderNode(renderNode: android.graphics.RenderNode): void;
			public enableZ(): void;
			public drawOval(left: number, top: number, right: number, bottom: number, paint: android.graphics.Paint): void;
			public drawTextOnPath(text: string, path: android.graphics.Path, hOffset: number, vOffset: number, paint: android.graphics.Paint): void;
			public drawArc(oval: android.graphics.RectF, startAngle: number, sweepAngle: number, useCenter: boolean, paint: android.graphics.Paint): void;
			public drawPatch(patch: android.graphics.NinePatch, dst: android.graphics.RectF, paint: android.graphics.Paint): void;
			public getMaximumBitmapHeight(): number;
			public isOpaque(): boolean;
			public drawPoint(x: number, y: number, paint: android.graphics.Paint): void;
			public drawRegion(region: android.graphics.Region, paint: android.graphics.Paint): void;
			public drawText(text: string, start: number, end: number, x: number, y: number, paint: android.graphics.Paint): void;
			public drawPoints(pts: androidNative.Array<number>, offset: number, count: number, paint: android.graphics.Paint): void;
			public drawTextRun(text: androidNative.Array<string>, index: number, count: number, contextIndex: number, contextCount: number, x: number, y: number, isRtl: boolean, paint: android.graphics.Paint): void;
			public setDensity(density: number): void;
			public drawRGB(r: number, g: number, b: number): void;
			public setBitmap(bitmap: android.graphics.Bitmap): void;
			public getMaximumBitmapWidth(): number;
			public drawGlyphs(glyphIds: androidNative.Array<number>, glyphIdOffset: number, positions: androidNative.Array<number>, positionOffset: number, glyphCount: number, font: android.graphics.fonts.Font, paint: android.graphics.Paint): void;
			public drawRoundRect(left: number, top: number, right: number, bottom: number, rx: number, ry: number, paint: android.graphics.Paint): void;
		}
	}
}

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 static unflattenFromString(str: string): android.graphics.Rect;
			public setEmpty(): void;
			public setIntersect(a: android.graphics.Rect, b: android.graphics.Rect): boolean;
			public centerX(): number;
			public exactCenterX(): number;
			public contains(left: number, top: number, right: number, bottom: number): boolean;
			public inset(left: number, top: number, right: number, bottom: number): void;
			public inset(insets: android.graphics.Insets): void;
			public offset(dx: number, dy: number): void;
			public sort(): void;
			public union(left: number, top: number, right: number, bottom: number): void;
			public union(x: number, y: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public height(): number;
			public contains(r: android.graphics.Rect): boolean;
			public intersect(left: number, top: number, right: number, bottom: number): boolean;
			public flattenToString(): string;
			public constructor(left: number, top: number, right: number, bottom: number);
			public isEmpty(): boolean;
			public width(): number;
			public union(r: android.graphics.Rect): void;
			public toShortString(): string;
			public exactCenterY(): number;
			public set(left: number, top: number, right: number, bottom: number): void;
			public static intersects(a: android.graphics.Rect, b: android.graphics.Rect): boolean;
			public contains(x: number, y: number): boolean;
			public constructor();
			public readFromParcel(in_: android.os.Parcel): void;
			public toString(): string;
			public equals(o: any): boolean;
			public centerY(): number;
			public set(src: android.graphics.Rect): void;
			public constructor(r: android.graphics.Rect);
			public intersect(r: android.graphics.Rect): boolean;
			public offsetTo(newLeft: number, newTop: number): void;
			public intersects(left: number, top: number, right: number, bottom: number): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public inset(dx: number, dy: number): void;
			public hashCode(): number;
		}
	}
}

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 contains(r: android.graphics.RectF): boolean;
			public setEmpty(): void;
			public centerX(): number;
			public roundOut(dst: android.graphics.Rect): void;
			public constructor(r: android.graphics.RectF);
			public contains(left: number, top: number, right: number, bottom: number): boolean;
			public set(src: android.graphics.RectF): void;
			public offset(dx: number, dy: number): void;
			public sort(): void;
			public union(left: number, top: number, right: number, bottom: number): void;
			public union(x: number, y: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public height(): number;
			public intersect(left: number, top: number, right: number, bottom: number): boolean;
			public constructor(left: number, top: number, right: number, bottom: number);
			public isEmpty(): boolean;
			public width(): number;
			public toShortString(): string;
			public set(left: number, top: number, right: number, bottom: number): void;
			public contains(x: number, y: number): boolean;
			public constructor();
			public static intersects(a: android.graphics.RectF, b: android.graphics.RectF): boolean;
			public readFromParcel(in_: android.os.Parcel): void;
			public toString(): string;
			public equals(o: any): boolean;
			public centerY(): number;
			public set(src: android.graphics.Rect): void;
			public setIntersect(a: android.graphics.RectF, b: android.graphics.RectF): boolean;
			public constructor(r: android.graphics.Rect);
			public offsetTo(newLeft: number, newTop: number): void;
			public intersects(left: number, top: number, right: number, bottom: number): boolean;
			public round(dst: android.graphics.Rect): void;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public inset(dx: number, dy: number): void;
			public intersect(r: android.graphics.RectF): boolean;
			public hashCode(): number;
			public union(r: android.graphics.RectF): void;
		}
	}
}

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 setEmpty(): void;
			public op(r: android.graphics.Rect, op: android.graphics.Region.Op): boolean;
			public quickContains(param0: number, param1: number, param2: number, param3: number): boolean;
			public op(rect: android.graphics.Rect, region: android.graphics.Region, op: android.graphics.Region.Op): boolean;
			public quickReject(param0: android.graphics.Region): boolean;
			public translate(dx: number, dy: number): void;
			public translate(param0: number, param1: number, param2: android.graphics.Region): void;
			public getBoundaryPath(): android.graphics.Path;
			public op(region1: android.graphics.Region, region2: android.graphics.Region, op: android.graphics.Region.Op): boolean;
			public set(region: android.graphics.Region): boolean;
			public quickContains(r: android.graphics.Rect): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isRect(): boolean;
			public set(left: number, top: number, right: number, bottom: number): boolean;
			public finalize(): void;
			public constructor(left: number, top: number, right: number, bottom: number);
			public isEmpty(): boolean;
			public op(left: number, top: number, right: number, bottom: number, op: android.graphics.Region.Op): boolean;
			public set(r: android.graphics.Rect): boolean;
			public isComplex(): boolean;
			public union(r: android.graphics.Rect): boolean;
			public constructor();
			public writeToParcel(p: android.os.Parcel, flags: number): void;
			public quickReject(param0: number, param1: number, param2: number, param3: number): boolean;
			public setPath(path: android.graphics.Path, clip: android.graphics.Region): boolean;
			public getBounds(): android.graphics.Rect;
			public getBounds(r: android.graphics.Rect): boolean;
			public toString(): string;
			public equals(obj: any): boolean;
			public constructor(r: android.graphics.Rect);
			public quickReject(r: android.graphics.Rect): boolean;
			public describeContents(): number;
			public op(region: android.graphics.Region, op: android.graphics.Region.Op): boolean;
			public getBoundaryPath(path: android.graphics.Path): boolean;
			public contains(param0: number, param1: number): boolean;
			public constructor(region: 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(): androidNative.Array<android.graphics.Region.Op>;
				public static valueOf(name: string): android.graphics.Region.Op;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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(r: android.graphics.Rect): boolean;
			public constructor(region: android.graphics.Region);
			public finalize(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class RenderEffect extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.RenderEffect>;
			public static createBitmapEffect(bitmap: android.graphics.Bitmap, src: android.graphics.Rect, dst: android.graphics.Rect): android.graphics.RenderEffect;
			public static createColorFilterEffect(colorFilter: android.graphics.ColorFilter): android.graphics.RenderEffect;
			public static createOffsetEffect(offsetX: number, offsetY: number): android.graphics.RenderEffect;
			public static createBlurEffect(radiusX: number, radiusY: number, inputEffect: android.graphics.RenderEffect, edgeTreatment: android.graphics.Shader.TileMode): android.graphics.RenderEffect;
			public static createBlendModeEffect(dst: android.graphics.RenderEffect, src: android.graphics.RenderEffect, blendMode: android.graphics.BlendMode): android.graphics.RenderEffect;
			public static createBitmapEffect(bitmap: android.graphics.Bitmap): android.graphics.RenderEffect;
			public static createShaderEffect(shader: android.graphics.Shader): android.graphics.RenderEffect;
			public static createColorFilterEffect(colorFilter: android.graphics.ColorFilter, renderEffect: android.graphics.RenderEffect): android.graphics.RenderEffect;
			public static createOffsetEffect(offsetX: number, offsetY: number, input: android.graphics.RenderEffect): android.graphics.RenderEffect;
			public static createChainEffect(outer: android.graphics.RenderEffect, inner: android.graphics.RenderEffect): android.graphics.RenderEffect;
			public static createBlurEffect(radiusX: number, radiusY: number, edgeTreatment: android.graphics.Shader.TileMode): android.graphics.RenderEffect;
			public static createRuntimeShaderEffect(shader: android.graphics.RuntimeShader, uniformShaderName: string): android.graphics.RenderEffect;
		}
	}
}

declare module android {
	export module graphics {
		export class RenderNode extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.RenderNode>;
			public getTranslationZ(): number;
			public setScaleY(scaleY: number): boolean;
			public getRight(): number;
			public getAlpha(): number;
			public setPivotX(pivotX: number): boolean;
			public setRenderEffect(renderEffect: android.graphics.RenderEffect): boolean;
			public getWidth(): number;
			public getMatrix(outMatrix: android.graphics.Matrix): void;
			public setUseCompositingLayer(forceToLayer: boolean, paint: android.graphics.Paint): boolean;
			public getClipToBounds(): boolean;
			public offsetLeftAndRight(offset: number): boolean;
			public getUniqueId(): number;
			public getRotationY(): number;
			public setTranslationX(translationX: number): boolean;
			public resetPivot(): boolean;
			public getUseCompositingLayer(): boolean;
			public getPivotX(): number;
			public setPosition(position: android.graphics.Rect): boolean;
			public hasDisplayList(): boolean;
			public setCameraDistance(distance: number): boolean;
			public getPivotY(): number;
			public getHeight(): number;
			public constructor(name: string);
			public getRotationX(): number;
			public getCameraDistance(): number;
			public getTranslationX(): number;
			public isPivotExplicitlySet(): boolean;
			public setPivotY(pivotY: number): boolean;
			public setHasOverlappingRendering(hasOverlappingRendering: boolean): boolean;
			public getLeft(): number;
			public endRecording(): void;
			public setElevation(lift: number): boolean;
			public setTranslationY(translationY: number): boolean;
			public setClipRect(rect: android.graphics.Rect): boolean;
			public getBottom(): number;
			public hasOverlappingRendering(): boolean;
			public setClipToOutline(clipToOutline: boolean): boolean;
			public setForceDarkAllowed(allow: boolean): boolean;
			public computeApproximateMemoryUsage(): number;
			public setRotationX(rotationX: number): boolean;
			public getSpotShadowColor(): number;
			public isForceDarkAllowed(): boolean;
			public setClipToBounds(clipToBounds: boolean): boolean;
			public getTranslationY(): number;
			public setScaleX(scaleX: number): boolean;
			public setPosition(left: number, top: number, right: number, bottom: number): boolean;
			public beginRecording(width: number, height: number): android.graphics.RecordingCanvas;
			public beginRecording(): android.graphics.RecordingCanvas;
			public setSpotShadowColor(color: number): boolean;
			public setAlpha(alpha: number): boolean;
			public getScaleY(): number;
			public getElevation(): number;
			public setTranslationZ(translationZ: number): boolean;
			public setProjectBackwards(shouldProject: boolean): boolean;
			public getInverseMatrix(outMatrix: android.graphics.Matrix): void;
			public hasShadow(): boolean;
			public getClipToOutline(): boolean;
			public setProjectionReceiver(shouldReceive: boolean): boolean;
			public setOutline(outline: any): boolean;
			public setAmbientShadowColor(color: number): boolean;
			public getTop(): number;
			public setRotationZ(rotation: number): boolean;
			public getScaleX(): number;
			public getAmbientShadowColor(): number;
			public getRotationZ(): number;
			public setRotationY(rotationY: number): boolean;
			public offsetTopAndBottom(offset: number): boolean;
			public hasIdentityMatrix(): boolean;
			public discardDisplayList(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class RuntimeShader extends android.graphics.Shader {
			public static class: java.lang.Class<android.graphics.RuntimeShader>;
			public setIntUniform(uniformName: string, value: number): void;
			public setIntUniform(uniformName: string, values: androidNative.Array<number>): void;
			public setColorUniform(uniformName: string, color: number): void;
			public setFloatUniform(uniformName: string, value1: number, value2: number): void;
			public setInputShader(shaderName: string, shader: android.graphics.Shader): void;
			public setIntUniform(uniformName: string, value1: number, value2: number, value3: number): void;
			public constructor(shader: string);
			public setFloatUniform(uniformName: string, values: androidNative.Array<number>): void;
			public setFloatUniform(uniformName: string, value: number): void;
			public setIntUniform(uniformName: string, value1: number, value2: number, value3: number, value4: number): void;
			public setIntUniform(uniformName: string, value1: number, value2: number): void;
			/** @deprecated */
			public constructor();
			public setInputBuffer(shaderName: string, shader: android.graphics.BitmapShader): void;
			public setColorUniform(uniformName: string, color: android.graphics.Color): void;
			public setFloatUniform(uniformName: string, value1: number, value2: number, value3: number, value4: number): void;
			public setFloatUniform(uniformName: string, value1: number, value2: number, value3: number): 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 getLocalMatrix(localM: android.graphics.Matrix): boolean;
			public setLocalMatrix(localM: android.graphics.Matrix): void;
		}
		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 DECAL: android.graphics.Shader.TileMode;
				public static values(): androidNative.Array<android.graphics.Shader.TileMode>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.graphics.Shader.TileMode;
			}
		}
	}
}

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

declare module android {
	export module graphics {
		export class SurfaceTexture extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.SurfaceTexture>;
			public constructor(texName: number);
			public updateTexImage(): void;
			public detachFromGLContext(): void;
			public getTransformMatrix(mtx: androidNative.Array<number>): void;
			public setOnFrameAvailableListener(listener: android.graphics.SurfaceTexture.OnFrameAvailableListener, handler: android.os.Handler): void;
			public setOnFrameAvailableListener(listener: android.graphics.SurfaceTexture.OnFrameAvailableListener): void;
			public attachToGLContext(texName: number): void;
			public setDefaultBufferSize(width: number, height: number): void;
			public releaseTexImage(): void;
			public getDataSpace(): number;
			public constructor(singleBufferMode: boolean);
			public isReleased(): boolean;
			public getTimestamp(): number;
			public constructor(texName: number, singleBufferMode: boolean);
			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(cause: java.lang.Throwable);
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public constructor(name: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			}
		}
	}
}

declare module android {
	export module graphics {
		export class SweepGradient extends android.graphics.Shader {
			public static class: java.lang.Class<android.graphics.SweepGradient>;
			public constructor(cx: number, cy: number, color0: number, color1: number);
			/** @deprecated */
			public constructor();
			public constructor(cx: number, cy: number, colors: androidNative.Array<number>, positions: androidNative.Array<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: 1;
			public static BOLD_ITALIC: 3;
			public static DEFAULT: android.graphics.Typeface;
			public static DEFAULT_BOLD: android.graphics.Typeface;
			public static ITALIC: 2;
			public static MONOSPACE: android.graphics.Typeface;
			public static NORMAL: 0;
			public static SANS_SERIF: android.graphics.Typeface;
			public static SERIF: android.graphics.Typeface;
			public getSystemFontFamilyName(): string;
			public getWeight(): number;
			public static defaultFromStyle(style: number): android.graphics.Typeface;
			public isBold(): boolean;
			public getStyle(): number;
			public static createFromFile(path: string): android.graphics.Typeface;
			public static createFromAsset(mgr: android.content.res.AssetManager, path: string): android.graphics.Typeface;
			public equals(o: any): boolean;
			public static create(family: android.graphics.Typeface, style: number): android.graphics.Typeface;
			public static create(family: android.graphics.Typeface, weight: number, italic: boolean): android.graphics.Typeface;
			public isItalic(): boolean;
			public static create(familyName: string, style: number): android.graphics.Typeface;
			public static createFromFile(file: java.io.File): 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 setFontVariationSettings(variationSettings: string): android.graphics.Typeface.Builder;
				public constructor(path: string);
				public setFallback(familyName: string): android.graphics.Typeface.Builder;
				public constructor(assetManager: android.content.res.AssetManager, path: string);
				public constructor(path: java.io.File);
				public constructor(fd: java.io.FileDescriptor);
				public build(): android.graphics.Typeface;
				public setItalic(italic: boolean): android.graphics.Typeface.Builder;
				public setWeight(weight: number): android.graphics.Typeface.Builder;
				public setTtcIndex(ttcIndex: number): android.graphics.Typeface.Builder;
				public setFontVariationSettings(axes: androidNative.Array<android.graphics.fonts.FontVariationAxis>): android.graphics.Typeface.Builder;
			}
			export class CustomFallbackBuilder extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.Typeface.CustomFallbackBuilder>;
				public build(): android.graphics.Typeface;
				public addCustomFallback(family: android.graphics.fonts.FontFamily): android.graphics.Typeface.CustomFallbackBuilder;
				public static getMaxCustomFallbackCount(): number;
				public setStyle(style: android.graphics.fonts.FontStyle): android.graphics.Typeface.CustomFallbackBuilder;
				public setSystemFallback(familyName: string): android.graphics.Typeface.CustomFallbackBuilder;
				public constructor(family: android.graphics.fonts.FontFamily);
			}
		}
	}
}

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 compressToJpegR(sdr: android.graphics.YuvImage, quality: number, stream: java.io.OutputStream): boolean;
			public constructor(yuv: androidNative.Array<number>, format: number, width: number, height: number, strides: androidNative.Array<number>, colorSpace: android.graphics.ColorSpace);
			public getHeight(): number;
			public getStrides(): androidNative.Array<number>;
			public getWidth(): number;
			public compressToJpeg(rectangle: android.graphics.Rect, quality: number, stream: java.io.OutputStream): boolean;
			public getYuvFormat(): number;
			public getYuvData(): androidNative.Array<number>;
			public getColorSpace(): android.graphics.ColorSpace;
			public constructor(yuv: androidNative.Array<number>, format: number, width: number, height: number, strides: androidNative.Array<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 constructor(backgroundDrawable: android.graphics.drawable.Drawable, foregroundDrawable: android.graphics.drawable.Drawable);
				public constructor(backgroundDrawable: android.graphics.drawable.Drawable, foregroundDrawable: android.graphics.drawable.Drawable, monochromeDrawable: android.graphics.drawable.Drawable);
				public static getExtraInsetFraction(): number;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public constructor();
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public getForeground(): android.graphics.drawable.Drawable;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public jumpToCurrentState(): void;
				public setVisible(visible: boolean, restart: boolean): boolean;
				public onLevelChange(level: number): boolean;
				public getBackground(): android.graphics.drawable.Drawable;
				public canApplyTheme(): boolean;
				public getChangingConfigurations(): number;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public invalidateSelf(): void;
				public scheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable, when: number): void;
				public getHotspotBounds(outRect: android.graphics.Rect): void;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public getIntrinsicHeight(): number;
				public setOpacity(opacity: number): void;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setAutoMirrored(mirrored: boolean): void;
				public getMonochrome(): android.graphics.drawable.Drawable;
				public setHotspotBounds(left: number, top: number, right: number, bottom: number): void;
				public getOpacity(): number;
				public draw(canvas: android.graphics.Canvas): void;
				public getOutline(outline: any): void;
				public isAutoMirrored(): boolean;
				public invalidateDrawable(who: android.graphics.drawable.Drawable): void;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public getIntrinsicWidth(): number;
				public unscheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable): void;
				public onStateChange(state: androidNative.Array<number>): boolean;
				public setDither(dither: boolean): void;
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public setHotspot(x: number, y: number): void;
				public isProjected(): boolean;
				public mutate(): android.graphics.drawable.Drawable;
				public getTransparentRegion(): android.graphics.Region;
				public getIconMask(): android.graphics.Path;
				public setTintList(tint: android.content.res.ColorStateList): void;
				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 onAnimationEnd(drawable: android.graphics.drawable.Drawable): void;
					public constructor();
					public onAnimationStart(drawable: 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: -1;
				public draw(canvas: android.graphics.Canvas): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public clearAnimationCallbacks(): void;
				public getAlpha(): number;
				public isAutoMirrored(): boolean;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public setRepeatCount(repeatCount: number): void;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public getIntrinsicWidth(): number;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public start(): void;
				public unregisterAnimationCallback(callback: android.graphics.drawable.Animatable2.AnimationCallback): boolean;
				public isRunning(): boolean;
				public setAlpha(alpha: number): void;
				public onLayoutDirectionChanged(layoutDirection: number): boolean;
				public registerAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): void;
				public getRepeatCount(): number;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public stop(): void;
				public getIntrinsicHeight(): number;
				public registerAnimationCallback(callback: android.graphics.drawable.Animatable2.AnimationCallback): void;
				public unregisterAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): boolean;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setAutoMirrored(mirrored: boolean): void;
				public getOpacity(): number;
			}
		}
	}
}

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 setVisible(visible: boolean, restart: boolean): boolean;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public setConstantState(state: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public addState(stateSet: androidNative.Array<number>, drawable: android.graphics.drawable.Drawable, id: number): void;
				public applyTheme(theme: android.content.res.Resources.Theme): void;
				public addState(stateSet: androidNative.Array<number>, drawable: android.graphics.drawable.Drawable): void;
				public mutate(): android.graphics.drawable.Drawable;
				public addTransition(fromId: number, toId: number, transition: android.graphics.drawable.Drawable, reversible: boolean): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): 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 draw(canvas: android.graphics.Canvas): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public getOutline(outline: any): void;
				public clearAnimationCallbacks(): void;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public inflate(res: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public getIntrinsicWidth(): number;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public reset(): void;
				public onStateChange(state: androidNative.Array<number>): boolean;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public getOpticalInsets(): android.graphics.Insets;
				public start(): void;
				public unregisterAnimationCallback(callback: android.graphics.drawable.Animatable2.AnimationCallback): boolean;
				public isRunning(): boolean;
				public setAlpha(alpha: number): void;
				public onLayoutDirectionChanged(layoutDirection: number): boolean;
				public registerAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): void;
				public setHotspot(x: number, y: number): void;
				public onLevelChange(level: number): boolean;
				public setVisible(visible: boolean, restart: boolean): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public stop(): void;
				public getIntrinsicHeight(): number;
				public registerAnimationCallback(callback: android.graphics.drawable.Animatable2.AnimationCallback): void;
				public mutate(): android.graphics.drawable.Drawable;
				public unregisterAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): boolean;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setHotspotBounds(left: number, top: number, right: number, bottom: number): void;
				public getOpacity(): number;
				public setTintList(tint: android.content.res.ColorStateList): void;
				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 getNumberOfFrames(): number;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public getDuration(i: number): number;
				public setVisible(visible: boolean, restart: boolean): boolean;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public isOneShot(): boolean;
				public setOneShot(oneShot: boolean): void;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public stop(): void;
				public addFrame(frame: android.graphics.drawable.Drawable, duration: number): void;
				public setConstantState(state: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public run(): void;
				public start(): void;
				public getFrame(index: number): android.graphics.drawable.Drawable;
				public mutate(): android.graphics.drawable.Drawable;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public isRunning(): boolean;
				public unscheduleSelf(what: java.lang.Runnable): void;
			}
		}
	}
}

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 setFilterBitmap(filter: boolean): void;
				public getTileModeX(): android.graphics.Shader.TileMode;
				public setTileModeXY(xmode: android.graphics.Shader.TileMode, ymode: android.graphics.Shader.TileMode): void;
				public constructor(res: android.content.res.Resources, filepath: string);
				public setGravity(gravity: number): void;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public getPaint(): android.graphics.Paint;
				public getBitmap(): android.graphics.Bitmap;
				public setTargetDensity(metrics: android.util.DisplayMetrics): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public getOpticalInsets(): android.graphics.Insets;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public setTileModeY(mode: android.graphics.Shader.TileMode): void;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				/** @deprecated */
				public constructor(bitmap: android.graphics.Bitmap);
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				/** @deprecated */
				public constructor();
				public getIntrinsicHeight(): number;
				public isFilterBitmap(): boolean;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setAutoMirrored(mirrored: boolean): void;
				public setAntiAlias(aa: boolean): void;
				public getOpacity(): number;
				public constructor(res: android.content.res.Resources, bitmap: android.graphics.Bitmap);
				public draw(canvas: android.graphics.Canvas): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public getOutline(outline: any): void;
				public isAutoMirrored(): boolean;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public constructor(res: android.content.res.Resources, is: java.io.InputStream);
				public getIntrinsicWidth(): number;
				public getTileModeY(): android.graphics.Shader.TileMode;
				public getGravity(): number;
				public setTargetDensity(canvas: android.graphics.Canvas): void;
				public setDither(dither: boolean): void;
				public hasMipMap(): boolean;
				public hasAntiAlias(): boolean;
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public setBitmap(bitmap: android.graphics.Bitmap): void;
				public setMipMap(mipMap: boolean): void;
				/** @deprecated */
				public constructor(is: java.io.InputStream);
				/** @deprecated */
				public constructor(res: android.content.res.Resources);
				public setTileModeX(mode: android.graphics.Shader.TileMode): void;
				/** @deprecated */
				public constructor(filepath: string);
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public setTargetDensity(density: number): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setTintList(tint: android.content.res.ColorStateList): 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: 1;
				public static VERTICAL: 2;
				public constructor(dr: android.graphics.drawable.Drawable);
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public draw(canvas: android.graphics.Canvas): void;
				public onLevelChange(level: number): boolean;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public constructor(drawable: android.graphics.drawable.Drawable, gravity: number, orientation: number);
				public getOpacity(): number;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): 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 draw(canvas: android.graphics.Canvas): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public getOutline(outline: any): void;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public getAlpha(): number;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public constructor(color: number);
				public setColor(color: number): void;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public getOpacity(): number;
				public setTintList(tint: android.content.res.ColorStateList): void;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class ColorStateListDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
				public static class: java.lang.Class<android.graphics.drawable.ColorStateListDrawable>;
				public draw(canvas: android.graphics.Canvas): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public getCurrent(): android.graphics.drawable.Drawable;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public setColorStateList(colorStateList: android.content.res.ColorStateList): void;
				public invalidateDrawable(who: android.graphics.drawable.Drawable): void;
				public constructor();
				public getColorStateList(): android.content.res.ColorStateList;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public onStateChange(state: androidNative.Array<number>): boolean;
				public unscheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable): void;
				public clearAlpha(): void;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public hasFocusStateSpecified(): boolean;
				public setAlpha(alpha: number): void;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public getChangingConfigurations(): number;
				public scheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable, when: number): void;
				public constructor(colorStateList: android.content.res.ColorStateList);
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public mutate(): android.graphics.drawable.Drawable;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public getOpacity(): number;
				public isStateful(): boolean;
				public setTintList(tint: android.content.res.ColorStateList): void;
			}
		}
	}
}

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 setFilterBitmap(filter: boolean): void;
				public static createFromXml(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, theme: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
				public getCurrent(): android.graphics.drawable.Drawable;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public static createFromResourceStream(res: android.content.res.Resources, value: android.util.TypedValue, is: java.io.InputStream, srcName: string): android.graphics.drawable.Drawable;
				public constructor();
				public copyBounds(): android.graphics.Rect;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public getOpticalInsets(): android.graphics.Insets;
				public getState(): androidNative.Array<number>;
				public setBounds(left: number, top: number, right: number, bottom: number): void;
				public unscheduleSelf(what: java.lang.Runnable): void;
				public onLayoutDirectionChanged(layoutDirection: number): boolean;
				public static createFromXmlInner(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
				public getCallback(): android.graphics.drawable.Drawable.Callback;
				public jumpToCurrentState(): void;
				public setVisible(visible: boolean, restart: boolean): boolean;
				public onLevelChange(level: number): boolean;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public invalidateSelf(): void;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public getMinimumHeight(): number;
				public getHotspotBounds(outRect: android.graphics.Rect): void;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public getIntrinsicHeight(): number;
				public setLayoutDirection(layoutDirection: number): boolean;
				public isFilterBitmap(): boolean;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setState(stateSet: androidNative.Array<number>): boolean;
				public setBounds(bounds: android.graphics.Rect): void;
				public setCallback(cb: android.graphics.drawable.Drawable.Callback): void;
				public scheduleSelf(what: java.lang.Runnable, when: number): void;
				public setAutoMirrored(mirrored: boolean): void;
				public setHotspotBounds(left: number, top: number, right: number, bottom: number): void;
				public isVisible(): boolean;
				public static createFromPath(pathName: string): android.graphics.drawable.Drawable;
				public getBounds(): android.graphics.Rect;
				public getLayoutDirection(): number;
				public getColorFilter(): android.graphics.ColorFilter;
				public setTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
				public getOutline(outline: any): void;
				public isAutoMirrored(): boolean;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public getIntrinsicWidth(): number;
				public onStateChange(state: androidNative.Array<number>): boolean;
				public getMinimumWidth(): number;
				public static resolveOpacity(op1: number, op2: number): number;
				public copyBounds(bounds: android.graphics.Rect): void;
				public static createFromXmlInner(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): android.graphics.drawable.Drawable;
				/** @deprecated */
				public setDither(dither: boolean): void;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public getDirtyBounds(): android.graphics.Rect;
				public hasFocusStateSpecified(): boolean;
				public draw(param0: android.graphics.Canvas): void;
				/** @deprecated */
				public getOpacity(): number;
				public static createFromStream(is: java.io.InputStream, srcName: string): android.graphics.drawable.Drawable;
				public setHotspot(x: number, y: number): void;
				public getPadding(padding: android.graphics.Rect): boolean;
				public setAlpha(param0: number): void;
				public clearColorFilter(): void;
				public isProjected(): boolean;
				/** @deprecated */
				public static createFromResourceStream(res: android.content.res.Resources, value: android.util.TypedValue, is: java.io.InputStream, srcName: string, opts: android.graphics.BitmapFactory.Options): android.graphics.drawable.Drawable;
				public getLevel(): number;
				public setChangingConfigurations(configs: number): void;
				public mutate(): android.graphics.drawable.Drawable;
				public static createFromXml(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser): android.graphics.drawable.Drawable;
				public setTint(tintColor: number): void;
				public getTransparentRegion(): android.graphics.Region;
				public setLevel(level: number): boolean;
				public setTintList(tint: android.content.res.ColorStateList): void;
				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(res: android.content.res.Resources, theme: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
					public newDrawable(res: android.content.res.Resources): 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 setExitFadeDuration(ms: number): void;
				public selectDrawable(index: number): boolean;
				public draw(canvas: android.graphics.Canvas): void;
				public getOutline(outline: any): void;
				public getCurrent(): android.graphics.drawable.Drawable;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public isAutoMirrored(): boolean;
				public invalidateDrawable(who: android.graphics.drawable.Drawable): void;
				public constructor();
				public getIntrinsicWidth(): number;
				public setConstantState(state: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public onStateChange(state: androidNative.Array<number>): boolean;
				public unscheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable): void;
				public setEnterFadeDuration(ms: number): void;
				public setDither(dither: boolean): void;
				public getMinimumWidth(): number;
				public applyTheme(theme: android.content.res.Resources.Theme): void;
				public getOpticalInsets(): android.graphics.Insets;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public onLayoutDirectionChanged(layoutDirection: number): boolean;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public setHotspot(x: number, y: number): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public getPadding(padding: android.graphics.Rect): boolean;
				public jumpToCurrentState(): void;
				public onLevelChange(level: number): boolean;
				public setVisible(visible: boolean, restart: boolean): boolean;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public getMinimumHeight(): number;
				public scheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable, when: number): void;
				public getHotspotBounds(outRect: android.graphics.Rect): void;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public getIntrinsicHeight(): number;
				public mutate(): android.graphics.drawable.Drawable;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setAutoMirrored(mirrored: boolean): void;
				public setHotspotBounds(left: number, top: number, right: number, bottom: number): void;
				public getOpacity(): number;
				public setTintList(tint: android.content.res.ColorStateList): void;
				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(oldSize: number, newSize: number): void;
					public addChild(dr: android.graphics.drawable.Drawable): number;
					public getChildren(): androidNative.Array<android.graphics.drawable.Drawable>;
					public getChildCount(): number;
					public getConstantMinimumWidth(): number;
					public getEnterFadeDuration(): number;
					public setEnterFadeDuration(duration: number): void;
					public getConstantWidth(): number;
					public isStateful(): boolean;
					public computeConstantSize(): void;
					public setVariablePadding(variable: boolean): void;
					public getConstantHeight(): number;
					public getChangingConfigurations(): number;
					public setConstantSize(constant: boolean): void;
					public getConstantPadding(): android.graphics.Rect;
					public isConstantSize(): boolean;
					public canConstantState(): boolean;
					public canApplyTheme(): boolean;
					public getConstantMinimumHeight(): number;
					public getExitFadeDuration(): number;
					public setExitFadeDuration(duration: number): void;
					public getChild(index: number): android.graphics.drawable.Drawable;
					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 setDrawable(dr: android.graphics.drawable.Drawable): void;
				public getDrawable(): android.graphics.drawable.Drawable;
				public draw(canvas: android.graphics.Canvas): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public getOutline(outline: any): void;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public invalidateDrawable(who: android.graphics.drawable.Drawable): void;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public getIntrinsicWidth(): number;
				public unscheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable): void;
				public onStateChange(state: androidNative.Array<number>): boolean;
				public getOpticalInsets(): android.graphics.Insets;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public onLayoutDirectionChanged(layoutDirection: number): boolean;
				public constructor(dr: android.graphics.drawable.Drawable);
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public setHotspot(x: number, y: number): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public getPadding(padding: android.graphics.Rect): boolean;
				public jumpToCurrentState(): void;
				public setVisible(visible: boolean, restart: boolean): boolean;
				public onLevelChange(level: number): boolean;
				public canApplyTheme(): boolean;
				public getChangingConfigurations(): number;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public scheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable, when: number): void;
				public getHotspotBounds(outRect: android.graphics.Rect): void;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public getIntrinsicHeight(): number;
				public mutate(): android.graphics.drawable.Drawable;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setHotspotBounds(left: number, top: number, right: number, bottom: number): void;
				public getOpacity(): number;
				public setTintList(tint: android.content.res.ColorStateList): void;
				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: 2;
				public static LINEAR_GRADIENT: 0;
				public static OVAL: 1;
				public static RADIAL_GRADIENT: 1;
				public static RECTANGLE: 0;
				public static RING: 3;
				public static SWEEP_GRADIENT: 2;
				public getGradientCenterX(): number;
				public setStroke(width: number, colorStateList: android.content.res.ColorStateList): void;
				public getCornerRadii(): androidNative.Array<number>;
				public getInnerRadiusRatio(): number;
				public getAlpha(): number;
				public constructor(orientation: android.graphics.drawable.GradientDrawable.Orientation, colors: androidNative.Array<number>);
				public setCornerRadius(radius: number): void;
				public setStroke(width: number, color: number, dashWidth: number, dashGap: number): void;
				public constructor();
				public setCornerRadii(radii: androidNative.Array<number>): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public setSize(width: number, height: number): void;
				public setThicknessRatio(thicknessRatio: number): void;
				public getGradientRadius(): number;
				public getThicknessRatio(): number;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public getOpticalInsets(): android.graphics.Insets;
				public setStroke(width: number, colorStateList: android.content.res.ColorStateList, dashWidth: number, dashGap: number): void;
				public getInnerRadius(): number;
				public setGradientType(gradient: number): void;
				public onLevelChange(level: number): boolean;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public getColors(): androidNative.Array<number>;
				public setColors(colors: androidNative.Array<number>, offsets: androidNative.Array<number>): void;
				public setColors(colors: androidNative.Array<number>): void;
				public getGradientCenterY(): number;
				public getColor(): android.content.res.ColorStateList;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public getIntrinsicHeight(): number;
				public getCornerRadius(): number;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setUseLevel(useLevel: boolean): void;
				public getOpacity(): number;
				public setInnerRadius(innerRadius: number): void;
				public draw(canvas: android.graphics.Canvas): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public getOutline(outline: any): void;
				public setOrientation(orientation: android.graphics.drawable.GradientDrawable.Orientation): void;
				public setGradientCenter(x: number, y: number): void;
				public getOrientation(): android.graphics.drawable.GradientDrawable.Orientation;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public getShape(): number;
				public setGradientRadius(gradientRadius: number): void;
				public getIntrinsicWidth(): number;
				public setColor(argb: number): void;
				public setStroke(width: number, color: number): void;
				public setDither(dither: boolean): void;
				public getThickness(): number;
				public setShape(shape: number): void;
				public hasFocusStateSpecified(): boolean;
				public setAlpha(alpha: number): void;
				public setInnerRadiusRatio(innerRadiusRatio: number): void;
				public setPadding(left: number, top: number, right: number, bottom: number): void;
				public onBoundsChange(r: android.graphics.Rect): void;
				public getPadding(padding: android.graphics.Rect): boolean;
				public setThickness(thickness: number): void;
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public getGradientType(): number;
				public getUseLevel(): boolean;
				public mutate(): android.graphics.drawable.Drawable;
				public setColor(colorStateList: android.content.res.ColorStateList): void;
				public isStateful(): boolean;
				public setTintList(tint: android.content.res.ColorStateList): void;
			}
			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 valueOf(name: string): android.graphics.drawable.GradientDrawable.Orientation;
					public static values(): androidNative.Array<android.graphics.drawable.GradientDrawable.Orientation>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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: 5;
				public static TYPE_BITMAP: 1;
				public static TYPE_DATA: 3;
				public static TYPE_RESOURCE: 2;
				public static TYPE_URI: 4;
				public static TYPE_URI_ADAPTIVE_BITMAP: 6;
				public getType(): number;
				public static createWithResource(resPackage: string, resId: number): any;
				public static createWithData(data: androidNative.Array<number>, offset: number, length: number): any;
				public loadDrawableAsync(context: android.content.Context, andThen: android.os.Message): void;
				public setTint(tint: number): any;
				public loadDrawableAsync(context: android.content.Context, listener: any, handler: android.os.Handler): void;
				public static createWithAdaptiveBitmapContentUri(uri: string): any;
				public static createWithFilePath(path: string): any;
				public setTintBlendMode(mode: android.graphics.BlendMode): any;
				public getUri(): android.net.Uri;
				public static createWithAdaptiveBitmapContentUri(uri: android.net.Uri): any;
				public static createWithBitmap(bits: android.graphics.Bitmap): any;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public loadDrawable(context: android.content.Context): android.graphics.drawable.Drawable;
				public getResId(): number;
				public getResPackage(): string;
				public toString(): string;
				public static createWithAdaptiveBitmap(bits: android.graphics.Bitmap): any;
				public static createWithContentUri(uri: android.net.Uri): any;
				public setTintMode(mode: android.graphics.PorterDuff.Mode): any;
				public static createWithContentUri(uri: string): any;
				public describeContents(): number;
				public setTintList(tintList: android.content.res.ColorStateList): any;
				public static createWithResource(context: android.content.Context, resId: number): 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 constructor(dr: android.graphics.drawable.Drawable);
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public getPadding(padding: android.graphics.Rect): boolean;
				public getOutline(outline: any): void;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public constructor(drawable: android.graphics.drawable.Drawable, inset: number);
				public constructor();
				public constructor(drawable: android.graphics.drawable.Drawable, insetLeftFraction: number, insetTopFraction: number, insetRightFraction: number, insetBottomFraction: number);
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public getIntrinsicWidth(): number;
				public constructor(drawable: android.graphics.drawable.Drawable, insetLeft: number, insetTop: number, insetRight: number, insetBottom: number);
				public getIntrinsicHeight(): number;
				public getOpticalInsets(): android.graphics.Insets;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): 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: -2147483648;
				public static PADDING_MODE_NEST: 0;
				public static PADDING_MODE_STACK: 1;
				public setLayerInsetRelative(index: number, s: number, t: number, e: number, b: number): void;
				public getId(index: number): number;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public setLayerInsetLeft(index: number, l: number): void;
				public setLayerHeight(index: number, h: number): void;
				public constructor();
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public getDrawable(index: number): android.graphics.drawable.Drawable;
				public setLayerSize(index: number, w: number, h: number): void;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setPaddingMode(mode: number): void;
				public getLayerInsetTop(index: number): number;
				public getBottomPadding(): number;
				public onLayoutDirectionChanged(layoutDirection: number): boolean;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public setLayerWidth(index: number, w: number): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public jumpToCurrentState(): void;
				public setVisible(visible: boolean, restart: boolean): boolean;
				public onLevelChange(level: number): boolean;
				public canApplyTheme(): boolean;
				public getChangingConfigurations(): number;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public scheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable, when: number): void;
				public setId(index: number, id: number): void;
				public getHotspotBounds(outRect: android.graphics.Rect): void;
				public getLayerInsetBottom(index: number): number;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public getLayerInsetEnd(index: number): number;
				public getIntrinsicHeight(): number;
				public setOpacity(opacity: number): void;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setAutoMirrored(mirrored: boolean): void;
				public setHotspotBounds(left: number, top: number, right: number, bottom: number): void;
				public setLayerInsetEnd(index: number, e: number): void;
				public getOpacity(): number;
				public setDrawableByLayerId(id: number, drawable: android.graphics.drawable.Drawable): boolean;
				public getRightPadding(): number;
				public draw(canvas: android.graphics.Canvas): void;
				public setDrawable(index: number, drawable: android.graphics.drawable.Drawable): void;
				public getOutline(outline: any): void;
				public findDrawableByLayerId(id: number): android.graphics.drawable.Drawable;
				public setLayerInsetRight(index: number, r: number): void;
				public setPaddingRelative(start: number, top: number, end: number, bottom: number): void;
				public getPaddingMode(): number;
				public isAutoMirrored(): boolean;
				public getLayerInsetRight(index: number): number;
				public invalidateDrawable(who: android.graphics.drawable.Drawable): void;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public getLayerGravity(index: number): number;
				public getIntrinsicWidth(): number;
				public setLayerInsetTop(index: number, t: number): void;
				public unscheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable): void;
				public onStateChange(state: androidNative.Array<number>): boolean;
				public getLayerWidth(index: number): number;
				public setDither(dither: boolean): void;
				public setLayerGravity(index: number, gravity: number): void;
				public getLayerHeight(index: number): number;
				public getStartPadding(): number;
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public addLayer(dr: android.graphics.drawable.Drawable): number;
				public setPadding(left: number, top: number, right: number, bottom: number): void;
				public setHotspot(x: number, y: number): void;
				public getLeftPadding(): number;
				public getPadding(padding: android.graphics.Rect): boolean;
				public setLayerInsetBottom(index: number, b: number): void;
				public getTopPadding(): number;
				public isProjected(): boolean;
				public findIndexByLayerId(id: number): number;
				public getLayerInsetLeft(index: number): number;
				public getEndPadding(): number;
				public getNumberOfLayers(): number;
				public getLayerInsetStart(index: number): number;
				public mutate(): android.graphics.drawable.Drawable;
				public setLayerInsetStart(index: number, s: number): void;
				public constructor(layers: androidNative.Array<android.graphics.drawable.Drawable>);
				public setLayerInset(index: number, l: number, t: number, r: number, b: number): void;
				public setTintList(tint: android.content.res.ColorStateList): void;
				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 setConstantState(state: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public mutate(): android.graphics.drawable.Drawable;
				public onLevelChange(level: number): boolean;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public addLevel(low: number, high: number, drawable: android.graphics.drawable.Drawable): void;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
			}
		}
	}
}

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 setFilterBitmap(filter: boolean): void;
				public draw(canvas: android.graphics.Canvas): void;
				public getOutline(outline: any): void;
				/** @deprecated */
				public constructor(bitmap: android.graphics.Bitmap, chunk: androidNative.Array<number>, padding: android.graphics.Rect, srcName: string);
				public getAlpha(): number;
				public isAutoMirrored(): boolean;
				public getPaint(): android.graphics.Paint;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public setTargetDensity(metrics: android.util.DisplayMetrics): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public getIntrinsicWidth(): number;
				public setTargetDensity(canvas: android.graphics.Canvas): void;
				public setDither(dither: boolean): void;
				public getOpticalInsets(): android.graphics.Insets;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public getPadding(padding: android.graphics.Rect): boolean;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public constructor(res: android.content.res.Resources, patch: android.graphics.NinePatch);
				/** @deprecated */
				public constructor(patch: android.graphics.NinePatch);
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public setTargetDensity(density: number): void;
				public getIntrinsicHeight(): number;
				public constructor(res: android.content.res.Resources, bitmap: android.graphics.Bitmap, chunk: androidNative.Array<number>, padding: android.graphics.Rect, srcName: string);
				public mutate(): android.graphics.drawable.Drawable;
				public isFilterBitmap(): boolean;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setAutoMirrored(mirrored: boolean): void;
				public getTransparentRegion(): android.graphics.Region;
				public getOpacity(): number;
				public setTintList(tint: android.content.res.ColorStateList): void;
				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 setCornerRadii(radii: androidNative.Array<number>): void;
				public constructor(color: number);
				public inflateTag(name: string, r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): boolean;
				public constructor(s: android.graphics.drawable.shapes.Shape);
				public setCornerRadius(radius: 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(picture: android.graphics.Picture): void;
				public getIntrinsicWidth(): number;
				public getIntrinsicHeight(): number;
				public draw(canvas: android.graphics.Canvas): void;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public getPicture(): android.graphics.Picture;
				public constructor(picture: android.graphics.Picture);
				public getOpacity(): number;
				public setAlpha(alpha: number): void;
				public constructor();
			}
		}
	}
}

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: -1;
				public draw(canvas: android.graphics.Canvas): void;
				public getOutline(outline: any): void;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public setEffectColor(color: android.content.res.ColorStateList): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setColor(color: android.content.res.ColorStateList): void;
				public constructor(color: android.content.res.ColorStateList, content: android.graphics.drawable.Drawable, mask: android.graphics.drawable.Drawable);
				public setPaddingMode(mode: number): void;
				public getDirtyBounds(): android.graphics.Rect;
				public hasFocusStateSpecified(): boolean;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public setHotspot(x: number, y: number): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public jumpToCurrentState(): void;
				public setVisible(visible: boolean, restart: boolean): boolean;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public invalidateSelf(): void;
				public isProjected(): boolean;
				public getHotspotBounds(outRect: android.graphics.Rect): void;
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public setRadius(radius: number): void;
				public getRadius(): number;
				public mutate(): android.graphics.drawable.Drawable;
				public getEffectColor(): android.content.res.ColorStateList;
				public constructor(layers: androidNative.Array<android.graphics.drawable.Drawable>);
				public setHotspotBounds(left: number, top: number, right: number, bottom: number): void;
				public getOpacity(): number;
				public isStateful(): boolean;
				public setDrawableByLayerId(id: number, drawable: android.graphics.drawable.Drawable): 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 constructor(dr: android.graphics.drawable.Drawable);
				public isPivotXRelative(): boolean;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public draw(canvas: android.graphics.Canvas): void;
				public onLevelChange(level: number): boolean;
				public setPivotX(pivotX: number): void;
				public isPivotYRelative(): boolean;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public getPivotY(): number;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public getToDegrees(): number;
				public getPivotX(): number;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public setPivotYRelative(relative: boolean): void;
				public setToDegrees(toDegrees: number): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setFromDegrees(fromDegrees: number): void;
				public getFromDegrees(): number;
				public setPivotY(pivotY: number): void;
				public setPivotXRelative(relative: boolean): 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 constructor(dr: android.graphics.drawable.Drawable);
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public draw(canvas: android.graphics.Canvas): void;
				public constructor(drawable: android.graphics.drawable.Drawable, gravity: number, scaleWidth: number, scaleHeight: number);
				public onLevelChange(level: number): boolean;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public getOpacity(): number;
			}
		}
	}
}

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 getShape(): android.graphics.drawable.shapes.Shape;
				public setShape(s: android.graphics.drawable.shapes.Shape): void;
				public draw(canvas: android.graphics.Canvas): void;
				public getOutline(outline: any): void;
				public getShaderFactory(): android.graphics.drawable.ShapeDrawable.ShaderFactory;
				public getAlpha(): number;
				public onBoundsChange(bounds: android.graphics.Rect): void;
				public getPaint(): android.graphics.Paint;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public setIntrinsicWidth(width: number): void;
				public getIntrinsicWidth(): number;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public setDither(dither: boolean): void;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public inflateTag(name: string, r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): boolean;
				public constructor(s: android.graphics.drawable.shapes.Shape);
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public setPadding(left: number, top: number, right: number, bottom: number): void;
				public getPadding(padding: android.graphics.Rect): boolean;
				public onDraw(shape: android.graphics.drawable.shapes.Shape, canvas: android.graphics.Canvas, paint: android.graphics.Paint): void;
				public setShaderFactory(fact: android.graphics.drawable.ShapeDrawable.ShaderFactory): void;
				public getChangingConfigurations(): number;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public setIntrinsicHeight(height: number): void;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public getIntrinsicHeight(): number;
				public mutate(): android.graphics.drawable.Drawable;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public getOpacity(): number;
				public setPadding(padding: android.graphics.Rect): void;
				public setTintList(tint: android.content.res.ColorStateList): void;
				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 unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public findStateDrawableIndex(stateSet: androidNative.Array<number>): number;
				public getStateCount(): number;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public setConstantState(state: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public getStateSet(index: number): androidNative.Array<number>;
				public applyTheme(theme: android.content.res.Resources.Theme): void;
				public addState(stateSet: androidNative.Array<number>, drawable: android.graphics.drawable.Drawable): void;
				public mutate(): android.graphics.drawable.Drawable;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public getStateDrawable(index: number): android.graphics.drawable.Drawable;
				public hasFocusStateSpecified(): boolean;
				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 invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public resetTransition(): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public draw(canvas: android.graphics.Canvas): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public startTransition(durationMillis: number): void;
				public constructor(layers: androidNative.Array<android.graphics.drawable.Drawable>);
				public setCrossFadeEnabled(enabled: boolean): void;
				public isCrossFadeEnabled(): boolean;
				public constructor();
				public reverseTransition(duration: number): 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 draw(canvas: android.graphics.Canvas): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public getAlpha(): number;
				public isAutoMirrored(): boolean;
				public constructor();
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet): void;
				public getIntrinsicWidth(): number;
				public applyTheme(t: android.content.res.Resources.Theme): void;
				public setColorFilter(colorFilter: android.graphics.ColorFilter): void;
				public getOpticalInsets(): android.graphics.Insets;
				public setAlpha(alpha: number): void;
				public hasFocusStateSpecified(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public canApplyTheme(): boolean;
				public getChangingConfigurations(): number;
				public inflate(r: android.content.res.Resources, parser: org.xmlpull.v1.XmlPullParser, attrs: android.util.AttributeSet, theme: android.content.res.Resources.Theme): void;
				public onStateChange(stateSet: androidNative.Array<number>): boolean;
				public setTintBlendMode(blendMode: android.graphics.BlendMode): void;
				public getIntrinsicHeight(): number;
				public mutate(): android.graphics.drawable.Drawable;
				/** @deprecated */
				public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
				public setAutoMirrored(mirrored: boolean): void;
				public getOpacity(): number;
				public setTintList(tint: android.content.res.ColorStateList): 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 constructor();
					public constructor(startAngle: number, sweepAngle: number);
					public getOutline(outline: any): void;
					public clone(): android.graphics.drawable.shapes.RectShape;
					public clone(): android.graphics.drawable.shapes.ArcShape;
					public equals(o: any): boolean;
					public hashCode(): number;
					public draw(canvas: android.graphics.Canvas, paint: android.graphics.Paint): void;
					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 constructor();
					public getOutline(outline: any): void;
					public clone(): android.graphics.drawable.shapes.RectShape;
					public draw(canvas: android.graphics.Canvas, paint: 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 onResize(width: number, height: number): void;
					public clone(): android.graphics.drawable.shapes.PathShape;
					public equals(o: any): boolean;
					public hashCode(): number;
					public constructor(path: android.graphics.Path, stdWidth: number, stdHeight: number);
					public draw(canvas: android.graphics.Canvas, paint: android.graphics.Paint): 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 constructor();
					public rect(): android.graphics.RectF;
					public getOutline(outline: any): void;
					public clone(): android.graphics.drawable.shapes.RectShape;
					public onResize(width: number, height: number): void;
					public equals(o: any): boolean;
					public hashCode(): number;
					public draw(canvas: android.graphics.Canvas, paint: android.graphics.Paint): 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 onResize(w: number, h: number): void;
					public clone(): any;
					public constructor();
					public getOutline(outline: any): void;
					public clone(): android.graphics.drawable.shapes.RectShape;
					public constructor(outerRadii: androidNative.Array<number>, inset: android.graphics.RectF, innerRadii: androidNative.Array<number>);
					public equals(o: any): boolean;
					public hashCode(): number;
					public draw(canvas: android.graphics.Canvas, paint: android.graphics.Paint): void;
					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 constructor();
					public getHeight(): number;
					public getOutline(outline: any): void;
					public getWidth(): number;
					public onResize(width: number, height: number): void;
					public draw(param0: android.graphics.Canvas, param1: android.graphics.Paint): void;
					public resize(width: number, height: number): void;
					public equals(o: any): boolean;
					public hashCode(): number;
					public clone(): android.graphics.drawable.shapes.Shape;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module fonts {
			export class Font extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.fonts.Font>;
				public getLocaleList(): any;
				public getStyle(): android.graphics.fonts.FontStyle;
				public getTtcIndex(): number;
				public getAxes(): androidNative.Array<android.graphics.fonts.FontVariationAxis>;
				public hashCode(): number;
				public getGlyphBounds(glyphId: number, paint: android.graphics.Paint, outBoundingBox: android.graphics.RectF): number;
				public getSourceIdentifier(): number;
				public getFile(): java.io.File;
				public getBuffer(): java.nio.ByteBuffer;
				public equals(o: any): boolean;
				public getMetrics(paint: android.graphics.Paint, outMetrics: android.graphics.Paint.FontMetrics): void;
				public toString(): string;
			}
			export module Font {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.fonts.Font.Builder>;
					public constructor(am: android.content.res.AssetManager, path: string);
					public setTtcIndex(ttcIndex: number): android.graphics.fonts.Font.Builder;
					public setSlant(slant: number): android.graphics.fonts.Font.Builder;
					public setFontVariationSettings(variationSettings: string): android.graphics.fonts.Font.Builder;
					public constructor(buffer: java.nio.ByteBuffer);
					public constructor(font: android.graphics.fonts.Font);
					public setWeight(weight: number): android.graphics.fonts.Font.Builder;
					public constructor(fd: android.os.ParcelFileDescriptor);
					public build(): android.graphics.fonts.Font;
					public constructor(res: android.content.res.Resources, resId: number);
					public setFontVariationSettings(axes: androidNative.Array<android.graphics.fonts.FontVariationAxis>): android.graphics.fonts.Font.Builder;
					public constructor(path: java.io.File);
					public constructor(fd: android.os.ParcelFileDescriptor, offset: number, size: number);
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module fonts {
			export class FontFamily extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.fonts.FontFamily>;
				public getSize(): number;
				public getFont(index: number): android.graphics.fonts.Font;
			}
			export module FontFamily {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.fonts.FontFamily.Builder>;
					public addFont(font: android.graphics.fonts.Font): android.graphics.fonts.FontFamily.Builder;
					public build(): android.graphics.fonts.FontFamily;
					public constructor(font: android.graphics.fonts.Font);
					public buildVariableFamily(): android.graphics.fonts.FontFamily;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module fonts {
			export class FontStyle extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.fonts.FontStyle>;
				public static FONT_SLANT_ITALIC: 1;
				public static FONT_SLANT_UPRIGHT: 0;
				public static FONT_WEIGHT_BLACK: 900;
				public static FONT_WEIGHT_BOLD: 700;
				public static FONT_WEIGHT_EXTRA_BOLD: 800;
				public static FONT_WEIGHT_EXTRA_LIGHT: 200;
				public static FONT_WEIGHT_LIGHT: 300;
				public static FONT_WEIGHT_MAX: 1000;
				public static FONT_WEIGHT_MEDIUM: 500;
				public static FONT_WEIGHT_MIN: 1;
				public static FONT_WEIGHT_NORMAL: 400;
				public static FONT_WEIGHT_SEMI_BOLD: 600;
				public static FONT_WEIGHT_THIN: 100;
				public static FONT_WEIGHT_UNSPECIFIED: -1;
				public constructor(weight: number, slant: number);
				public getSlant(): number;
				public hashCode(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public constructor();
				public getWeight(): number;
			}
		}
	}
}

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 constructor(tagString: string, styleValue: number);
				public static toFontVariationSettings(axes: androidNative.Array<android.graphics.fonts.FontVariationAxis>): string;
				public hashCode(): number;
				public getTag(): string;
				public getStyleValue(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public static fromFontVariationSettings(settings: string): androidNative.Array<android.graphics.fonts.FontVariationAxis>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module fonts {
			export class SystemFonts extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.fonts.SystemFonts>;
				public static getAvailableFonts(): java.util.Set<android.graphics.fonts.Font>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export class LoadParams extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.pdf.LoadParams>;
				public getPassword(): string;
			}
			export module LoadParams {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.pdf.LoadParams.Builder>;
					public constructor();
					public build(): android.graphics.pdf.LoadParams;
					public setPassword(password: string): android.graphics.pdf.LoadParams.Builder;
				}
			}
		}
	}
}

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 startPage(pageInfo: android.graphics.pdf.PdfDocument.PageInfo): android.graphics.pdf.PdfDocument.Page;
				public writeTo(out: java.io.OutputStream): void;
				public getPages(): java.util.List<android.graphics.pdf.PdfDocument.PageInfo>;
				public finalize(): void;
				public constructor();
				public finishPage(page: android.graphics.pdf.PdfDocument.Page): void;
			}
			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(contentRect: android.graphics.Rect): android.graphics.pdf.PdfDocument.PageInfo.Builder;
						public constructor(pageWidth: number, pageHeight: number, pageNumber: 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 static DOCUMENT_LINEARIZED_TYPE_LINEARIZED: 1;
				public static DOCUMENT_LINEARIZED_TYPE_NON_LINEARIZED: 0;
				public static PDF_FORM_TYPE_ACRO_FORM: 1;
				public static PDF_FORM_TYPE_NONE: 0;
				public static PDF_FORM_TYPE_XFA_FOREGROUND: 3;
				public static PDF_FORM_TYPE_XFA_FULL: 2;
				public constructor(fileDescriptor: android.os.ParcelFileDescriptor);
				public shouldScaleForPrinting(): boolean;
				public close(): void;
				public getPageCount(): number;
				public finalize(): void;
				public constructor(fileDescriptor: android.os.ParcelFileDescriptor, params: android.graphics.pdf.LoadParams);
				public openPage(index: number): android.graphics.pdf.PdfRenderer.Page;
				public getPdfFormType(): number;
				public write(destination: android.os.ParcelFileDescriptor, removePasswordProtection: boolean): void;
				public getDocumentLinearizationType(): number;
			}
			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: 1;
					public static RENDER_MODE_FOR_PRINT: 2;
					public getIndex(): number;
					public render(destination: android.graphics.Bitmap, destClip: android.graphics.Rect, transform: android.graphics.Matrix, params: android.graphics.pdf.RenderParams): void;
					public getLinkContents(): java.util.List<android.graphics.pdf.content.PdfPageLinkContent>;
					public getFormWidgetInfos(types: androidNative.Array<number>): java.util.List<android.graphics.pdf.models.FormWidgetInfo>;
					public getHeight(): number;
					public getTextContents(): java.util.List<android.graphics.pdf.content.PdfPageTextContent>;
					public getFormWidgetInfoAtIndex(widgetIndex: number): android.graphics.pdf.models.FormWidgetInfo;
					public finalize(): void;
					public getWidth(): number;
					public getGotoLinks(): java.util.List<android.graphics.pdf.content.PdfPageGotoLinkContent>;
					public getFormWidgetInfoAtPosition(x: number, y: number): android.graphics.pdf.models.FormWidgetInfo;
					public getFormWidgetInfos(): java.util.List<android.graphics.pdf.models.FormWidgetInfo>;
					public searchText(query: string): java.util.List<android.graphics.pdf.models.PageMatchBounds>;
					public selectContent(start: android.graphics.pdf.models.selection.SelectionBoundary, stop: android.graphics.pdf.models.selection.SelectionBoundary): android.graphics.pdf.models.selection.PageSelection;
					public getImageContents(): java.util.List<android.graphics.pdf.content.PdfPageImageContent>;
					public close(): void;
					public render(destination: android.graphics.Bitmap, destClip: android.graphics.Rect, transform: android.graphics.Matrix, renderMode: number): void;
					public applyEdit(editRecord: android.graphics.pdf.models.FormEditRecord): java.util.List<android.graphics.Rect>;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export class PdfRendererPreV extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.graphics.pdf.PdfRendererPreV>;
				public static DOCUMENT_LINEARIZED_TYPE_LINEARIZED: 1;
				public static DOCUMENT_LINEARIZED_TYPE_NON_LINEARIZED: 0;
				public static PDF_FORM_TYPE_ACRO_FORM: 1;
				public static PDF_FORM_TYPE_NONE: 0;
				public static PDF_FORM_TYPE_XFA_FOREGROUND: 3;
				public static PDF_FORM_TYPE_XFA_FULL: 2;
				public openPage(index: number): android.graphics.pdf.PdfRendererPreV.Page;
				public constructor(fileDescriptor: android.os.ParcelFileDescriptor);
				public close(): void;
				public getPageCount(): number;
				public finalize(): void;
				public constructor(fileDescriptor: android.os.ParcelFileDescriptor, params: android.graphics.pdf.LoadParams);
				public getPdfFormType(): number;
				public write(destination: android.os.ParcelFileDescriptor, removePasswordProtection: boolean): void;
				public getDocumentLinearizationType(): number;
			}
			export module PdfRendererPreV {
				export class Page extends java.lang.Object implements java.lang.AutoCloseable {
					public static class: java.lang.Class<android.graphics.pdf.PdfRendererPreV.Page>;
					public getIndex(): number;
					public render(destination: android.graphics.Bitmap, destClip: android.graphics.Rect, transform: android.graphics.Matrix, params: android.graphics.pdf.RenderParams): void;
					public getLinkContents(): java.util.List<android.graphics.pdf.content.PdfPageLinkContent>;
					public getFormWidgetInfos(types: androidNative.Array<number>): java.util.List<android.graphics.pdf.models.FormWidgetInfo>;
					public getHeight(): number;
					public getTextContents(): java.util.List<android.graphics.pdf.content.PdfPageTextContent>;
					public finalize(): void;
					public getWidth(): number;
					public getGotoLinks(): java.util.List<android.graphics.pdf.content.PdfPageGotoLinkContent>;
					public getFormWidgetInfoAtPosition(x: number, y: number): android.graphics.pdf.models.FormWidgetInfo;
					public getFormWidgetInfoAtIndex(annotationIndex: number): android.graphics.pdf.models.FormWidgetInfo;
					public getFormWidgetInfos(): java.util.List<android.graphics.pdf.models.FormWidgetInfo>;
					public searchText(query: string): java.util.List<android.graphics.pdf.models.PageMatchBounds>;
					public selectContent(start: android.graphics.pdf.models.selection.SelectionBoundary, stop: android.graphics.pdf.models.selection.SelectionBoundary): android.graphics.pdf.models.selection.PageSelection;
					public getImageContents(): java.util.List<android.graphics.pdf.content.PdfPageImageContent>;
					public close(): void;
					public applyEdit(editRecord: android.graphics.pdf.models.FormEditRecord): java.util.List<android.graphics.Rect>;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export class RenderParams extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.pdf.RenderParams>;
				public static FLAG_RENDER_HIGHLIGHT_ANNOTATIONS: 4;
				public static FLAG_RENDER_TEXT_ANNOTATIONS: 2;
				public static RENDER_MODE_FOR_DISPLAY: 1;
				public static RENDER_MODE_FOR_PRINT: 2;
				public getRenderMode(): number;
				public getRenderFlags(): number;
			}
			export module RenderParams {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.pdf.RenderParams.Builder>;
					public setRenderFlags(renderFlags: number): android.graphics.pdf.RenderParams.Builder;
					public build(): android.graphics.pdf.RenderParams;
					public setRenderFlags(renderFlags: number, mask: number): android.graphics.pdf.RenderParams.Builder;
					public constructor(renderMode: number);
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module content {
				export class PdfPageGotoLinkContent extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.graphics.pdf.content.PdfPageGotoLinkContent>;
					public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageGotoLinkContent>;
					public constructor(bounds: java.util.List<android.graphics.RectF>, destination: android.graphics.pdf.content.PdfPageGotoLinkContent.Destination);
					public describeContents(): number;
					public getBounds(): java.util.List<android.graphics.RectF>;
					public getDestination(): android.graphics.pdf.content.PdfPageGotoLinkContent.Destination;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module PdfPageGotoLinkContent {
					export class Destination extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.graphics.pdf.content.PdfPageGotoLinkContent.Destination>;
						public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageGotoLinkContent.Destination>;
						public writeToParcel(dest: android.os.Parcel, flags: number): void;
						public describeContents(): number;
						public getZoom(): number;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public getXCoordinate(): number;
						public constructor(pageNumber: number, xCoordinate: number, yCoordinate: number, zoom: number);
						public getYCoordinate(): number;
						public getPageNumber(): number;
					}
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module content {
				export class PdfPageImageContent extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.graphics.pdf.content.PdfPageImageContent>;
					public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageImageContent>;
					public describeContents(): number;
					public constructor(altText: string);
					public getAltText(): string;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module content {
				export class PdfPageLinkContent extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.graphics.pdf.content.PdfPageLinkContent>;
					public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageLinkContent>;
					public constructor(bounds: java.util.List<android.graphics.RectF>, uri: android.net.Uri);
					public getUri(): android.net.Uri;
					public describeContents(): number;
					public getBounds(): java.util.List<android.graphics.RectF>;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module content {
				export class PdfPageTextContent extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.graphics.pdf.content.PdfPageTextContent>;
					public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageTextContent>;
					public getText(): string;
					public describeContents(): number;
					public constructor(text: string);
					public constructor(text: string, bounds: java.util.List<android.graphics.RectF>);
					public getBounds(): java.util.List<android.graphics.RectF>;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module models {
				export class FormEditRecord extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.graphics.pdf.models.FormEditRecord>;
					public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.models.FormEditRecord>;
					public static EDIT_TYPE_CLICK: 0;
					public static EDIT_TYPE_SET_INDICES: 1;
					public static EDIT_TYPE_SET_TEXT: 2;
					public getType(): number;
					public equals(obj: any): boolean;
					public getText(): string;
					public getClickPoint(): android.graphics.Point;
					public getSelectedIndices(): androidNative.Array<number>;
					public getWidgetIndex(): number;
					public describeContents(): number;
					public getPageNumber(): number;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module FormEditRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.graphics.pdf.models.FormEditRecord.Builder>;
						public setClickPoint(clickPoint: android.graphics.Point): android.graphics.pdf.models.FormEditRecord.Builder;
						public build(): android.graphics.pdf.models.FormEditRecord;
						public setText(text: string): android.graphics.pdf.models.FormEditRecord.Builder;
						public setSelectedIndices(selectedIndices: androidNative.Array<number>): android.graphics.pdf.models.FormEditRecord.Builder;
						public constructor(type: number, pageNumber: number, widgetIndex: number);
					}
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module models {
				export class FormWidgetInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.graphics.pdf.models.FormWidgetInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.models.FormWidgetInfo>;
					public static WIDGET_TYPE_CHECKBOX: 2;
					public static WIDGET_TYPE_COMBOBOX: 4;
					public static WIDGET_TYPE_LISTBOX: 5;
					public static WIDGET_TYPE_PUSHBUTTON: 1;
					public static WIDGET_TYPE_RADIOBUTTON: 3;
					public static WIDGET_TYPE_SIGNATURE: 7;
					public static WIDGET_TYPE_TEXTFIELD: 6;
					public static WIDGET_TYPE_UNKNOWN: 0;
					public isMultiLineText(): boolean;
					public equals(obj: any): boolean;
					public getWidgetType(): number;
					public getWidgetIndex(): number;
					public describeContents(): number;
					public isMultiSelect(): boolean;
					public getAccessibilityLabel(): string;
					public getListItems(): java.util.List<android.graphics.pdf.models.ListItem>;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public isEditableText(): boolean;
					public toString(): string;
					public getMaxLength(): number;
					public isReadOnly(): boolean;
					public hashCode(): number;
					public getTextValue(): string;
					public getWidgetRect(): android.graphics.Rect;
					public getFontSize(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module FormWidgetInfo {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.graphics.pdf.models.FormWidgetInfo.Builder>;
						public setReadOnly(readOnly: boolean): android.graphics.pdf.models.FormWidgetInfo.Builder;
						public setFontSize(fontSize: number): android.graphics.pdf.models.FormWidgetInfo.Builder;
						public setMultiLineText(multiLineText: boolean): android.graphics.pdf.models.FormWidgetInfo.Builder;
						public setListItems(listItems: java.util.List<android.graphics.pdf.models.ListItem>): android.graphics.pdf.models.FormWidgetInfo.Builder;
						public constructor(widgetType: number, widgetIndex: number, widgetRect: android.graphics.Rect, textValue: string, accessibilityLabel: string);
						public setEditableText(editableText: boolean): android.graphics.pdf.models.FormWidgetInfo.Builder;
						public build(): android.graphics.pdf.models.FormWidgetInfo;
						public setMaxLength(maxLength: number): android.graphics.pdf.models.FormWidgetInfo.Builder;
						public setMultiSelect(multiSelect: boolean): android.graphics.pdf.models.FormWidgetInfo.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module models {
				export class ListItem extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.graphics.pdf.models.ListItem>;
					public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.models.ListItem>;
					public getLabel(): string;
					public equals(obj: any): boolean;
					public toString(): string;
					public constructor(label: string, selected: boolean);
					public describeContents(): number;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public isSelected(): boolean;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module models {
				export class PageMatchBounds extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.graphics.pdf.models.PageMatchBounds>;
					public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.models.PageMatchBounds>;
					public constructor(bounds: java.util.List<android.graphics.RectF>, textStartIndex: number);
					public describeContents(): number;
					public getTextStartIndex(): number;
					public getBounds(): java.util.List<android.graphics.RectF>;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module models {
				export module selection {
					export class PageSelection extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.graphics.pdf.models.selection.PageSelection>;
						public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.models.selection.PageSelection>;
						public writeToParcel(dest: android.os.Parcel, flags: number): void;
						public describeContents(): number;
						public getStop(): android.graphics.pdf.models.selection.SelectionBoundary;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public getSelectedTextContents(): java.util.List<android.graphics.pdf.content.PdfPageTextContent>;
						public getPage(): number;
						public getStart(): android.graphics.pdf.models.selection.SelectionBoundary;
						public constructor(page: number, start: android.graphics.pdf.models.selection.SelectionBoundary, stop: android.graphics.pdf.models.selection.SelectionBoundary, selectedContents: java.util.List<android.graphics.pdf.content.PdfPageTextContent>);
					}
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export module models {
				export module selection {
					export class SelectionBoundary extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.graphics.pdf.models.selection.SelectionBoundary>;
						public static CREATOR: android.os.Parcelable.Creator<android.graphics.pdf.models.selection.SelectionBoundary>;
						public writeToParcel(dest: android.os.Parcel, flags: number): void;
						public getIsRtl(): boolean;
						public describeContents(): number;
						public constructor(point: android.graphics.Point);
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public getPoint(): android.graphics.Point;
						public constructor(index: number);
						public getIndex(): number;
					}
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module text {
			export class LineBreakConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.graphics.text.LineBreakConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.graphics.text.LineBreakConfig>;
				public static HYPHENATION_DISABLED: 0;
				public static HYPHENATION_ENABLED: 1;
				public static HYPHENATION_UNSPECIFIED: -1;
				public static LINE_BREAK_STYLE_AUTO: 5;
				public static LINE_BREAK_STYLE_LOOSE: 1;
				public static LINE_BREAK_STYLE_NONE: 0;
				public static LINE_BREAK_STYLE_NORMAL: 2;
				public static LINE_BREAK_STYLE_NO_BREAK: 4;
				public static LINE_BREAK_STYLE_STRICT: 3;
				public static LINE_BREAK_STYLE_UNSPECIFIED: -1;
				public static LINE_BREAK_WORD_STYLE_AUTO: 2;
				public static LINE_BREAK_WORD_STYLE_NONE: 0;
				public static LINE_BREAK_WORD_STYLE_PHRASE: 1;
				public static LINE_BREAK_WORD_STYLE_UNSPECIFIED: -1;
				public getLineBreakWordStyle(): number;
				public getLineBreakStyle(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getHyphenation(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public merge(config: android.graphics.text.LineBreakConfig): android.graphics.text.LineBreakConfig;
			}
			export module LineBreakConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.text.LineBreakConfig.Builder>;
					public setLineBreakWordStyle(lineBreakWordStyle: number): android.graphics.text.LineBreakConfig.Builder;
					public constructor();
					public setLineBreakStyle(lineBreakStyle: number): android.graphics.text.LineBreakConfig.Builder;
					public build(): android.graphics.text.LineBreakConfig;
					public setHyphenation(hyphenation: number): android.graphics.text.LineBreakConfig.Builder;
					public merge(config: android.graphics.text.LineBreakConfig): android.graphics.text.LineBreakConfig.Builder;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module text {
			export class LineBreaker extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.text.LineBreaker>;
				public static BREAK_STRATEGY_BALANCED: 2;
				public static BREAK_STRATEGY_HIGH_QUALITY: 1;
				public static BREAK_STRATEGY_SIMPLE: 0;
				public static HYPHENATION_FREQUENCY_FULL: 2;
				public static HYPHENATION_FREQUENCY_NONE: 0;
				public static HYPHENATION_FREQUENCY_NORMAL: 1;
				public static JUSTIFICATION_MODE_INTER_CHARACTER: 2;
				public static JUSTIFICATION_MODE_INTER_WORD: 1;
				public static JUSTIFICATION_MODE_NONE: 0;
				public computeLineBreaks(measuredPara: android.graphics.text.MeasuredText, constraints: android.graphics.text.LineBreaker.ParagraphConstraints, lineNumber: number): android.graphics.text.LineBreaker.Result;
			}
			export module LineBreaker {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.text.LineBreaker.Builder>;
					public setIndents(indents: androidNative.Array<number>): android.graphics.text.LineBreaker.Builder;
					public setJustificationMode(justificationMode: number): android.graphics.text.LineBreaker.Builder;
					public setBreakStrategy(breakStrategy: number): android.graphics.text.LineBreaker.Builder;
					public setUseBoundsForWidth(useBoundsForWidth: boolean): android.graphics.text.LineBreaker.Builder;
					public build(): android.graphics.text.LineBreaker;
					public constructor();
					public setHyphenationFrequency(hyphenationFrequency: number): android.graphics.text.LineBreaker.Builder;
				}
				export class ParagraphConstraints extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.text.LineBreaker.ParagraphConstraints>;
					public setTabStops(tabStops: androidNative.Array<number>, defaultTabStop: number): void;
					public getFirstWidth(): number;
					public getTabStops(): androidNative.Array<number>;
					public constructor();
					public setWidth(width: number): void;
					public getDefaultTabStop(): number;
					public setIndent(firstWidth: number, firstWidthLineCount: number): void;
					public getWidth(): number;
					public getFirstWidthLineCount(): number;
				}
				export class Result extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.text.LineBreaker.Result>;
					public hasLineTab(lineIndex: number): boolean;
					public getStartLineHyphenEdit(lineIndex: number): number;
					public getLineBreakOffset(lineIndex: number): number;
					public getLineAscent(lineIndex: number): number;
					public getLineCount(): number;
					public getLineWidth(lineIndex: number): number;
					public getEndLineHyphenEdit(lineIndex: number): number;
					public getLineDescent(lineIndex: number): number;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module text {
			export class MeasuredText extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.text.MeasuredText>;
				public getFontMetricsInt(start: number, end: number, outMetrics: android.graphics.Paint.FontMetricsInt): void;
				public getWidth(start: number, end: number): number;
				public getCharWidthAt(offset: number): number;
				public getBounds(start: number, end: number, rect: android.graphics.Rect): void;
			}
			export module MeasuredText {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.text.MeasuredText.Builder>;
					public static HYPHENATION_MODE_FAST: 2;
					public static HYPHENATION_MODE_NONE: 0;
					public static HYPHENATION_MODE_NORMAL: 1;
					public constructor(text: androidNative.Array<string>);
					public appendReplacementRun(paint: android.graphics.Paint, length: number, width: number): android.graphics.text.MeasuredText.Builder;
					public setComputeHyphenation(mode: number): android.graphics.text.MeasuredText.Builder;
					public build(): android.graphics.text.MeasuredText;
					public constructor(text: android.graphics.text.MeasuredText);
					public appendStyleRun(paint: android.graphics.Paint, length: number, isRtl: boolean): android.graphics.text.MeasuredText.Builder;
					public appendStyleRun(paint: android.graphics.Paint, lineBreakConfig: android.graphics.text.LineBreakConfig, length: number, isRtl: boolean): android.graphics.text.MeasuredText.Builder;
					public setComputeLayout(computeLayout: boolean): android.graphics.text.MeasuredText.Builder;
					/** @deprecated */
					public setComputeHyphenation(computeHyphenation: boolean): android.graphics.text.MeasuredText.Builder;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module text {
			export class PositionedGlyphs extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.text.PositionedGlyphs>;
				public static NO_OVERRIDE: 1.4E-45;
				public getDescent(): number;
				public getGlyphId(index: number): number;
				public getGlyphX(index: number): number;
				public getOffsetY(): number;
				public getFakeItalic(index: number): boolean;
				public toString(): string;
				public getWeightOverride(index: number): number;
				public getOffsetX(): number;
				public hashCode(): number;
				public getItalicOverride(index: number): number;
				public getAdvance(): number;
				public getGlyphY(index: number): number;
				public equals(o: any): boolean;
				public getFont(index: number): android.graphics.fonts.Font;
				public getAscent(): number;
				public glyphCount(): number;
				public getFakeBold(index: number): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module text {
			export class TextRunShaper extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.text.TextRunShaper>;
				public static shapeTextRun(text: string, start: number, count: number, contextStart: number, contextCount: number, xOffset: number, yOffset: number, isRtl: boolean, paint: android.graphics.Paint): android.graphics.text.PositionedGlyphs;
				public static shapeTextRun(text: androidNative.Array<string>, start: number, count: number, contextStart: number, contextCount: number, xOffset: number, yOffset: number, isRtl: boolean, paint: android.graphics.Paint): android.graphics.text.PositionedGlyphs;
			}
		}
	}
}

declare module android {
	export module hardware {
		export abstract class BatteryState extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.BatteryState>;
			public static STATUS_CHARGING: 2;
			public static STATUS_DISCHARGING: 3;
			public static STATUS_FULL: 5;
			public static STATUS_NOT_CHARGING: 4;
			public static STATUS_UNKNOWN: 1;
			public isPresent(): boolean;
			public constructor();
			public getCapacity(): number;
			public getStatus(): 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: "android.hardware.action.NEW_PICTURE";
			public static ACTION_NEW_VIDEO: "android.hardware.action.NEW_VIDEO";
			public static CAMERA_ERROR_EVICTED: 2;
			public static CAMERA_ERROR_SERVER_DIED: 100;
			public static CAMERA_ERROR_UNKNOWN: 1;
			/** @deprecated */
			public cancelAutoFocus(): void;
			/** @deprecated */
			public setZoomChangeListener(listener: android.hardware.Camera.OnZoomChangeListener): void;
			/** @deprecated */
			public takePicture(shutter: android.hardware.Camera.ShutterCallback, raw: android.hardware.Camera.PictureCallback, jpeg: android.hardware.Camera.PictureCallback): void;
			/** @deprecated */
			public setPreviewDisplay(holder: android.view.SurfaceHolder): void;
			/** @deprecated */
			public startFaceDetection(): void;
			/** @deprecated */
			public stopFaceDetection(): void;
			/** @deprecated */
			public startSmoothZoom(param0: number): void;
			/** @deprecated */
			public setPreviewCallbackWithBuffer(cb: android.hardware.Camera.PreviewCallback): void;
			/** @deprecated */
			public getParameters(): android.hardware.Camera.Parameters;
			/** @deprecated */
			public enableShutterSound(enabled: boolean): boolean;
			/** @deprecated */
			public stopPreview(): void;
			/** @deprecated */
			public reconnect(): void;
			/** @deprecated */
			public static getCameraInfo(cameraId: number, cameraInfo: android.hardware.Camera.CameraInfo): void;
			/** @deprecated */
			public takePicture(shutter: android.hardware.Camera.ShutterCallback, raw: android.hardware.Camera.PictureCallback, postview: android.hardware.Camera.PictureCallback, jpeg: android.hardware.Camera.PictureCallback): void;
			/** @deprecated */
			public static getNumberOfCameras(): number;
			/** @deprecated */
			public unlock(): void;
			/** @deprecated */
			public setParameters(params: android.hardware.Camera.Parameters): void;
			/** @deprecated */
			public startPreview(): void;
			/** @deprecated */
			public setOneShotPreviewCallback(cb: android.hardware.Camera.PreviewCallback): void;
			/** @deprecated */
			public setAutoFocusMoveCallback(cb: android.hardware.Camera.AutoFocusMoveCallback): void;
			/** @deprecated */
			public setPreviewTexture(param0: android.graphics.SurfaceTexture): void;
			/** @deprecated */
			public addCallbackBuffer(callbackBuffer: androidNative.Array<number>): void;
			/** @deprecated */
			public release(): void;
			/** @deprecated */
			public autoFocus(cb: android.hardware.Camera.AutoFocusCallback): void;
			/** @deprecated */
			public setFaceDetectionListener(listener: android.hardware.Camera.FaceDetectionListener): void;
			/** @deprecated */
			public static open(cameraId: number): android.hardware.Camera;
			/** @deprecated */
			public setErrorCallback(cb: android.hardware.Camera.ErrorCallback): void;
			/** @deprecated */
			public finalize(): void;
			/** @deprecated */
			public stopSmoothZoom(): void;
			/** @deprecated */
			public static open(): android.hardware.Camera;
			/** @deprecated */
			public lock(): void;
			/** @deprecated */
			public setDisplayOrientation(param0: number): void;
			/** @deprecated */
			public setPreviewCallback(cb: android.hardware.Camera.PreviewCallback): 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;
				/** @deprecated */
				public constructor(rect: android.graphics.Rect, weight: number);
				/** @deprecated */
				public equals(obj: 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();
				/** @deprecated */
				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();
				/** @deprecated */
				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: 0;
				public static CAMERA_FACING_FRONT: 1;
				public canDisableShutterSound: boolean;
				public facing: number;
				public orientation: number;
				/** @deprecated */
				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();
				/** @deprecated */
				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;
				/** @deprecated */
				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: androidNative.Array<android.hardware.Camera.Face>, param1: android.hardware.Camera): void;
				});
				public constructor();
				/** @deprecated */
				public onFaceDetection(param0: androidNative.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();
				/** @deprecated */
				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: "50hz";
				public static ANTIBANDING_60HZ: "60hz";
				public static ANTIBANDING_AUTO: "auto";
				public static ANTIBANDING_OFF: "off";
				public static EFFECT_AQUA: "aqua";
				public static EFFECT_BLACKBOARD: "blackboard";
				public static EFFECT_MONO: "mono";
				public static EFFECT_NEGATIVE: "negative";
				public static EFFECT_NONE: "none";
				public static EFFECT_POSTERIZE: "posterize";
				public static EFFECT_SEPIA: "sepia";
				public static EFFECT_SOLARIZE: "solarize";
				public static EFFECT_WHITEBOARD: "whiteboard";
				public static FLASH_MODE_AUTO: "auto";
				public static FLASH_MODE_OFF: "off";
				public static FLASH_MODE_ON: "on";
				public static FLASH_MODE_RED_EYE: "red-eye";
				public static FLASH_MODE_TORCH: "torch";
				public static FOCUS_DISTANCE_FAR_INDEX: 2;
				public static FOCUS_DISTANCE_NEAR_INDEX: 0;
				public static FOCUS_DISTANCE_OPTIMAL_INDEX: 1;
				public static FOCUS_MODE_AUTO: "auto";
				public static FOCUS_MODE_CONTINUOUS_PICTURE: "continuous-picture";
				public static FOCUS_MODE_CONTINUOUS_VIDEO: "continuous-video";
				public static FOCUS_MODE_EDOF: "edof";
				public static FOCUS_MODE_FIXED: "fixed";
				public static FOCUS_MODE_INFINITY: "infinity";
				public static FOCUS_MODE_MACRO: "macro";
				public static PREVIEW_FPS_MAX_INDEX: 1;
				public static PREVIEW_FPS_MIN_INDEX: 0;
				public static SCENE_MODE_ACTION: "action";
				public static SCENE_MODE_AUTO: "auto";
				public static SCENE_MODE_BARCODE: "barcode";
				public static SCENE_MODE_BEACH: "beach";
				public static SCENE_MODE_CANDLELIGHT: "candlelight";
				public static SCENE_MODE_FIREWORKS: "fireworks";
				public static SCENE_MODE_HDR: "hdr";
				public static SCENE_MODE_LANDSCAPE: "landscape";
				public static SCENE_MODE_NIGHT: "night";
				public static SCENE_MODE_NIGHT_PORTRAIT: "night-portrait";
				public static SCENE_MODE_PARTY: "party";
				public static SCENE_MODE_PORTRAIT: "portrait";
				public static SCENE_MODE_SNOW: "snow";
				public static SCENE_MODE_SPORTS: "sports";
				public static SCENE_MODE_STEADYPHOTO: "steadyphoto";
				public static SCENE_MODE_SUNSET: "sunset";
				public static SCENE_MODE_THEATRE: "theatre";
				public static WHITE_BALANCE_AUTO: "auto";
				public static WHITE_BALANCE_CLOUDY_DAYLIGHT: "cloudy-daylight";
				public static WHITE_BALANCE_DAYLIGHT: "daylight";
				public static WHITE_BALANCE_FLUORESCENT: "fluorescent";
				public static WHITE_BALANCE_INCANDESCENT: "incandescent";
				public static WHITE_BALANCE_SHADE: "shade";
				public static WHITE_BALANCE_TWILIGHT: "twilight";
				public static WHITE_BALANCE_WARM_FLUORESCENT: "warm-fluorescent";
				/** @deprecated */
				public getMaxNumFocusAreas(): number;
				/** @deprecated */
				public set(key: string, value: string): void;
				/** @deprecated */
				public getJpegThumbnailSize(): android.hardware.Camera.Size;
				/** @deprecated */
				public setMeteringAreas(meteringAreas: java.util.List<android.hardware.Camera.Area>): void;
				/** @deprecated */
				public unflatten(flattened: string): void;
				/** @deprecated */
				public setColorEffect(value: string): void;
				/** @deprecated */
				public getZoomRatios(): java.util.List<java.lang.Integer>;
				/** @deprecated */
				public remove(key: string): void;
				/** @deprecated */
				public getZoom(): number;
				/** @deprecated */
				public setGpsAltitude(altitude: number): void;
				/** @deprecated */
				public setWhiteBalance(value: string): void;
				/** @deprecated */
				public setGpsTimestamp(timestamp: number): void;
				/** @deprecated */
				public getPreviewSize(): android.hardware.Camera.Size;
				/** @deprecated */
				public getAntibanding(): string;
				/** @deprecated */
				public setPictureFormat(pixel_format: number): void;
				/** @deprecated */
				public getExposureCompensation(): number;
				/** @deprecated */
				public getExposureCompensationStep(): number;
				/** @deprecated */
				public removeGpsData(): void;
				/** @deprecated */
				public getPreviewFrameRate(): number;
				/** @deprecated */
				public getVideoStabilization(): boolean;
				/** @deprecated */
				public getHorizontalViewAngle(): number;
				/** @deprecated */
				public setFocusAreas(focusAreas: java.util.List<android.hardware.Camera.Area>): void;
				/** @deprecated */
				public getSupportedPreviewFrameRates(): java.util.List<java.lang.Integer>;
				/** @deprecated */
				public getMaxNumMeteringAreas(): number;
				/** @deprecated */
				public getSupportedFlashModes(): java.util.List<string>;
				/** @deprecated */
				public setAutoExposureLock(toggle: boolean): void;
				/** @deprecated */
				public getFocusDistances(output: androidNative.Array<number>): void;
				/** @deprecated */
				public set(key: string, value: number): void;
				/** @deprecated */
				public setFocusMode(value: string): void;
				/** @deprecated */
				public setExposureCompensation(value: number): void;
				/** @deprecated */
				public setJpegThumbnailSize(width: number, height: number): void;
				/** @deprecated */
				public get(key: string): string;
				/** @deprecated */
				public setPreviewFormat(pixel_format: number): void;
				/** @deprecated */
				public getSupportedFocusModes(): java.util.List<string>;
				/** @deprecated */
				public setRecordingHint(hint: boolean): void;
				/** @deprecated */
				public setJpegQuality(quality: number): void;
				/** @deprecated */
				public getJpegQuality(): number;
				/** @deprecated */
				public flatten(): string;
				/** @deprecated */
				public setVideoStabilization(toggle: boolean): void;
				/** @deprecated */
				public getSupportedPreviewFpsRange(): java.util.List<androidNative.Array<number>>;
				/** @deprecated */
				public getInt(key: string): number;
				/** @deprecated */
				public setPictureSize(width: number, height: number): void;
				/** @deprecated */
				public getMaxZoom(): number;
				/** @deprecated */
				public getFocalLength(): number;
				/** @deprecated */
				public getPreviewFpsRange(range: androidNative.Array<number>): void;
				/** @deprecated */
				public getWhiteBalance(): string;
				/** @deprecated */
				public getFocusAreas(): java.util.List<android.hardware.Camera.Area>;
				/** @deprecated */
				public getJpegThumbnailQuality(): number;
				/** @deprecated */
				public getSupportedPreviewFormats(): java.util.List<java.lang.Integer>;
				/** @deprecated */
				public getMeteringAreas(): java.util.List<android.hardware.Camera.Area>;
				/** @deprecated */
				public getSupportedWhiteBalance(): java.util.List<string>;
				/** @deprecated */
				public getSupportedColorEffects(): java.util.List<string>;
				/** @deprecated */
				public getMaxNumDetectedFaces(): number;
				/** @deprecated */
				public setPreviewFrameRate(fps: number): void;
				/** @deprecated */
				public setRotation(rotation: number): void;
				/** @deprecated */
				public setGpsLongitude(longitude: number): void;
				/** @deprecated */
				public isZoomSupported(): boolean;
				/** @deprecated */
				public isSmoothZoomSupported(): boolean;
				/** @deprecated */
				public isAutoExposureLockSupported(): boolean;
				/** @deprecated */
				public getSupportedJpegThumbnailSizes(): java.util.List<android.hardware.Camera.Size>;
				/** @deprecated */
				public setJpegThumbnailQuality(quality: number): void;
				/** @deprecated */
				public getPictureSize(): android.hardware.Camera.Size;
				/** @deprecated */
				public getColorEffect(): string;
				/** @deprecated */
				public setPreviewSize(width: number, height: number): void;
				/** @deprecated */
				public getFlashMode(): string;
				/** @deprecated */
				public getMinExposureCompensation(): number;
				/** @deprecated */
				public setAutoWhiteBalanceLock(toggle: boolean): void;
				/** @deprecated */
				public getSupportedPictureFormats(): java.util.List<java.lang.Integer>;
				/** @deprecated */
				public setAntibanding(antibanding: string): void;
				/** @deprecated */
				public getAutoExposureLock(): boolean;
				/** @deprecated */
				public getPreviewFormat(): number;
				/** @deprecated */
				public getPreferredPreviewSizeForVideo(): android.hardware.Camera.Size;
				/** @deprecated */
				public setPreviewFpsRange(min: number, max: number): void;
				/** @deprecated */
				public getFocusMode(): string;
				/** @deprecated */
				public setZoom(value: number): void;
				/** @deprecated */
				public getMaxExposureCompensation(): number;
				/** @deprecated */
				public isVideoStabilizationSupported(): boolean;
				/** @deprecated */
				public setGpsLatitude(latitude: number): void;
				/** @deprecated */
				public getPictureFormat(): number;
				/** @deprecated */
				public setSceneMode(value: string): void;
				/** @deprecated */
				public setGpsProcessingMethod(processing_method: string): void;
				/** @deprecated */
				public getSceneMode(): string;
				/** @deprecated */
				public isVideoSnapshotSupported(): boolean;
				/** @deprecated */
				public getSupportedVideoSizes(): java.util.List<android.hardware.Camera.Size>;
				/** @deprecated */
				public getSupportedPictureSizes(): java.util.List<android.hardware.Camera.Size>;
				/** @deprecated */
				public getSupportedPreviewSizes(): java.util.List<android.hardware.Camera.Size>;
				/** @deprecated */
				public getAutoWhiteBalanceLock(): boolean;
				/** @deprecated */
				public getSupportedAntibanding(): java.util.List<string>;
				/** @deprecated */
				public isAutoWhiteBalanceLockSupported(): boolean;
				/** @deprecated */
				public setFlashMode(value: string): void;
				/** @deprecated */
				public getSupportedSceneModes(): java.util.List<string>;
				/** @deprecated */
				public getVerticalViewAngle(): 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: androidNative.Array<number>, param1: android.hardware.Camera): void;
				});
				public constructor();
				/** @deprecated */
				public onPictureTaken(param0: androidNative.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: androidNative.Array<number>, param1: android.hardware.Camera): void;
				});
				public constructor();
				/** @deprecated */
				public onPreviewFrame(param0: androidNative.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();
				/** @deprecated */
				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;
				/** @deprecated */
				public hashCode(): number;
				/** @deprecated */
				public constructor(this$0: android.hardware.Camera, w: number, h: number);
				/** @deprecated */
				public equals(obj: 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 getCarrierFrequencies(): androidNative.Array<android.hardware.ConsumerIrManager.CarrierFrequencyRange>;
			public transmit(carrierFrequency: number, pattern: androidNative.Array<number>): void;
			public hasIrEmitter(): boolean;
		}
		export module ConsumerIrManager {
			export class CarrierFrequencyRange extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.ConsumerIrManager.CarrierFrequencyRange>;
				public getMaxFrequency(): number;
				public constructor(this$0: android.hardware.ConsumerIrManager, min: number, max: number);
				public getMinFrequency(): number;
			}
		}
	}
}

declare module android {
	export module hardware {
		export class DataSpace extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.DataSpace>;
			public static DATASPACE_ADOBE_RGB: 151715840;
			public static DATASPACE_BT2020: 147193856;
			public static DATASPACE_BT2020_HLG: 168165376;
			public static DATASPACE_BT2020_PQ: 163971072;
			public static DATASPACE_BT601_525: 281280512;
			public static DATASPACE_BT601_625: 281149440;
			public static DATASPACE_BT709: 281083904;
			public static DATASPACE_DCI_P3: 155844608;
			public static DATASPACE_DEPTH: 4096;
			public static DATASPACE_DISPLAY_P3: 143261696;
			public static DATASPACE_DYNAMIC_DEPTH: 4098;
			public static DATASPACE_HEIF: 4100;
			public static DATASPACE_JFIF: 146931712;
			public static DATASPACE_JPEG_R: 4101;
			public static DATASPACE_SCRGB: 411107328;
			public static DATASPACE_SCRGB_LINEAR: 406913024;
			public static DATASPACE_SRGB: 142671872;
			public static DATASPACE_SRGB_LINEAR: 138477568;
			public static DATASPACE_UNKNOWN: 0;
			public static RANGE_EXTENDED: 402653184;
			public static RANGE_FULL: 134217728;
			public static RANGE_LIMITED: 268435456;
			public static RANGE_UNSPECIFIED: 0;
			public static STANDARD_ADOBE_RGB: 720896;
			public static STANDARD_BT2020: 393216;
			public static STANDARD_BT2020_CONSTANT_LUMINANCE: 458752;
			public static STANDARD_BT470M: 524288;
			public static STANDARD_BT601_525: 262144;
			public static STANDARD_BT601_525_UNADJUSTED: 327680;
			public static STANDARD_BT601_625: 131072;
			public static STANDARD_BT601_625_UNADJUSTED: 196608;
			public static STANDARD_BT709: 65536;
			public static STANDARD_DCI_P3: 655360;
			public static STANDARD_FILM: 589824;
			public static STANDARD_UNSPECIFIED: 0;
			public static TRANSFER_GAMMA2_2: 16777216;
			public static TRANSFER_GAMMA2_6: 20971520;
			public static TRANSFER_GAMMA2_8: 25165824;
			public static TRANSFER_HLG: 33554432;
			public static TRANSFER_LINEAR: 4194304;
			public static TRANSFER_SMPTE_170M: 12582912;
			public static TRANSFER_SRGB: 8388608;
			public static TRANSFER_ST2084: 29360128;
			public static TRANSFER_UNSPECIFIED: 0;
			public static getTransfer(dataSpace: number): number;
			public static getStandard(dataSpace: number): number;
			public static getRange(dataSpace: number): number;
			public static pack(standard: number, transfer: number, range: number): 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(gdLatitudeDeg: number, gdLongitudeDeg: number, altitudeMeters: number, timeMillis: 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: 33;
			public static CREATOR: android.os.Parcelable.Creator<android.hardware.HardwareBuffer>;
			public static DS_24UI8: 50;
			public static DS_FP32UI8: 52;
			public static D_16: 48;
			public static D_24: 49;
			public static D_FP32: 51;
			public static RGBA_10101010: 59;
			public static RGBA_1010102: 43;
			public static RGBA_8888: 1;
			public static RGBA_FP16: 22;
			public static RGBX_8888: 2;
			public static RGB_565: 4;
			public static RGB_888: 3;
			public static RG_1616: 58;
			public static R_16: 57;
			public static R_8: 56;
			public static S_UI8: 53;
			public static USAGE_COMPOSER_OVERLAY: 2048;
			public static USAGE_CPU_READ_OFTEN: 3;
			public static USAGE_CPU_READ_RARELY: 2;
			public static USAGE_CPU_WRITE_OFTEN: 48;
			public static USAGE_CPU_WRITE_RARELY: 32;
			public static USAGE_FRONT_BUFFER: 4294967296;
			public static USAGE_GPU_COLOR_OUTPUT: 512;
			public static USAGE_GPU_CUBE_MAP: 33554432;
			public static USAGE_GPU_DATA_BUFFER: 16777216;
			public static USAGE_GPU_MIPMAP_COMPLETE: 67108864;
			public static USAGE_GPU_SAMPLED_IMAGE: 256;
			public static USAGE_PROTECTED_CONTENT: 16384;
			public static USAGE_SENSOR_DIRECT_DATA: 8388608;
			public static USAGE_VIDEO_ENCODE: 65536;
			public static YCBCR_420_888: 35;
			public static YCBCR_P010: 54;
			public isClosed(): boolean;
			public getHeight(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public static create(width: number, height: number, format: number, layers: number, usage: number): android.hardware.HardwareBuffer;
			public getFormat(): number;
			public getWidth(): number;
			public getUsage(): number;
			public getId(): number;
			public static isSupported(width: number, height: number, format: number, layers: number, usage: number): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public close(): void;
			public finalize(): void;
			public getLayers(): number;
		}
	}
}

declare module android {
	export module hardware {
		export class OverlayProperties extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.hardware.OverlayProperties>;
			public static CREATOR: android.os.Parcelable.Creator<android.hardware.OverlayProperties>;
			public isCombinationSupported(dataspace: number, format: number): boolean;
			public isMixedColorSpacesSupported(): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

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: 0;
			public static REPORTING_MODE_ONE_SHOT: 2;
			public static REPORTING_MODE_ON_CHANGE: 1;
			public static REPORTING_MODE_SPECIAL_TRIGGER: 3;
			public static STRING_TYPE_ACCELEROMETER: "android.sensor.accelerometer";
			public static STRING_TYPE_ACCELEROMETER_LIMITED_AXES: "android.sensor.accelerometer_limited_axes";
			public static STRING_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: "android.sensor.accelerometer_limited_axes_uncalibrated";
			public static STRING_TYPE_ACCELEROMETER_UNCALIBRATED: "android.sensor.accelerometer_uncalibrated";
			public static STRING_TYPE_AMBIENT_TEMPERATURE: "android.sensor.ambient_temperature";
			public static STRING_TYPE_GAME_ROTATION_VECTOR: "android.sensor.game_rotation_vector";
			public static STRING_TYPE_GEOMAGNETIC_ROTATION_VECTOR: "android.sensor.geomagnetic_rotation_vector";
			public static STRING_TYPE_GRAVITY: "android.sensor.gravity";
			public static STRING_TYPE_GYROSCOPE: "android.sensor.gyroscope";
			public static STRING_TYPE_GYROSCOPE_LIMITED_AXES: "android.sensor.gyroscope_limited_axes";
			public static STRING_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: "android.sensor.gyroscope_limited_axes_uncalibrated";
			public static STRING_TYPE_GYROSCOPE_UNCALIBRATED: "android.sensor.gyroscope_uncalibrated";
			public static STRING_TYPE_HEADING: "android.sensor.heading";
			public static STRING_TYPE_HEAD_TRACKER: "android.sensor.head_tracker";
			public static STRING_TYPE_HEART_BEAT: "android.sensor.heart_beat";
			public static STRING_TYPE_HEART_RATE: "android.sensor.heart_rate";
			public static STRING_TYPE_HINGE_ANGLE: "android.sensor.hinge_angle";
			public static STRING_TYPE_LIGHT: "android.sensor.light";
			public static STRING_TYPE_LINEAR_ACCELERATION: "android.sensor.linear_acceleration";
			public static STRING_TYPE_LOW_LATENCY_OFFBODY_DETECT: "android.sensor.low_latency_offbody_detect";
			public static STRING_TYPE_MAGNETIC_FIELD: "android.sensor.magnetic_field";
			public static STRING_TYPE_MAGNETIC_FIELD_UNCALIBRATED: "android.sensor.magnetic_field_uncalibrated";
			public static STRING_TYPE_MOTION_DETECT: "android.sensor.motion_detect";
			public static STRING_TYPE_ORIENTATION: "android.sensor.orientation";
			public static STRING_TYPE_POSE_6DOF: "android.sensor.pose_6dof";
			public static STRING_TYPE_PRESSURE: "android.sensor.pressure";
			public static STRING_TYPE_PROXIMITY: "android.sensor.proximity";
			public static STRING_TYPE_RELATIVE_HUMIDITY: "android.sensor.relative_humidity";
			public static STRING_TYPE_ROTATION_VECTOR: "android.sensor.rotation_vector";
			public static STRING_TYPE_SIGNIFICANT_MOTION: "android.sensor.significant_motion";
			public static STRING_TYPE_STATIONARY_DETECT: "android.sensor.stationary_detect";
			public static STRING_TYPE_STEP_COUNTER: "android.sensor.step_counter";
			public static STRING_TYPE_STEP_DETECTOR: "android.sensor.step_detector";
			public static STRING_TYPE_TEMPERATURE: "android.sensor.temperature";
			public static TYPE_ACCELEROMETER: 1;
			public static TYPE_ACCELEROMETER_LIMITED_AXES: 38;
			public static TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: 40;
			public static TYPE_ACCELEROMETER_UNCALIBRATED: 35;
			public static TYPE_ALL: -1;
			public static TYPE_AMBIENT_TEMPERATURE: 13;
			public static TYPE_DEVICE_PRIVATE_BASE: 65536;
			public static TYPE_GAME_ROTATION_VECTOR: 15;
			public static TYPE_GEOMAGNETIC_ROTATION_VECTOR: 20;
			public static TYPE_GRAVITY: 9;
			public static TYPE_GYROSCOPE: 4;
			public static TYPE_GYROSCOPE_LIMITED_AXES: 39;
			public static TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: 41;
			public static TYPE_GYROSCOPE_UNCALIBRATED: 16;
			public static TYPE_HEADING: 42;
			public static TYPE_HEAD_TRACKER: 37;
			public static TYPE_HEART_BEAT: 31;
			public static TYPE_HEART_RATE: 21;
			public static TYPE_HINGE_ANGLE: 36;
			public static TYPE_LIGHT: 5;
			public static TYPE_LINEAR_ACCELERATION: 10;
			public static TYPE_LOW_LATENCY_OFFBODY_DETECT: 34;
			public static TYPE_MAGNETIC_FIELD: 2;
			public static TYPE_MAGNETIC_FIELD_UNCALIBRATED: 14;
			public static TYPE_MOTION_DETECT: 30;
			public static TYPE_ORIENTATION: 3;
			public static TYPE_POSE_6DOF: 28;
			public static TYPE_PRESSURE: 6;
			public static TYPE_PROXIMITY: 8;
			public static TYPE_RELATIVE_HUMIDITY: 12;
			public static TYPE_ROTATION_VECTOR: 11;
			public static TYPE_SIGNIFICANT_MOTION: 17;
			public static TYPE_STATIONARY_DETECT: 29;
			public static TYPE_STEP_COUNTER: 19;
			public static TYPE_STEP_DETECTOR: 18;
			public static TYPE_TEMPERATURE: 7;
			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 getHighestDirectReportRateLevel(): number;
			public isDirectChannelTypeSupported(sharedMemType: number): boolean;
			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: 0;
			public static TYPE_FRAME_END: 1;
			public static TYPE_INTERNAL_TEMPERATURE: 65537;
			public static TYPE_SAMPLING: 65540;
			public static TYPE_SENSOR_PLACEMENT: 65539;
			public static TYPE_UNTRACKED_DELAY: 65536;
			public static TYPE_VEC3_CALIBRATION: 65538;
			public floatValues: androidNative.Array<number>;
			public intValues: androidNative.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: 2;
			public static RATE_NORMAL: 1;
			public static RATE_STOP: 0;
			public static RATE_VERY_FAST: 3;
			public static TYPE_HARDWARE_BUFFER: 2;
			public static TYPE_MEMORY_FILE: 1;
			public isOpen(): boolean;
			public configure(sensor: android.hardware.Sensor, rateLevel: 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 firstEventAfterDiscontinuity: boolean;
			public sensor: android.hardware.Sensor;
			public timestamp: number;
			public values: androidNative.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 onSensorAdditionalInfo(info: android.hardware.SensorAdditionalInfo): void;
			public onFlushCompleted(param0: android.hardware.Sensor): void;
			public onFlushCompleted(sensor: android.hardware.Sensor): void;
			public onAccuracyChanged(param0: android.hardware.Sensor, param1: number): void;
			public onAccuracyChanged(sensor: android.hardware.Sensor, accuracy: number): void;
			public constructor();
			public onSensorChanged(event: android.hardware.SensorEvent): 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: androidNative.Array<number>): void;
				onAccuracyChanged(param0: number, param1: number): void;
			});
			public constructor();
			/** @deprecated */
			public onSensorChanged(param0: number, param1: androidNative.Array<number>): void;
			/** @deprecated */
			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: 129;
			public static AXIS_MINUS_Y: 130;
			public static AXIS_MINUS_Z: 131;
			public static AXIS_X: 1;
			public static AXIS_Y: 2;
			public static AXIS_Z: 3;
			public static DATA_X: 0;
			public static DATA_Y: 1;
			public static DATA_Z: 2;
			public static GRAVITY_DEATH_STAR_I: 3.5303614E-7;
			public static GRAVITY_EARTH: 9.80665;
			public static GRAVITY_JUPITER: 23.12;
			public static GRAVITY_MARS: 3.71;
			public static GRAVITY_MERCURY: 3.7;
			public static GRAVITY_MOON: 1.6;
			public static GRAVITY_NEPTUNE: 11.0;
			public static GRAVITY_PLUTO: 0.6;
			public static GRAVITY_SATURN: 8.96;
			public static GRAVITY_SUN: 275.0;
			public static GRAVITY_THE_ISLAND: 4.815162;
			public static GRAVITY_URANUS: 8.69;
			public static GRAVITY_VENUS: 8.87;
			public static LIGHT_CLOUDY: 100.0;
			public static LIGHT_FULLMOON: 0.25;
			public static LIGHT_NO_MOON: 0.001;
			public static LIGHT_OVERCAST: 10000.0;
			public static LIGHT_SHADE: 20000.0;
			public static LIGHT_SUNLIGHT: 110000.0;
			public static LIGHT_SUNLIGHT_MAX: 120000.0;
			public static LIGHT_SUNRISE: 400.0;
			public static MAGNETIC_FIELD_EARTH_MAX: 60.0;
			public static MAGNETIC_FIELD_EARTH_MIN: 30.0;
			public static PRESSURE_STANDARD_ATMOSPHERE: 1013.25;
			public static RAW_DATA_INDEX: 3;
			public static RAW_DATA_X: 3;
			public static RAW_DATA_Y: 4;
			public static RAW_DATA_Z: 5;
			public static SENSOR_ACCELEROMETER: 2;
			public static SENSOR_ALL: 127;
			public static SENSOR_DELAY_FASTEST: 0;
			public static SENSOR_DELAY_GAME: 1;
			public static SENSOR_DELAY_NORMAL: 3;
			public static SENSOR_DELAY_UI: 2;
			public static SENSOR_LIGHT: 16;
			public static SENSOR_MAGNETIC_FIELD: 8;
			public static SENSOR_MAX: 64;
			public static SENSOR_MIN: 1;
			public static SENSOR_ORIENTATION: 1;
			public static SENSOR_ORIENTATION_RAW: 128;
			public static SENSOR_PROXIMITY: 32;
			public static SENSOR_STATUS_ACCURACY_HIGH: 3;
			public static SENSOR_STATUS_ACCURACY_LOW: 1;
			public static SENSOR_STATUS_ACCURACY_MEDIUM: 2;
			public static SENSOR_STATUS_NO_CONTACT: -1;
			public static SENSOR_STATUS_UNRELIABLE: 0;
			public static SENSOR_TEMPERATURE: 4;
			public static SENSOR_TRICORDER: 64;
			public static STANDARD_GRAVITY: 9.80665;
			public getDynamicSensorList(type: number): java.util.List<android.hardware.Sensor>;
			public unregisterListener(listener: android.hardware.SensorEventListener, sensor: android.hardware.Sensor): void;
			public static getOrientation(R: androidNative.Array<number>, values: androidNative.Array<number>): androidNative.Array<number>;
			/** @deprecated */
			public registerListener(listener: android.hardware.SensorListener, sensors: number, rate: number): boolean;
			public createDirectChannel(mem: android.hardware.HardwareBuffer): android.hardware.SensorDirectChannel;
			/** @deprecated */
			public registerListener(listener: android.hardware.SensorListener, sensors: number): boolean;
			public unregisterDynamicSensorCallback(callback: android.hardware.SensorManager.DynamicSensorCallback): void;
			public flush(listener: android.hardware.SensorEventListener): boolean;
			public static getAltitude(p0: number, p: number): number;
			public static getRotationMatrix(R: androidNative.Array<number>, I: androidNative.Array<number>, gravity: androidNative.Array<number>, geomagnetic: androidNative.Array<number>): boolean;
			public requestTriggerSensor(listener: android.hardware.TriggerEventListener, sensor: android.hardware.Sensor): boolean;
			public static getQuaternionFromVector(Q: androidNative.Array<number>, rv: androidNative.Array<number>): void;
			public registerListener(listener: android.hardware.SensorEventListener, sensor: android.hardware.Sensor, samplingPeriodUs: number, handler: android.os.Handler): boolean;
			public static getAngleChange(angleChange: androidNative.Array<number>, R: androidNative.Array<number>, prevR: androidNative.Array<number>): void;
			public getDefaultSensor(type: number, wakeUp: boolean): android.hardware.Sensor;
			public getSensorList(type: number): java.util.List<android.hardware.Sensor>;
			public static getInclination(I: androidNative.Array<number>): number;
			/** @deprecated */
			public getSensors(): number;
			public static remapCoordinateSystem(inR: androidNative.Array<number>, X: number, Y: number, outR: androidNative.Array<number>): boolean;
			public registerListener(listener: android.hardware.SensorEventListener, sensor: android.hardware.Sensor, samplingPeriodUs: number, maxReportLatencyUs: number, handler: android.os.Handler): boolean;
			/** @deprecated */
			public unregisterListener(listener: android.hardware.SensorListener, sensors: number): void;
			public isDynamicSensorDiscoverySupported(): boolean;
			public cancelTriggerSensor(listener: android.hardware.TriggerEventListener, sensor: android.hardware.Sensor): boolean;
			public registerDynamicSensorCallback(callback: android.hardware.SensorManager.DynamicSensorCallback, handler: android.os.Handler): void;
			public registerDynamicSensorCallback(callback: android.hardware.SensorManager.DynamicSensorCallback): void;
			public registerListener(listener: android.hardware.SensorEventListener, sensor: android.hardware.Sensor, samplingPeriodUs: number): boolean;
			public registerListener(listener: android.hardware.SensorEventListener, sensor: android.hardware.Sensor, samplingPeriodUs: number, maxReportLatencyUs: number): boolean;
			public createDirectChannel(mem: android.os.MemoryFile): android.hardware.SensorDirectChannel;
			/** @deprecated */
			public unregisterListener(listener: android.hardware.SensorListener): void;
			public unregisterListener(listener: android.hardware.SensorEventListener): void;
			public getDefaultSensor(type: number): android.hardware.Sensor;
			public static getRotationMatrixFromVector(R: androidNative.Array<number>, rotationVector: androidNative.Array<number>): void;
		}
		export module SensorManager {
			export abstract class DynamicSensorCallback extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.SensorManager.DynamicSensorCallback>;
				public onDynamicSensorConnected(sensor: android.hardware.Sensor): void;
				public constructor();
				public onDynamicSensorDisconnected(sensor: android.hardware.Sensor): void;
			}
		}
	}
}

declare module android {
	export module hardware {
		export class SensorPrivacyManager extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.SensorPrivacyManager>;
			public static TOGGLE_TYPE_HARDWARE: 2;
			public static TOGGLE_TYPE_SOFTWARE: 1;
			public supportsSensorToggle(sensor: number): boolean;
			public supportsSensorToggle(toggleType: number, sensor: number): boolean;
		}
		export module SensorPrivacyManager {
			export class Sensors extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.SensorPrivacyManager.Sensors>;
				public static CAMERA: 2;
				public static MICROPHONE: 1;
			}
		}
	}
}

declare module android {
	export module hardware {
		export class SyncFence extends java.lang.Object implements java.lang.AutoCloseable, android.os.Parcelable {
			public static class: java.lang.Class<android.hardware.SyncFence>;
			public static CREATOR: android.os.Parcelable.Creator<android.hardware.SyncFence>;
			public static SIGNAL_TIME_INVALID: -1;
			public static SIGNAL_TIME_PENDING: 9223372036854775807;
			public await(timeout: java.time.Duration): boolean;
			public awaitForever(): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getSignalTime(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isValid(): boolean;
			public constructor(other: android.hardware.SyncFence);
			public close(): void;
		}
	}
}

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: androidNative.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 BiometricManager extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.biometrics.BiometricManager>;
				public static BIOMETRIC_ERROR_HW_UNAVAILABLE: 1;
				public static BIOMETRIC_ERROR_NONE_ENROLLED: 11;
				public static BIOMETRIC_ERROR_NO_HARDWARE: 12;
				public static BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED: 15;
				public static BIOMETRIC_NO_AUTHENTICATION: -1;
				public static BIOMETRIC_SUCCESS: 0;
				/** @deprecated */
				public canAuthenticate(): number;
				public getLastAuthenticationTime(authenticators: number): number;
				public canAuthenticate(authenticators: number): number;
				public getStrings(authenticators: number): android.hardware.biometrics.BiometricManager.Strings;
			}
			export module BiometricManager {
				export class Authenticators extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricManager.Authenticators>;
					/**
					 * Constructs a new instance of the android.hardware.biometrics.BiometricManager$Authenticators interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static BIOMETRIC_WEAK: 255;
					public static DEVICE_CREDENTIAL: 32768;
					public static BIOMETRIC_STRONG: 15;
				}
				export class Strings extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricManager.Strings>;
					public getSettingName(): string;
					public getPromptMessage(): string;
					public getButtonLabel(): string;
				}
			}
		}
	}
}

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 AUTHENTICATION_RESULT_TYPE_BIOMETRIC: 2;
				public static AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL: 1;
				public static BIOMETRIC_ACQUIRED_GOOD: 0;
				public static BIOMETRIC_ACQUIRED_IMAGER_DIRTY: 3;
				public static BIOMETRIC_ACQUIRED_INSUFFICIENT: 2;
				public static BIOMETRIC_ACQUIRED_PARTIAL: 1;
				public static BIOMETRIC_ACQUIRED_TOO_FAST: 5;
				public static BIOMETRIC_ACQUIRED_TOO_SLOW: 4;
				public static BIOMETRIC_ERROR_CANCELED: 5;
				public static BIOMETRIC_ERROR_HW_NOT_PRESENT: 12;
				public static BIOMETRIC_ERROR_HW_UNAVAILABLE: 1;
				public static BIOMETRIC_ERROR_LOCKOUT: 7;
				public static BIOMETRIC_ERROR_LOCKOUT_PERMANENT: 9;
				public static BIOMETRIC_ERROR_NO_BIOMETRICS: 11;
				public static BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL: 14;
				public static BIOMETRIC_ERROR_NO_SPACE: 4;
				public static BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED: 15;
				public static BIOMETRIC_ERROR_TIMEOUT: 3;
				public static BIOMETRIC_ERROR_UNABLE_TO_PROCESS: 2;
				public static BIOMETRIC_ERROR_USER_CANCELED: 10;
				public static BIOMETRIC_ERROR_VENDOR: 8;
				public static BIOMETRIC_NO_AUTHENTICATION: -1;
				public getLogoBitmap(): android.graphics.Bitmap;
				public authenticate(crypto: android.hardware.biometrics.BiometricPrompt.CryptoObject, cancel: android.os.CancellationSignal, executor: java.util.concurrent.Executor, callback: android.hardware.biometrics.BiometricPrompt.AuthenticationCallback): void;
				public getNegativeButtonText(): string;
				public getLogoRes(): number;
				public authenticate(cancel: android.os.CancellationSignal, executor: java.util.concurrent.Executor, callback: android.hardware.biometrics.BiometricPrompt.AuthenticationCallback): void;
				public getAllowedAuthenticators(): number;
				public isConfirmationRequired(): boolean;
				public getSubtitle(): string;
				public getDescription(): string;
				public getLogoDescription(): string;
				public getContentView(): android.hardware.biometrics.PromptContentView;
				public getTitle(): string;
			}
			export module BiometricPrompt {
				export abstract class AuthenticationCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricPrompt.AuthenticationCallback>;
					public onAuthenticationError(errorCode: number, errString: string): void;
					public constructor();
					public onAuthenticationHelp(helpCode: number, helpString: string): void;
					public onAuthenticationSucceeded(result: android.hardware.biometrics.BiometricPrompt.AuthenticationResult): void;
					public onAuthenticationFailed(): void;
				}
				export class AuthenticationResult extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricPrompt.AuthenticationResult>;
					public getAuthenticationType(): number;
					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 constructor(context: android.content.Context);
					public setSubtitle(subtitle: string): android.hardware.biometrics.BiometricPrompt.Builder;
					public setContentView(view: android.hardware.biometrics.PromptContentView): android.hardware.biometrics.BiometricPrompt.Builder;
					public setLogoDescription(logoDescription: string): android.hardware.biometrics.BiometricPrompt.Builder;
					public setAllowedAuthenticators(authenticators: number): android.hardware.biometrics.BiometricPrompt.Builder;
					public setDescription(description: string): android.hardware.biometrics.BiometricPrompt.Builder;
					public setTitle(title: string): android.hardware.biometrics.BiometricPrompt.Builder;
					/** @deprecated */
					public setDeviceCredentialAllowed(allowed: boolean): android.hardware.biometrics.BiometricPrompt.Builder;
					public setNegativeButton(text: string, executor: java.util.concurrent.Executor, listener: android.content.DialogInterface.OnClickListener): android.hardware.biometrics.BiometricPrompt.Builder;
					public build(): android.hardware.biometrics.BiometricPrompt;
					public setConfirmationRequired(requireConfirmation: boolean): android.hardware.biometrics.BiometricPrompt.Builder;
					public setLogoRes(logoRes: number): android.hardware.biometrics.BiometricPrompt.Builder;
					public setLogoBitmap(logoBitmap: android.graphics.Bitmap): android.hardware.biometrics.BiometricPrompt.Builder;
				}
				export class CryptoObject extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricPrompt.CryptoObject>;
					public getOperationHandle(): number;
					public getPresentationSession(): android.security.identity.PresentationSession;
					/** @deprecated */
					public constructor(credential: android.security.identity.IdentityCredential);
					public getCipher(): javax.crypto.Cipher;
					/** @deprecated */
					public getIdentityCredential(): android.security.identity.IdentityCredential;
					public constructor(signature: java.security.Signature);
					public constructor(cipher: javax.crypto.Cipher);
					public getSignature(): java.security.Signature;
					public constructor(mac: javax.crypto.Mac);
					public constructor(session: android.security.identity.PresentationSession);
					public constructor(operationHandle: number);
					public getMac(): javax.crypto.Mac;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module biometrics {
			export class PromptContentItem extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.biometrics.PromptContentItem>;
				/**
				 * Constructs a new instance of the android.hardware.biometrics.PromptContentItem 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 hardware {
		export module biometrics {
			export class PromptContentItemBulletedText extends java.lang.Object implements android.hardware.biometrics.PromptContentItem, android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.biometrics.PromptContentItemBulletedText>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.biometrics.PromptContentItemBulletedText>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(text: string);
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module biometrics {
			export class PromptContentItemPlainText extends java.lang.Object implements android.hardware.biometrics.PromptContentItem, android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.biometrics.PromptContentItemPlainText>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.biometrics.PromptContentItemPlainText>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(text: string);
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module biometrics {
			export class PromptContentView extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.biometrics.PromptContentView>;
				/**
				 * Constructs a new instance of the android.hardware.biometrics.PromptContentView 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 hardware {
		export module biometrics {
			export class PromptContentViewWithMoreOptionsButton extends java.lang.Object implements android.hardware.biometrics.PromptContentView, android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.biometrics.PromptContentViewWithMoreOptionsButton>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.biometrics.PromptContentViewWithMoreOptionsButton>;
				public getMoreOptionsButtonListener(): android.content.DialogInterface.OnClickListener;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getDescription(): string;
			}
			export module PromptContentViewWithMoreOptionsButton {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.PromptContentViewWithMoreOptionsButton.Builder>;
					public build(): android.hardware.biometrics.PromptContentViewWithMoreOptionsButton;
					public constructor();
					public setMoreOptionsButtonListener(executor: java.util.concurrent.Executor, listener: android.content.DialogInterface.OnClickListener): android.hardware.biometrics.PromptContentViewWithMoreOptionsButton.Builder;
					public setDescription(description: string): android.hardware.biometrics.PromptContentViewWithMoreOptionsButton.Builder;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module biometrics {
			export class PromptVerticalListContentView extends java.lang.Object implements android.hardware.biometrics.PromptContentView, android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.biometrics.PromptVerticalListContentView>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.biometrics.PromptVerticalListContentView>;
				public getListItems(): java.util.List<android.hardware.biometrics.PromptContentItem>;
				public static getMaxEachItemCharacterNumber(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public static getMaxItemCount(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getDescription(): string;
			}
			export module PromptVerticalListContentView {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.PromptVerticalListContentView.Builder>;
					public setDescription(description: string): android.hardware.biometrics.PromptVerticalListContentView.Builder;
					public addListItem(listItem: android.hardware.biometrics.PromptContentItem): android.hardware.biometrics.PromptVerticalListContentView.Builder;
					public addListItem(listItem: android.hardware.biometrics.PromptContentItem, index: number): android.hardware.biometrics.PromptVerticalListContentView.Builder;
					public build(): android.hardware.biometrics.PromptVerticalListContentView;
					public constructor();
				}
			}
		}
	}
}

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: 1;
				public static CAMERA_DISCONNECTED: 2;
				public static CAMERA_ERROR: 3;
				public static CAMERA_IN_USE: 4;
				public static MAX_CAMERAS_IN_USE: 5;
				public constructor(cause: java.lang.Throwable);
				public constructor(name: string);
				public constructor(problem: number, message: string, cause: java.lang.Throwable);
				public constructor(problem: number, message: string);
				public getReason(): number;
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(name: string, cause: java.lang.Throwable);
				public constructor(problem: number);
				public constructor();
				public constructor(cause: java.lang.Exception);
				public constructor(problem: number, cause: 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 updateOutputConfiguration(config: android.hardware.camera2.params.OutputConfiguration): void;
				public setRepeatingBurst(param0: java.util.List<android.hardware.camera2.CaptureRequest>, param1: android.hardware.camera2.CameraCaptureSession.CaptureCallback, param2: android.os.Handler): number;
				public supportsOfflineProcessing(surface: android.view.Surface): boolean;
				public close(): void;
				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(requests: java.util.List<android.hardware.camera2.CaptureRequest>, executor: java.util.concurrent.Executor, listener: android.hardware.camera2.CameraCaptureSession.CaptureCallback): number;
				public prepare(param0: android.view.Surface): void;
				public setSingleRepeatingRequest(request: android.hardware.camera2.CaptureRequest, executor: java.util.concurrent.Executor, listener: android.hardware.camera2.CameraCaptureSession.CaptureCallback): number;
				public isReprocessable(): boolean;
				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 switchToOffline(offlineSurfaces: java.util.Collection<android.view.Surface>, executor: java.util.concurrent.Executor, listener: android.hardware.camera2.CameraOfflineSession.CameraOfflineSessionCallback): android.hardware.camera2.CameraOfflineSession;
				public captureBurstRequests(requests: java.util.List<android.hardware.camera2.CaptureRequest>, executor: java.util.concurrent.Executor, listener: android.hardware.camera2.CameraCaptureSession.CaptureCallback): number;
				public abortCaptures(): void;
				public captureSingleRequest(request: android.hardware.camera2.CaptureRequest, executor: java.util.concurrent.Executor, listener: android.hardware.camera2.CameraCaptureSession.CaptureCallback): number;
			}
			export module CameraCaptureSession {
				export abstract class CaptureCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraCaptureSession.CaptureCallback>;
					public onCaptureFailed(session: android.hardware.camera2.CameraCaptureSession, request: android.hardware.camera2.CaptureRequest, failure: android.hardware.camera2.CaptureFailure): void;
					public onCaptureBufferLost(session: android.hardware.camera2.CameraCaptureSession, request: android.hardware.camera2.CaptureRequest, target: android.view.Surface, frameNumber: number): void;
					public onCaptureStarted(session: android.hardware.camera2.CameraCaptureSession, request: android.hardware.camera2.CaptureRequest, timestamp: number, frameNumber: number): void;
					public constructor();
					public onReadoutStarted(session: android.hardware.camera2.CameraCaptureSession, request: android.hardware.camera2.CaptureRequest, timestamp: number, frameNumber: number): void;
					public onCaptureProgressed(session: android.hardware.camera2.CameraCaptureSession, request: android.hardware.camera2.CaptureRequest, partialResult: android.hardware.camera2.CaptureResult): void;
					public onCaptureSequenceCompleted(session: android.hardware.camera2.CameraCaptureSession, sequenceId: number, frameNumber: number): void;
					public onCaptureCompleted(session: android.hardware.camera2.CameraCaptureSession, request: android.hardware.camera2.CaptureRequest, result: android.hardware.camera2.TotalCaptureResult): void;
					public onCaptureSequenceAborted(session: android.hardware.camera2.CameraCaptureSession, sequenceId: number): void;
				}
				export abstract class StateCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraCaptureSession.StateCallback>;
					public onSurfacePrepared(session: android.hardware.camera2.CameraCaptureSession, surface: android.view.Surface): void;
					public constructor();
					public onConfigured(param0: android.hardware.camera2.CameraCaptureSession): void;
					public onCaptureQueueEmpty(session: android.hardware.camera2.CameraCaptureSession): void;
					public onReady(session: android.hardware.camera2.CameraCaptureSession): void;
					public onClosed(session: android.hardware.camera2.CameraCaptureSession): void;
					public onActive(session: 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 AUTOMOTIVE_LENS_FACING: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static AUTOMOTIVE_LOCATION: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AE_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.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<androidNative.Array<number>>;
				public static CONTROL_AUTOFRAMING_AVAILABLE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean>;
				public static CONTROL_AVAILABLE_EFFECTS: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_CAPABILITIES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<android.hardware.camera2.params.Capability>>;
				public static CONTROL_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AVAILABLE_SCENE_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AVAILABLE_SETTINGS_OVERRIDES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AWB_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static CONTROL_AWB_LOCK_AVAILABLE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean>;
				public static CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE: android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Float>>;
				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 CONTROL_ZOOM_RATIO_RANGE: android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Float>>;
				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<androidNative.Array<number>>;
				public static EDGE_AVAILABLE_EDGE_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static FLASH_INFO_AVAILABLE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean>;
				public static FLASH_INFO_STRENGTH_DEFAULT_LEVEL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static FLASH_SINGLE_STRENGTH_MAX_LEVEL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static FLASH_TORCH_STRENGTH_DEFAULT_LEVEL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static FLASH_TORCH_STRENGTH_MAX_LEVEL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static INFO_DEVICE_STATE_SENSOR_ORIENTATION_MAP: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.DeviceStateSensorOrientationMap>;
				public static INFO_SESSION_CONFIGURATION_QUERY_VERSION: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				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<androidNative.Array<any>>;
				public static LENS_DISTORTION: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static LENS_DISTORTION_MAXIMUM_RESOLUTION: android.hardware.camera2.CameraCharacteristics.Key<androidNative.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<androidNative.Array<number>>;
				public static LENS_INFO_AVAILABLE_FILTER_DENSITIES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static LENS_INFO_AVAILABLE_FOCAL_LENGTHS: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: android.hardware.camera2.CameraCharacteristics.Key<androidNative.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<androidNative.Array<number>>;
				public static LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION: android.hardware.camera2.CameraCharacteristics.Key<androidNative.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<androidNative.Array<number>>;
				public static LENS_POSE_TRANSLATION: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static LENS_RADIAL_DISTORTION: android.hardware.camera2.CameraCharacteristics.Key<androidNative.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<androidNative.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<androidNative.Array<number>>;
				public static REQUEST_AVAILABLE_COLOR_SPACE_PROFILES: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceProfiles>;
				public static REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.DynamicRangeProfiles>;
				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 REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Long>;
				public static SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float>;
				public static SCALER_AVAILABLE_ROTATE_AND_CROP_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static SCALER_AVAILABLE_STREAM_USE_CASES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static SCALER_CROPPING_TYPE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SCALER_DEFAULT_SECURE_IMAGE_SIZE: android.hardware.camera2.CameraCharacteristics.Key<any>;
				public static SCALER_MANDATORY_CONCURRENT_STREAM_COMBINATIONS: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<android.hardware.camera2.params.MandatoryStreamCombination>>;
				public static SCALER_MANDATORY_MAXIMUM_RESOLUTION_STREAM_COMBINATIONS: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<android.hardware.camera2.params.MandatoryStreamCombination>>;
				public static SCALER_MANDATORY_PREVIEW_STABILIZATION_OUTPUT_STREAM_COMBINATIONS: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<android.hardware.camera2.params.MandatoryStreamCombination>>;
				public static SCALER_MANDATORY_STREAM_COMBINATIONS: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<android.hardware.camera2.params.MandatoryStreamCombination>>;
				public static SCALER_MANDATORY_TEN_BIT_OUTPUT_STREAM_COMBINATIONS: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<android.hardware.camera2.params.MandatoryStreamCombination>>;
				public static SCALER_MANDATORY_USE_CASE_STREAM_COMBINATIONS: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<android.hardware.camera2.params.MandatoryStreamCombination>>;
				public static SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MultiResolutionStreamConfigurationMap>;
				public static SCALER_STREAM_CONFIGURATION_MAP: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap>;
				public static SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap>;
				public static SENSOR_AVAILABLE_TEST_PATTERN_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.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_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect>;
				public static SENSOR_INFO_BINNING_FACTOR: android.hardware.camera2.CameraCharacteristics.Key<any>;
				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_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION: 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_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: 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<androidNative.Array<android.graphics.Rect>>;
				public static SENSOR_ORIENTATION: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SENSOR_READOUT_TIMESTAMP: 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<androidNative.Array<number>>;
				public static STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<boolean>>;
				public static STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.Array<number>>;
				public static STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: android.hardware.camera2.CameraCharacteristics.Key<androidNative.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<androidNative.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 getAvailableSessionCharacteristicsKeys(): java.util.List<android.hardware.camera2.CameraCharacteristics.Key<any>>;
				public getAvailableCaptureResultKeys(): java.util.List<android.hardware.camera2.CaptureResult.Key<any>>;
				public get(key: android.hardware.camera2.CameraCharacteristics.Key<any>): any;
				public getAvailableCaptureRequestKeys(): java.util.List<android.hardware.camera2.CaptureRequest.Key<any>>;
				public getRecommendedStreamConfigurationMap(usecase: number): android.hardware.camera2.params.RecommendedStreamConfigurationMap;
				public getPhysicalCameraIds(): java.util.Set<string>;
				public getKeys(): java.util.List<android.hardware.camera2.CameraCharacteristics.Key<any>>;
				public getKeysNeedingPermission(): 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 constructor(name: string, type: java.lang.Class<T>);
					public toString(): string;
					public getName(): string;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

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 AUDIO_RESTRICTION_NONE: 0;
				public static AUDIO_RESTRICTION_VIBRATION: 1;
				public static AUDIO_RESTRICTION_VIBRATION_SOUND: 3;
				public static TEMPLATE_MANUAL: 6;
				public static TEMPLATE_PREVIEW: 1;
				public static TEMPLATE_RECORD: 3;
				public static TEMPLATE_STILL_CAPTURE: 2;
				public static TEMPLATE_VIDEO_SNAPSHOT: 4;
				public static TEMPLATE_ZERO_SHUTTER_LAG: 5;
				public close(): void;
				public getId(): string;
				public createExtensionSession(extensionConfiguration: android.hardware.camera2.params.ExtensionSessionConfiguration): void;
				public getCameraAudioRestriction(): number;
				/** @deprecated */
				public createCaptureSession(param0: java.util.List<android.view.Surface>, param1: android.hardware.camera2.CameraCaptureSession.StateCallback, param2: android.os.Handler): void;
				/** @deprecated */
				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;
				/** @deprecated */
				public createConstrainedHighSpeedCaptureSession(param0: java.util.List<android.view.Surface>, param1: android.hardware.camera2.CameraCaptureSession.StateCallback, param2: android.os.Handler): void;
				public setCameraAudioRestriction(mode: number): void;
				/** @deprecated */
				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 isSessionConfigurationSupported(sessionConfig: android.hardware.camera2.params.SessionConfiguration): boolean;
				public createCaptureRequest(param0: number): android.hardware.camera2.CaptureRequest.Builder;
				public createCaptureRequest(templateType: number, physicalCameraIdSet: java.util.Set<string>): android.hardware.camera2.CaptureRequest.Builder;
				public createCaptureSession(config: android.hardware.camera2.params.SessionConfiguration): void;
				public createReprocessCaptureRequest(param0: android.hardware.camera2.TotalCaptureResult): android.hardware.camera2.CaptureRequest.Builder;
				/** @deprecated */
				public createCaptureSessionByOutputConfigurations(param0: java.util.List<android.hardware.camera2.params.OutputConfiguration>, param1: android.hardware.camera2.CameraCaptureSession.StateCallback, param2: android.os.Handler): void;
			}
			export module CameraDevice {
				export abstract class CameraDeviceSetup extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraDevice.CameraDeviceSetup>;
					public getId(): string;
					public openCamera(param0: java.util.concurrent.Executor, param1: android.hardware.camera2.CameraDevice.StateCallback): void;
					public isSessionConfigurationSupported(param0: android.hardware.camera2.params.SessionConfiguration): boolean;
					public createCaptureRequest(param0: number): android.hardware.camera2.CaptureRequest.Builder;
					public getSessionCharacteristics(param0: android.hardware.camera2.params.SessionConfiguration): android.hardware.camera2.CameraCharacteristics;
				}
				export abstract class StateCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraDevice.StateCallback>;
					public static ERROR_CAMERA_DEVICE: 4;
					public static ERROR_CAMERA_DISABLED: 3;
					public static ERROR_CAMERA_IN_USE: 1;
					public static ERROR_CAMERA_SERVICE: 5;
					public static ERROR_MAX_CAMERAS_IN_USE: 2;
					public onDisconnected(param0: android.hardware.camera2.CameraDevice): void;
					public onOpened(param0: android.hardware.camera2.CameraDevice): void;
					public onClosed(camera: android.hardware.camera2.CameraDevice): void;
					public constructor();
					public onError(param0: android.hardware.camera2.CameraDevice, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class CameraExtensionCharacteristics extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.camera2.CameraExtensionCharacteristics>;
				public static EXTENSION_AUTOMATIC: 0;
				public static EXTENSION_BEAUTY: 1;
				public static EXTENSION_BOKEH: 2;
				public static EXTENSION_FACE_RETOUCH: 1;
				public static EXTENSION_HDR: 3;
				public static EXTENSION_NIGHT: 4;
				public getKeys(extension: number): java.util.Set<android.hardware.camera2.CameraCharacteristics.Key<any>>;
				public getExtensionSupportedSizes(extension: number, format: number): java.util.List<any>;
				public getSupportedExtensions(): java.util.List<java.lang.Integer>;
				public getAvailableCaptureRequestKeys(extension: number): java.util.Set<android.hardware.camera2.CaptureRequest.Key<any>>;
				public getPostviewSupportedSizes(extension: number, captureSize: any, format: number): java.util.List<any>;
				public isPostviewAvailable(extension: number): boolean;
				public getAvailableCaptureResultKeys(extension: number): java.util.Set<android.hardware.camera2.CaptureResult.Key<any>>;
				public isCaptureProcessProgressAvailable(extension: number): boolean;
				public get(extension: number, key: android.hardware.camera2.CameraCharacteristics.Key<any>): any;
				public getEstimatedCaptureLatencyRangeMillis(extension: number, captureOutputSize: any, format: number): android.util.Range<java.lang.Long>;
				public getExtensionSupportedSizes(extension: number, klass: java.lang.Class<any>): java.util.List<any>;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export abstract class CameraExtensionSession extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.hardware.camera2.CameraExtensionSession>;
				public stopRepeating(): void;
				public setRepeatingRequest(request: android.hardware.camera2.CaptureRequest, executor: java.util.concurrent.Executor, listener: android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback): number;
				public close(): void;
				public getDevice(): android.hardware.camera2.CameraDevice;
				public capture(request: android.hardware.camera2.CaptureRequest, executor: java.util.concurrent.Executor, listener: android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback): number;
				public getRealtimeStillCaptureLatency(): android.hardware.camera2.CameraExtensionSession.StillCaptureLatency;
			}
			export module CameraExtensionSession {
				export abstract class ExtensionCaptureCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback>;
					public onCaptureSequenceAborted(session: android.hardware.camera2.CameraExtensionSession, sequenceId: number): void;
					public onCaptureFailed(session: android.hardware.camera2.CameraExtensionSession, request: android.hardware.camera2.CaptureRequest, failure: number): void;
					public onCaptureSequenceCompleted(session: android.hardware.camera2.CameraExtensionSession, sequenceId: number): void;
					public onCaptureStarted(session: android.hardware.camera2.CameraExtensionSession, request: android.hardware.camera2.CaptureRequest, timestamp: number): void;
					public onCaptureProcessProgressed(session: android.hardware.camera2.CameraExtensionSession, request: android.hardware.camera2.CaptureRequest, progress: number): void;
					public constructor();
					public onCaptureProcessStarted(session: android.hardware.camera2.CameraExtensionSession, request: android.hardware.camera2.CaptureRequest): void;
					public onCaptureFailed(session: android.hardware.camera2.CameraExtensionSession, request: android.hardware.camera2.CaptureRequest): void;
					public onCaptureResultAvailable(session: android.hardware.camera2.CameraExtensionSession, request: android.hardware.camera2.CaptureRequest, result: android.hardware.camera2.TotalCaptureResult): void;
				}
				export abstract class StateCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraExtensionSession.StateCallback>;
					public constructor();
					public onConfigured(param0: android.hardware.camera2.CameraExtensionSession): void;
					public onClosed(session: android.hardware.camera2.CameraExtensionSession): void;
					public onConfigureFailed(param0: android.hardware.camera2.CameraExtensionSession): void;
				}
				export class StillCaptureLatency extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraExtensionSession.StillCaptureLatency>;
					public getCaptureLatency(): number;
					public toString(): string;
					public constructor(captureLatency: number, processingLatency: number);
					public equals(o: any): boolean;
					public hashCode(): number;
					public getProcessingLatency(): number;
				}
			}
		}
	}
}

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 getConcurrentCameraIds(): java.util.Set<java.util.Set<string>>;
				public registerTorchCallback(executor: java.util.concurrent.Executor, callback: android.hardware.camera2.CameraManager.TorchCallback): void;
				public unregisterTorchCallback(callback: android.hardware.camera2.CameraManager.TorchCallback): void;
				public getTorchStrengthLevel(cameraId: string): number;
				public registerAvailabilityCallback(callback: android.hardware.camera2.CameraManager.AvailabilityCallback, handler: android.os.Handler): void;
				public getCameraDeviceSetup(cameraId: string): android.hardware.camera2.CameraDevice.CameraDeviceSetup;
				public getCameraExtensionCharacteristics(cameraId: string): android.hardware.camera2.CameraExtensionCharacteristics;
				public openCamera(cameraId: string, executor: java.util.concurrent.Executor, callback: android.hardware.camera2.CameraDevice.StateCallback): void;
				public unregisterAvailabilityCallback(callback: android.hardware.camera2.CameraManager.AvailabilityCallback): void;
				public registerTorchCallback(callback: android.hardware.camera2.CameraManager.TorchCallback, handler: android.os.Handler): void;
				public isCameraDeviceSetupSupported(cameraId: string): boolean;
				public turnOnTorchWithStrengthLevel(cameraId: string, torchStrength: number): void;
				public isConcurrentSessionConfigurationSupported(cameraIdAndSessionConfig: java.util.Map<string,android.hardware.camera2.params.SessionConfiguration>): boolean;
				public openCamera(cameraId: string, callback: android.hardware.camera2.CameraDevice.StateCallback, handler: android.os.Handler): void;
				public setTorchMode(cameraId: string, enabled: boolean): void;
				public getCameraIdList(): androidNative.Array<string>;
				public getCameraCharacteristics(cameraId: string): android.hardware.camera2.CameraCharacteristics;
				public registerAvailabilityCallback(executor: java.util.concurrent.Executor, callback: android.hardware.camera2.CameraManager.AvailabilityCallback): void;
			}
			export module CameraManager {
				export abstract class AvailabilityCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraManager.AvailabilityCallback>;
					public onPhysicalCameraAvailable(cameraId: string, physicalCameraId: string): void;
					public onPhysicalCameraUnavailable(cameraId: string, physicalCameraId: string): void;
					public constructor();
					public onCameraAvailable(cameraId: string): void;
					public onCameraUnavailable(cameraId: string): void;
					public onCameraAccessPrioritiesChanged(): void;
				}
				export abstract class TorchCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraManager.TorchCallback>;
					public onTorchModeUnavailable(cameraId: string): void;
					public constructor();
					public onTorchStrengthLevelChanged(cameraId: string, newStrengthLevel: number): void;
					public onTorchModeChanged(cameraId: string, enabled: 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 AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT: 1;
				public static AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT: 3;
				public static AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER: 0;
				public static AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR: 2;
				public static AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT: 4;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER: 5;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER: 7;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT: 6;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT: 8;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER: 10;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT: 9;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT: 11;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER: 13;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT: 12;
				public static AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT: 14;
				public static AUTOMOTIVE_LOCATION_EXTERIOR_FRONT: 2;
				public static AUTOMOTIVE_LOCATION_EXTERIOR_LEFT: 4;
				public static AUTOMOTIVE_LOCATION_EXTERIOR_OTHER: 1;
				public static AUTOMOTIVE_LOCATION_EXTERIOR_REAR: 3;
				public static AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT: 5;
				public static AUTOMOTIVE_LOCATION_EXTRA_FRONT: 7;
				public static AUTOMOTIVE_LOCATION_EXTRA_LEFT: 9;
				public static AUTOMOTIVE_LOCATION_EXTRA_OTHER: 6;
				public static AUTOMOTIVE_LOCATION_EXTRA_REAR: 8;
				public static AUTOMOTIVE_LOCATION_EXTRA_RIGHT: 10;
				public static AUTOMOTIVE_LOCATION_INTERIOR: 0;
				public static COLOR_CORRECTION_ABERRATION_MODE_FAST: 1;
				public static COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY: 2;
				public static COLOR_CORRECTION_ABERRATION_MODE_OFF: 0;
				public static COLOR_CORRECTION_MODE_FAST: 1;
				public static COLOR_CORRECTION_MODE_HIGH_QUALITY: 2;
				public static COLOR_CORRECTION_MODE_TRANSFORM_MATRIX: 0;
				public static CONTROL_AE_ANTIBANDING_MODE_50HZ: 1;
				public static CONTROL_AE_ANTIBANDING_MODE_60HZ: 2;
				public static CONTROL_AE_ANTIBANDING_MODE_AUTO: 3;
				public static CONTROL_AE_ANTIBANDING_MODE_OFF: 0;
				public static CONTROL_AE_MODE_OFF: 0;
				public static CONTROL_AE_MODE_ON: 1;
				public static CONTROL_AE_MODE_ON_ALWAYS_FLASH: 3;
				public static CONTROL_AE_MODE_ON_AUTO_FLASH: 2;
				public static CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE: 4;
				public static CONTROL_AE_MODE_ON_EXTERNAL_FLASH: 5;
				public static CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY: 6;
				public static CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL: 2;
				public static CONTROL_AE_PRECAPTURE_TRIGGER_IDLE: 0;
				public static CONTROL_AE_PRECAPTURE_TRIGGER_START: 1;
				public static CONTROL_AE_STATE_CONVERGED: 2;
				public static CONTROL_AE_STATE_FLASH_REQUIRED: 4;
				public static CONTROL_AE_STATE_INACTIVE: 0;
				public static CONTROL_AE_STATE_LOCKED: 3;
				public static CONTROL_AE_STATE_PRECAPTURE: 5;
				public static CONTROL_AE_STATE_SEARCHING: 1;
				public static CONTROL_AF_MODE_AUTO: 1;
				public static CONTROL_AF_MODE_CONTINUOUS_PICTURE: 4;
				public static CONTROL_AF_MODE_CONTINUOUS_VIDEO: 3;
				public static CONTROL_AF_MODE_EDOF: 5;
				public static CONTROL_AF_MODE_MACRO: 2;
				public static CONTROL_AF_MODE_OFF: 0;
				public static CONTROL_AF_SCENE_CHANGE_DETECTED: 1;
				public static CONTROL_AF_SCENE_CHANGE_NOT_DETECTED: 0;
				public static CONTROL_AF_STATE_ACTIVE_SCAN: 3;
				public static CONTROL_AF_STATE_FOCUSED_LOCKED: 4;
				public static CONTROL_AF_STATE_INACTIVE: 0;
				public static CONTROL_AF_STATE_NOT_FOCUSED_LOCKED: 5;
				public static CONTROL_AF_STATE_PASSIVE_FOCUSED: 2;
				public static CONTROL_AF_STATE_PASSIVE_SCAN: 1;
				public static CONTROL_AF_STATE_PASSIVE_UNFOCUSED: 6;
				public static CONTROL_AF_TRIGGER_CANCEL: 2;
				public static CONTROL_AF_TRIGGER_IDLE: 0;
				public static CONTROL_AF_TRIGGER_START: 1;
				public static CONTROL_AUTOFRAMING_OFF: 0;
				public static CONTROL_AUTOFRAMING_ON: 1;
				public static CONTROL_AUTOFRAMING_STATE_CONVERGED: 2;
				public static CONTROL_AUTOFRAMING_STATE_FRAMING: 1;
				public static CONTROL_AUTOFRAMING_STATE_INACTIVE: 0;
				public static CONTROL_AWB_MODE_AUTO: 1;
				public static CONTROL_AWB_MODE_CLOUDY_DAYLIGHT: 6;
				public static CONTROL_AWB_MODE_DAYLIGHT: 5;
				public static CONTROL_AWB_MODE_FLUORESCENT: 3;
				public static CONTROL_AWB_MODE_INCANDESCENT: 2;
				public static CONTROL_AWB_MODE_OFF: 0;
				public static CONTROL_AWB_MODE_SHADE: 8;
				public static CONTROL_AWB_MODE_TWILIGHT: 7;
				public static CONTROL_AWB_MODE_WARM_FLUORESCENT: 4;
				public static CONTROL_AWB_STATE_CONVERGED: 2;
				public static CONTROL_AWB_STATE_INACTIVE: 0;
				public static CONTROL_AWB_STATE_LOCKED: 3;
				public static CONTROL_AWB_STATE_SEARCHING: 1;
				public static CONTROL_CAPTURE_INTENT_CUSTOM: 0;
				public static CONTROL_CAPTURE_INTENT_MANUAL: 6;
				public static CONTROL_CAPTURE_INTENT_MOTION_TRACKING: 7;
				public static CONTROL_CAPTURE_INTENT_PREVIEW: 1;
				public static CONTROL_CAPTURE_INTENT_STILL_CAPTURE: 2;
				public static CONTROL_CAPTURE_INTENT_VIDEO_RECORD: 3;
				public static CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT: 4;
				public static CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG: 5;
				public static CONTROL_EFFECT_MODE_AQUA: 8;
				public static CONTROL_EFFECT_MODE_BLACKBOARD: 7;
				public static CONTROL_EFFECT_MODE_MONO: 1;
				public static CONTROL_EFFECT_MODE_NEGATIVE: 2;
				public static CONTROL_EFFECT_MODE_OFF: 0;
				public static CONTROL_EFFECT_MODE_POSTERIZE: 5;
				public static CONTROL_EFFECT_MODE_SEPIA: 4;
				public static CONTROL_EFFECT_MODE_SOLARIZE: 3;
				public static CONTROL_EFFECT_MODE_WHITEBOARD: 6;
				public static CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS: 2;
				public static CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE: 1;
				public static CONTROL_EXTENDED_SCENE_MODE_DISABLED: 0;
				public static CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE: 1;
				public static CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE: 0;
				public static CONTROL_MODE_AUTO: 1;
				public static CONTROL_MODE_OFF: 0;
				public static CONTROL_MODE_OFF_KEEP_STATE: 3;
				public static CONTROL_MODE_USE_EXTENDED_SCENE_MODE: 4;
				public static CONTROL_MODE_USE_SCENE_MODE: 2;
				public static CONTROL_SCENE_MODE_ACTION: 2;
				public static CONTROL_SCENE_MODE_BARCODE: 16;
				public static CONTROL_SCENE_MODE_BEACH: 8;
				public static CONTROL_SCENE_MODE_CANDLELIGHT: 15;
				public static CONTROL_SCENE_MODE_DISABLED: 0;
				public static CONTROL_SCENE_MODE_FACE_PRIORITY: 1;
				public static CONTROL_SCENE_MODE_FIREWORKS: 12;
				public static CONTROL_SCENE_MODE_HDR: 18;
				public static CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO: 17;
				public static CONTROL_SCENE_MODE_LANDSCAPE: 4;
				public static CONTROL_SCENE_MODE_NIGHT: 5;
				public static CONTROL_SCENE_MODE_NIGHT_PORTRAIT: 6;
				public static CONTROL_SCENE_MODE_PARTY: 14;
				public static CONTROL_SCENE_MODE_PORTRAIT: 3;
				public static CONTROL_SCENE_MODE_SNOW: 9;
				public static CONTROL_SCENE_MODE_SPORTS: 13;
				public static CONTROL_SCENE_MODE_STEADYPHOTO: 11;
				public static CONTROL_SCENE_MODE_SUNSET: 10;
				public static CONTROL_SCENE_MODE_THEATRE: 7;
				public static CONTROL_SETTINGS_OVERRIDE_OFF: 0;
				public static CONTROL_SETTINGS_OVERRIDE_ZOOM: 1;
				public static CONTROL_VIDEO_STABILIZATION_MODE_OFF: 0;
				public static CONTROL_VIDEO_STABILIZATION_MODE_ON: 1;
				public static CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION: 2;
				public static DISTORTION_CORRECTION_MODE_FAST: 1;
				public static DISTORTION_CORRECTION_MODE_HIGH_QUALITY: 2;
				public static DISTORTION_CORRECTION_MODE_OFF: 0;
				public static EDGE_MODE_FAST: 1;
				public static EDGE_MODE_HIGH_QUALITY: 2;
				public static EDGE_MODE_OFF: 0;
				public static EDGE_MODE_ZERO_SHUTTER_LAG: 3;
				public static FLASH_MODE_OFF: 0;
				public static FLASH_MODE_SINGLE: 1;
				public static FLASH_MODE_TORCH: 2;
				public static FLASH_STATE_CHARGING: 1;
				public static FLASH_STATE_FIRED: 3;
				public static FLASH_STATE_PARTIAL: 4;
				public static FLASH_STATE_READY: 2;
				public static FLASH_STATE_UNAVAILABLE: 0;
				public static HOT_PIXEL_MODE_FAST: 1;
				public static HOT_PIXEL_MODE_HIGH_QUALITY: 2;
				public static HOT_PIXEL_MODE_OFF: 0;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_3: 3;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL: 4;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_FULL: 1;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY: 2;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED: 0;
				public static LENS_FACING_BACK: 1;
				public static LENS_FACING_EXTERNAL: 2;
				public static LENS_FACING_FRONT: 0;
				public static LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE: 1;
				public static LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED: 2;
				public static LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED: 0;
				public static LENS_OPTICAL_STABILIZATION_MODE_OFF: 0;
				public static LENS_OPTICAL_STABILIZATION_MODE_ON: 1;
				public static LENS_POSE_REFERENCE_AUTOMOTIVE: 3;
				public static LENS_POSE_REFERENCE_GYROSCOPE: 1;
				public static LENS_POSE_REFERENCE_PRIMARY_CAMERA: 0;
				public static LENS_POSE_REFERENCE_UNDEFINED: 2;
				public static LENS_STATE_MOVING: 1;
				public static LENS_STATE_STATIONARY: 0;
				public static LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE: 0;
				public static LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED: 1;
				public static NOISE_REDUCTION_MODE_FAST: 1;
				public static NOISE_REDUCTION_MODE_HIGH_QUALITY: 2;
				public static NOISE_REDUCTION_MODE_MINIMAL: 3;
				public static NOISE_REDUCTION_MODE_OFF: 0;
				public static NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG: 4;
				public static REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE: 0;
				public static REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE: 6;
				public static REQUEST_AVAILABLE_CAPABILITIES_COLOR_SPACE_PROFILES: 20;
				public static REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO: 9;
				public static REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT: 8;
				public static REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT: 18;
				public static REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA: 11;
				public static REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING: 2;
				public static REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR: 1;
				public static REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME: 12;
				public static REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING: 10;
				public static REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING: 15;
				public static REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING: 4;
				public static REQUEST_AVAILABLE_CAPABILITIES_RAW: 3;
				public static REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS: 5;
				public static REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING: 17;
				public static REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA: 13;
				public static REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE: 19;
				public static REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA: 14;
				public static REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR: 16;
				public static REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING: 7;
				public static SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW: 6;
				public static SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT: 0;
				public static SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW: 1;
				public static SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL: 4;
				public static SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE: 2;
				public static SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL: 5;
				public static SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD: 3;
				public static SCALER_CROPPING_TYPE_CENTER_ONLY: 0;
				public static SCALER_CROPPING_TYPE_FREEFORM: 1;
				public static SCALER_ROTATE_AND_CROP_180: 2;
				public static SCALER_ROTATE_AND_CROP_270: 3;
				public static SCALER_ROTATE_AND_CROP_90: 1;
				public static SCALER_ROTATE_AND_CROP_AUTO: 4;
				public static SCALER_ROTATE_AND_CROP_NONE: 0;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR: 3;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG: 2;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG: 1;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO: 5;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR: 6;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB: 4;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB: 0;
				public static SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME: 1;
				public static SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN: 0;
				public static SENSOR_PIXEL_MODE_DEFAULT: 0;
				public static SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION: 1;
				public static SENSOR_READOUT_TIMESTAMP_HARDWARE: 1;
				public static SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED: 0;
				public static SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER: 10;
				public static SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT: 14;
				public static SENSOR_REFERENCE_ILLUMINANT1_D50: 23;
				public static SENSOR_REFERENCE_ILLUMINANT1_D55: 20;
				public static SENSOR_REFERENCE_ILLUMINANT1_D65: 21;
				public static SENSOR_REFERENCE_ILLUMINANT1_D75: 22;
				public static SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT: 1;
				public static SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT: 12;
				public static SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT: 13;
				public static SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER: 9;
				public static SENSOR_REFERENCE_ILLUMINANT1_FLASH: 4;
				public static SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT: 2;
				public static SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN: 24;
				public static SENSOR_REFERENCE_ILLUMINANT1_SHADE: 11;
				public static SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A: 17;
				public static SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B: 18;
				public static SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C: 19;
				public static SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN: 3;
				public static SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT: 15;
				public static SENSOR_TEST_PATTERN_MODE_COLOR_BARS: 2;
				public static SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY: 3;
				public static SENSOR_TEST_PATTERN_MODE_CUSTOM1: 256;
				public static SENSOR_TEST_PATTERN_MODE_OFF: 0;
				public static SENSOR_TEST_PATTERN_MODE_PN9: 4;
				public static SENSOR_TEST_PATTERN_MODE_SOLID_COLOR: 1;
				public static SHADING_MODE_FAST: 1;
				public static SHADING_MODE_HIGH_QUALITY: 2;
				public static SHADING_MODE_OFF: 0;
				public static STATISTICS_FACE_DETECT_MODE_FULL: 2;
				public static STATISTICS_FACE_DETECT_MODE_OFF: 0;
				public static STATISTICS_FACE_DETECT_MODE_SIMPLE: 1;
				public static STATISTICS_LENS_SHADING_MAP_MODE_OFF: 0;
				public static STATISTICS_LENS_SHADING_MAP_MODE_ON: 1;
				public static STATISTICS_OIS_DATA_MODE_OFF: 0;
				public static STATISTICS_OIS_DATA_MODE_ON: 1;
				public static STATISTICS_SCENE_FLICKER_50HZ: 1;
				public static STATISTICS_SCENE_FLICKER_60HZ: 2;
				public static STATISTICS_SCENE_FLICKER_NONE: 0;
				public static SYNC_MAX_LATENCY_PER_FRAME_CONTROL: 0;
				public static SYNC_MAX_LATENCY_UNKNOWN: -1;
				public static TONEMAP_MODE_CONTRAST_CURVE: 0;
				public static TONEMAP_MODE_FAST: 1;
				public static TONEMAP_MODE_GAMMA_VALUE: 3;
				public static TONEMAP_MODE_HIGH_QUALITY: 2;
				public static TONEMAP_MODE_PRESET_CURVE: 4;
				public static TONEMAP_PRESET_CURVE_REC709: 1;
				public static TONEMAP_PRESET_CURVE_SRGB: 0;
				public getKeys(): java.util.List<TKey>;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export abstract class CameraOfflineSession extends android.hardware.camera2.CameraCaptureSession {
				public static class: java.lang.Class<android.hardware.camera2.CameraOfflineSession>;
				public close(): void;
				public constructor();
			}
			export module CameraOfflineSession {
				export abstract class CameraOfflineSessionCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraOfflineSession.CameraOfflineSessionCallback>;
					public static STATUS_INTERNAL_ERROR: 0;
					public onSwitchFailed(param0: android.hardware.camera2.CameraOfflineSession): void;
					public onIdle(param0: android.hardware.camera2.CameraOfflineSession): void;
					public constructor();
					public onReady(param0: android.hardware.camera2.CameraOfflineSession): void;
					public onClosed(param0: android.hardware.camera2.CameraOfflineSession): void;
					public onError(param0: android.hardware.camera2.CameraOfflineSession, param1: number): void;
				}
			}
		}
	}
}

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: 0;
				public static REASON_FLUSHED: 1;
				public getSequenceId(): number;
				public wasImageCaptured(): boolean;
				public getRequest(): android.hardware.camera2.CaptureRequest;
				public getReason(): number;
				public getFrameNumber(): number;
				public getPhysicalCameraId(): string;
			}
		}
	}
}

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<androidNative.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<androidNative.Array<android.hardware.camera2.params.MeteringRectangle>>;
				public static CONTROL_AF_TRIGGER: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_AUTOFRAMING: 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<androidNative.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_EXTENDED_SCENE_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				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_SETTINGS_OVERRIDE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_VIDEO_STABILIZATION_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_ZOOM_RATIO: android.hardware.camera2.CaptureRequest.Key<java.lang.Float>;
				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 EXTENSION_STRENGTH: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static FLASH_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static FLASH_STRENGTH_LEVEL: 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 SCALER_ROTATE_AND_CROP: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				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_PIXEL_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static SENSOR_SENSITIVITY: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static SENSOR_TEST_PATTERN_DATA: android.hardware.camera2.CaptureRequest.Key<androidNative.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 equals(other: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public get(key: android.hardware.camera2.CaptureRequest.Key<any>): any;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getKeys(): java.util.List<android.hardware.camera2.CaptureRequest.Key<any>>;
				public describeContents(): number;
				public finalize(): void;
				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 getPhysicalCameraKey(key: android.hardware.camera2.CaptureRequest.Key<any>, physicalCameraId: string): any;
					public addTarget(outputTarget: android.view.Surface): void;
					public set(key: android.hardware.camera2.CaptureRequest.Key<any>, value: any): void;
					public setTag(tag: any): void;
					public get(key: android.hardware.camera2.CaptureRequest.Key<any>): any;
					public setPhysicalCameraKey(key: android.hardware.camera2.CaptureRequest.Key<any>, value: any, physicalCameraId: string): android.hardware.camera2.CaptureRequest.Builder;
					public removeTarget(outputTarget: android.view.Surface): void;
				}
				export class Key<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CaptureRequest.Key<any>>;
					public constructor(name: string, type: java.lang.Class<T>);
					public toString(): string;
					public getName(): string;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

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<androidNative.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<androidNative.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_AUTOFRAMING: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AUTOFRAMING_STATE: 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<androidNative.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_EXTENDED_SCENE_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_LOW_LIGHT_BOOST_STATE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				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_SETTINGS_OVERRIDE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_VIDEO_STABILIZATION_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_ZOOM_RATIO: android.hardware.camera2.CaptureResult.Key<java.lang.Float>;
				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 EXTENSION_CURRENT_TYPE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static EXTENSION_STRENGTH: 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 FLASH_STRENGTH_LEVEL: 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<androidNative.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<androidNative.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<androidNative.Array<number>>;
				public static LENS_POSE_TRANSLATION: android.hardware.camera2.CaptureResult.Key<androidNative.Array<number>>;
				public static LENS_RADIAL_DISTORTION: android.hardware.camera2.CaptureResult.Key<androidNative.Array<number>>;
				public static LENS_STATE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID: android.hardware.camera2.CaptureResult.Key<string>;
				public static LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION: android.hardware.camera2.CaptureResult.Key<android.graphics.Rect>;
				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 SCALER_RAW_CROP_REGION: android.hardware.camera2.CaptureResult.Key<android.graphics.Rect>;
				public static SCALER_ROTATE_AND_CROP: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static SENSOR_DYNAMIC_BLACK_LEVEL: android.hardware.camera2.CaptureResult.Key<androidNative.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<androidNative.Array<android.util.Rational>>;
				public static SENSOR_NOISE_PROFILE: android.hardware.camera2.CaptureResult.Key<androidNative.Array<android.util.Pair<java.lang.Double,java.lang.Double>>>;
				public static SENSOR_PIXEL_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static SENSOR_RAW_BINNING_FACTOR_USED: android.hardware.camera2.CaptureResult.Key<java.lang.Boolean>;
				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<androidNative.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<androidNative.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<androidNative.Array<android.graphics.Point>>;
				public static STATISTICS_HOT_PIXEL_MAP_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Boolean>;
				public static STATISTICS_LENS_INTRINSICS_SAMPLES: android.hardware.camera2.CaptureResult.Key<androidNative.Array<android.hardware.camera2.params.LensIntrinsicsSample>>;
				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<androidNative.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 getKeys(): java.util.List<android.hardware.camera2.CaptureResult.Key<any>>;
				public getSequenceId(): number;
				public getCameraId(): string;
				public get(key: android.hardware.camera2.CaptureResult.Key<any>): any;
				public getRequest(): android.hardware.camera2.CaptureRequest;
				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 constructor(name: string, type: java.lang.Class<T>);
					public toString(): string;
					public getName(): string;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

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: 256;
				public writeImage(dngOutput: java.io.OutputStream, pixels: android.media.Image): void;
				public close(): void;
				public setDescription(description: string): android.hardware.camera2.DngCreator;
				public writeByteBuffer(dngOutput: java.io.OutputStream, size: any, pixels: java.nio.ByteBuffer, offset: number): void;
				public setThumbnail(pixels: android.graphics.Bitmap): android.hardware.camera2.DngCreator;
				public finalize(): void;
				public constructor(characteristics: android.hardware.camera2.CameraCharacteristics, metadata: android.hardware.camera2.CaptureResult);
				public writeInputStream(dngOutput: java.io.OutputStream, size: any, pixels: java.io.InputStream, offset: number): void;
				public setThumbnail(pixels: android.media.Image): android.hardware.camera2.DngCreator;
				public setOrientation(orientation: number): android.hardware.camera2.DngCreator;
				public setLocation(location: android.location.Location): android.hardware.camera2.DngCreator;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class MultiResolutionImageReader extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.hardware.camera2.MultiResolutionImageReader>;
				public close(): void;
				public getStreamInfoForImageReader(reader: android.media.ImageReader): android.hardware.camera2.params.MultiResolutionStreamInfo;
				public setOnImageAvailableListener(listener: android.media.ImageReader.OnImageAvailableListener, executor: java.util.concurrent.Executor): void;
				public constructor(streams: java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, format: number, maxImages: number);
				public getSurface(): android.view.Surface;
				public finalize(): void;
				public flush(): 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 getPhysicalCameraTotalResults(): java.util.Map<string,android.hardware.camera2.TotalCaptureResult>;
				/** @deprecated */
				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: 4;
					public constructor(offsets: androidNative.Array<number>);
					public getOffsetForIndex(column: number, row: number): number;
					public equals(obj: any): boolean;
					public toString(): string;
					public hashCode(): number;
					public copyTo(destination: androidNative.Array<number>, offset: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class Capability extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.Capability>;
					public equals(obj: any): boolean;
					public toString(): string;
					public constructor(mode: number, maxStreamingSize: any, zoomRatioRange: android.util.Range<java.lang.Float>);
					public getZoomRatioRange(): android.util.Range<java.lang.Float>;
					public getMaxStreamingSize(): any;
					public getMode(): number;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class ColorSpaceProfiles extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.ColorSpaceProfiles>;
					public static UNSPECIFIED: -1;
					public getSupportedDynamicRangeProfiles(colorSpace: android.graphics.ColorSpace.Named, imageFormat: number): java.util.Set<java.lang.Long>;
					public getSupportedImageFormatsForColorSpace(colorSpace: android.graphics.ColorSpace.Named): java.util.Set<java.lang.Integer>;
					public constructor(elements: androidNative.Array<number>);
					public getSupportedColorSpaces(imageFormat: number): java.util.Set<android.graphics.ColorSpace.Named>;
					public getSupportedColorSpacesForDynamicRange(imageFormat: number, dynamicRangeProfile: number): java.util.Set<android.graphics.ColorSpace.Named>;
				}
			}
		}
	}
}

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 constructor(elements: androidNative.Array<android.util.Rational>);
					public equals(obj: any): boolean;
					public toString(): string;
					public copyElements(destination: androidNative.Array<number>, offset: number): void;
					public copyElements(destination: androidNative.Array<android.util.Rational>, offset: number): void;
					public hashCode(): number;
					public constructor(elements: androidNative.Array<number>);
					public getElement(column: number, row: number): android.util.Rational;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class DeviceStateSensorOrientationMap extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.DeviceStateSensorOrientationMap>;
					public static FOLDED: 4;
					public static NORMAL: 0;
					public equals(obj: any): boolean;
					public getSensorOrientation(deviceState: number): number;
					public hashCode(): number;
				}
				export module DeviceStateSensorOrientationMap {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.hardware.camera2.params.DeviceStateSensorOrientationMap.Builder>;
						public constructor();
						public build(): android.hardware.camera2.params.DeviceStateSensorOrientationMap;
						public addOrientationForState(deviceState: number, angle: number): android.hardware.camera2.params.DeviceStateSensorOrientationMap.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class DynamicRangeProfiles extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.DynamicRangeProfiles>;
					public static DOLBY_VISION_10B_HDR_OEM: 64;
					public static DOLBY_VISION_10B_HDR_OEM_PO: 128;
					public static DOLBY_VISION_10B_HDR_REF: 16;
					public static DOLBY_VISION_10B_HDR_REF_PO: 32;
					public static DOLBY_VISION_8B_HDR_OEM: 1024;
					public static DOLBY_VISION_8B_HDR_OEM_PO: 2048;
					public static DOLBY_VISION_8B_HDR_REF: 256;
					public static DOLBY_VISION_8B_HDR_REF_PO: 512;
					public static HDR10: 4;
					public static HDR10_PLUS: 8;
					public static HLG10: 2;
					public static PUBLIC_MAX: 4096;
					public static STANDARD: 1;
					public getProfileCaptureRequestConstraints(profile: number): java.util.Set<java.lang.Long>;
					public isExtraLatencyPresent(profile: number): boolean;
					public constructor(elements: androidNative.Array<number>);
					public getSupportedProfiles(): java.util.Set<java.lang.Long>;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class ExtensionSessionConfiguration extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.ExtensionSessionConfiguration>;
					public clearColorSpace(): void;
					public getOutputConfigurations(): java.util.List<android.hardware.camera2.params.OutputConfiguration>;
					public getExecutor(): java.util.concurrent.Executor;
					public constructor(extension: number, outputs: java.util.List<android.hardware.camera2.params.OutputConfiguration>, executor: java.util.concurrent.Executor, listener: android.hardware.camera2.CameraExtensionSession.StateCallback);
					public getExtension(): number;
					public getPostviewOutputConfiguration(): android.hardware.camera2.params.OutputConfiguration;
					public getStateCallback(): android.hardware.camera2.CameraExtensionSession.StateCallback;
					public setPostviewOutputConfiguration(postviewOutput: android.hardware.camera2.params.OutputConfiguration): void;
					public setColorSpace(colorSpace: android.graphics.ColorSpace.Named): void;
					public getColorSpace(): android.graphics.ColorSpace;
				}
			}
		}
	}
}

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: -1;
					public static SCORE_MAX: 100;
					public static SCORE_MIN: 1;
					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;
				}
				export module Face {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.hardware.camera2.params.Face.Builder>;
						public constructor(current: android.hardware.camera2.params.Face);
						public setScore(score: number): android.hardware.camera2.params.Face.Builder;
						public build(): android.hardware.camera2.params.Face;
						public constructor();
						public setLeftEyePosition(leftEyePosition: android.graphics.Point): android.hardware.camera2.params.Face.Builder;
						public setId(id: number): android.hardware.camera2.params.Face.Builder;
						public setMouthPosition(mouthPosition: android.graphics.Point): android.hardware.camera2.params.Face.Builder;
						public setBounds(bounds: android.graphics.Rect): android.hardware.camera2.params.Face.Builder;
						public setRightEyePosition(rightEyePosition: android.graphics.Point): android.hardware.camera2.params.Face.Builder;
					}
				}
			}
		}
	}
}

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(obj: any): boolean;
					public toString(): string;
					public constructor(width: number, height: number, format: number);
					public getHeight(): number;
					public isMultiResolution(): boolean;
					public getWidth(): number;
					public constructor(multiResolutionInputs: java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, format: number);
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class LensIntrinsicsSample extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.LensIntrinsicsSample>;
					public constructor(timestampNs: number, lensIntrinsics: androidNative.Array<number>);
					public equals(obj: any): boolean;
					public toString(): string;
					public getLensIntrinsics(): androidNative.Array<number>;
					public getTimestampNanos(): 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: 1.0;
					public getRowCount(): number;
					public getColumnCount(): number;
					public getGainFactorVector(column: number, row: number): android.hardware.camera2.params.RggbChannelVector;
					public equals(obj: any): boolean;
					public toString(): string;
					public getGainFactorCount(): number;
					public hashCode(): number;
					public getGainFactor(colorChannel: number, column: number, row: number): number;
					public copyGainFactors(destination: androidNative.Array<number>, offset: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class MandatoryStreamCombination extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.MandatoryStreamCombination>;
					public getStreamsInformation(): java.util.List<android.hardware.camera2.params.MandatoryStreamCombination.MandatoryStreamInformation>;
					public equals(obj: any): boolean;
					public isReprocessable(): boolean;
					public getDescription(): string;
					public hashCode(): number;
				}
				export module MandatoryStreamCombination {
					export class MandatoryStreamInformation extends java.lang.Object {
						public static class: java.lang.Class<android.hardware.camera2.params.MandatoryStreamCombination.MandatoryStreamInformation>;
						public equals(obj: any): boolean;
						public getAvailableSizes(): java.util.List<any>;
						public isInput(): boolean;
						public getFormat(): number;
						public isMaximumSize(): boolean;
						public hashCode(): number;
						public is10BitCapable(): boolean;
						public getStreamUseCase(): number;
						public isUltraHighResolution(): boolean;
						public get10BitFormat(): number;
					}
				}
			}
		}
	}
}

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: 0;
					public static METERING_WEIGHT_MAX: 1000;
					public static METERING_WEIGHT_MIN: 0;
					public constructor(xy: android.graphics.Point, dimensions: any, meteringWeight: number);
					public getX(): number;
					public getHeight(): number;
					public getUpperLeftPoint(): android.graphics.Point;
					public equals(other: any): boolean;
					public getWidth(): number;
					public getY(): number;
					public getMeteringWeight(): number;
					public getRect(): android.graphics.Rect;
					public toString(): string;
					public constructor(rect: android.graphics.Rect, meteringWeight: number);
					public equals(other: android.hardware.camera2.params.MeteringRectangle): boolean;
					public getSize(): any;
					public hashCode(): number;
					public constructor(x: number, y: number, width: number, height: number, meteringWeight: number);
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class MultiResolutionStreamConfigurationMap extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.MultiResolutionStreamConfigurationMap>;
					public equals(obj: any): boolean;
					public toString(): string;
					public getOutputFormats(): androidNative.Array<number>;
					public getInputFormats(): androidNative.Array<number>;
					public getInputInfo(format: number): java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>;
					public hashCode(): number;
					public getOutputInfo(format: number): java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class MultiResolutionStreamInfo extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.MultiResolutionStreamInfo>;
					public equals(obj: any): boolean;
					public getHeight(): number;
					public constructor(streamWidth: number, streamHeight: number, physicalCameraId: string);
					public getWidth(): number;
					public getPhysicalCameraId(): string;
					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 getXshift(): number;
					public equals(obj: any): boolean;
					public toString(): string;
					public getTimestamp(): number;
					public constructor(timestamp: number, xShift: number, yShift: 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 MIRROR_MODE_AUTO: 0;
					public static MIRROR_MODE_H: 2;
					public static MIRROR_MODE_NONE: 1;
					public static MIRROR_MODE_V: 3;
					public static SURFACE_GROUP_ID_NONE: -1;
					public static TIMESTAMP_BASE_CHOREOGRAPHER_SYNCED: 4;
					public static TIMESTAMP_BASE_DEFAULT: 0;
					public static TIMESTAMP_BASE_MONOTONIC: 2;
					public static TIMESTAMP_BASE_REALTIME: 3;
					public static TIMESTAMP_BASE_SENSOR: 1;
					public equals(obj: any): boolean;
					public setTimestampBase(timestampBase: number): void;
					public setMirrorMode(mirrorMode: number): void;
					public static setSurfacesForMultiResolutionOutput(outputConfigurations: java.util.Collection<android.hardware.camera2.params.OutputConfiguration>, multiResolutionImageReader: android.hardware.camera2.MultiResolutionImageReader): void;
					public getSurface(): android.view.Surface;
					public constructor(surfaceGroupId: number, format: number, surfaceSize: any);
					public getMirrorMode(): number;
					public getMaxSharedSurfaceCount(): number;
					public constructor(format: number, surfaceSize: any, usage: number);
					public static createInstancesForMultiResolutionOutput(streams: java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, format: number): java.util.List<android.hardware.camera2.params.OutputConfiguration>;
					public getSurfaceGroupId(): number;
					public constructor(surfaceGroupId: number, surface: android.view.Surface);
					public constructor(format: number, surfaceSize: any);
					public isReadoutTimestampEnabled(): boolean;
					public setDynamicRangeProfile(profile: number): void;
					public hashCode(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
					public constructor(surfaceGroupId: number, format: number, surfaceSize: any, usage: number);
					public setStreamUseCase(streamUseCase: number): void;
					public describeContents(): number;
					public static createInstancesForMultiResolutionOutput(multiResolutionImageReader: android.hardware.camera2.MultiResolutionImageReader): java.util.Collection<android.hardware.camera2.params.OutputConfiguration>;
					public enableSurfaceSharing(): void;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public setPhysicalCameraId(physicalCameraId: string): void;
					public addSurface(surface: android.view.Surface): void;
					public getTimestampBase(): number;
					public setReadoutTimestampEnabled(on: boolean): void;
					public addSensorPixelModeUsed(sensorPixelModeUsed: number): void;
					public getStreamUseCase(): number;
					public getSurfaces(): java.util.List<android.view.Surface>;
					public getDynamicRangeProfile(): number;
					public removeSurface(surface: android.view.Surface): void;
					public constructor(surface: android.view.Surface);
					public constructor(surfaceSize: any, klass: java.lang.Class<any>);
					public removeSensorPixelModeUsed(sensorPixelModeUsed: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class RecommendedStreamConfigurationMap extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.RecommendedStreamConfigurationMap>;
					public static USECASE_10BIT_OUTPUT: 8;
					public static USECASE_LOW_LATENCY_SNAPSHOT: 6;
					public static USECASE_PREVIEW: 0;
					public static USECASE_RAW: 5;
					public static USECASE_RECORD: 1;
					public static USECASE_SNAPSHOT: 3;
					public static USECASE_VIDEO_SNAPSHOT: 2;
					public static USECASE_ZSL: 4;
					public getHighResolutionOutputSizes(format: number): java.util.Set<any>;
					public getOutputMinFrameDuration(klass: java.lang.Class<any>, size: any): number;
					public getRecommendedUseCase(): number;
					public getOutputSizes(klass: java.lang.Class<any>): java.util.Set<any>;
					public getOutputFormats(): java.util.Set<java.lang.Integer>;
					public getHighSpeedVideoSizes(): java.util.Set<any>;
					public getHighSpeedVideoFpsRanges(): java.util.Set<android.util.Range<java.lang.Integer>>;
					public getInputFormats(): java.util.Set<java.lang.Integer>;
					public isOutputSupportedFor(surface: android.view.Surface): boolean;
					public getOutputStallDuration(format: number, size: any): number;
					public getOutputSizes(format: number): java.util.Set<any>;
					public isOutputSupportedFor(format: number): boolean;
					public getInputSizes(format: number): java.util.Set<any>;
					public getHighSpeedVideoSizesFor(fpsRange: android.util.Range<java.lang.Integer>): java.util.Set<any>;
					public getHighSpeedVideoFpsRangesFor(size: any): java.util.Set<android.util.Range<java.lang.Integer>>;
					public getOutputStallDuration(klass: java.lang.Class<any>, size: any): number;
					public getOutputMinFrameDuration(format: number, size: any): number;
					public getValidOutputFormatsForInput(inputFormat: number): java.util.Set<java.lang.Integer>;
				}
			}
		}
	}
}

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: 3;
					public static COUNT: 4;
					public static GREEN_EVEN: 1;
					public static GREEN_ODD: 2;
					public static RED: 0;
					public getBlue(): number;
					public equals(obj: any): boolean;
					public toString(): string;
					public getRed(): number;
					public getGreenEven(): number;
					public getGreenOdd(): number;
					public constructor(red: number, greenEven: number, greenOdd: number, blue: number);
					public getComponent(colorChannel: number): number;
					public hashCode(): number;
					public copyTo(destination: androidNative.Array<number>, offset: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class SessionConfiguration extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.hardware.camera2.params.SessionConfiguration>;
					public static CREATOR: android.os.Parcelable.Creator<android.hardware.camera2.params.SessionConfiguration>;
					public static SESSION_HIGH_SPEED: 1;
					public static SESSION_REGULAR: 0;
					public getInputConfiguration(): android.hardware.camera2.params.InputConfiguration;
					public getExecutor(): java.util.concurrent.Executor;
					public equals(obj: any): boolean;
					public setInputConfiguration(input: android.hardware.camera2.params.InputConfiguration): void;
					public getSessionType(): number;
					public describeContents(): number;
					public setStateCallback(executor: java.util.concurrent.Executor, cb: android.hardware.camera2.CameraCaptureSession.StateCallback): void;
					public getStateCallback(): android.hardware.camera2.CameraCaptureSession.StateCallback;
					public constructor(sessionType: number, outputs: java.util.List<android.hardware.camera2.params.OutputConfiguration>, executor: java.util.concurrent.Executor, cb: android.hardware.camera2.CameraCaptureSession.StateCallback);
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getColorSpace(): android.graphics.ColorSpace;
					public clearColorSpace(): void;
					public getOutputConfigurations(): java.util.List<android.hardware.camera2.params.OutputConfiguration>;
					public getSessionParameters(): android.hardware.camera2.CaptureRequest;
					public setSessionParameters(params: android.hardware.camera2.CaptureRequest): void;
					public constructor(sessionType: number, outputs: java.util.List<android.hardware.camera2.params.OutputConfiguration>);
					public hashCode(): number;
					public setColorSpace(colorSpace: android.graphics.ColorSpace.Named): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

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 getHighSpeedVideoSizes(): androidNative.Array<any>;
					public equals(obj: any): boolean;
					public getOutputFormats(): androidNative.Array<number>;
					public getHighResolutionOutputSizes(format: number): androidNative.Array<any>;
					public getOutputMinFrameDuration(klass: java.lang.Class<any>, size: any): number;
					public getOutputSizes(klass: java.lang.Class<any>): androidNative.Array<any>;
					public getHighSpeedVideoSizesFor(fpsRange: android.util.Range<java.lang.Integer>): androidNative.Array<any>;
					public getValidOutputFormatsForInput(inputFormat: number): androidNative.Array<number>;
					public getHighSpeedVideoFpsRanges(): androidNative.Array<android.util.Range<java.lang.Integer>>;
					public static isOutputSupportedFor(klass: java.lang.Class<any>): boolean;
					public isOutputSupportedFor(surface: android.view.Surface): boolean;
					public getOutputStallDuration(format: number, size: any): number;
					public getOutputSizes(format: number): androidNative.Array<any>;
					public toString(): string;
					public isOutputSupportedFor(format: number): boolean;
					public getInputFormats(): androidNative.Array<number>;
					public getOutputStallDuration(klass: java.lang.Class<any>, size: any): number;
					public getOutputMinFrameDuration(format: number, size: any): number;
					public getInputSizes(format: number): androidNative.Array<any>;
					public hashCode(): number;
					public getHighSpeedVideoFpsRangesFor(size: any): androidNative.Array<android.util.Range<java.lang.Integer>>;
				}
			}
		}
	}
}

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: 2;
					public static CHANNEL_GREEN: 1;
					public static CHANNEL_RED: 0;
					public static LEVEL_BLACK: 0.0;
					public static LEVEL_WHITE: 1.0;
					public static POINT_SIZE: 2;
					public getPointCount(colorChannel: number): number;
					public equals(obj: any): boolean;
					public toString(): string;
					public constructor(red: androidNative.Array<number>, green: androidNative.Array<number>, blue: androidNative.Array<number>);
					public getPoint(colorChannel: number, index: number): android.graphics.PointF;
					public copyColorCurve(colorChannel: number, destination: androidNative.Array<number>, offset: number): void;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module display {
			export class DeviceProductInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.display.DeviceProductInfo>;
				public static CONNECTION_TO_SINK_BUILT_IN: 1;
				public static CONNECTION_TO_SINK_DIRECT: 2;
				public static CONNECTION_TO_SINK_TRANSITIVE: 3;
				public static CONNECTION_TO_SINK_UNKNOWN: 0;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.display.DeviceProductInfo>;
				public getManufacturerPnpId(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getConnectionToSinkType(): number;
				public getName(): string;
				public getModelYear(): number;
				public getProductId(): string;
				public toString(): string;
				public getManufactureWeek(): number;
				public getManufactureYear(): number;
				public hashCode(): number;
				public constructor(name: string, manufacturerPnpId: string, productId: string, modelYear: number, connectionToSinkType: number);
				public describeContents(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

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: "android.hardware.display.category.PRESENTATION";
				public static MATCH_CONTENT_FRAMERATE_ALWAYS: 2;
				public static MATCH_CONTENT_FRAMERATE_NEVER: 0;
				public static MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLY: 1;
				public static MATCH_CONTENT_FRAMERATE_UNKNOWN: -1;
				public static VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR: 16;
				public static VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY: 8;
				public static VIRTUAL_DISPLAY_FLAG_PRESENTATION: 2;
				public static VIRTUAL_DISPLAY_FLAG_PUBLIC: 1;
				public static VIRTUAL_DISPLAY_FLAG_SECURE: 4;
				public getDisplays(): androidNative.Array<android.view.Display>;
				public getMatchContentFrameRateUserPreference(): number;
				public registerDisplayListener(listener: android.hardware.display.DisplayManager.DisplayListener, handler: android.os.Handler): void;
				public createVirtualDisplay(name: string, width: number, height: number, densityDpi: number, surface: android.view.Surface, flags: number): android.hardware.display.VirtualDisplay;
				public getHdrConversionMode(): android.hardware.display.HdrConversionMode;
				public getDisplays(category: string): androidNative.Array<android.view.Display>;
				public unregisterDisplayListener(listener: android.hardware.display.DisplayManager.DisplayListener): void;
				public createVirtualDisplay(config: android.hardware.display.VirtualDisplayConfig, handler: android.os.Handler, callback: android.hardware.display.VirtualDisplay.Callback): android.hardware.display.VirtualDisplay;
				public getDisplay(displayId: number): android.view.Display;
				public createVirtualDisplay(name: string, width: number, height: number, densityDpi: number, surface: android.view.Surface, flags: number, callback: android.hardware.display.VirtualDisplay.Callback, handler: android.os.Handler): android.hardware.display.VirtualDisplay;
				public createVirtualDisplay(config: android.hardware.display.VirtualDisplayConfig): android.hardware.display.VirtualDisplay;
			}
			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 HdrConversionMode extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.display.HdrConversionMode>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.display.HdrConversionMode>;
				public static HDR_CONVERSION_FORCE: 3;
				public static HDR_CONVERSION_PASSTHROUGH: 1;
				public static HDR_CONVERSION_SYSTEM: 2;
				public static HDR_CONVERSION_UNSUPPORTED: 0;
				public getPreferredHdrOutputType(): number;
				public constructor(conversionMode: number);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getConversionMode(): number;
				public toString(): string;
				public constructor(conversionMode: number, preferredHdrOutputType: number);
			}
		}
	}
}

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 getSurface(): android.view.Surface;
				public getDisplay(): android.view.Display;
				public setSurface(surface: android.view.Surface): void;
				public resize(width: number, height: number, densityDpi: number): void;
				public toString(): string;
			}
			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 display {
			export class VirtualDisplayConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.display.VirtualDisplayConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.display.VirtualDisplayConfig>;
				public getRequestedRefreshRate(): number;
				public getHeight(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDensityDpi(): number;
				public getName(): string;
				public toString(): string;
				public getWidth(): number;
				public getSurface(): android.view.Surface;
				public getDisplayCategories(): java.util.Set<string>;
				public hashCode(): number;
				public describeContents(): number;
				public getFlags(): number;
				public equals(o: any): boolean;
			}
			export module VirtualDisplayConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.display.VirtualDisplayConfig.Builder>;
					public addDisplayCategory(displayCategory: string): android.hardware.display.VirtualDisplayConfig.Builder;
					public setFlags(flags: number): android.hardware.display.VirtualDisplayConfig.Builder;
					public setDisplayCategories(displayCategories: java.util.Set<string>): android.hardware.display.VirtualDisplayConfig.Builder;
					public setRequestedRefreshRate(requestedRefreshRate: number): android.hardware.display.VirtualDisplayConfig.Builder;
					public constructor(name: string, width: number, height: number, densityDpi: number);
					public setSurface(surface: android.view.Surface): android.hardware.display.VirtualDisplayConfig.Builder;
					public build(): android.hardware.display.VirtualDisplayConfig;
				}
			}
		}
	}
}

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: 0;
				public static FINGERPRINT_ACQUIRED_IMAGER_DIRTY: 3;
				public static FINGERPRINT_ACQUIRED_INSUFFICIENT: 2;
				public static FINGERPRINT_ACQUIRED_PARTIAL: 1;
				public static FINGERPRINT_ACQUIRED_TOO_FAST: 5;
				public static FINGERPRINT_ACQUIRED_TOO_SLOW: 4;
				public static FINGERPRINT_ERROR_CANCELED: 5;
				public static FINGERPRINT_ERROR_HW_NOT_PRESENT: 12;
				public static FINGERPRINT_ERROR_HW_UNAVAILABLE: 1;
				public static FINGERPRINT_ERROR_LOCKOUT: 7;
				public static FINGERPRINT_ERROR_LOCKOUT_PERMANENT: 9;
				public static FINGERPRINT_ERROR_NO_FINGERPRINTS: 11;
				public static FINGERPRINT_ERROR_NO_SPACE: 4;
				public static FINGERPRINT_ERROR_TIMEOUT: 3;
				public static FINGERPRINT_ERROR_UNABLE_TO_PROCESS: 2;
				public static FINGERPRINT_ERROR_USER_CANCELED: 10;
				public static FINGERPRINT_ERROR_VENDOR: 8;
				/** @deprecated */
				public authenticate(crypto: android.hardware.fingerprint.FingerprintManager.CryptoObject, cancel: android.os.CancellationSignal, flags: number, callback: android.hardware.fingerprint.FingerprintManager.AuthenticationCallback, handler: android.os.Handler): void;
				/** @deprecated */
				public isHardwareDetected(): boolean;
				/** @deprecated */
				public hasEnrolledFingerprints(): boolean;
			}
			export module FingerprintManager {
				export abstract class AuthenticationCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.fingerprint.FingerprintManager.AuthenticationCallback>;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public onAuthenticationError(errorCode: number, errString: string): void;
					/** @deprecated */
					public onAuthenticationHelp(helpCode: number, helpString: string): void;
					/** @deprecated */
					public onAuthenticationSucceeded(result: android.hardware.fingerprint.FingerprintManager.AuthenticationResult): void;
					/** @deprecated */
					public onAuthenticationFailed(): void;
				}
				export class AuthenticationResult extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.fingerprint.FingerprintManager.AuthenticationResult>;
					/** @deprecated */
					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>;
					/** @deprecated */
					public constructor(mac: javax.crypto.Mac);
					/** @deprecated */
					public constructor(cipher: javax.crypto.Cipher);
					/** @deprecated */
					public getMac(): javax.crypto.Mac;
					/** @deprecated */
					public constructor(signature: java.security.Signature);
					/** @deprecated */
					public getSignature(): java.security.Signature;
					/** @deprecated */
					public getCipher(): javax.crypto.Cipher;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module input {
			export class HostUsiVersion extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.input.HostUsiVersion>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.input.HostUsiVersion>;
				public getMinorVersion(): number;
				public getMajorVersion(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

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: "android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS";
				public static META_DATA_KEYBOARD_LAYOUTS: "android.hardware.input.metadata.KEYBOARD_LAYOUTS";
				public unregisterInputDeviceListener(listener: android.hardware.input.InputManager.InputDeviceListener): void;
				public getMaximumObscuringOpacityForTouch(): number;
				public registerInputDeviceListener(listener: android.hardware.input.InputManager.InputDeviceListener, handler: android.os.Handler): void;
				public verifyInputEvent(event: android.view.InputEvent): android.view.VerifiedInputEvent;
				public isStylusPointerIconEnabled(): boolean;
				public getInputDeviceIds(): androidNative.Array<number>;
				public getInputDevice(id: number): android.view.InputDevice;
				public getInputDeviceViewBehavior(deviceId: number): android.view.InputDevice.ViewBehavior;
				public getHostUsiVersion(display: android.view.Display): android.hardware.input.HostUsiVersion;
			}
			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 lights {
			export class Light extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.lights.Light>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.lights.Light>;
				public static LIGHT_CAPABILITY_BRIGHTNESS: 1;
				public static LIGHT_CAPABILITY_COLOR_RGB: 2;
				public static LIGHT_CAPABILITY_RGB: 0;
				public static LIGHT_TYPE_INPUT: 10001;
				public static LIGHT_TYPE_KEYBOARD_BACKLIGHT: 10003;
				public static LIGHT_TYPE_MICROPHONE: 8;
				public static LIGHT_TYPE_PLAYER_ID: 10002;
				public hasBrightnessControl(): boolean;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public describeContents(): number;
				public getName(): string;
				public hasRgbControl(): boolean;
				public toString(): string;
				public getOrdinal(): number;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module lights {
			export class LightState extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.lights.LightState>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.lights.LightState>;
				public getColor(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public getPlayerId(): number;
			}
			export module LightState {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.lights.LightState.Builder>;
					public constructor();
					public setPlayerId(playerId: number): android.hardware.lights.LightState.Builder;
					public setColor(color: number): android.hardware.lights.LightState.Builder;
					public build(): android.hardware.lights.LightState;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module lights {
			export abstract class LightsManager extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.lights.LightsManager>;
				public openSession(): android.hardware.lights.LightsManager.LightsSession;
				public getLights(): java.util.List<android.hardware.lights.Light>;
				public getLightState(param0: android.hardware.lights.Light): android.hardware.lights.LightState;
			}
			export module LightsManager {
				export abstract class LightsSession extends java.lang.Object implements java.lang.AutoCloseable {
					public static class: java.lang.Class<android.hardware.lights.LightsManager.LightsSession>;
					public requestLights(param0: android.hardware.lights.LightsRequest): void;
					public close(): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module lights {
			export class LightsRequest extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.lights.LightsRequest>;
				public getLightStates(): java.util.List<android.hardware.lights.LightState>;
				public getLights(): java.util.List<java.lang.Integer>;
				public getLightsAndStates(): java.util.Map<android.hardware.lights.Light,android.hardware.lights.LightState>;
			}
			export module LightsRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.lights.LightsRequest.Builder>;
					public clearLight(light: android.hardware.lights.Light): android.hardware.lights.LightsRequest.Builder;
					public build(): android.hardware.lights.LightsRequest;
					public constructor();
					public addLight(light: android.hardware.lights.Light, state: android.hardware.lights.LightState): android.hardware.lights.LightsRequest.Builder;
				}
			}
		}
	}
}

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 equals(obj: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSerial(): string;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public getMaxPower(): number;
				public getName(): string;
				public getInterface(index: number): android.hardware.usb.UsbInterface;
				public getInterfaceCount(): number;
				public toString(): string;
			}
		}
	}
}

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: 254;
				public static USB_CLASS_AUDIO: 1;
				public static USB_CLASS_CDC_DATA: 10;
				public static USB_CLASS_COMM: 2;
				public static USB_CLASS_CONTENT_SEC: 13;
				public static USB_CLASS_CSCID: 11;
				public static USB_CLASS_HID: 3;
				public static USB_CLASS_HUB: 9;
				public static USB_CLASS_MASS_STORAGE: 8;
				public static USB_CLASS_MISC: 239;
				public static USB_CLASS_PER_INTERFACE: 0;
				public static USB_CLASS_PHYSICA: 5;
				public static USB_CLASS_PRINTER: 7;
				public static USB_CLASS_STILL_IMAGE: 6;
				public static USB_CLASS_VENDOR_SPEC: 255;
				public static USB_CLASS_VIDEO: 14;
				public static USB_CLASS_WIRELESS_CONTROLLER: 224;
				public static USB_DIR_IN: 128;
				public static USB_DIR_OUT: 0;
				public static USB_ENDPOINT_DIR_MASK: 128;
				public static USB_ENDPOINT_NUMBER_MASK: 15;
				public static USB_ENDPOINT_XFERTYPE_MASK: 3;
				public static USB_ENDPOINT_XFER_BULK: 2;
				public static USB_ENDPOINT_XFER_CONTROL: 0;
				public static USB_ENDPOINT_XFER_INT: 3;
				public static USB_ENDPOINT_XFER_ISOC: 1;
				public static USB_INTERFACE_SUBCLASS_BOOT: 1;
				public static USB_SUBCLASS_VENDOR_SPEC: 255;
				public static USB_TYPE_CLASS: 32;
				public static USB_TYPE_MASK: 96;
				public static USB_TYPE_RESERVED: 96;
				public static USB_TYPE_STANDARD: 0;
				public static USB_TYPE_VENDOR: 64;
				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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public getDeviceProtocol(): number;
				public static getDeviceId(name: string): number;
				public getConfiguration(index: number): android.hardware.usb.UsbConfiguration;
				public toString(): string;
				public getDeviceSubclass(): number;
				public getSerialNumber(): string;
				public getVersion(): string;
				public getDeviceId(): number;
				public static getDeviceName(id: number): string;
				public hashCode(): number;
				public getDeviceClass(): number;
				public describeContents(): number;
				public getInterface(index: number): android.hardware.usb.UsbInterface;
				public equals(o: any): boolean;
				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(intf: android.hardware.usb.UsbInterface): boolean;
				public getFileDescriptor(): number;
				public getSerial(): string;
				public finalize(): void;
				public requestWait(timeout: number): android.hardware.usb.UsbRequest;
				public getRawDescriptors(): androidNative.Array<number>;
				public setConfiguration(configuration: android.hardware.usb.UsbConfiguration): boolean;
				public bulkTransfer(endpoint: android.hardware.usb.UsbEndpoint, buffer: androidNative.Array<number>, length: number, timeout: number): number;
				public controlTransfer(requestType: number, request: number, value: number, index: number, buffer: androidNative.Array<number>, length: number, timeout: number): number;
				public releaseInterface(intf: android.hardware.usb.UsbInterface): boolean;
				public controlTransfer(requestType: number, request: number, value: number, index: number, buffer: androidNative.Array<number>, offset: number, length: number, timeout: number): number;
				public claimInterface(intf: android.hardware.usb.UsbInterface, force: boolean): boolean;
				public bulkTransfer(endpoint: android.hardware.usb.UsbEndpoint, buffer: androidNative.Array<number>, offset: number, length: number, timeout: number): number;
				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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public getName(): string;
				public getEndpoint(index: 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: "android.hardware.usb.action.USB_ACCESSORY_ATTACHED";
				public static ACTION_USB_ACCESSORY_DETACHED: "android.hardware.usb.action.USB_ACCESSORY_DETACHED";
				public static ACTION_USB_DEVICE_ATTACHED: "android.hardware.usb.action.USB_DEVICE_ATTACHED";
				public static ACTION_USB_DEVICE_DETACHED: "android.hardware.usb.action.USB_DEVICE_DETACHED";
				public static EXTRA_ACCESSORY: "accessory";
				public static EXTRA_DEVICE: "device";
				public static EXTRA_PERMISSION_GRANTED: "permission";
				public requestPermission(device: android.hardware.usb.UsbDevice, pi: android.app.PendingIntent): void;
				public getAccessoryList(): androidNative.Array<android.hardware.usb.UsbAccessory>;
				public openAccessory(accessory: android.hardware.usb.UsbAccessory): android.os.ParcelFileDescriptor;
				public openDevice(device: android.hardware.usb.UsbDevice): android.hardware.usb.UsbDeviceConnection;
				public requestPermission(accessory: android.hardware.usb.UsbAccessory, pi: android.app.PendingIntent): void;
				public getDeviceList(): java.util.HashMap<string,android.hardware.usb.UsbDevice>;
				public hasPermission(accessory: android.hardware.usb.UsbAccessory): boolean;
				public hasPermission(device: 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 setClientData(data: any): void;
				public close(): void;
				/** @deprecated */
				public queue(buffer: java.nio.ByteBuffer, length: number): boolean;
				public finalize(): void;
				public initialize(connection: android.hardware.usb.UsbDeviceConnection, endpoint: android.hardware.usb.UsbEndpoint): boolean;
				public getClientData(): any;
				public cancel(): boolean;
				public constructor();
				public queue(buffer: java.nio.ByteBuffer): boolean;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class AggregateRecordsGroupedByDurationResponse<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.AggregateRecordsGroupedByDurationResponse<any>>;
				public get(aggregationType: android.health.connect.datatypes.AggregationType<T>): T;
				public getStartTime(): java.time.Instant;
				public getZoneOffset(aggregationType: android.health.connect.datatypes.AggregationType<T>): java.time.ZoneOffset;
				public getDataOrigins(aggregationType: android.health.connect.datatypes.AggregationType<T>): java.util.Set<android.health.connect.datatypes.DataOrigin>;
				public getEndTime(): java.time.Instant;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class AggregateRecordsGroupedByPeriodResponse<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.AggregateRecordsGroupedByPeriodResponse<any>>;
				public getStartTime(): java.time.LocalDateTime;
				public get(aggregationType: android.health.connect.datatypes.AggregationType<T>): T;
				public getZoneOffset(aggregationType: android.health.connect.datatypes.AggregationType<T>): java.time.ZoneOffset;
				public getEndTime(): java.time.LocalDateTime;
				public getDataOrigins(aggregationType: android.health.connect.datatypes.AggregationType<T>): java.util.Set<android.health.connect.datatypes.DataOrigin>;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class AggregateRecordsRequest<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.AggregateRecordsRequest<any>>;
				public getAggregationTypes(): java.util.Set<android.health.connect.datatypes.AggregationType<T>>;
				public getTimeRangeFilter(): android.health.connect.TimeRangeFilter;
				public getDataOriginsFilters(): java.util.Set<android.health.connect.datatypes.DataOrigin>;
			}
			export module AggregateRecordsRequest {
				export class Builder<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.AggregateRecordsRequest.Builder<any>>;
					public addAggregationType(aggregationType: android.health.connect.datatypes.AggregationType<T>): android.health.connect.AggregateRecordsRequest.Builder<T>;
					public constructor(timeRangeFilter: android.health.connect.TimeRangeFilter);
					public addDataOriginsFilter(dataOriginsFilter: android.health.connect.datatypes.DataOrigin): android.health.connect.AggregateRecordsRequest.Builder<T>;
					public build(): android.health.connect.AggregateRecordsRequest<T>;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class AggregateRecordsResponse<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.AggregateRecordsResponse<any>>;
				public get(aggregationType: android.health.connect.datatypes.AggregationType<T>): T;
				public getZoneOffset(aggregationType: android.health.connect.datatypes.AggregationType<T>): java.time.ZoneOffset;
				public getDataOrigins(aggregationType: android.health.connect.datatypes.AggregationType<T>): java.util.Set<android.health.connect.datatypes.DataOrigin>;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class HealthConnectException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.health.connect.HealthConnectException>;
				public static ERROR_DATA_SYNC_IN_PROGRESS: 8;
				public static ERROR_INTERNAL: 2;
				public static ERROR_INVALID_ARGUMENT: 3;
				public static ERROR_IO: 4;
				public static ERROR_RATE_LIMIT_EXCEEDED: 7;
				public static ERROR_REMOTE: 6;
				public static ERROR_SECURITY: 5;
				public static ERROR_UNKNOWN: 1;
				public static ERROR_UNSUPPORTED_OPERATION: 9;
				public getErrorCode(): number;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class HealthConnectManager extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.HealthConnectManager>;
				public static ACTION_MANAGE_HEALTH_PERMISSIONS: "android.health.connect.action.MANAGE_HEALTH_PERMISSIONS";
				public static ACTION_REQUEST_EXERCISE_ROUTE: "android.health.connect.action.REQUEST_EXERCISE_ROUTE";
				public static CATEGORY_HEALTH_PERMISSIONS: "android.intent.category.HEALTH_PERMISSIONS";
				public static EXTRA_EXERCISE_ROUTE: "android.health.connect.extra.EXERCISE_ROUTE";
				public static EXTRA_SESSION_ID: "android.health.connect.extra.SESSION_ID";
				public deleteRecords(recordIds: java.util.List<android.health.connect.RecordIdFilter>, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>): void;
				public updateRecords(records: java.util.List<android.health.connect.datatypes.Record>, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>): void;
				public aggregate(request: android.health.connect.AggregateRecordsRequest<any>, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,any>): void;
				public aggregateGroupByPeriod(request: android.health.connect.AggregateRecordsRequest<any>, period: java.time.Period, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,any>): void;
				public deleteRecords(recordType: java.lang.Class<any>, timeRangeFilter: android.health.connect.TimeRangeFilter, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>): void;
				public readRecords(request: android.health.connect.ReadRecordsRequest<any>, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,any>): void;
				public aggregateGroupByDuration(request: android.health.connect.AggregateRecordsRequest<any>, duration: java.time.Duration, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<any,any>): void;
				public insertRecords(records: java.util.List<android.health.connect.datatypes.Record>, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.health.connect.InsertRecordsResponse,android.health.connect.HealthConnectException>): void;
				public getChangeLogs(changeLogsRequest: android.health.connect.changelog.ChangeLogsRequest, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.health.connect.changelog.ChangeLogsResponse,android.health.connect.HealthConnectException>): void;
				public getChangeLogToken(request: android.health.connect.changelog.ChangeLogTokenRequest, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.health.connect.changelog.ChangeLogTokenResponse,android.health.connect.HealthConnectException>): void;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class HealthPermissions extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.HealthPermissions>;
				public static READ_ACTIVE_CALORIES_BURNED: "android.permission.health.READ_ACTIVE_CALORIES_BURNED";
				public static READ_BASAL_BODY_TEMPERATURE: "android.permission.health.READ_BASAL_BODY_TEMPERATURE";
				public static READ_BASAL_METABOLIC_RATE: "android.permission.health.READ_BASAL_METABOLIC_RATE";
				public static READ_BLOOD_GLUCOSE: "android.permission.health.READ_BLOOD_GLUCOSE";
				public static READ_BLOOD_PRESSURE: "android.permission.health.READ_BLOOD_PRESSURE";
				public static READ_BODY_FAT: "android.permission.health.READ_BODY_FAT";
				public static READ_BODY_TEMPERATURE: "android.permission.health.READ_BODY_TEMPERATURE";
				public static READ_BODY_WATER_MASS: "android.permission.health.READ_BODY_WATER_MASS";
				public static READ_BONE_MASS: "android.permission.health.READ_BONE_MASS";
				public static READ_CERVICAL_MUCUS: "android.permission.health.READ_CERVICAL_MUCUS";
				public static READ_DISTANCE: "android.permission.health.READ_DISTANCE";
				public static READ_ELEVATION_GAINED: "android.permission.health.READ_ELEVATION_GAINED";
				public static READ_EXERCISE: "android.permission.health.READ_EXERCISE";
				public static READ_EXERCISE_ROUTES: "android.permission.health.READ_EXERCISE_ROUTES";
				public static READ_FLOORS_CLIMBED: "android.permission.health.READ_FLOORS_CLIMBED";
				public static READ_HEALTH_DATA_HISTORY: "android.permission.health.READ_HEALTH_DATA_HISTORY";
				public static READ_HEALTH_DATA_IN_BACKGROUND: "android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND";
				public static READ_HEART_RATE: "android.permission.health.READ_HEART_RATE";
				public static READ_HEART_RATE_VARIABILITY: "android.permission.health.READ_HEART_RATE_VARIABILITY";
				public static READ_HEIGHT: "android.permission.health.READ_HEIGHT";
				public static READ_HYDRATION: "android.permission.health.READ_HYDRATION";
				public static READ_INTERMENSTRUAL_BLEEDING: "android.permission.health.READ_INTERMENSTRUAL_BLEEDING";
				public static READ_LEAN_BODY_MASS: "android.permission.health.READ_LEAN_BODY_MASS";
				public static READ_MENSTRUATION: "android.permission.health.READ_MENSTRUATION";
				public static READ_NUTRITION: "android.permission.health.READ_NUTRITION";
				public static READ_OVULATION_TEST: "android.permission.health.READ_OVULATION_TEST";
				public static READ_OXYGEN_SATURATION: "android.permission.health.READ_OXYGEN_SATURATION";
				public static READ_PLANNED_EXERCISE: "android.permission.health.READ_PLANNED_EXERCISE";
				public static READ_POWER: "android.permission.health.READ_POWER";
				public static READ_RESPIRATORY_RATE: "android.permission.health.READ_RESPIRATORY_RATE";
				public static READ_RESTING_HEART_RATE: "android.permission.health.READ_RESTING_HEART_RATE";
				public static READ_SEXUAL_ACTIVITY: "android.permission.health.READ_SEXUAL_ACTIVITY";
				public static READ_SKIN_TEMPERATURE: "android.permission.health.READ_SKIN_TEMPERATURE";
				public static READ_SLEEP: "android.permission.health.READ_SLEEP";
				public static READ_SPEED: "android.permission.health.READ_SPEED";
				public static READ_STEPS: "android.permission.health.READ_STEPS";
				public static READ_TOTAL_CALORIES_BURNED: "android.permission.health.READ_TOTAL_CALORIES_BURNED";
				public static READ_VO2_MAX: "android.permission.health.READ_VO2_MAX";
				public static READ_WEIGHT: "android.permission.health.READ_WEIGHT";
				public static READ_WHEELCHAIR_PUSHES: "android.permission.health.READ_WHEELCHAIR_PUSHES";
				public static WRITE_ACTIVE_CALORIES_BURNED: "android.permission.health.WRITE_ACTIVE_CALORIES_BURNED";
				public static WRITE_BASAL_BODY_TEMPERATURE: "android.permission.health.WRITE_BASAL_BODY_TEMPERATURE";
				public static WRITE_BASAL_METABOLIC_RATE: "android.permission.health.WRITE_BASAL_METABOLIC_RATE";
				public static WRITE_BLOOD_GLUCOSE: "android.permission.health.WRITE_BLOOD_GLUCOSE";
				public static WRITE_BLOOD_PRESSURE: "android.permission.health.WRITE_BLOOD_PRESSURE";
				public static WRITE_BODY_FAT: "android.permission.health.WRITE_BODY_FAT";
				public static WRITE_BODY_TEMPERATURE: "android.permission.health.WRITE_BODY_TEMPERATURE";
				public static WRITE_BODY_WATER_MASS: "android.permission.health.WRITE_BODY_WATER_MASS";
				public static WRITE_BONE_MASS: "android.permission.health.WRITE_BONE_MASS";
				public static WRITE_CERVICAL_MUCUS: "android.permission.health.WRITE_CERVICAL_MUCUS";
				public static WRITE_DISTANCE: "android.permission.health.WRITE_DISTANCE";
				public static WRITE_ELEVATION_GAINED: "android.permission.health.WRITE_ELEVATION_GAINED";
				public static WRITE_EXERCISE: "android.permission.health.WRITE_EXERCISE";
				public static WRITE_EXERCISE_ROUTE: "android.permission.health.WRITE_EXERCISE_ROUTE";
				public static WRITE_FLOORS_CLIMBED: "android.permission.health.WRITE_FLOORS_CLIMBED";
				public static WRITE_HEART_RATE: "android.permission.health.WRITE_HEART_RATE";
				public static WRITE_HEART_RATE_VARIABILITY: "android.permission.health.WRITE_HEART_RATE_VARIABILITY";
				public static WRITE_HEIGHT: "android.permission.health.WRITE_HEIGHT";
				public static WRITE_HYDRATION: "android.permission.health.WRITE_HYDRATION";
				public static WRITE_INTERMENSTRUAL_BLEEDING: "android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING";
				public static WRITE_LEAN_BODY_MASS: "android.permission.health.WRITE_LEAN_BODY_MASS";
				public static WRITE_MENSTRUATION: "android.permission.health.WRITE_MENSTRUATION";
				public static WRITE_NUTRITION: "android.permission.health.WRITE_NUTRITION";
				public static WRITE_OVULATION_TEST: "android.permission.health.WRITE_OVULATION_TEST";
				public static WRITE_OXYGEN_SATURATION: "android.permission.health.WRITE_OXYGEN_SATURATION";
				public static WRITE_PLANNED_EXERCISE: "android.permission.health.WRITE_PLANNED_EXERCISE";
				public static WRITE_POWER: "android.permission.health.WRITE_POWER";
				public static WRITE_RESPIRATORY_RATE: "android.permission.health.WRITE_RESPIRATORY_RATE";
				public static WRITE_RESTING_HEART_RATE: "android.permission.health.WRITE_RESTING_HEART_RATE";
				public static WRITE_SEXUAL_ACTIVITY: "android.permission.health.WRITE_SEXUAL_ACTIVITY";
				public static WRITE_SKIN_TEMPERATURE: "android.permission.health.WRITE_SKIN_TEMPERATURE";
				public static WRITE_SLEEP: "android.permission.health.WRITE_SLEEP";
				public static WRITE_SPEED: "android.permission.health.WRITE_SPEED";
				public static WRITE_STEPS: "android.permission.health.WRITE_STEPS";
				public static WRITE_TOTAL_CALORIES_BURNED: "android.permission.health.WRITE_TOTAL_CALORIES_BURNED";
				public static WRITE_VO2_MAX: "android.permission.health.WRITE_VO2_MAX";
				public static WRITE_WEIGHT: "android.permission.health.WRITE_WEIGHT";
				public static WRITE_WHEELCHAIR_PUSHES: "android.permission.health.WRITE_WHEELCHAIR_PUSHES";
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class InsertRecordsResponse extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.InsertRecordsResponse>;
				public getRecords(): java.util.List<android.health.connect.datatypes.Record>;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class LocalTimeRangeFilter extends java.lang.Object implements android.health.connect.TimeRangeFilter {
				public static class: java.lang.Class<android.health.connect.LocalTimeRangeFilter>;
				public isBounded(): boolean;
				public getStartTime(): java.time.LocalDateTime;
				public getEndTime(): java.time.LocalDateTime;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
			export module LocalTimeRangeFilter {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.LocalTimeRangeFilter.Builder>;
					public setStartTime(localStartTime: java.time.LocalDateTime): android.health.connect.LocalTimeRangeFilter.Builder;
					public constructor();
					public setEndTime(localEndTime: java.time.LocalDateTime): android.health.connect.LocalTimeRangeFilter.Builder;
					public build(): android.health.connect.LocalTimeRangeFilter;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export abstract class ReadRecordsRequest<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.ReadRecordsRequest<any>>;
				public getRecordType(): java.lang.Class<T>;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class ReadRecordsRequestUsingFilters<T>  extends android.health.connect.ReadRecordsRequest<any> {
				public static class: java.lang.Class<android.health.connect.ReadRecordsRequestUsingFilters<any>>;
				public getDataOrigins(): java.util.Set<android.health.connect.datatypes.DataOrigin>;
				public isAscending(): boolean;
				public getPageSize(): number;
				public getTimeRangeFilter(): android.health.connect.TimeRangeFilter;
				public getPageToken(): number;
			}
			export module ReadRecordsRequestUsingFilters {
				export class Builder<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.ReadRecordsRequestUsingFilters.Builder<any>>;
					public constructor(recordType: java.lang.Class<T>);
					public setPageSize(pageSize: number): android.health.connect.ReadRecordsRequestUsingFilters.Builder<T>;
					public addDataOrigins(dataOrigin: android.health.connect.datatypes.DataOrigin): android.health.connect.ReadRecordsRequestUsingFilters.Builder<T>;
					public build(): android.health.connect.ReadRecordsRequestUsingFilters<T>;
					public setAscending(ascending: boolean): android.health.connect.ReadRecordsRequestUsingFilters.Builder<T>;
					public setTimeRangeFilter(timeRangeFilter: android.health.connect.TimeRangeFilter): android.health.connect.ReadRecordsRequestUsingFilters.Builder<T>;
					public setPageToken(pageToken: number): android.health.connect.ReadRecordsRequestUsingFilters.Builder<T>;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class ReadRecordsRequestUsingIds<T>  extends android.health.connect.ReadRecordsRequest<any> {
				public static class: java.lang.Class<android.health.connect.ReadRecordsRequestUsingIds<any>>;
				public getRecordIdFilters(): java.util.List<android.health.connect.RecordIdFilter>;
			}
			export module ReadRecordsRequestUsingIds {
				export class Builder<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.ReadRecordsRequestUsingIds.Builder<any>>;
					public constructor(recordType: java.lang.Class<T>);
					public addId(id: string): android.health.connect.ReadRecordsRequestUsingIds.Builder<T>;
					public build(): android.health.connect.ReadRecordsRequestUsingIds<T>;
					public addClientRecordId(clientRecordId: string): android.health.connect.ReadRecordsRequestUsingIds.Builder<T>;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class ReadRecordsResponse<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.ReadRecordsResponse<any>>;
				public getRecords(): java.util.List<T>;
				public getNextPageToken(): number;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class RecordIdFilter extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.RecordIdFilter>;
				public getId(): string;
				public static fromId(recordType: java.lang.Class<any>, id: string): android.health.connect.RecordIdFilter;
				public getRecordType(): java.lang.Class<any>;
				public static fromClientRecordId(recordType: java.lang.Class<any>, clientRecordId: string): android.health.connect.RecordIdFilter;
				public getClientRecordId(): string;
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class TimeInstantRangeFilter extends java.lang.Object implements android.health.connect.TimeRangeFilter {
				public static class: java.lang.Class<android.health.connect.TimeInstantRangeFilter>;
				public isBounded(): boolean;
				public getStartTime(): java.time.Instant;
				public hashCode(): number;
				public equals(o: any): boolean;
				public getEndTime(): java.time.Instant;
			}
			export module TimeInstantRangeFilter {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.TimeInstantRangeFilter.Builder>;
					public constructor();
					public build(): android.health.connect.TimeInstantRangeFilter;
					public setStartTime(startTime: java.time.Instant): android.health.connect.TimeInstantRangeFilter.Builder;
					public setEndTime(endTime: java.time.Instant): android.health.connect.TimeInstantRangeFilter.Builder;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export class TimeRangeFilter extends java.lang.Object {
				public static class: java.lang.Class<android.health.connect.TimeRangeFilter>;
				/**
				 * Constructs a new instance of the android.health.connect.TimeRangeFilter 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 health {
		export module connect {
			export module changelog {
				export class ChangeLogTokenRequest extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.health.connect.changelog.ChangeLogTokenRequest>;
					public static CREATOR: android.os.Parcelable.Creator<android.health.connect.changelog.ChangeLogTokenRequest>;
					public describeContents(): number;
					public getDataOriginFilters(): java.util.Set<android.health.connect.datatypes.DataOrigin>;
					public getRecordTypes(): java.util.Set<java.lang.Class<any>>;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module ChangeLogTokenRequest {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.changelog.ChangeLogTokenRequest.Builder>;
						public constructor();
						public addRecordType(recordType: java.lang.Class<any>): android.health.connect.changelog.ChangeLogTokenRequest.Builder;
						public build(): android.health.connect.changelog.ChangeLogTokenRequest;
						public addDataOriginFilter(dataOriginFilter: android.health.connect.datatypes.DataOrigin): android.health.connect.changelog.ChangeLogTokenRequest.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module changelog {
				export class ChangeLogTokenResponse extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.health.connect.changelog.ChangeLogTokenResponse>;
					public static CREATOR: android.os.Parcelable.Creator<android.health.connect.changelog.ChangeLogTokenResponse>;
					public getToken(): string;
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module changelog {
				export class ChangeLogsRequest extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.health.connect.changelog.ChangeLogsRequest>;
					public static CREATOR: android.os.Parcelable.Creator<android.health.connect.changelog.ChangeLogsRequest>;
					public getToken(): string;
					public describeContents(): number;
					public getPageSize(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module ChangeLogsRequest {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.changelog.ChangeLogsRequest.Builder>;
						public setPageSize(pageSize: number): android.health.connect.changelog.ChangeLogsRequest.Builder;
						public constructor(token: string);
						public build(): android.health.connect.changelog.ChangeLogsRequest;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module changelog {
				export class ChangeLogsResponse extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.health.connect.changelog.ChangeLogsResponse>;
					public static CREATOR: android.os.Parcelable.Creator<android.health.connect.changelog.ChangeLogsResponse>;
					public hasMorePages(): boolean;
					public describeContents(): number;
					public getUpsertedRecords(): java.util.List<android.health.connect.datatypes.Record>;
					public getNextChangesToken(): string;
					public getDeletedLogs(): java.util.List<android.health.connect.changelog.ChangeLogsResponse.DeletedLog>;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module ChangeLogsResponse {
					export class DeletedLog extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.changelog.ChangeLogsResponse.DeletedLog>;
						public getDeletedRecordId(): string;
						public constructor(deletedRecordId: string, deletedTime: number);
						public getDeletedTime(): java.time.Instant;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class ActiveCaloriesBurnedRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.ActiveCaloriesBurnedRecord>;
					public static ACTIVE_CALORIES_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy>;
					public getEnergy(): android.health.connect.datatypes.units.Energy;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module ActiveCaloriesBurnedRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder>;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, energy: android.health.connect.datatypes.units.Energy);
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder;
						public build(): android.health.connect.datatypes.ActiveCaloriesBurnedRecord;
						public clearStartZoneOffset(): android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class AggregationType<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.AggregationType<any>>;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class AppInfo extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.AppInfo>;
					public getIcon(): android.graphics.Bitmap;
					public getName(): string;
					public getPackageName(): string;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BasalBodyTemperatureRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.BasalBodyTemperatureRecord>;
					public getMeasurementLocation(): number;
					public getTemperature(): android.health.connect.datatypes.units.Temperature;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module BasalBodyTemperatureRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BasalBodyTemperatureRecord.Builder>;
						public clearZoneOffset(): android.health.connect.datatypes.BasalBodyTemperatureRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, measurementLocation: number, temperature: android.health.connect.datatypes.units.Temperature);
						public build(): android.health.connect.datatypes.BasalBodyTemperatureRecord;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.BasalBodyTemperatureRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BasalMetabolicRateRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.BasalMetabolicRateRecord>;
					public static BASAL_CALORIES_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy>;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getBasalMetabolicRate(): android.health.connect.datatypes.units.Power;
				}
				export module BasalMetabolicRateRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BasalMetabolicRateRecord.Builder>;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, basalMetabolicRate: android.health.connect.datatypes.units.Power);
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.BasalMetabolicRateRecord.Builder;
						public clearZoneOffset(): android.health.connect.datatypes.BasalMetabolicRateRecord.Builder;
						public build(): android.health.connect.datatypes.BasalMetabolicRateRecord;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BloodGlucoseRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.BloodGlucoseRecord>;
					public getRelationToMeal(): number;
					public getSpecimenSource(): number;
					public getMealType(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getLevel(): android.health.connect.datatypes.units.BloodGlucose;
				}
				export module BloodGlucoseRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BloodGlucoseRecord.Builder>;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.BloodGlucoseRecord.Builder;
						public clearZoneOffset(): android.health.connect.datatypes.BloodGlucoseRecord.Builder;
						public build(): android.health.connect.datatypes.BloodGlucoseRecord;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, specimenSource: number, level: android.health.connect.datatypes.units.BloodGlucose, relationToMeal: number, mealType: number);
					}
					export class RelationToMealType extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BloodGlucoseRecord.RelationToMealType>;
						public static RELATION_TO_MEAL_AFTER_MEAL: 4;
						public static RELATION_TO_MEAL_BEFORE_MEAL: 3;
						public static RELATION_TO_MEAL_FASTING: 2;
						public static RELATION_TO_MEAL_GENERAL: 1;
						public static RELATION_TO_MEAL_UNKNOWN: 0;
					}
					export class SpecimenSource extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BloodGlucoseRecord.SpecimenSource>;
						public static SPECIMEN_SOURCE_CAPILLARY_BLOOD: 2;
						public static SPECIMEN_SOURCE_INTERSTITIAL_FLUID: 1;
						public static SPECIMEN_SOURCE_PLASMA: 3;
						public static SPECIMEN_SOURCE_SERUM: 4;
						public static SPECIMEN_SOURCE_TEARS: 5;
						public static SPECIMEN_SOURCE_UNKNOWN: 0;
						public static SPECIMEN_SOURCE_WHOLE_BLOOD: 6;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BloodPressureRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.BloodPressureRecord>;
					public static DIASTOLIC_AVG: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure>;
					public static DIASTOLIC_MAX: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure>;
					public static DIASTOLIC_MIN: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure>;
					public static SYSTOLIC_AVG: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure>;
					public static SYSTOLIC_MAX: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure>;
					public static SYSTOLIC_MIN: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure>;
					public getDiastolic(): android.health.connect.datatypes.units.Pressure;
					public getMeasurementLocation(): number;
					public getBodyPosition(): number;
					public getSystolic(): android.health.connect.datatypes.units.Pressure;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module BloodPressureRecord {
					export class BloodPressureMeasurementLocation extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BloodPressureRecord.BloodPressureMeasurementLocation>;
						public static BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_UPPER_ARM: 3;
						public static BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_WRIST: 1;
						public static BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_UPPER_ARM: 4;
						public static BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_WRIST: 2;
						public static BLOOD_PRESSURE_MEASUREMENT_LOCATION_UNKNOWN: 0;
					}
					export class BodyPosition extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BloodPressureRecord.BodyPosition>;
						public static BODY_POSITION_LYING_DOWN: 3;
						public static BODY_POSITION_RECLINING: 4;
						public static BODY_POSITION_SITTING_DOWN: 2;
						public static BODY_POSITION_STANDING_UP: 1;
						public static BODY_POSITION_UNKNOWN: 0;
					}
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BloodPressureRecord.Builder>;
						public clearZoneOffset(): android.health.connect.datatypes.BloodPressureRecord.Builder;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.BloodPressureRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, measurementLocation: number, systolic: android.health.connect.datatypes.units.Pressure, diastolic: android.health.connect.datatypes.units.Pressure, bodyPosition: number);
						public build(): android.health.connect.datatypes.BloodPressureRecord;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BodyFatRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.BodyFatRecord>;
					public getPercentage(): android.health.connect.datatypes.units.Percentage;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module BodyFatRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BodyFatRecord.Builder>;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.BodyFatRecord.Builder;
						public clearZoneOffset(): android.health.connect.datatypes.BodyFatRecord.Builder;
						public build(): android.health.connect.datatypes.BodyFatRecord;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, percentage: android.health.connect.datatypes.units.Percentage);
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BodyTemperatureMeasurementLocation extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.BodyTemperatureMeasurementLocation>;
					public static MEASUREMENT_LOCATION_ARMPIT: 1;
					public static MEASUREMENT_LOCATION_EAR: 8;
					public static MEASUREMENT_LOCATION_FINGER: 2;
					public static MEASUREMENT_LOCATION_FOREHEAD: 3;
					public static MEASUREMENT_LOCATION_MOUTH: 4;
					public static MEASUREMENT_LOCATION_RECTUM: 5;
					public static MEASUREMENT_LOCATION_TEMPORAL_ARTERY: 6;
					public static MEASUREMENT_LOCATION_TOE: 7;
					public static MEASUREMENT_LOCATION_UNKNOWN: 0;
					public static MEASUREMENT_LOCATION_VAGINA: 10;
					public static MEASUREMENT_LOCATION_WRIST: 9;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BodyTemperatureRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.BodyTemperatureRecord>;
					public getMeasurementLocation(): number;
					public getTemperature(): android.health.connect.datatypes.units.Temperature;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module BodyTemperatureRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BodyTemperatureRecord.Builder>;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.BodyTemperatureRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, measurementLocation: number, temperature: android.health.connect.datatypes.units.Temperature);
						public build(): android.health.connect.datatypes.BodyTemperatureRecord;
						public clearZoneOffset(): android.health.connect.datatypes.BodyTemperatureRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BodyWaterMassRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.BodyWaterMassRecord>;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getBodyWaterMass(): android.health.connect.datatypes.units.Mass;
				}
				export module BodyWaterMassRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BodyWaterMassRecord.Builder>;
						public clearZoneOffset(): android.health.connect.datatypes.BodyWaterMassRecord.Builder;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.BodyWaterMassRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, bodyWaterMass: android.health.connect.datatypes.units.Mass);
						public build(): android.health.connect.datatypes.BodyWaterMassRecord;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class BoneMassRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.BoneMassRecord>;
					public getMass(): android.health.connect.datatypes.units.Mass;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module BoneMassRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.BoneMassRecord.Builder>;
						public clearZoneOffset(): android.health.connect.datatypes.BoneMassRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, mass: android.health.connect.datatypes.units.Mass);
						public build(): android.health.connect.datatypes.BoneMassRecord;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.BoneMassRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class CervicalMucusRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.CervicalMucusRecord>;
					public getAppearance(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getSensation(): number;
				}
				export module CervicalMucusRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.CervicalMucusRecord.Builder>;
						public clearZoneOffset(): android.health.connect.datatypes.CervicalMucusRecord.Builder;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.CervicalMucusRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, sensation: number, appearance: number);
						public build(): android.health.connect.datatypes.CervicalMucusRecord;
					}
					export class CervicalMucusAppearance extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.CervicalMucusRecord.CervicalMucusAppearance>;
						public static APPEARANCE_CREAMY: 3;
						public static APPEARANCE_DRY: 1;
						public static APPEARANCE_EGG_WHITE: 5;
						public static APPEARANCE_STICKY: 2;
						public static APPEARANCE_UNKNOWN: 0;
						public static APPEARANCE_UNUSUAL: 6;
						public static APPEARANCE_WATERY: 4;
					}
					export class CervicalMucusSensation extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.CervicalMucusRecord.CervicalMucusSensation>;
						public static SENSATION_HEAVY: 3;
						public static SENSATION_LIGHT: 1;
						public static SENSATION_MEDIUM: 2;
						public static SENSATION_UNKNOWN: 0;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class CyclingPedalingCadenceRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.CyclingPedalingCadenceRecord>;
					public static RPM_AVG: android.health.connect.datatypes.AggregationType<java.lang.Double>;
					public static RPM_MAX: android.health.connect.datatypes.AggregationType<java.lang.Double>;
					public static RPM_MIN: android.health.connect.datatypes.AggregationType<java.lang.Double>;
					public equals(object: any): boolean;
					public getSamples(): java.util.List<android.health.connect.datatypes.CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample>;
					public hashCode(): number;
				}
				export module CyclingPedalingCadenceRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder>;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, cyclingPedalingCadenceRecordSamples: java.util.List<android.health.connect.datatypes.CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample>);
						public build(): android.health.connect.datatypes.CyclingPedalingCadenceRecord;
					}
					export class CyclingPedalingCadenceRecordSample extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample>;
						public hashCode(): number;
						public getRevolutionsPerMinute(): number;
						public constructor(revolutionsPerMinute: number, time: java.time.Instant);
						public equals(object: any): boolean;
						public getTime(): java.time.Instant;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class DataOrigin extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.DataOrigin>;
					public equals(object: any): boolean;
					public getPackageName(): string;
					public hashCode(): number;
				}
				export module DataOrigin {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.DataOrigin.Builder>;
						public constructor();
						public setPackageName(packageName: string): android.health.connect.datatypes.DataOrigin.Builder;
						public build(): android.health.connect.datatypes.DataOrigin;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class Device extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.Device>;
					public static DEVICE_TYPE_CHEST_STRAP: 7;
					public static DEVICE_TYPE_FITNESS_BAND: 6;
					public static DEVICE_TYPE_HEAD_MOUNTED: 5;
					public static DEVICE_TYPE_PHONE: 2;
					public static DEVICE_TYPE_RING: 4;
					public static DEVICE_TYPE_SCALE: 3;
					public static DEVICE_TYPE_SMART_DISPLAY: 8;
					public static DEVICE_TYPE_UNKNOWN: 0;
					public static DEVICE_TYPE_WATCH: 1;
					public getType(): number;
					public equals(object: any): boolean;
					public getModel(): string;
					public hashCode(): number;
					public getManufacturer(): string;
				}
				export module Device {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.Device.Builder>;
						public constructor();
						public build(): android.health.connect.datatypes.Device;
						public setType(type: number): android.health.connect.datatypes.Device.Builder;
						public setManufacturer(manufacturer: string): android.health.connect.datatypes.Device.Builder;
						public setModel(model: string): android.health.connect.datatypes.Device.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class DistanceRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.DistanceRecord>;
					public static DISTANCE_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length>;
					public getDistance(): android.health.connect.datatypes.units.Length;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module DistanceRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.DistanceRecord.Builder>;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.DistanceRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, distance: android.health.connect.datatypes.units.Length);
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.DistanceRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.DistanceRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.DistanceRecord.Builder;
						public build(): android.health.connect.datatypes.DistanceRecord;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class ElevationGainedRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.ElevationGainedRecord>;
					public static ELEVATION_GAINED_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length>;
					public getElevation(): android.health.connect.datatypes.units.Length;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module ElevationGainedRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.ElevationGainedRecord.Builder>;
						public build(): android.health.connect.datatypes.ElevationGainedRecord;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.ElevationGainedRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.ElevationGainedRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.ElevationGainedRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, elevation: android.health.connect.datatypes.units.Length);
						public clearEndZoneOffset(): android.health.connect.datatypes.ElevationGainedRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export abstract class ExerciseCompletionGoal extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal>;
				}
				export module ExerciseCompletionGoal {
					export class ActiveCaloriesBurnedGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.ActiveCaloriesBurnedGoal>;
						public getActiveCalories(): android.health.connect.datatypes.units.Energy;
						public constructor(activeCalories: android.health.connect.datatypes.units.Energy);
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class DistanceGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.DistanceGoal>;
						public constructor(distance: android.health.connect.datatypes.units.Length);
						public getDistance(): android.health.connect.datatypes.units.Length;
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class DistanceWithVariableRestGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.DistanceWithVariableRestGoal>;
						public getDistance(): android.health.connect.datatypes.units.Length;
						public constructor(distance: android.health.connect.datatypes.units.Length, duration: java.time.Duration);
						public hashCode(): number;
						public equals(o: any): boolean;
						public getDuration(): java.time.Duration;
					}
					export class DurationGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.DurationGoal>;
						public constructor(duration: java.time.Duration);
						public hashCode(): number;
						public equals(o: any): boolean;
						public getDuration(): java.time.Duration;
					}
					export class RepetitionsGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.RepetitionsGoal>;
						public getRepetitions(): number;
						public constructor(repetitions: number);
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class StepsGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.StepsGoal>;
						public getSteps(): number;
						public hashCode(): number;
						public constructor(steps: number);
						public equals(o: any): boolean;
					}
					export class TotalCaloriesBurnedGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.TotalCaloriesBurnedGoal>;
						public getTotalCalories(): android.health.connect.datatypes.units.Energy;
						public constructor(totalCalories: android.health.connect.datatypes.units.Energy);
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class UnknownGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.UnknownGoal>;
						public static INSTANCE: android.health.connect.datatypes.ExerciseCompletionGoal.UnknownGoal;
					}
					export class UnspecifiedGoal extends android.health.connect.datatypes.ExerciseCompletionGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseCompletionGoal.UnspecifiedGoal>;
						public static INSTANCE: android.health.connect.datatypes.ExerciseCompletionGoal.UnspecifiedGoal;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class ExerciseLap extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.ExerciseLap>;
					public getEndTime(): java.time.Instant;
					public getStartTime(): java.time.Instant;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getLength(): android.health.connect.datatypes.units.Length;
				}
				export module ExerciseLap {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseLap.Builder>;
						public build(): android.health.connect.datatypes.ExerciseLap;
						public setLength(length: android.health.connect.datatypes.units.Length): android.health.connect.datatypes.ExerciseLap.Builder;
						public constructor(startTime: java.time.Instant, endTime: java.time.Instant);
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export abstract class ExercisePerformanceGoal extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal>;
				}
				export module ExercisePerformanceGoal {
					export class AmrapGoal extends android.health.connect.datatypes.ExercisePerformanceGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal.AmrapGoal>;
						public static INSTANCE: android.health.connect.datatypes.ExercisePerformanceGoal.AmrapGoal;
					}
					export class CadenceGoal extends android.health.connect.datatypes.ExercisePerformanceGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal.CadenceGoal>;
						public getMinRpm(): number;
						public constructor(minRpm: number, maxRpm: number);
						public hashCode(): number;
						public equals(o: any): boolean;
						public getMaxRpm(): number;
					}
					export class HeartRateGoal extends android.health.connect.datatypes.ExercisePerformanceGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal.HeartRateGoal>;
						public getMinBpm(): number;
						public getMaxBpm(): number;
						public constructor(minBpm: number, maxBpm: number);
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class PowerGoal extends android.health.connect.datatypes.ExercisePerformanceGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal.PowerGoal>;
						public constructor(minPower: android.health.connect.datatypes.units.Power, maxPower: android.health.connect.datatypes.units.Power);
						public getMaxPower(): android.health.connect.datatypes.units.Power;
						public getMinPower(): android.health.connect.datatypes.units.Power;
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class RateOfPerceivedExertionGoal extends android.health.connect.datatypes.ExercisePerformanceGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal.RateOfPerceivedExertionGoal>;
						public getRpe(): number;
						public hashCode(): number;
						public equals(o: any): boolean;
						public constructor(rpe: number);
					}
					export class SpeedGoal extends android.health.connect.datatypes.ExercisePerformanceGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal.SpeedGoal>;
						public constructor(minSpeed: android.health.connect.datatypes.units.Velocity, maxSpeed: android.health.connect.datatypes.units.Velocity);
						public hashCode(): number;
						public equals(o: any): boolean;
						public getMaxSpeed(): android.health.connect.datatypes.units.Velocity;
						public getMinSpeed(): android.health.connect.datatypes.units.Velocity;
					}
					export class UnknownGoal extends android.health.connect.datatypes.ExercisePerformanceGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal.UnknownGoal>;
						public static INSTANCE: android.health.connect.datatypes.ExercisePerformanceGoal.UnknownGoal;
					}
					export class WeightGoal extends android.health.connect.datatypes.ExercisePerformanceGoal {
						public static class: java.lang.Class<android.health.connect.datatypes.ExercisePerformanceGoal.WeightGoal>;
						public getMass(): android.health.connect.datatypes.units.Mass;
						public hashCode(): number;
						public constructor(mass: android.health.connect.datatypes.units.Mass);
						public equals(o: any): boolean;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class ExerciseRoute extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.health.connect.datatypes.ExerciseRoute>;
					public static CREATOR: android.os.Parcelable.Creator<android.health.connect.datatypes.ExerciseRoute>;
					public constructor(routeLocations: java.util.List<android.health.connect.datatypes.ExerciseRoute.Location>);
					public describeContents(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getRouteLocations(): java.util.List<android.health.connect.datatypes.ExerciseRoute.Location>;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module ExerciseRoute {
					export class Location extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseRoute.Location>;
						public static CREATOR: android.os.Parcelable.Creator<android.health.connect.datatypes.ExerciseRoute.Location>;
						public writeToParcel(dest: android.os.Parcel, flags: number): void;
						public getLongitude(): number;
						public getLatitude(): number;
						public describeContents(): number;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public getVerticalAccuracy(): android.health.connect.datatypes.units.Length;
						public hashCode(): number;
						public getHorizontalAccuracy(): android.health.connect.datatypes.units.Length;
						public equals(o: any): boolean;
						public getAltitude(): android.health.connect.datatypes.units.Length;
						public getTime(): java.time.Instant;
					}
					export module Location {
						export class Builder extends java.lang.Object {
							public static class: java.lang.Class<android.health.connect.datatypes.ExerciseRoute.Location.Builder>;
							public setHorizontalAccuracy(horizontalAccuracy: android.health.connect.datatypes.units.Length): android.health.connect.datatypes.ExerciseRoute.Location.Builder;
							public constructor(time: java.time.Instant, latitude: number, longitude: number);
							public setAltitude(altitude: android.health.connect.datatypes.units.Length): android.health.connect.datatypes.ExerciseRoute.Location.Builder;
							public setVerticalAccuracy(verticalAccuracy: android.health.connect.datatypes.units.Length): android.health.connect.datatypes.ExerciseRoute.Location.Builder;
							public build(): android.health.connect.datatypes.ExerciseRoute.Location;
						}
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class ExerciseSegment extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.ExerciseSegment>;
					public getEndTime(): java.time.Instant;
					public getStartTime(): java.time.Instant;
					public getSegmentType(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getRepetitionsCount(): number;
				}
				export module ExerciseSegment {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseSegment.Builder>;
						public constructor(startTime: java.time.Instant, endTime: java.time.Instant, segmentType: number);
						public build(): android.health.connect.datatypes.ExerciseSegment;
						public setRepetitionsCount(repetitionsCount: number): android.health.connect.datatypes.ExerciseSegment.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class ExerciseSegmentType extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.ExerciseSegmentType>;
					public static EXERCISE_SEGMENT_TYPE_ARM_CURL: 26;
					public static EXERCISE_SEGMENT_TYPE_BACK_EXTENSION: 27;
					public static EXERCISE_SEGMENT_TYPE_BALL_SLAM: 28;
					public static EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS: 1;
					public static EXERCISE_SEGMENT_TYPE_BENCH_PRESS: 29;
					public static EXERCISE_SEGMENT_TYPE_BENCH_SIT_UP: 2;
					public static EXERCISE_SEGMENT_TYPE_BIKING: 3;
					public static EXERCISE_SEGMENT_TYPE_BIKING_STATIONARY: 4;
					public static EXERCISE_SEGMENT_TYPE_BURPEE: 30;
					public static EXERCISE_SEGMENT_TYPE_CRUNCH: 31;
					public static EXERCISE_SEGMENT_TYPE_DEADLIFT: 32;
					public static EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION: 33;
					public static EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM: 5;
					public static EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM: 6;
					public static EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE: 7;
					public static EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE: 8;
					public static EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW: 34;
					public static EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM: 9;
					public static EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM: 10;
					public static EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM: 11;
					public static EXERCISE_SEGMENT_TYPE_ELLIPTICAL: 12;
					public static EXERCISE_SEGMENT_TYPE_FORWARD_TWIST: 13;
					public static EXERCISE_SEGMENT_TYPE_FRONT_RAISE: 35;
					public static EXERCISE_SEGMENT_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING: 62;
					public static EXERCISE_SEGMENT_TYPE_HIP_THRUST: 36;
					public static EXERCISE_SEGMENT_TYPE_HULA_HOOP: 37;
					public static EXERCISE_SEGMENT_TYPE_JUMPING_JACK: 38;
					public static EXERCISE_SEGMENT_TYPE_JUMP_ROPE: 39;
					public static EXERCISE_SEGMENT_TYPE_KETTLEBELL_SWING: 40;
					public static EXERCISE_SEGMENT_TYPE_LATERAL_RAISE: 41;
					public static EXERCISE_SEGMENT_TYPE_LAT_PULL_DOWN: 42;
					public static EXERCISE_SEGMENT_TYPE_LEG_CURL: 43;
					public static EXERCISE_SEGMENT_TYPE_LEG_EXTENSION: 44;
					public static EXERCISE_SEGMENT_TYPE_LEG_PRESS: 45;
					public static EXERCISE_SEGMENT_TYPE_LEG_RAISE: 46;
					public static EXERCISE_SEGMENT_TYPE_LUNGE: 47;
					public static EXERCISE_SEGMENT_TYPE_MOUNTAIN_CLIMBER: 48;
					public static EXERCISE_SEGMENT_TYPE_OTHER_WORKOUT: 64;
					public static EXERCISE_SEGMENT_TYPE_PAUSE: 67;
					public static EXERCISE_SEGMENT_TYPE_PILATES: 14;
					public static EXERCISE_SEGMENT_TYPE_PLANK: 49;
					public static EXERCISE_SEGMENT_TYPE_PULL_UP: 50;
					public static EXERCISE_SEGMENT_TYPE_PUNCH: 51;
					public static EXERCISE_SEGMENT_TYPE_REST: 66;
					public static EXERCISE_SEGMENT_TYPE_ROWING_MACHINE: 15;
					public static EXERCISE_SEGMENT_TYPE_RUNNING: 16;
					public static EXERCISE_SEGMENT_TYPE_RUNNING_TREADMILL: 17;
					public static EXERCISE_SEGMENT_TYPE_SHOULDER_PRESS: 52;
					public static EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION: 53;
					public static EXERCISE_SEGMENT_TYPE_SIT_UP: 54;
					public static EXERCISE_SEGMENT_TYPE_SQUAT: 55;
					public static EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING: 18;
					public static EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING_MACHINE: 19;
					public static EXERCISE_SEGMENT_TYPE_STRETCHING: 20;
					public static EXERCISE_SEGMENT_TYPE_SWIMMING_BACKSTROKE: 57;
					public static EXERCISE_SEGMENT_TYPE_SWIMMING_BREASTSTROKE: 58;
					public static EXERCISE_SEGMENT_TYPE_SWIMMING_BUTTERFLY: 59;
					public static EXERCISE_SEGMENT_TYPE_SWIMMING_FREESTYLE: 56;
					public static EXERCISE_SEGMENT_TYPE_SWIMMING_MIXED: 60;
					public static EXERCISE_SEGMENT_TYPE_SWIMMING_OPEN_WATER: 21;
					public static EXERCISE_SEGMENT_TYPE_SWIMMING_OTHER: 61;
					public static EXERCISE_SEGMENT_TYPE_SWIMMING_POOL: 22;
					public static EXERCISE_SEGMENT_TYPE_UNKNOWN: 0;
					public static EXERCISE_SEGMENT_TYPE_UPPER_TWIST: 23;
					public static EXERCISE_SEGMENT_TYPE_WALKING: 24;
					public static EXERCISE_SEGMENT_TYPE_WEIGHTLIFTING: 63;
					public static EXERCISE_SEGMENT_TYPE_WHEELCHAIR: 25;
					public static EXERCISE_SEGMENT_TYPE_YOGA: 65;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class ExerciseSessionRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.ExerciseSessionRecord>;
					public static EXERCISE_DURATION_TOTAL: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public getTitle(): string;
					public hasRoute(): boolean;
					public getNotes(): string;
					public getPlannedExerciseSessionId(): string;
					public getSegments(): java.util.List<android.health.connect.datatypes.ExerciseSegment>;
					public getExerciseType(): number;
					public getRoute(): android.health.connect.datatypes.ExerciseRoute;
					public getLaps(): java.util.List<android.health.connect.datatypes.ExerciseLap>;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module ExerciseSessionRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.ExerciseSessionRecord.Builder>;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public setRoute(route: android.health.connect.datatypes.ExerciseRoute): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public setSegments(segments: java.util.List<android.health.connect.datatypes.ExerciseSegment>): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public setNotes(notes: string): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public setLaps(laps: java.util.List<android.health.connect.datatypes.ExerciseLap>): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public build(): android.health.connect.datatypes.ExerciseSessionRecord;
						public clearEndZoneOffset(): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, exerciseType: number);
						public setTitle(title: string): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public setPlannedExerciseSessionId(id: string): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.ExerciseSessionRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class ExerciseSessionType extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.ExerciseSessionType>;
					public static EXERCISE_SESSION_TYPE_BADMINTON: 1;
					public static EXERCISE_SESSION_TYPE_BASEBALL: 2;
					public static EXERCISE_SESSION_TYPE_BASKETBALL: 3;
					public static EXERCISE_SESSION_TYPE_BIKING: 4;
					public static EXERCISE_SESSION_TYPE_BIKING_STATIONARY: 5;
					public static EXERCISE_SESSION_TYPE_BOOT_CAMP: 6;
					public static EXERCISE_SESSION_TYPE_BOXING: 7;
					public static EXERCISE_SESSION_TYPE_CALISTHENICS: 8;
					public static EXERCISE_SESSION_TYPE_CRICKET: 9;
					public static EXERCISE_SESSION_TYPE_DANCING: 10;
					public static EXERCISE_SESSION_TYPE_ELLIPTICAL: 60;
					public static EXERCISE_SESSION_TYPE_EXERCISE_CLASS: 11;
					public static EXERCISE_SESSION_TYPE_FENCING: 12;
					public static EXERCISE_SESSION_TYPE_FOOTBALL_AMERICAN: 13;
					public static EXERCISE_SESSION_TYPE_FOOTBALL_AUSTRALIAN: 14;
					public static EXERCISE_SESSION_TYPE_FRISBEE_DISC: 15;
					public static EXERCISE_SESSION_TYPE_GOLF: 16;
					public static EXERCISE_SESSION_TYPE_GUIDED_BREATHING: 17;
					public static EXERCISE_SESSION_TYPE_GYMNASTICS: 18;
					public static EXERCISE_SESSION_TYPE_HANDBALL: 19;
					public static EXERCISE_SESSION_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING: 20;
					public static EXERCISE_SESSION_TYPE_HIKING: 21;
					public static EXERCISE_SESSION_TYPE_ICE_HOCKEY: 22;
					public static EXERCISE_SESSION_TYPE_ICE_SKATING: 23;
					public static EXERCISE_SESSION_TYPE_MARTIAL_ARTS: 24;
					public static EXERCISE_SESSION_TYPE_OTHER_WORKOUT: 58;
					public static EXERCISE_SESSION_TYPE_PADDLING: 25;
					public static EXERCISE_SESSION_TYPE_PARAGLIDING: 26;
					public static EXERCISE_SESSION_TYPE_PILATES: 27;
					public static EXERCISE_SESSION_TYPE_RACQUETBALL: 28;
					public static EXERCISE_SESSION_TYPE_ROCK_CLIMBING: 29;
					public static EXERCISE_SESSION_TYPE_ROLLER_HOCKEY: 30;
					public static EXERCISE_SESSION_TYPE_ROWING: 31;
					public static EXERCISE_SESSION_TYPE_ROWING_MACHINE: 61;
					public static EXERCISE_SESSION_TYPE_RUGBY: 32;
					public static EXERCISE_SESSION_TYPE_RUNNING: 33;
					public static EXERCISE_SESSION_TYPE_RUNNING_TREADMILL: 34;
					public static EXERCISE_SESSION_TYPE_SAILING: 35;
					public static EXERCISE_SESSION_TYPE_SCUBA_DIVING: 36;
					public static EXERCISE_SESSION_TYPE_SKATING: 37;
					public static EXERCISE_SESSION_TYPE_SKIING: 38;
					public static EXERCISE_SESSION_TYPE_SNOWBOARDING: 39;
					public static EXERCISE_SESSION_TYPE_SNOWSHOEING: 40;
					public static EXERCISE_SESSION_TYPE_SOCCER: 41;
					public static EXERCISE_SESSION_TYPE_SOFTBALL: 42;
					public static EXERCISE_SESSION_TYPE_SQUASH: 43;
					public static EXERCISE_SESSION_TYPE_STAIR_CLIMBING: 44;
					public static EXERCISE_SESSION_TYPE_STAIR_CLIMBING_MACHINE: 59;
					public static EXERCISE_SESSION_TYPE_STRENGTH_TRAINING: 45;
					public static EXERCISE_SESSION_TYPE_STRETCHING: 46;
					public static EXERCISE_SESSION_TYPE_SURFING: 47;
					public static EXERCISE_SESSION_TYPE_SWIMMING_OPEN_WATER: 48;
					public static EXERCISE_SESSION_TYPE_SWIMMING_POOL: 49;
					public static EXERCISE_SESSION_TYPE_TABLE_TENNIS: 50;
					public static EXERCISE_SESSION_TYPE_TENNIS: 51;
					public static EXERCISE_SESSION_TYPE_UNKNOWN: 0;
					public static EXERCISE_SESSION_TYPE_VOLLEYBALL: 52;
					public static EXERCISE_SESSION_TYPE_WALKING: 53;
					public static EXERCISE_SESSION_TYPE_WATER_POLO: 54;
					public static EXERCISE_SESSION_TYPE_WEIGHTLIFTING: 55;
					public static EXERCISE_SESSION_TYPE_WHEELCHAIR: 56;
					public static EXERCISE_SESSION_TYPE_YOGA: 57;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class FloorsClimbedRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.FloorsClimbedRecord>;
					public static FLOORS_CLIMBED_TOTAL: android.health.connect.datatypes.AggregationType<java.lang.Double>;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getFloors(): number;
				}
				export module FloorsClimbedRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.FloorsClimbedRecord.Builder>;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.FloorsClimbedRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.FloorsClimbedRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, floors: number);
						public clearEndZoneOffset(): android.health.connect.datatypes.FloorsClimbedRecord.Builder;
						public build(): android.health.connect.datatypes.FloorsClimbedRecord;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.FloorsClimbedRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class HeartRateRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.HeartRateRecord>;
					public static BPM_AVG: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public static BPM_MAX: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public static BPM_MIN: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public static HEART_MEASUREMENTS_COUNT: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public getSamples(): java.util.List<android.health.connect.datatypes.HeartRateRecord.HeartRateSample>;
					public equals(object: any): boolean;
					public hashCode(): number;
				}
				export module HeartRateRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.HeartRateRecord.Builder>;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, heartRateSamples: java.util.List<android.health.connect.datatypes.HeartRateRecord.HeartRateSample>);
						public build(): android.health.connect.datatypes.HeartRateRecord;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.HeartRateRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.HeartRateRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.HeartRateRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.HeartRateRecord.Builder;
					}
					export class HeartRateSample extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.HeartRateRecord.HeartRateSample>;
						public constructor(beatsPerMinute: number, time: java.time.Instant);
						public getBeatsPerMinute(): number;
						public hashCode(): number;
						public equals(object: any): boolean;
						public getTime(): java.time.Instant;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class HeartRateVariabilityRmssdRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.HeartRateVariabilityRmssdRecord>;
					public getHeartRateVariabilityMillis(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module HeartRateVariabilityRmssdRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.HeartRateVariabilityRmssdRecord.Builder>;
						public build(): android.health.connect.datatypes.HeartRateVariabilityRmssdRecord;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, heartRateVariabilityMillis: number);
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.HeartRateVariabilityRmssdRecord.Builder;
						public clearZoneOffset(): android.health.connect.datatypes.HeartRateVariabilityRmssdRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class HeightRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.HeightRecord>;
					public static HEIGHT_AVG: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length>;
					public static HEIGHT_MAX: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length>;
					public static HEIGHT_MIN: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length>;
					public getHeight(): android.health.connect.datatypes.units.Length;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module HeightRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.HeightRecord.Builder>;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, height: android.health.connect.datatypes.units.Length);
						public clearZoneOffset(): android.health.connect.datatypes.HeightRecord.Builder;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.HeightRecord.Builder;
						public build(): android.health.connect.datatypes.HeightRecord;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class HydrationRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.HydrationRecord>;
					public static VOLUME_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Volume>;
					public getVolume(): android.health.connect.datatypes.units.Volume;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module HydrationRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.HydrationRecord.Builder>;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.HydrationRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.HydrationRecord.Builder;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.HydrationRecord.Builder;
						public build(): android.health.connect.datatypes.HydrationRecord;
						public clearStartZoneOffset(): android.health.connect.datatypes.HydrationRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, volume: android.health.connect.datatypes.units.Volume);
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export abstract class InstantRecord extends android.health.connect.datatypes.Record {
					public static class: java.lang.Class<android.health.connect.datatypes.InstantRecord>;
					public equals(object: any): boolean;
					public getTime(): java.time.Instant;
					public getZoneOffset(): java.time.ZoneOffset;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class IntermenstrualBleedingRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.IntermenstrualBleedingRecord>;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module IntermenstrualBleedingRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.IntermenstrualBleedingRecord.Builder>;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.IntermenstrualBleedingRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant);
						public build(): android.health.connect.datatypes.IntermenstrualBleedingRecord;
						public clearZoneOffset(): android.health.connect.datatypes.IntermenstrualBleedingRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export abstract class IntervalRecord extends android.health.connect.datatypes.Record {
					public static class: java.lang.Class<android.health.connect.datatypes.IntervalRecord>;
					public getStartZoneOffset(): java.time.ZoneOffset;
					public equals(object: any): boolean;
					public getEndTime(): java.time.Instant;
					public getStartTime(): java.time.Instant;
					public hashCode(): number;
					public getEndZoneOffset(): java.time.ZoneOffset;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class LeanBodyMassRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.LeanBodyMassRecord>;
					public getMass(): android.health.connect.datatypes.units.Mass;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module LeanBodyMassRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.LeanBodyMassRecord.Builder>;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, mass: android.health.connect.datatypes.units.Mass);
						public build(): android.health.connect.datatypes.LeanBodyMassRecord;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.LeanBodyMassRecord.Builder;
						public clearZoneOffset(): android.health.connect.datatypes.LeanBodyMassRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class MealType extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.MealType>;
					public static MEAL_TYPE_BREAKFAST: 1;
					public static MEAL_TYPE_DINNER: 3;
					public static MEAL_TYPE_LUNCH: 2;
					public static MEAL_TYPE_SNACK: 4;
					public static MEAL_TYPE_UNKNOWN: 0;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class MenstruationFlowRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.MenstruationFlowRecord>;
					public getFlow(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module MenstruationFlowRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.MenstruationFlowRecord.Builder>;
						public build(): android.health.connect.datatypes.MenstruationFlowRecord;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, flow: number);
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.MenstruationFlowRecord.Builder;
						public clearZoneOffset(): android.health.connect.datatypes.MenstruationFlowRecord.Builder;
					}
					export class MenstruationFlowType extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.MenstruationFlowRecord.MenstruationFlowType>;
						public static FLOW_HEAVY: 3;
						public static FLOW_LIGHT: 1;
						public static FLOW_MEDIUM: 2;
						public static FLOW_UNKNOWN: 0;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class MenstruationPeriodRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.MenstruationPeriodRecord>;
					public equals(object: any): boolean;
					public hashCode(): number;
				}
				export module MenstruationPeriodRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.MenstruationPeriodRecord.Builder>;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.MenstruationPeriodRecord.Builder;
						public build(): android.health.connect.datatypes.MenstruationPeriodRecord;
						public clearEndZoneOffset(): android.health.connect.datatypes.MenstruationPeriodRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant);
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.MenstruationPeriodRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.MenstruationPeriodRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class Metadata extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.Metadata>;
					public static RECORDING_METHOD_ACTIVELY_RECORDED: 1;
					public static RECORDING_METHOD_AUTOMATICALLY_RECORDED: 2;
					public static RECORDING_METHOD_MANUAL_ENTRY: 3;
					public static RECORDING_METHOD_UNKNOWN: 0;
					public getDevice(): android.health.connect.datatypes.Device;
					public equals(object: any): boolean;
					public getId(): string;
					public getDataOrigin(): android.health.connect.datatypes.DataOrigin;
					public getClientRecordVersion(): number;
					public getLastModifiedTime(): java.time.Instant;
					public getRecordingMethod(): number;
					public getClientRecordId(): string;
					public hashCode(): number;
				}
				export module Metadata {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.Metadata.Builder>;
						public setClientRecordVersion(clientRecordVersion: number): android.health.connect.datatypes.Metadata.Builder;
						public constructor();
						public setId(id: string): android.health.connect.datatypes.Metadata.Builder;
						public setLastModifiedTime(lastModifiedTime: java.time.Instant): android.health.connect.datatypes.Metadata.Builder;
						public setClientRecordId(clientRecordId: string): android.health.connect.datatypes.Metadata.Builder;
						public setRecordingMethod(recordingMethod: number): android.health.connect.datatypes.Metadata.Builder;
						public setDataOrigin(dataOrigin: android.health.connect.datatypes.DataOrigin): android.health.connect.datatypes.Metadata.Builder;
						public build(): android.health.connect.datatypes.Metadata;
						public setDevice(device: android.health.connect.datatypes.Device): android.health.connect.datatypes.Metadata.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class NutritionRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.NutritionRecord>;
					public static BIOTIN_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static CAFFEINE_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static CALCIUM_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static CHLORIDE_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static CHOLESTEROL_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static CHROMIUM_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static COPPER_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static DIETARY_FIBER_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static ENERGY_FROM_FAT_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy>;
					public static ENERGY_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy>;
					public static FOLATE_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static FOLIC_ACID_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static IODINE_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static IRON_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static MAGNESIUM_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static MANGANESE_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static MOLYBDENUM_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static MONOUNSATURATED_FAT_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static NIACIN_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static PANTOTHENIC_ACID_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static PHOSPHORUS_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static POLYUNSATURATED_FAT_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static POTASSIUM_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static PROTEIN_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static RIBOFLAVIN_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static SATURATED_FAT_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static SELENIUM_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static SODIUM_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static SUGAR_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static THIAMIN_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static TOTAL_CARBOHYDRATE_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static TOTAL_FAT_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static TRANS_FAT_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static UNSATURATED_FAT_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static VITAMIN_A_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static VITAMIN_B12_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static VITAMIN_B6_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static VITAMIN_C_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static VITAMIN_D_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static VITAMIN_E_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static VITAMIN_K_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static ZINC_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public getMagnesium(): android.health.connect.datatypes.units.Mass;
					public getVitaminA(): android.health.connect.datatypes.units.Mass;
					public getSodium(): android.health.connect.datatypes.units.Mass;
					public getMealType(): number;
					public getCopper(): android.health.connect.datatypes.units.Mass;
					public getRiboflavin(): android.health.connect.datatypes.units.Mass;
					public getFolicAcid(): android.health.connect.datatypes.units.Mass;
					public equals(o: any): boolean;
					public getPantothenicAcid(): android.health.connect.datatypes.units.Mass;
					public getPotassium(): android.health.connect.datatypes.units.Mass;
					public getSelenium(): android.health.connect.datatypes.units.Mass;
					public getSugar(): android.health.connect.datatypes.units.Mass;
					public getThiamin(): android.health.connect.datatypes.units.Mass;
					public getSaturatedFat(): android.health.connect.datatypes.units.Mass;
					public getCalcium(): android.health.connect.datatypes.units.Mass;
					public getIodine(): android.health.connect.datatypes.units.Mass;
					public getDietaryFiber(): android.health.connect.datatypes.units.Mass;
					public getIron(): android.health.connect.datatypes.units.Mass;
					public getCaffeine(): android.health.connect.datatypes.units.Mass;
					public getZinc(): android.health.connect.datatypes.units.Mass;
					public hashCode(): number;
					public getPhosphorus(): android.health.connect.datatypes.units.Mass;
					public getNiacin(): android.health.connect.datatypes.units.Mass;
					public getCholesterol(): android.health.connect.datatypes.units.Mass;
					public getEnergy(): android.health.connect.datatypes.units.Energy;
					public getChloride(): android.health.connect.datatypes.units.Mass;
					public getMealName(): string;
					public getChromium(): android.health.connect.datatypes.units.Mass;
					public getVitaminK(): android.health.connect.datatypes.units.Mass;
					public getManganese(): android.health.connect.datatypes.units.Mass;
					public getMolybdenum(): android.health.connect.datatypes.units.Mass;
					public getVitaminE(): android.health.connect.datatypes.units.Mass;
					public getVitaminC(): android.health.connect.datatypes.units.Mass;
					public getProtein(): android.health.connect.datatypes.units.Mass;
					public getMonounsaturatedFat(): android.health.connect.datatypes.units.Mass;
					public getEnergyFromFat(): android.health.connect.datatypes.units.Energy;
					public getPolyunsaturatedFat(): android.health.connect.datatypes.units.Mass;
					public getTotalCarbohydrate(): android.health.connect.datatypes.units.Mass;
					public getTotalFat(): android.health.connect.datatypes.units.Mass;
					public getUnsaturatedFat(): android.health.connect.datatypes.units.Mass;
					public getTransFat(): android.health.connect.datatypes.units.Mass;
					public getVitaminB6(): android.health.connect.datatypes.units.Mass;
					public getVitaminB12(): android.health.connect.datatypes.units.Mass;
					public getBiotin(): android.health.connect.datatypes.units.Mass;
					public getVitaminD(): android.health.connect.datatypes.units.Mass;
					public getFolate(): android.health.connect.datatypes.units.Mass;
				}
				export module NutritionRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.NutritionRecord.Builder>;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.NutritionRecord.Builder;
						public setSelenium(selenium: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setTotalCarbohydrate(totalCarbohydrate: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setVitaminB12(vitaminB12: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setChromium(chromium: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setThiamin(thiamin: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setPotassium(potassium: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setManganese(manganese: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setSodium(sodium: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setTransFat(transFat: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setPolyunsaturatedFat(polyunsaturatedFat: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant);
						public setBiotin(biotin: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setMagnesium(magnesium: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setVitaminE(vitaminE: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setEnergyFromFat(energyFromFat: android.health.connect.datatypes.units.Energy): android.health.connect.datatypes.NutritionRecord.Builder;
						public setEnergy(energy: android.health.connect.datatypes.units.Energy): android.health.connect.datatypes.NutritionRecord.Builder;
						public setPantothenicAcid(pantothenicAcid: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.NutritionRecord.Builder;
						public setPhosphorus(phosphorus: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setSugar(sugar: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setRiboflavin(riboflavin: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setVitaminC(vitaminC: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setZinc(zinc: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setMolybdenum(molybdenum: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setFolate(folate: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setDietaryFiber(dietaryFiber: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setProtein(protein: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setFolicAcid(folicAcid: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setMealName(mealName: string): android.health.connect.datatypes.NutritionRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.NutritionRecord.Builder;
						public setCholesterol(cholesterol: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setMealType(mealType: number): android.health.connect.datatypes.NutritionRecord.Builder;
						public setTotalFat(totalFat: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setCalcium(calcium: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public build(): android.health.connect.datatypes.NutritionRecord;
						public setVitaminA(vitaminA: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setIodine(iodine: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setUnsaturatedFat(unsaturatedFat: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setCopper(copper: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setMonounsaturatedFat(monounsaturatedFat: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setIron(iron: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setVitaminB6(vitaminB6: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.NutritionRecord.Builder;
						public setCaffeine(caffeine: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setSaturatedFat(saturatedFat: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setChloride(chloride: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setNiacin(niacin: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setVitaminD(vitaminD: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
						public setVitaminK(vitaminK: android.health.connect.datatypes.units.Mass): android.health.connect.datatypes.NutritionRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class OvulationTestRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.OvulationTestRecord>;
					public equals(o: any): boolean;
					public hashCode(): number;
					public getResult(): number;
				}
				export module OvulationTestRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.OvulationTestRecord.Builder>;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, result: number);
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.OvulationTestRecord.Builder;
						public build(): android.health.connect.datatypes.OvulationTestRecord;
						public clearZoneOffset(): android.health.connect.datatypes.OvulationTestRecord.Builder;
					}
					export class OvulationTestResult extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.OvulationTestRecord.OvulationTestResult>;
						public static RESULT_HIGH: 2;
						public static RESULT_INCONCLUSIVE: 0;
						public static RESULT_NEGATIVE: 3;
						public static RESULT_POSITIVE: 1;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class OxygenSaturationRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.OxygenSaturationRecord>;
					public getPercentage(): android.health.connect.datatypes.units.Percentage;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module OxygenSaturationRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.OxygenSaturationRecord.Builder>;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.OxygenSaturationRecord.Builder;
						public build(): android.health.connect.datatypes.OxygenSaturationRecord;
						public clearZoneOffset(): android.health.connect.datatypes.OxygenSaturationRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, percentage: android.health.connect.datatypes.units.Percentage);
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class PlannedExerciseBlock extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.PlannedExerciseBlock>;
					public getRepetitions(): number;
					public getSteps(): java.util.List<android.health.connect.datatypes.PlannedExerciseStep>;
					public getDescription(): string;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module PlannedExerciseBlock {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.PlannedExerciseBlock.Builder>;
						public addStep(step: android.health.connect.datatypes.PlannedExerciseStep): android.health.connect.datatypes.PlannedExerciseBlock.Builder;
						public clearSteps(): android.health.connect.datatypes.PlannedExerciseBlock.Builder;
						public constructor(repetitions: number);
						public setRepetitions(repetitions: number): android.health.connect.datatypes.PlannedExerciseBlock.Builder;
						public build(): android.health.connect.datatypes.PlannedExerciseBlock;
						public setDescription(description: string): android.health.connect.datatypes.PlannedExerciseBlock.Builder;
						public setSteps(steps: java.util.List<android.health.connect.datatypes.PlannedExerciseStep>): android.health.connect.datatypes.PlannedExerciseBlock.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class PlannedExerciseSessionRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.PlannedExerciseSessionRecord>;
					public getTitle(): string;
					public hasExplicitTime(): boolean;
					public getNotes(): string;
					public getDuration(): java.time.Duration;
					public getExerciseType(): number;
					public getCompletedExerciseSessionId(): string;
					public getStartDate(): java.time.LocalDate;
					public getBlocks(): java.util.List<android.health.connect.datatypes.PlannedExerciseBlock>;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module PlannedExerciseSessionRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder>;
						public setNotes(notes: string): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public clearBlocks(): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public setExerciseType(exerciseType: number): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public setStartTime(startTime: java.time.Instant): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, exerciseType: number, startTime: java.time.Instant, endTime: java.time.Instant);
						public clearEndZoneOffset(): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public setMetadata(metadata: android.health.connect.datatypes.Metadata): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, exerciseType: number, startDate: java.time.LocalDate, duration: java.time.Duration);
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public build(): android.health.connect.datatypes.PlannedExerciseSessionRecord;
						public clearStartZoneOffset(): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public setTitle(title: string): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public setBlocks(blocks: java.util.List<android.health.connect.datatypes.PlannedExerciseBlock>): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public setEndTime(endTime: java.time.Instant): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
						public addBlock(block: android.health.connect.datatypes.PlannedExerciseBlock): android.health.connect.datatypes.PlannedExerciseSessionRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class PlannedExerciseStep extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.PlannedExerciseStep>;
					public static EXERCISE_CATEGORY_ACTIVE: 3;
					public static EXERCISE_CATEGORY_COOLDOWN: 4;
					public static EXERCISE_CATEGORY_RECOVERY: 5;
					public static EXERCISE_CATEGORY_REST: 2;
					public static EXERCISE_CATEGORY_UNKNOWN: 0;
					public static EXERCISE_CATEGORY_WARMUP: 1;
					public getExerciseType(): number;
					public getPerformanceGoals(): java.util.List<android.health.connect.datatypes.ExercisePerformanceGoal>;
					public getDescription(): string;
					public getExerciseCategory(): number;
					public getCompletionGoal(): android.health.connect.datatypes.ExerciseCompletionGoal;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module PlannedExerciseStep {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.PlannedExerciseStep.Builder>;
						public build(): android.health.connect.datatypes.PlannedExerciseStep;
						public setExerciseType(exerciseType: number): android.health.connect.datatypes.PlannedExerciseStep.Builder;
						public setCompletionGoal(completionGoal: android.health.connect.datatypes.ExerciseCompletionGoal): android.health.connect.datatypes.PlannedExerciseStep.Builder;
						public setExerciseCategory(category: number): android.health.connect.datatypes.PlannedExerciseStep.Builder;
						public clearPerformanceGoals(): android.health.connect.datatypes.PlannedExerciseStep.Builder;
						public constructor(exerciseType: number, exerciseCategory: number, completionGoal: android.health.connect.datatypes.ExerciseCompletionGoal);
						public setDescription(description: string): android.health.connect.datatypes.PlannedExerciseStep.Builder;
						public setPerformanceGoals(performanceGoals: java.util.List<android.health.connect.datatypes.ExercisePerformanceGoal>): android.health.connect.datatypes.PlannedExerciseStep.Builder;
						public addPerformanceGoal(performanceGoal: android.health.connect.datatypes.ExercisePerformanceGoal): android.health.connect.datatypes.PlannedExerciseStep.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class PowerRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.PowerRecord>;
					public static POWER_AVG: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Power>;
					public static POWER_MAX: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Power>;
					public static POWER_MIN: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Power>;
					public equals(object: any): boolean;
					public getSamples(): java.util.List<android.health.connect.datatypes.PowerRecord.PowerRecordSample>;
					public hashCode(): number;
				}
				export module PowerRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.PowerRecord.Builder>;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, powerRecordSamples: java.util.List<android.health.connect.datatypes.PowerRecord.PowerRecordSample>);
						public clearStartZoneOffset(): android.health.connect.datatypes.PowerRecord.Builder;
						public build(): android.health.connect.datatypes.PowerRecord;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.PowerRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.PowerRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.PowerRecord.Builder;
					}
					export class PowerRecordSample extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.PowerRecord.PowerRecordSample>;
						public constructor(power: android.health.connect.datatypes.units.Power, time: java.time.Instant);
						public hashCode(): number;
						public getPower(): android.health.connect.datatypes.units.Power;
						public equals(object: any): boolean;
						public getTime(): java.time.Instant;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export abstract class Record extends java.lang.Object {
					public static class: java.lang.Class<android.health.connect.datatypes.Record>;
					public equals(object: any): boolean;
					public getMetadata(): android.health.connect.datatypes.Metadata;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class RespiratoryRateRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.RespiratoryRateRecord>;
					public getRate(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module RespiratoryRateRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.RespiratoryRateRecord.Builder>;
						public clearZoneOffset(): android.health.connect.datatypes.RespiratoryRateRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, rate: number);
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.RespiratoryRateRecord.Builder;
						public build(): android.health.connect.datatypes.RespiratoryRateRecord;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class RestingHeartRateRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.RestingHeartRateRecord>;
					public static BPM_AVG: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public static BPM_MAX: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public static BPM_MIN: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public getBeatsPerMinute(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module RestingHeartRateRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.RestingHeartRateRecord.Builder>;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, beatsPerMinute: number);
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.RestingHeartRateRecord.Builder;
						public clearZoneOffset(): android.health.connect.datatypes.RestingHeartRateRecord.Builder;
						public build(): android.health.connect.datatypes.RestingHeartRateRecord;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class SexualActivityRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.SexualActivityRecord>;
					public getProtectionUsed(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module SexualActivityRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SexualActivityRecord.Builder>;
						public clearZoneOffset(): android.health.connect.datatypes.SexualActivityRecord.Builder;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.SexualActivityRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, protectionUsed: number);
						public build(): android.health.connect.datatypes.SexualActivityRecord;
					}
					export class SexualActivityProtectionUsed extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SexualActivityRecord.SexualActivityProtectionUsed>;
						public static PROTECTION_USED_PROTECTED: 1;
						public static PROTECTION_USED_UNKNOWN: 0;
						public static PROTECTION_USED_UNPROTECTED: 2;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class SkinTemperatureRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.SkinTemperatureRecord>;
					public static MEASUREMENT_LOCATION_FINGER: 1;
					public static MEASUREMENT_LOCATION_TOE: 2;
					public static MEASUREMENT_LOCATION_UNKNOWN: 0;
					public static MEASUREMENT_LOCATION_WRIST: 3;
					public static SKIN_TEMPERATURE_DELTA_AVG: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.TemperatureDelta>;
					public static SKIN_TEMPERATURE_DELTA_MAX: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.TemperatureDelta>;
					public static SKIN_TEMPERATURE_DELTA_MIN: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.TemperatureDelta>;
					public equals(object: any): boolean;
					public getBaseline(): android.health.connect.datatypes.units.Temperature;
					public getDeltas(): java.util.List<android.health.connect.datatypes.SkinTemperatureRecord.Delta>;
					public getMeasurementLocation(): number;
					public hashCode(): number;
				}
				export module SkinTemperatureRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SkinTemperatureRecord.Builder>;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.SkinTemperatureRecord.Builder;
						public build(): android.health.connect.datatypes.SkinTemperatureRecord;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.SkinTemperatureRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.SkinTemperatureRecord.Builder;
						public setBaseline(baseline: android.health.connect.datatypes.units.Temperature): android.health.connect.datatypes.SkinTemperatureRecord.Builder;
						public setDeltas(deltas: java.util.List<android.health.connect.datatypes.SkinTemperatureRecord.Delta>): android.health.connect.datatypes.SkinTemperatureRecord.Builder;
						public setMeasurementLocation(measurementLocation: number): android.health.connect.datatypes.SkinTemperatureRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant);
						public clearStartZoneOffset(): android.health.connect.datatypes.SkinTemperatureRecord.Builder;
					}
					export class Delta extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SkinTemperatureRecord.Delta>;
						public constructor(delta: android.health.connect.datatypes.units.TemperatureDelta, time: java.time.Instant);
						public getDelta(): android.health.connect.datatypes.units.TemperatureDelta;
						public hashCode(): number;
						public equals(object: any): boolean;
						public getTime(): java.time.Instant;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class SleepSessionRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.SleepSessionRecord>;
					public static SLEEP_DURATION_TOTAL: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public getTitle(): string;
					public getStages(): java.util.List<android.health.connect.datatypes.SleepSessionRecord.Stage>;
					public getNotes(): string;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module SleepSessionRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SleepSessionRecord.Builder>;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.SleepSessionRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.SleepSessionRecord.Builder;
						public build(): android.health.connect.datatypes.SleepSessionRecord;
						public clearEndZoneOffset(): android.health.connect.datatypes.SleepSessionRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant);
						public setStages(stages: java.util.List<android.health.connect.datatypes.SleepSessionRecord.Stage>): android.health.connect.datatypes.SleepSessionRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.SleepSessionRecord.Builder;
						public setTitle(title: string): android.health.connect.datatypes.SleepSessionRecord.Builder;
						public setNotes(notes: string): android.health.connect.datatypes.SleepSessionRecord.Builder;
					}
					export class Stage extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SleepSessionRecord.Stage>;
						public getStartTime(): java.time.Instant;
						public constructor(startTime: java.time.Instant, endTime: java.time.Instant, stageType: number);
						public getEndTime(): java.time.Instant;
						public hashCode(): number;
						public getType(): number;
						public equals(o: any): boolean;
					}
					export class StageType extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SleepSessionRecord.StageType>;
						public static STAGE_TYPE_AWAKE: 1;
						public static STAGE_TYPE_AWAKE_IN_BED: 7;
						public static STAGE_TYPE_AWAKE_OUT_OF_BED: 3;
						public static STAGE_TYPE_SLEEPING: 2;
						public static STAGE_TYPE_SLEEPING_DEEP: 5;
						public static STAGE_TYPE_SLEEPING_LIGHT: 4;
						public static STAGE_TYPE_SLEEPING_REM: 6;
						public static STAGE_TYPE_UNKNOWN: 0;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class SpeedRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.SpeedRecord>;
					public static SPEED_AVG: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Velocity>;
					public static SPEED_MAX: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Velocity>;
					public static SPEED_MIN: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Velocity>;
					public equals(object: any): boolean;
					public getSamples(): java.util.List<android.health.connect.datatypes.SpeedRecord.SpeedRecordSample>;
					public hashCode(): number;
				}
				export module SpeedRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SpeedRecord.Builder>;
						public clearEndZoneOffset(): android.health.connect.datatypes.SpeedRecord.Builder;
						public build(): android.health.connect.datatypes.SpeedRecord;
						public clearStartZoneOffset(): android.health.connect.datatypes.SpeedRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, speedRecordSamples: java.util.List<android.health.connect.datatypes.SpeedRecord.SpeedRecordSample>);
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.SpeedRecord.Builder;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.SpeedRecord.Builder;
					}
					export class SpeedRecordSample extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.SpeedRecord.SpeedRecordSample>;
						public constructor(speed: android.health.connect.datatypes.units.Velocity, time: java.time.Instant);
						public hashCode(): number;
						public getSpeed(): android.health.connect.datatypes.units.Velocity;
						public equals(object: any): boolean;
						public getTime(): java.time.Instant;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class StepsCadenceRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.StepsCadenceRecord>;
					public static STEPS_CADENCE_RATE_AVG: android.health.connect.datatypes.AggregationType<java.lang.Double>;
					public static STEPS_CADENCE_RATE_MAX: android.health.connect.datatypes.AggregationType<java.lang.Double>;
					public static STEPS_CADENCE_RATE_MIN: android.health.connect.datatypes.AggregationType<java.lang.Double>;
					public equals(object: any): boolean;
					public hashCode(): number;
					public getSamples(): java.util.List<android.health.connect.datatypes.StepsCadenceRecord.StepsCadenceRecordSample>;
				}
				export module StepsCadenceRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.StepsCadenceRecord.Builder>;
						public clearStartZoneOffset(): android.health.connect.datatypes.StepsCadenceRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, stepsCadenceRecordSamples: java.util.List<android.health.connect.datatypes.StepsCadenceRecord.StepsCadenceRecordSample>);
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.StepsCadenceRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.StepsCadenceRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.StepsCadenceRecord.Builder;
						public build(): android.health.connect.datatypes.StepsCadenceRecord;
					}
					export class StepsCadenceRecordSample extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.StepsCadenceRecord.StepsCadenceRecordSample>;
						public constructor(rate: number, time: java.time.Instant);
						public hashCode(): number;
						public equals(object: any): boolean;
						public getRate(): number;
						public getTime(): java.time.Instant;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class StepsRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.StepsRecord>;
					public static STEPS_COUNT_TOTAL: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public getCount(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module StepsRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.StepsRecord.Builder>;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.StepsRecord.Builder;
						public clearEndZoneOffset(): android.health.connect.datatypes.StepsRecord.Builder;
						public build(): android.health.connect.datatypes.StepsRecord;
						public clearStartZoneOffset(): android.health.connect.datatypes.StepsRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.StepsRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, count: number);
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class TotalCaloriesBurnedRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.TotalCaloriesBurnedRecord>;
					public static ENERGY_TOTAL: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy>;
					public getEnergy(): android.health.connect.datatypes.units.Energy;
					public equals(object: any): boolean;
					public hashCode(): number;
				}
				export module TotalCaloriesBurnedRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder>;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, energy: android.health.connect.datatypes.units.Energy);
						public clearEndZoneOffset(): android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder;
						public build(): android.health.connect.datatypes.TotalCaloriesBurnedRecord;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class Vo2MaxRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.Vo2MaxRecord>;
					public getVo2MillilitersPerMinuteKilogram(): number;
					public getMeasurementMethod(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module Vo2MaxRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.Vo2MaxRecord.Builder>;
						public build(): android.health.connect.datatypes.Vo2MaxRecord;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, measurementMethod: number, vo2MillilitersPerMinuteKilogram: number);
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.Vo2MaxRecord.Builder;
						public clearZoneOffset(): android.health.connect.datatypes.Vo2MaxRecord.Builder;
					}
					export class Vo2MaxMeasurementMethod extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.Vo2MaxRecord.Vo2MaxMeasurementMethod>;
						public static MEASUREMENT_METHOD_COOPER_TEST: 3;
						public static MEASUREMENT_METHOD_HEART_RATE_RATIO: 2;
						public static MEASUREMENT_METHOD_METABOLIC_CART: 1;
						public static MEASUREMENT_METHOD_MULTISTAGE_FITNESS_TEST: 4;
						public static MEASUREMENT_METHOD_OTHER: 0;
						public static MEASUREMENT_METHOD_ROCKPORT_FITNESS_TEST: 5;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class WeightRecord extends android.health.connect.datatypes.InstantRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.WeightRecord>;
					public static WEIGHT_AVG: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static WEIGHT_MAX: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public static WEIGHT_MIN: android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass>;
					public getWeight(): android.health.connect.datatypes.units.Mass;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export module WeightRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.WeightRecord.Builder>;
						public build(): android.health.connect.datatypes.WeightRecord;
						public setZoneOffset(zoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.WeightRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, time: java.time.Instant, weight: android.health.connect.datatypes.units.Mass);
						public clearZoneOffset(): android.health.connect.datatypes.WeightRecord.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export class WheelchairPushesRecord extends android.health.connect.datatypes.IntervalRecord {
					public static class: java.lang.Class<android.health.connect.datatypes.WheelchairPushesRecord>;
					public static WHEEL_CHAIR_PUSHES_COUNT_TOTAL: android.health.connect.datatypes.AggregationType<java.lang.Long>;
					public equals(object: any): boolean;
					public getCount(): number;
					public hashCode(): number;
				}
				export module WheelchairPushesRecord {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.health.connect.datatypes.WheelchairPushesRecord.Builder>;
						public clearEndZoneOffset(): android.health.connect.datatypes.WheelchairPushesRecord.Builder;
						public build(): android.health.connect.datatypes.WheelchairPushesRecord;
						public setEndZoneOffset(endZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.WheelchairPushesRecord.Builder;
						public clearStartZoneOffset(): android.health.connect.datatypes.WheelchairPushesRecord.Builder;
						public setStartZoneOffset(startZoneOffset: java.time.ZoneOffset): android.health.connect.datatypes.WheelchairPushesRecord.Builder;
						public constructor(metadata: android.health.connect.datatypes.Metadata, startTime: java.time.Instant, endTime: java.time.Instant, count: number);
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class BloodGlucose extends java.lang.Comparable<android.health.connect.datatypes.units.BloodGlucose> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.BloodGlucose>;
						public static fromMillimolesPerLiter(value: number): android.health.connect.datatypes.units.BloodGlucose;
						public hashCode(): number;
						public getInMillimolesPerLiter(): number;
						public compareTo(other: android.health.connect.datatypes.units.BloodGlucose): number;
						public equals(object: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Energy extends java.lang.Comparable<android.health.connect.datatypes.units.Energy> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Energy>;
						public hashCode(): number;
						public compareTo(other: android.health.connect.datatypes.units.Energy): number;
						public getInCalories(): number;
						public static fromCalories(value: number): android.health.connect.datatypes.units.Energy;
						public equals(object: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Length extends java.lang.Comparable<android.health.connect.datatypes.units.Length> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Length>;
						public static fromMeters(value: number): android.health.connect.datatypes.units.Length;
						public hashCode(): number;
						public getInMeters(): number;
						public equals(object: any): boolean;
						public toString(): string;
						public compareTo(other: android.health.connect.datatypes.units.Length): number;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Mass extends java.lang.Comparable<android.health.connect.datatypes.units.Mass> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Mass>;
						public getInGrams(): number;
						public hashCode(): number;
						public compareTo(other: android.health.connect.datatypes.units.Mass): number;
						public static fromGrams(value: number): android.health.connect.datatypes.units.Mass;
						public equals(object: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Percentage extends java.lang.Comparable<android.health.connect.datatypes.units.Percentage> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Percentage>;
						public static fromValue(value: number): android.health.connect.datatypes.units.Percentage;
						public compareTo(other: android.health.connect.datatypes.units.Percentage): number;
						public hashCode(): number;
						public equals(object: any): boolean;
						public toString(): string;
						public getValue(): number;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Power extends java.lang.Comparable<android.health.connect.datatypes.units.Power> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Power>;
						public compareTo(other: android.health.connect.datatypes.units.Power): number;
						public hashCode(): number;
						public static fromWatts(value: number): android.health.connect.datatypes.units.Power;
						public getInWatts(): number;
						public equals(object: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Pressure extends java.lang.Comparable<android.health.connect.datatypes.units.Pressure> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Pressure>;
						public getInMillimetersOfMercury(): number;
						public compareTo(other: android.health.connect.datatypes.units.Pressure): number;
						public static fromMillimetersOfMercury(value: number): android.health.connect.datatypes.units.Pressure;
						public hashCode(): number;
						public equals(object: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Temperature extends java.lang.Comparable<android.health.connect.datatypes.units.Temperature> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Temperature>;
						public getInCelsius(): number;
						public compareTo(other: android.health.connect.datatypes.units.Temperature): number;
						public static fromCelsius(value: number): android.health.connect.datatypes.units.Temperature;
						public hashCode(): number;
						public equals(object: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class TemperatureDelta extends java.lang.Comparable<android.health.connect.datatypes.units.TemperatureDelta> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.TemperatureDelta>;
						public compareTo(other: android.health.connect.datatypes.units.TemperatureDelta): number;
						public getInCelsius(): number;
						public hashCode(): number;
						public equals(object: any): boolean;
						public toString(): string;
						public static fromCelsius(value: number): android.health.connect.datatypes.units.TemperatureDelta;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Velocity extends java.lang.Comparable<android.health.connect.datatypes.units.Velocity> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Velocity>;
						public compareTo(other: android.health.connect.datatypes.units.Velocity): number;
						public getInMetersPerSecond(): number;
						public hashCode(): number;
						public static fromMetersPerSecond(value: number): android.health.connect.datatypes.units.Velocity;
						public equals(object: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module android {
	export module health {
		export module connect {
			export module datatypes {
				export module units {
					export class Volume extends java.lang.Comparable<android.health.connect.datatypes.units.Volume> {
						public static class: java.lang.Class<android.health.connect.datatypes.units.Volume>;
						public static fromLiters(value: number): android.health.connect.datatypes.units.Volume;
						public hashCode(): number;
						public compareTo(other: android.health.connect.datatypes.units.Volume): number;
						public getInLiters(): number;
						public equals(object: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

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: 0;
				public static FOLD_CASE_EXCLUDE_SPECIAL_I: 1;
				public static MAX_CODE_POINT: 1114111;
				public static MAX_HIGH_SURROGATE: "56319";
				public static MAX_LOW_SURROGATE: "57343";
				public static MAX_RADIX: 36;
				public static MAX_SURROGATE: "57343";
				public static MAX_VALUE: 1114111;
				public static MIN_CODE_POINT: 0;
				public static MIN_HIGH_SURROGATE: "55296";
				public static MIN_LOW_SURROGATE: "56320";
				public static MIN_RADIX: 2;
				public static MIN_SUPPLEMENTARY_CODE_POINT: 65536;
				public static MIN_SURROGATE: "55296";
				public static MIN_VALUE: 0;
				public static NO_NUMERIC_VALUE: -1.23456789E8;
				public static REPLACEMENT_CHAR: 65533;
				public static SUPPLEMENTARY_MIN_VALUE: 65536;
				public static TITLECASE_NO_BREAK_ADJUSTMENT: 512;
				public static TITLECASE_NO_LOWERCASE: 256;
				public static getCharFromExtendedName(name: string): number;
				public static charCount(cp: number): number;
				public static toUpperCase(locale: android.icu.util.ULocale, str: string): string;
				public static toTitleCase(locale: android.icu.util.ULocale, str: string, titleIter: android.icu.text.BreakIterator, options: number): string;
				public static isUWhiteSpace(ch: number): boolean;
				public static toCodePoint(high: number, low: number): number;
				public static getMirror(ch: number): number;
				public static getDirectionality(cp: number): number;
				public static isIdentifierIgnorable(ch: number): boolean;
				public static isLetterOrDigit(ch: number): boolean;
				public static foldCase(ch: number, defaultmapping: boolean): number;
				public static getIntPropertyMinValue(type: number): number;
				public static toTitleCase(ch: number): number;
				public static toTitleCase(str: string, breakiter: android.icu.text.BreakIterator): string;
				public static isSpaceChar(ch: number): boolean;
				public static getHanNumericValue(ch: number): number;
				public static foldCase(ch: number, options: number): number;
				public static getNameIterator(): android.icu.util.ValueIterator;
				public static isLowerCase(ch: number): boolean;
				public static toString(ch: number): string;
				public static getType(ch: number): number;
				public static codePointBefore(text: androidNative.Array<string>, index: number): number;
				public static hasBinaryProperty(s: string, property: number): boolean;
				public static toUpperCase(str: string): string;
				public static getTypeIterator(): android.icu.util.RangeValueIterator;
				public static toUpperCase(locale: java.util.Locale, str: string): string;
				public static isUnicodeIdentifierStart(ch: number): boolean;
				public static isWhitespace(ch: number): boolean;
				public static getPropertyValueEnum(property: number, valueAlias: string): number;
				public static toTitleCase(locale: java.util.Locale, str: string, titleIter: android.icu.text.BreakIterator, options: number): string;
				public static codePointBefore(text: androidNative.Array<string>, index: number, limit: number): number;
				public static getIntPropertyMaxValue(type: number): number;
				public static codePointAt(text: androidNative.Array<string>, index: number, limit: number): number;
				public static isPrintable(ch: number): boolean;
				public static getCharFromNameAlias(name: string): number;
				public static forDigit(digit: number, radix: number): string;
				public static isMirrored(ch: number): boolean;
				public static offsetByCodePoints(text: string, index: number, codePointOffset: number): number;
				public static codePointAt(seq: string, index: number): number;
				public static getName(ch: number): string;
				public static isULowercase(ch: number): boolean;
				public static isSupplementary(ch: number): boolean;
				public static getCodePoint(char16: string): number;
				public static isUUppercase(ch: number): boolean;
				public static isLowSurrogate(codePoint: number): boolean;
				public static getPropertyValueName(property: number, value: number, nameChoice: number): string;
				public static getName(s: string, separator: string): string;
				public static digit(ch: number, radix: number): number;
				public static getExtendedName(ch: number): string;
				public static isHighSurrogate(codePoint: number): boolean;
				public static codePointBefore(seq: string, index: number): number;
				public static getUnicodeVersion(): android.icu.util.VersionInfo;
				public static toChars(cp: number, dst: androidNative.Array<string>, dstIndex: number): number;
				public static toUpperCase(ch: number): number;
				public static isLetter(ch: number): boolean;
				public static toLowerCase(str: string): string;
				public static getCombiningClass(ch: number): number;
				public static isSupplementaryCodePoint(cp: number): boolean;
				public static getUnicodeNumericValue(ch: number): number;
				public static isDefined(ch: number): boolean;
				public static getDirection(ch: number): number;
				public static toTitleCase(locale: java.util.Locale, str: string, breakiter: android.icu.text.BreakIterator): string;
				public static getIntPropertyValue(ch: number, type: number): number;
				public static isUpperCase(ch: number): boolean;
				public static foldCase(str: string, options: number): string;
				public static codePointAt(text: androidNative.Array<string>, index: number): number;
				public static digit(ch: number): number;
				public static hasBinaryProperty(ch: number, property: number): boolean;
				public static isLowSurrogate(ch: string): boolean;
				public static isHighSurrogate(ch: string): boolean;
				public toString(): string;
				public static isLegal(str: string): boolean;
				public static codePointCount(text: string, start: number, limit: number): number;
				public static isTitleCase(ch: number): boolean;
				public static isUAlphabetic(ch: number): boolean;
				public static getCharFromName(name: string): number;
				public static getBidiPairedBracket(c: number): number;
				public static getCodePoint(lead: string, trail: string): number;
				public static getAge(ch: number): android.icu.util.VersionInfo;
				public static toCodePoint(high: string, low: string): number;
				public static getCodePoint(lead: number, trail: number): number;
				public static getPropertyEnum(propertyAlias: string): number;
				public static isJavaIdentifierPart(cp: number): boolean;
				public static isValidCodePoint(cp: number): boolean;
				public static toLowerCase(ch: number): number;
				public static isUnicodeIdentifierPart(ch: number): boolean;
				public static isLegal(ch: number): boolean;
				public static toChars(cp: number): androidNative.Array<string>;
				public static getNameAlias(ch: number): string;
				public static getExtendedNameIterator(): android.icu.util.ValueIterator;
				public static codePointCount(text: androidNative.Array<string>, start: number, limit: number): number;
				public static offsetByCodePoints(text: androidNative.Array<string>, start: number, count: number, index: number, codePointOffset: number): number;
				public static getNumericValue(ch: number): number;
				public static toTitleCase(locale: android.icu.util.ULocale, str: string, titleIter: android.icu.text.BreakIterator): string;
				public static foldCase(str: string, defaultmapping: boolean): string;
				public static isJavaIdentifierStart(cp: number): boolean;
				public static isBMP(ch: number): boolean;
				public static isBaseForm(ch: number): boolean;
				public static isISOControl(ch: number): boolean;
				public static isDigit(ch: number): boolean;
				public static isSurrogatePair(high: number, low: number): boolean;
				public static isSurrogatePair(high: string, low: string): boolean;
				public static getPropertyName(property: number, nameChoice: number): string;
				public static toLowerCase(locale: java.util.Locale, str: string): string;
				public static toLowerCase(locale: android.icu.util.ULocale, str: string): string;
			}
			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: 2;
					public static NONE: 0;
					public static OPEN: 1;
				}
				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 WIDE: 17;
					public static FONT: 5;
					public static ISOLATED: 8;
					public static NARROW: 10;
					public static COMPAT: 2;
					public static FRACTION: 6;
					public static SMALL: 12;
					public static SQUARE: 13;
					public static SUPER: 15;
					public static NOBREAK: 11;
					public static VERTICAL: 16;
					public static INITIAL: 7;
					public static MEDIAL: 9;
					public static FINAL: 4;
					public static NONE: 0;
					public static CIRCLE: 3;
					public static SUB: 14;
					public static CANONICAL: 1;
				}
				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: 5;
					public static NEUTRAL: 0;
					public static NARROW: 4;
					public static AMBIGUOUS: 1;
					public static FULLWIDTH: 3;
					public static HALFWIDTH: 2;
				}
				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: 10;
					public static LV: 6;
					public static LVT: 7;
					public static L: 4;
					public static ZWJ: 17;
					public static CR: 2;
					public static OTHER: 0;
					public static REGIONAL_INDICATOR: 12;
					public static E_BASE_GAZ: 14;
					public static T: 8;
					public static GLUE_AFTER_ZWJ: 16;
					public static V: 9;
					public static EXTEND: 3;
					public static E_MODIFIER: 15;
					public static LF: 5;
					public static CONTROL: 1;
					public static PREPEND: 11;
					public static E_BASE: 13;
				}
				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: 5;
					public static VOWEL_JAMO: 2;
					public static NOT_APPLICABLE: 0;
					public static LV_SYLLABLE: 4;
					public static TRAILING_JAMO: 3;
					public static LEADING_JAMO: 1;
				}
				export class IndicPositionalCategory extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.IndicPositionalCategory>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$IndicPositionalCategory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static TOP_AND_LEFT_AND_RIGHT: 12;
					public static VISUAL_ORDER_LEFT: 14;
					public static TOP_AND_LEFT: 11;
					public static TOP_AND_BOTTOM: 9;
					public static BOTTOM: 1;
					public static OVERSTRUCK: 6;
					public static NA: 0;
					public static TOP_AND_BOTTOM_AND_RIGHT: 10;
					public static TOP: 8;
					public static TOP_AND_RIGHT: 13;
					public static BOTTOM_AND_LEFT: 2;
					public static BOTTOM_AND_RIGHT: 3;
					public static RIGHT: 7;
					public static LEFT_AND_RIGHT: 5;
					public static TOP_AND_BOTTOM_AND_LEFT: 15;
					public static LEFT: 4;
				}
				export class IndicSyllabicCategory extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.IndicSyllabicCategory>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$IndicSyllabicCategory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static NUMBER_JOINER: 25;
					public static PURE_KILLER: 26;
					public static CONSONANT_WITH_STACKER: 17;
					public static CONSONANT_KILLER: 10;
					public static REGISTER_SHIFTER: 27;
					public static CANTILLATION_MARK: 4;
					public static CONSONANT_INITIAL_POSTFIXED: 9;
					public static OTHER: 0;
					public static VOWEL_INDEPENDENT: 35;
					public static NUMBER: 24;
					public static CONSONANT_DEAD: 6;
					public static CONSONANT_SUBJOINED: 15;
					public static NON_JOINER: 22;
					public static CONSONANT_FINAL: 7;
					public static CONSONANT_PRECEDING_REPHA: 13;
					public static BINDU: 2;
					public static GEMINATION_MARK: 18;
					public static INVISIBLE_STACKER: 19;
					public static MODIFYING_LETTER: 21;
					public static CONSONANT_HEAD_LETTER: 8;
					public static NUKTA: 23;
					public static VOWEL: 33;
					public static CONSONANT_PLACEHOLDER: 12;
					public static CONSONANT: 5;
					public static AVAGRAHA: 1;
					public static VIRAMA: 31;
					public static TONE_MARK: 30;
					public static CONSONANT_SUCCEEDING_REPHA: 16;
					public static JOINER: 20;
					public static VOWEL_DEPENDENT: 34;
					public static SYLLABLE_MODIFIER: 28;
					public static TONE_LETTER: 29;
					public static VISARGA: 32;
					public static BRAHMI_JOINING_NUMBER: 3;
					public static CONSONANT_MEDIAL: 11;
					public static CONSONANT_PREFIXED: 14;
				}
				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 FEH: 9;
					public static MANICHAEAN_DHAMEDH: 62;
					public static THIN_YEH: 102;
					public static YEH_BARREE: 46;
					public static DAL: 6;
					public static HAH: 13;
					public static MALAYALAM_LLLA: 92;
					public static MANICHAEAN_YODH: 83;
					public static MANICHAEAN_SAMEKH: 76;
					public static SWASH_KAF: 38;
					public static REH: 31;
					public static SYRIAC_WAW: 39;
					public static MANICHAEAN_WAW: 82;
					public static ZAIN: 50;
					public static LAM: 22;
					public static YUDH: 48;
					public static TAH: 40;
					public static HANIFI_ROHINGYA_KINNA_YA: 100;
					public static TEH_MARBUTA_GOAL: 14;
					public static TETH: 43;
					public static REVERSED_PE: 32;
					public static TAW: 41;
					public static MANICHAEAN_ZAYIN: 84;
					public static VERTICAL_TAIL: 103;
					public static MANICHAEAN_BETH: 60;
					public static MALAYALAM_RA: 97;
					public static ROHINGYA_YEH: 57;
					public static ALAPH: 2;
					public static MANICHAEAN_MEM: 69;
					public static SEEN: 35;
					public static KNOTTED_HEH: 21;
					public static MANICHAEAN_KAPH: 67;
					public static GAF: 11;
					public static KAPH: 20;
					public static KAF: 19;
					public static MANICHAEAN_TAW: 77;
					public static SAD: 33;
					public static MALAYALAM_NNA: 94;
					public static YEH: 45;
					public static KHAPH: 52;
					public static FE: 51;
					public static MANICHAEAN_GIMEL: 64;
					public static MANICHAEAN_HUNDRED: 66;
					public static MANICHAEAN_THAMEDH: 80;
					public static SEMKATH: 36;
					public static YUDH_HE: 49;
					public static MANICHAEAN_NUN: 70;
					public static WAW: 44;
					public static MANICHAEAN_FIVE: 63;
					public static NYA: 56;
					public static BURUSHASKI_YEH_BARREE: 54;
					public static SADHE: 34;
					public static MANICHAEAN_RESH: 74;
					public static HEH: 16;
					public static MANICHAEAN_ONE: 71;
					public static MANICHAEAN_ALEPH: 58;
					public static MALAYALAM_NYA: 96;
					public static QAPH: 30;
					public static MALAYALAM_NNNA: 95;
					public static MANICHAEAN_PE: 72;
					public static HANIFI_ROHINGYA_PA: 101;
					public static PE: 28;
					public static MANICHAEAN_QOPH: 73;
					public static BETH: 5;
					public static MALAYALAM_LLA: 91;
					public static MALAYALAM_TTA: 99;
					public static HE: 15;
					public static MANICHAEAN_TETH: 79;
					public static MALAYALAM_BHA: 89;
					public static GAMAL: 12;
					public static NO_JOINING_GROUP: 0;
					public static ALEF: 3;
					public static MALAYALAM_NGA: 93;
					public static AFRICAN_FEH: 86;
					public static YEH_WITH_TAIL: 47;
					public static AIN: 1;
					public static FINAL_SEMKATH: 10;
					public static MANICHAEAN_TWENTY: 81;
					public static ZHAIN: 53;
					public static AFRICAN_QAF: 88;
					public static MIM: 25;
					public static AFRICAN_NOON: 87;
					public static LAMADH: 23;
					public static MANICHAEAN_LAMEDH: 68;
					public static QAF: 29;
					public static MALAYALAM_JA: 90;
					public static HAMZA_ON_HEH_GOAL: 14;
					public static FARSI_YEH: 55;
					public static MANICHAEAN_SADHE: 75;
					public static NOON: 26;
					public static E: 8;
					public static MANICHAEAN_HETH: 65;
					public static STRAIGHT_WAW: 85;
					public static HEH_GOAL: 17;
					public static HETH: 18;
					public static MANICHAEAN_AYIN: 59;
					public static DALATH_RISH: 7;
					public static MALAYALAM_SSA: 98;
					public static SHIN: 37;
					public static MANICHAEAN_DALETH: 61;
					public static BEH: 4;
					public static MEEM: 24;
					public static TEH_MARBUTA: 42;
					public static MANICHAEAN_TEN: 78;
					public static NUN: 27;
				}
				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: 1;
					public static RIGHT_JOINING: 4;
					public static TRANSPARENT: 5;
					public static DUAL_JOINING: 2;
					public static LEFT_JOINING: 3;
					public static NON_JOINING: 0;
				}
				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 H2: 31;
					public static H3: 32;
					public static BREAK_SYMBOLS: 27;
					public static NUMERIC: 19;
					public static CLOSE_PARENTHESIS: 36;
					public static AKSARA: 43;
					public static QUOTATION: 23;
					public static E_MODIFIER: 41;
					public static PREFIX_NUMERIC: 22;
					public static IDEOGRAPHIC: 14;
					public static INSEPERABLE: 15;
					public static UNKNOWN: 0;
					public static CONTINGENT_BREAK: 7;
					public static WORD_JOINER: 30;
					public static AMBIGUOUS: 1;
					public static HYPHEN: 13;
					public static INSEPARABLE: 15;
					public static COMBINING_MARK: 9;
					public static VIRAMA: 47;
					public static ALPHABETIC: 2;
					public static CARRIAGE_RETURN: 10;
					public static REGIONAL_INDICATOR: 39;
					public static BREAK_AFTER: 4;
					public static BREAK_BOTH: 3;
					public static MANDATORY_BREAK: 6;
					public static VIRAMA_FINAL: 46;
					public static HEBREW_LETTER: 38;
					public static E_BASE: 40;
					public static NEXT_LINE: 29;
					public static ZWJ: 42;
					public static SPACE: 26;
					public static AKSARA_PREBASE: 44;
					public static SURROGATE: 25;
					public static CONDITIONAL_JAPANESE_STARTER: 37;
					public static BREAK_BEFORE: 5;
					public static JL: 33;
					public static EXCLAMATION: 11;
					public static JT: 34;
					public static JV: 35;
					public static LINE_FEED: 17;
					public static INFIX_NUMERIC: 16;
					public static COMPLEX_CONTEXT: 24;
					public static NONSTARTER: 18;
					public static GLUE: 12;
					public static AKSARA_START: 45;
					public static OPEN_PUNCTUATION: 20;
					public static CLOSE_PUNCTUATION: 8;
					public static POSTFIX_NUMERIC: 21;
					public static ZWSPACE: 28;
				}
				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: 1;
					public static NONE: 0;
					public static DIGIT: 2;
					public static NUMERIC: 3;
				}
				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: 2;
					public static CR: 11;
					public static OTHER: 0;
					public static UPPER: 10;
					public static NUMERIC: 5;
					public static LOWER: 4;
					public static EXTEND: 12;
					public static STERM: 9;
					public static LF: 13;
					public static SCONTINUE: 14;
					public static SP: 8;
					public static SEP: 7;
					public static FORMAT: 3;
					public static OLETTER: 6;
					public static ATERM: 1;
				}
				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: 263;
					public static AEGEAN_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static AEGEAN_NUMBERS_ID: 119;
					public static AHOM: android.icu.lang.UCharacter.UnicodeBlock;
					public static AHOM_ID: 253;
					public static ALCHEMICAL_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ALCHEMICAL_SYMBOLS_ID: 208;
					public static ALPHABETIC_PRESENTATION_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ALPHABETIC_PRESENTATION_FORMS_ID: 80;
					public static ANATOLIAN_HIEROGLYPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ANATOLIAN_HIEROGLYPHS_ID: 254;
					public static ANCIENT_GREEK_MUSICAL_NOTATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static ANCIENT_GREEK_MUSICAL_NOTATION_ID: 126;
					public static ANCIENT_GREEK_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ANCIENT_GREEK_NUMBERS_ID: 127;
					public static ANCIENT_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ANCIENT_SYMBOLS_ID: 165;
					public static ARABIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_EXTENDED_A_ID: 210;
					public static ARABIC_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_EXTENDED_B_ID: 309;
					public static ARABIC_EXTENDED_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_EXTENDED_C_ID: 321;
					public static ARABIC_ID: 12;
					public static ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID: 211;
					public static ARABIC_PRESENTATION_FORMS_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_PRESENTATION_FORMS_A_ID: 81;
					public static ARABIC_PRESENTATION_FORMS_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_PRESENTATION_FORMS_B_ID: 85;
					public static ARABIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_SUPPLEMENT_ID: 128;
					public static ARMENIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARMENIAN_ID: 10;
					public static ARROWS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARROWS_ID: 46;
					public static AVESTAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static AVESTAN_ID: 188;
					public static BALINESE: android.icu.lang.UCharacter.UnicodeBlock;
					public static BALINESE_ID: 147;
					public static BAMUM: android.icu.lang.UCharacter.UnicodeBlock;
					public static BAMUM_ID: 177;
					public static BAMUM_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static BAMUM_SUPPLEMENT_ID: 202;
					public static BASIC_LATIN: android.icu.lang.UCharacter.UnicodeBlock;
					public static BASIC_LATIN_ID: 1;
					public static BASSA_VAH: android.icu.lang.UCharacter.UnicodeBlock;
					public static BASSA_VAH_ID: 221;
					public static BATAK: android.icu.lang.UCharacter.UnicodeBlock;
					public static BATAK_ID: 199;
					public static BENGALI: android.icu.lang.UCharacter.UnicodeBlock;
					public static BENGALI_ID: 16;
					public static BHAIKSUKI: android.icu.lang.UCharacter.UnicodeBlock;
					public static BHAIKSUKI_ID: 264;
					public static BLOCK_ELEMENTS: android.icu.lang.UCharacter.UnicodeBlock;
					public static BLOCK_ELEMENTS_ID: 53;
					public static BOPOMOFO: android.icu.lang.UCharacter.UnicodeBlock;
					public static BOPOMOFO_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static BOPOMOFO_EXTENDED_ID: 67;
					public static BOPOMOFO_ID: 64;
					public static BOX_DRAWING: android.icu.lang.UCharacter.UnicodeBlock;
					public static BOX_DRAWING_ID: 52;
					public static BRAHMI: android.icu.lang.UCharacter.UnicodeBlock;
					public static BRAHMI_ID: 201;
					public static BRAILLE_PATTERNS: android.icu.lang.UCharacter.UnicodeBlock;
					public static BRAILLE_PATTERNS_ID: 57;
					public static BUGINESE: android.icu.lang.UCharacter.UnicodeBlock;
					public static BUGINESE_ID: 129;
					public static BUHID: android.icu.lang.UCharacter.UnicodeBlock;
					public static BUHID_ID: 100;
					public static BYZANTINE_MUSICAL_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static BYZANTINE_MUSICAL_SYMBOLS_ID: 91;
					public static CARIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static CARIAN_ID: 168;
					public static CAUCASIAN_ALBANIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static CAUCASIAN_ALBANIAN_ID: 222;
					public static CHAKMA: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHAKMA_ID: 212;
					public static CHAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHAM_ID: 164;
					public static CHEROKEE: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHEROKEE_ID: 32;
					public static CHEROKEE_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHEROKEE_SUPPLEMENT_ID: 255;
					public static CHESS_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHESS_SYMBOLS_ID: 281;
					public static CHORASMIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHORASMIAN_ID: 301;
					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: 83;
					public static CJK_COMPATIBILITY_ID: 69;
					public static CJK_COMPATIBILITY_IDEOGRAPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_COMPATIBILITY_IDEOGRAPHS_ID: 79;
					public static CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID: 95;
					public static CJK_RADICALS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_RADICALS_SUPPLEMENT_ID: 58;
					public static CJK_STROKES: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_STROKES_ID: 130;
					public static CJK_SYMBOLS_AND_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_SYMBOLS_AND_PUNCTUATION_ID: 61;
					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: 70;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID: 94;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID: 197;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID: 209;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID: 256;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F_ID: 274;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G_ID: 302;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H_ID: 322;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_I: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_I_ID: 328;
					public static CJK_UNIFIED_IDEOGRAPHS_ID: 71;
					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: 224;
					public static COMBINING_DIACRITICAL_MARKS_ID: 7;
					public static COMBINING_DIACRITICAL_MARKS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID: 131;
					public static COMBINING_HALF_MARKS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMBINING_HALF_MARKS_ID: 82;
					public static COMBINING_MARKS_FOR_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMBINING_MARKS_FOR_SYMBOLS_ID: 43;
					public static COMMON_INDIC_NUMBER_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMMON_INDIC_NUMBER_FORMS_ID: 178;
					public static CONTROL_PICTURES: android.icu.lang.UCharacter.UnicodeBlock;
					public static CONTROL_PICTURES_ID: 49;
					public static COPTIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static COPTIC_EPACT_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COPTIC_EPACT_NUMBERS_ID: 223;
					public static COPTIC_ID: 132;
					public static COUNTING_ROD_NUMERALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COUNTING_ROD_NUMERALS_ID: 154;
					public static CUNEIFORM: android.icu.lang.UCharacter.UnicodeBlock;
					public static CUNEIFORM_ID: 152;
					public static CUNEIFORM_NUMBERS_AND_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID: 153;
					public static CURRENCY_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static CURRENCY_SYMBOLS_ID: 42;
					public static CYPRIOT_SYLLABARY: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYPRIOT_SYLLABARY_ID: 123;
					public static CYPRO_MINOAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYPRO_MINOAN_ID: 310;
					public static CYRILLIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_A_ID: 158;
					public static CYRILLIC_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_B_ID: 160;
					public static CYRILLIC_EXTENDED_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_C_ID: 265;
					public static CYRILLIC_EXTENDED_D: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_D_ID: 323;
					public static CYRILLIC_ID: 9;
					public static CYRILLIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_SUPPLEMENTARY: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_SUPPLEMENTARY_ID: 97;
					public static CYRILLIC_SUPPLEMENT_ID: 97;
					public static DESERET: android.icu.lang.UCharacter.UnicodeBlock;
					public static DESERET_ID: 90;
					public static DEVANAGARI: android.icu.lang.UCharacter.UnicodeBlock;
					public static DEVANAGARI_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static DEVANAGARI_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static DEVANAGARI_EXTENDED_A_ID: 324;
					public static DEVANAGARI_EXTENDED_ID: 179;
					public static DEVANAGARI_ID: 15;
					public static DINGBATS: android.icu.lang.UCharacter.UnicodeBlock;
					public static DINGBATS_ID: 56;
					public static DIVES_AKURU: android.icu.lang.UCharacter.UnicodeBlock;
					public static DIVES_AKURU_ID: 303;
					public static DOGRA: android.icu.lang.UCharacter.UnicodeBlock;
					public static DOGRA_ID: 282;
					public static DOMINO_TILES: android.icu.lang.UCharacter.UnicodeBlock;
					public static DOMINO_TILES_ID: 171;
					public static DUPLOYAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static DUPLOYAN_ID: 225;
					public static EARLY_DYNASTIC_CUNEIFORM: android.icu.lang.UCharacter.UnicodeBlock;
					public static EARLY_DYNASTIC_CUNEIFORM_ID: 257;
					public static EGYPTIAN_HIEROGLYPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static EGYPTIAN_HIEROGLYPHS_ID: 194;
					public static EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS_ID: 292;
					public static ELBASAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static ELBASAN_ID: 226;
					public static ELYMAIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static ELYMAIC_ID: 293;
					public static EMOTICONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static EMOTICONS_ID: 206;
					public static ENCLOSED_ALPHANUMERICS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ENCLOSED_ALPHANUMERICS_ID: 51;
					public static ENCLOSED_ALPHANUMERIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID: 195;
					public static ENCLOSED_CJK_LETTERS_AND_MONTHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ENCLOSED_CJK_LETTERS_AND_MONTHS_ID: 68;
					public static ENCLOSED_IDEOGRAPHIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID: 196;
					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: 200;
					public static ETHIOPIC_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static ETHIOPIC_EXTENDED_B_ID: 311;
					public static ETHIOPIC_EXTENDED_ID: 133;
					public static ETHIOPIC_ID: 31;
					public static ETHIOPIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static ETHIOPIC_SUPPLEMENT_ID: 134;
					public static GENERAL_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static GENERAL_PUNCTUATION_ID: 40;
					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: 227;
					public static GEOMETRIC_SHAPES_ID: 54;
					public static GEORGIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static GEORGIAN_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static GEORGIAN_EXTENDED_ID: 283;
					public static GEORGIAN_ID: 29;
					public static GEORGIAN_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static GEORGIAN_SUPPLEMENT_ID: 135;
					public static GLAGOLITIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static GLAGOLITIC_ID: 136;
					public static GLAGOLITIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static GLAGOLITIC_SUPPLEMENT_ID: 266;
					public static GOTHIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static GOTHIC_ID: 89;
					public static GRANTHA: android.icu.lang.UCharacter.UnicodeBlock;
					public static GRANTHA_ID: 228;
					public static GREEK: android.icu.lang.UCharacter.UnicodeBlock;
					public static GREEK_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static GREEK_EXTENDED_ID: 39;
					public static GREEK_ID: 8;
					public static GUJARATI: android.icu.lang.UCharacter.UnicodeBlock;
					public static GUJARATI_ID: 18;
					public static GUNJALA_GONDI: android.icu.lang.UCharacter.UnicodeBlock;
					public static GUNJALA_GONDI_ID: 284;
					public static GURMUKHI: android.icu.lang.UCharacter.UnicodeBlock;
					public static GURMUKHI_ID: 17;
					public static HALFWIDTH_AND_FULLWIDTH_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static HALFWIDTH_AND_FULLWIDTH_FORMS_ID: 87;
					public static HANGUL_COMPATIBILITY_JAMO: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANGUL_COMPATIBILITY_JAMO_ID: 65;
					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: 180;
					public static HANGUL_JAMO_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANGUL_JAMO_EXTENDED_B_ID: 185;
					public static HANGUL_JAMO_ID: 30;
					public static HANGUL_SYLLABLES: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANGUL_SYLLABLES_ID: 74;
					public static HANIFI_ROHINGYA: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANIFI_ROHINGYA_ID: 285;
					public static HANUNOO: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANUNOO_ID: 99;
					public static HATRAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static HATRAN_ID: 258;
					public static HEBREW: android.icu.lang.UCharacter.UnicodeBlock;
					public static HEBREW_ID: 11;
					public static HIGH_PRIVATE_USE_SURROGATES: android.icu.lang.UCharacter.UnicodeBlock;
					public static HIGH_PRIVATE_USE_SURROGATES_ID: 76;
					public static HIGH_SURROGATES: android.icu.lang.UCharacter.UnicodeBlock;
					public static HIGH_SURROGATES_ID: 75;
					public static HIRAGANA: android.icu.lang.UCharacter.UnicodeBlock;
					public static HIRAGANA_ID: 62;
					public static IDEOGRAPHIC_DESCRIPTION_CHARACTERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID: 60;
					public static IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_ID: 267;
					public static IMPERIAL_ARAMAIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static IMPERIAL_ARAMAIC_ID: 186;
					public static INDIC_SIYAQ_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static INDIC_SIYAQ_NUMBERS_ID: 286;
					public static INSCRIPTIONAL_PAHLAVI: android.icu.lang.UCharacter.UnicodeBlock;
					public static INSCRIPTIONAL_PAHLAVI_ID: 190;
					public static INSCRIPTIONAL_PARTHIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static INSCRIPTIONAL_PARTHIAN_ID: 189;
					public static INVALID_CODE: android.icu.lang.UCharacter.UnicodeBlock;
					public static INVALID_CODE_ID: -1;
					public static IPA_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static IPA_EXTENSIONS_ID: 5;
					public static JAVANESE: android.icu.lang.UCharacter.UnicodeBlock;
					public static JAVANESE_ID: 181;
					public static KAITHI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KAITHI_ID: 193;
					public static KAKTOVIK_NUMERALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static KAKTOVIK_NUMERALS_ID: 325;
					public static KANA_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANA_EXTENDED_A_ID: 275;
					public static KANA_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANA_EXTENDED_B_ID: 312;
					public static KANA_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANA_SUPPLEMENT_ID: 203;
					public static KANBUN: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANBUN_ID: 66;
					public static KANGXI_RADICALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANGXI_RADICALS_ID: 59;
					public static KANNADA: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANNADA_ID: 22;
					public static KATAKANA: android.icu.lang.UCharacter.UnicodeBlock;
					public static KATAKANA_ID: 63;
					public static KATAKANA_PHONETIC_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static KATAKANA_PHONETIC_EXTENSIONS_ID: 107;
					public static KAWI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KAWI_ID: 326;
					public static KAYAH_LI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KAYAH_LI_ID: 162;
					public static KHAROSHTHI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHAROSHTHI_ID: 137;
					public static KHITAN_SMALL_SCRIPT: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHITAN_SMALL_SCRIPT_ID: 304;
					public static KHMER: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHMER_ID: 36;
					public static KHMER_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHMER_SYMBOLS_ID: 113;
					public static KHOJKI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHOJKI_ID: 229;
					public static KHUDAWADI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHUDAWADI_ID: 230;
					public static LAO: android.icu.lang.UCharacter.UnicodeBlock;
					public static LAO_ID: 26;
					public static LATIN_1_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_1_SUPPLEMENT_ID: 2;
					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: 38;
					public static LATIN_EXTENDED_A_ID: 3;
					public static LATIN_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_B_ID: 4;
					public static LATIN_EXTENDED_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_C_ID: 148;
					public static LATIN_EXTENDED_D: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_D_ID: 149;
					public static LATIN_EXTENDED_E: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_E_ID: 231;
					public static LATIN_EXTENDED_F: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_F_ID: 313;
					public static LATIN_EXTENDED_G: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_G_ID: 314;
					public static LEPCHA: android.icu.lang.UCharacter.UnicodeBlock;
					public static LEPCHA_ID: 156;
					public static LETTERLIKE_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static LETTERLIKE_SYMBOLS_ID: 44;
					public static LIMBU: android.icu.lang.UCharacter.UnicodeBlock;
					public static LIMBU_ID: 111;
					public static LINEAR_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static LINEAR_A_ID: 232;
					public static LINEAR_B_IDEOGRAMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static LINEAR_B_IDEOGRAMS_ID: 118;
					public static LINEAR_B_SYLLABARY: android.icu.lang.UCharacter.UnicodeBlock;
					public static LINEAR_B_SYLLABARY_ID: 117;
					public static LISU: android.icu.lang.UCharacter.UnicodeBlock;
					public static LISU_ID: 176;
					public static LISU_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static LISU_SUPPLEMENT_ID: 305;
					public static LOW_SURROGATES: android.icu.lang.UCharacter.UnicodeBlock;
					public static LOW_SURROGATES_ID: 77;
					public static LYCIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static LYCIAN_ID: 167;
					public static LYDIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static LYDIAN_ID: 169;
					public static MAHAJANI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MAHAJANI_ID: 233;
					public static MAHJONG_TILES: android.icu.lang.UCharacter.UnicodeBlock;
					public static MAHJONG_TILES_ID: 170;
					public static MAKASAR: android.icu.lang.UCharacter.UnicodeBlock;
					public static MAKASAR_ID: 287;
					public static MALAYALAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static MALAYALAM_ID: 23;
					public static MANDAIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static MANDAIC_ID: 198;
					public static MANICHAEAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static MANICHAEAN_ID: 234;
					public static MARCHEN: android.icu.lang.UCharacter.UnicodeBlock;
					public static MARCHEN_ID: 268;
					public static MASARAM_GONDI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MASARAM_GONDI_ID: 276;
					public static MATHEMATICAL_ALPHANUMERIC_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID: 93;
					public static MATHEMATICAL_OPERATORS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MATHEMATICAL_OPERATORS_ID: 47;
					public static MAYAN_NUMERALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MAYAN_NUMERALS_ID: 288;
					public static MEDEFAIDRIN: android.icu.lang.UCharacter.UnicodeBlock;
					public static MEDEFAIDRIN_ID: 289;
					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: 213;
					public static MEETEI_MAYEK_ID: 184;
					public static MENDE_KIKAKUI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MENDE_KIKAKUI_ID: 235;
					public static MEROITIC_CURSIVE: android.icu.lang.UCharacter.UnicodeBlock;
					public static MEROITIC_CURSIVE_ID: 214;
					public static MEROITIC_HIEROGLYPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MEROITIC_HIEROGLYPHS_ID: 215;
					public static MIAO: android.icu.lang.UCharacter.UnicodeBlock;
					public static MIAO_ID: 216;
					public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID: 102;
					public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID: 105;
					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: 115;
					public static MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID: 205;
					public static MISCELLANEOUS_SYMBOLS_ID: 55;
					public static MISCELLANEOUS_TECHNICAL: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_TECHNICAL_ID: 48;
					public static MODI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MODIFIER_TONE_LETTERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MODIFIER_TONE_LETTERS_ID: 138;
					public static MODI_ID: 236;
					public static MONGOLIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static MONGOLIAN_ID: 37;
					public static MONGOLIAN_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static MONGOLIAN_SUPPLEMENT_ID: 269;
					public static MRO: android.icu.lang.UCharacter.UnicodeBlock;
					public static MRO_ID: 237;
					public static MULTANI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MULTANI_ID: 259;
					public static MUSICAL_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MUSICAL_SYMBOLS_ID: 92;
					public static MYANMAR: android.icu.lang.UCharacter.UnicodeBlock;
					public static MYANMAR_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static MYANMAR_EXTENDED_A_ID: 182;
					public static MYANMAR_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static MYANMAR_EXTENDED_B_ID: 238;
					public static MYANMAR_ID: 28;
					public static NABATAEAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static NABATAEAN_ID: 239;
					public static NAG_MUNDARI: android.icu.lang.UCharacter.UnicodeBlock;
					public static NAG_MUNDARI_ID: 327;
					public static NANDINAGARI: android.icu.lang.UCharacter.UnicodeBlock;
					public static NANDINAGARI_ID: 294;
					public static NEWA: android.icu.lang.UCharacter.UnicodeBlock;
					public static NEWA_ID: 270;
					public static NEW_TAI_LUE: android.icu.lang.UCharacter.UnicodeBlock;
					public static NEW_TAI_LUE_ID: 139;
					public static NKO: android.icu.lang.UCharacter.UnicodeBlock;
					public static NKO_ID: 146;
					public static NO_BLOCK: android.icu.lang.UCharacter.UnicodeBlock;
					public static NUMBER_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static NUMBER_FORMS_ID: 45;
					public static NUSHU: android.icu.lang.UCharacter.UnicodeBlock;
					public static NUSHU_ID: 277;
					public static NYIAKENG_PUACHUE_HMONG: android.icu.lang.UCharacter.UnicodeBlock;
					public static NYIAKENG_PUACHUE_HMONG_ID: 295;
					public static OGHAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static OGHAM_ID: 34;
					public static OLD_HUNGARIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_HUNGARIAN_ID: 260;
					public static OLD_ITALIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_ITALIC_ID: 88;
					public static OLD_NORTH_ARABIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_NORTH_ARABIAN_ID: 240;
					public static OLD_PERMIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_PERMIC_ID: 241;
					public static OLD_PERSIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_PERSIAN_ID: 140;
					public static OLD_SOGDIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_SOGDIAN_ID: 290;
					public static OLD_SOUTH_ARABIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_SOUTH_ARABIAN_ID: 187;
					public static OLD_TURKIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_TURKIC_ID: 191;
					public static OLD_UYGHUR: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_UYGHUR_ID: 315;
					public static OL_CHIKI: android.icu.lang.UCharacter.UnicodeBlock;
					public static OL_CHIKI_ID: 157;
					public static OPTICAL_CHARACTER_RECOGNITION: android.icu.lang.UCharacter.UnicodeBlock;
					public static OPTICAL_CHARACTER_RECOGNITION_ID: 50;
					public static ORIYA: android.icu.lang.UCharacter.UnicodeBlock;
					public static ORIYA_ID: 19;
					public static ORNAMENTAL_DINGBATS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ORNAMENTAL_DINGBATS_ID: 242;
					public static OSAGE: android.icu.lang.UCharacter.UnicodeBlock;
					public static OSAGE_ID: 271;
					public static OSMANYA: android.icu.lang.UCharacter.UnicodeBlock;
					public static OSMANYA_ID: 122;
					public static OTTOMAN_SIYAQ_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static OTTOMAN_SIYAQ_NUMBERS_ID: 296;
					public static PAHAWH_HMONG: android.icu.lang.UCharacter.UnicodeBlock;
					public static PAHAWH_HMONG_ID: 243;
					public static PALMYRENE: android.icu.lang.UCharacter.UnicodeBlock;
					public static PALMYRENE_ID: 244;
					public static PAU_CIN_HAU: android.icu.lang.UCharacter.UnicodeBlock;
					public static PAU_CIN_HAU_ID: 245;
					public static PHAGS_PA: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHAGS_PA_ID: 150;
					public static PHAISTOS_DISC: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHAISTOS_DISC_ID: 166;
					public static PHOENICIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHOENICIAN_ID: 151;
					public static PHONETIC_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHONETIC_EXTENSIONS_ID: 114;
					public static PHONETIC_EXTENSIONS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHONETIC_EXTENSIONS_SUPPLEMENT_ID: 141;
					public static PLAYING_CARDS: android.icu.lang.UCharacter.UnicodeBlock;
					public static PLAYING_CARDS_ID: 204;
					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: 78;
					public static PRIVATE_USE_ID: 78;
					public static PSALTER_PAHLAVI: android.icu.lang.UCharacter.UnicodeBlock;
					public static PSALTER_PAHLAVI_ID: 246;
					public static REJANG: android.icu.lang.UCharacter.UnicodeBlock;
					public static REJANG_ID: 163;
					public static RUMI_NUMERAL_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static RUMI_NUMERAL_SYMBOLS_ID: 192;
					public static RUNIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static RUNIC_ID: 35;
					public static SAMARITAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static SAMARITAN_ID: 172;
					public static SAURASHTRA: android.icu.lang.UCharacter.UnicodeBlock;
					public static SAURASHTRA_ID: 161;
					public static SHARADA: android.icu.lang.UCharacter.UnicodeBlock;
					public static SHARADA_ID: 217;
					public static SHAVIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static SHAVIAN_ID: 121;
					public static SHORTHAND_FORMAT_CONTROLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SHORTHAND_FORMAT_CONTROLS_ID: 247;
					public static SIDDHAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static SIDDHAM_ID: 248;
					public static SINHALA: android.icu.lang.UCharacter.UnicodeBlock;
					public static SINHALA_ARCHAIC_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SINHALA_ARCHAIC_NUMBERS_ID: 249;
					public static SINHALA_ID: 24;
					public static SMALL_FORM_VARIANTS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SMALL_FORM_VARIANTS_ID: 84;
					public static SMALL_KANA_EXTENSION: android.icu.lang.UCharacter.UnicodeBlock;
					public static SMALL_KANA_EXTENSION_ID: 297;
					public static SOGDIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static SOGDIAN_ID: 291;
					public static SORA_SOMPENG: android.icu.lang.UCharacter.UnicodeBlock;
					public static SORA_SOMPENG_ID: 218;
					public static SOYOMBO: android.icu.lang.UCharacter.UnicodeBlock;
					public static SOYOMBO_ID: 278;
					public static SPACING_MODIFIER_LETTERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SPACING_MODIFIER_LETTERS_ID: 6;
					public static SPECIALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SPECIALS_ID: 86;
					public static SUNDANESE: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUNDANESE_ID: 155;
					public static SUNDANESE_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUNDANESE_SUPPLEMENT_ID: 219;
					public static SUPERSCRIPTS_AND_SUBSCRIPTS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPERSCRIPTS_AND_SUBSCRIPTS_ID: 41;
					public static SUPPLEMENTAL_ARROWS_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_ARROWS_A_ID: 103;
					public static SUPPLEMENTAL_ARROWS_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_ARROWS_B_ID: 104;
					public static SUPPLEMENTAL_ARROWS_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_ARROWS_C_ID: 250;
					public static SUPPLEMENTAL_MATHEMATICAL_OPERATORS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID: 106;
					public static SUPPLEMENTAL_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_PUNCTUATION_ID: 142;
					public static SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID: 261;
					public static SUPPLEMENTARY_PRIVATE_USE_AREA_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID: 109;
					public static SUPPLEMENTARY_PRIVATE_USE_AREA_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID: 110;
					public static SUTTON_SIGNWRITING: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUTTON_SIGNWRITING_ID: 262;
					public static SYLOTI_NAGRI: android.icu.lang.UCharacter.UnicodeBlock;
					public static SYLOTI_NAGRI_ID: 143;
					public static SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A_ID: 298;
					public static SYMBOLS_FOR_LEGACY_COMPUTING: android.icu.lang.UCharacter.UnicodeBlock;
					public static SYMBOLS_FOR_LEGACY_COMPUTING_ID: 306;
					public static SYRIAC: android.icu.lang.UCharacter.UnicodeBlock;
					public static SYRIAC_ID: 13;
					public static SYRIAC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static SYRIAC_SUPPLEMENT_ID: 279;
					public static TAGALOG: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAGALOG_ID: 98;
					public static TAGBANWA: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAGBANWA_ID: 101;
					public static TAGS: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAGS_ID: 96;
					public static TAI_LE: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAI_LE_ID: 112;
					public static TAI_THAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAI_THAM_ID: 174;
					public static TAI_VIET: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAI_VIET_ID: 183;
					public static TAI_XUAN_JING_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAI_XUAN_JING_SYMBOLS_ID: 124;
					public static TAKRI: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAKRI_ID: 220;
					public static TAMIL: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAMIL_ID: 20;
					public static TAMIL_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAMIL_SUPPLEMENT_ID: 299;
					public static TANGSA: android.icu.lang.UCharacter.UnicodeBlock;
					public static TANGSA_ID: 316;
					public static TANGUT: android.icu.lang.UCharacter.UnicodeBlock;
					public static TANGUT_COMPONENTS: android.icu.lang.UCharacter.UnicodeBlock;
					public static TANGUT_COMPONENTS_ID: 273;
					public static TANGUT_ID: 272;
					public static TANGUT_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static TANGUT_SUPPLEMENT_ID: 307;
					public static TELUGU: android.icu.lang.UCharacter.UnicodeBlock;
					public static TELUGU_ID: 21;
					public static THAANA: android.icu.lang.UCharacter.UnicodeBlock;
					public static THAANA_ID: 14;
					public static THAI: android.icu.lang.UCharacter.UnicodeBlock;
					public static THAI_ID: 25;
					public static TIBETAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static TIBETAN_ID: 27;
					public static TIFINAGH: android.icu.lang.UCharacter.UnicodeBlock;
					public static TIFINAGH_ID: 144;
					public static TIRHUTA: android.icu.lang.UCharacter.UnicodeBlock;
					public static TIRHUTA_ID: 251;
					public static TOTO: android.icu.lang.UCharacter.UnicodeBlock;
					public static TOTO_ID: 317;
					public static TRANSPORT_AND_MAP_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static TRANSPORT_AND_MAP_SYMBOLS_ID: 207;
					public static UGARITIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static UGARITIC_ID: 120;
					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_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A_ID: 318;
					public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID: 173;
					public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID: 33;
					public static VAI: android.icu.lang.UCharacter.UnicodeBlock;
					public static VAI_ID: 159;
					public static VARIATION_SELECTORS: android.icu.lang.UCharacter.UnicodeBlock;
					public static VARIATION_SELECTORS_ID: 108;
					public static VARIATION_SELECTORS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static VARIATION_SELECTORS_SUPPLEMENT_ID: 125;
					public static VEDIC_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static VEDIC_EXTENSIONS_ID: 175;
					public static VERTICAL_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static VERTICAL_FORMS_ID: 145;
					public static VITHKUQI: android.icu.lang.UCharacter.UnicodeBlock;
					public static VITHKUQI_ID: 319;
					public static WANCHO: android.icu.lang.UCharacter.UnicodeBlock;
					public static WANCHO_ID: 300;
					public static WARANG_CITI: android.icu.lang.UCharacter.UnicodeBlock;
					public static WARANG_CITI_ID: 252;
					public static YEZIDI: android.icu.lang.UCharacter.UnicodeBlock;
					public static YEZIDI_ID: 308;
					public static YIJING_HEXAGRAM_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static YIJING_HEXAGRAM_SYMBOLS_ID: 116;
					public static YI_RADICALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static YI_RADICALS_ID: 73;
					public static YI_SYLLABLES: android.icu.lang.UCharacter.UnicodeBlock;
					public static YI_SYLLABLES_ID: 72;
					public static ZANABAZAR_SQUARE: android.icu.lang.UCharacter.UnicodeBlock;
					public static ZANABAZAR_SQUARE_ID: 280;
					public static ZNAMENNY_MUSICAL_NOTATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static ZNAMENNY_MUSICAL_NOTATION_ID: 320;
					public getID(): number;
					public static getInstance(id: number): android.icu.lang.UCharacter.UnicodeBlock;
					public static forName(blockName: string): android.icu.lang.UCharacter.UnicodeBlock;
					public static of(ch: number): android.icu.lang.UCharacter.UnicodeBlock;
				}
				export class VerticalOrientation extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.VerticalOrientation>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$VerticalOrientation interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static UPRIGHT: 3;
					public static TRANSFORMED_UPRIGHT: 2;
					public static ROTATED: 0;
					public static TRANSFORMED_ROTATED: 1;
				}
				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: 21;
					public static ALETTER: 1;
					public static CR: 8;
					public static OTHER: 0;
					public static REGIONAL_INDICATOR: 13;
					public static E_BASE_GAZ: 18;
					public static NUMERIC: 6;
					public static MIDNUMLET: 11;
					public static DOUBLE_QUOTE: 16;
					public static GLUE_AFTER_ZWJ: 20;
					public static EXTEND: 9;
					public static E_MODIFIER: 19;
					public static WSEGSPACE: 22;
					public static MIDLETTER: 4;
					public static LF: 10;
					public static SINGLE_QUOTE: 15;
					public static HEBREW_LETTER: 14;
					public static E_BASE: 17;
					public static MIDNUM: 5;
					public static FORMAT: 2;
					public static EXTENDNUMLET: 7;
					public static NEWLINE: 12;
					public static KATAKANA: 3;
				}
			}
		}
	}
}

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(category: 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(dir: 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: 0;
					public static LOWERCASE_LETTER: 2;
					public static FORMAT: 16;
					public static OTHER_NUMBER: 11;
					public static CURRENCY_SYMBOL: 25;
					public static MODIFIER_LETTER: 4;
					public static ENCLOSING_MARK: 7;
					public static PARAGRAPH_SEPARATOR: 14;
					public static SPACE_SEPARATOR: 12;
					public static END_PUNCTUATION: 21;
					public static DECIMAL_DIGIT_NUMBER: 9;
					public static DASH_PUNCTUATION: 19;
					public static FINAL_QUOTE_PUNCTUATION: 29;
					public static LETTER_NUMBER: 10;
					public static INITIAL_PUNCTUATION: 28;
					public static PRIVATE_USE: 17;
					public static LINE_SEPARATOR: 13;
					public static NON_SPACING_MARK: 6;
					public static COMBINING_SPACING_MARK: 8;
					public static START_PUNCTUATION: 20;
					public static FINAL_PUNCTUATION: 29;
					public static SURROGATE: 18;
					public static TITLECASE_LETTER: 3;
					public static UPPERCASE_LETTER: 1;
					public static UNASSIGNED: 0;
					public static CONNECTOR_PUNCTUATION: 22;
					public static MODIFIER_SYMBOL: 26;
					public static INITIAL_QUOTE_PUNCTUATION: 28;
					public static OTHER_PUNCTUATION: 23;
					public static OTHER_SYMBOL: 27;
					public static MATH_SYMBOL: 24;
					public static CONTROL: 15;
					public static OTHER_LETTER: 5;
				}
				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 RIGHT_TO_LEFT_ARABIC: 13;
					public static RIGHT_TO_LEFT_EMBEDDING: 14;
					public static WHITE_SPACE_NEUTRAL: 9;
					public static DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING: 14;
					public static DIRECTIONALITY_ARABIC_NUMBER: 5;
					public static RIGHT_TO_LEFT_ISOLATE: 21;
					public static DIRECTIONALITY_RIGHT_TO_LEFT: 1;
					public static LEFT_TO_RIGHT_OVERRIDE: 12;
					public static FIRST_STRONG_ISOLATE: 19;
					public static DIRECTIONALITY_COMMON_NUMBER_SEPARATOR: 6;
					public static RIGHT_TO_LEFT: 1;
					public static BOUNDARY_NEUTRAL: 18;
					public static POP_DIRECTIONAL_ISOLATE: 22;
					public static DIR_NON_SPACING_MARK: 17;
					public static LEFT_TO_RIGHT_EMBEDDING: 11;
					public static DIRECTIONALITY_POP_DIRECTIONAL_FORMAT: 16;
					public static LEFT_TO_RIGHT_ISOLATE: 20;
					public static DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE: 15;
					public static SEGMENT_SEPARATOR: 8;
					public static DIRECTIONALITY_BOUNDARY_NEUTRAL: 18;
					public static DIRECTIONALITY_EUROPEAN_NUMBER: 2;
					public static DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR: 3;
					public static DIRECTIONALITY_PARAGRAPH_SEPARATOR: 7;
					public static EUROPEAN_NUMBER_TERMINATOR: 4;
					public static POP_DIRECTIONAL_FORMAT: 16;
					public static DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING: 11;
					public static ARABIC_NUMBER: 5;
					public static DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR: 4;
					public static RIGHT_TO_LEFT_OVERRIDE: 15;
					public static DIRECTIONALITY_NONSPACING_MARK: 17;
					public static BLOCK_SEPARATOR: 7;
					public static DIRECTIONALITY_UNDEFINED: -1;
					public static DIRECTIONALITY_OTHER_NEUTRALS: 10;
					public static COMMON_NUMBER_SEPARATOR: 6;
					public static LEFT_TO_RIGHT: 0;
					public static DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE: 12;
					public static DIRECTIONALITY_LEFT_TO_RIGHT: 0;
					public static DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC: 13;
					public static DIRECTIONALITY_SEGMENT_SEPARATOR: 8;
					public static OTHER_NEUTRAL: 10;
					public static EUROPEAN_NUMBER: 2;
					public static DIRECTIONALITY_WHITESPACE: 9;
					public static EUROPEAN_NUMBER_SEPARATOR: 3;
				}
			}
		}
	}
}

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 EMOJI_MODIFIER: 59;
				public static MASK_START: 8192;
				public static NAME: 16389;
				public static QUOTATION_MARK: 25;
				public static CHANGES_WHEN_CASEMAPPED: 55;
				public static EXTENDED_PICTOGRAPHIC: 64;
				public static JOIN_CONTROL: 20;
				public static RGI_EMOJI_FLAG_SEQUENCE: 68;
				public static SOFT_DOTTED: 27;
				public static NFC_INERT: 39;
				public static ID_CONTINUE: 15;
				public static EMOJI_MODIFIER_BASE: 60;
				public static SCRIPT: 4106;
				public static CASE_SENSITIVE: 34;
				public static BASIC_EMOJI: 65;
				public static POSIX_PRINT: 47;
				public static UPPERCASE: 30;
				public static HYPHEN: 14;
				public static BIDI_CLASS: 4096;
				public static VARIATION_SELECTOR: 36;
				public static BIDI_MIRRORING_GLYPH: 16385;
				public static GENERAL_CATEGORY_MASK: 8192;
				public static DASH: 4;
				public static EMOJI_KEYCAP_SEQUENCE: 66;
				public static NFKC_INERT: 40;
				public static POSIX_GRAPH: 46;
				public static DEFAULT_IGNORABLE_CODE_POINT: 5;
				public static JOINING_GROUP: 4102;
				public static CHANGES_WHEN_UPPERCASED: 52;
				public static SIMPLE_UPPERCASE_MAPPING: 16393;
				public static LOWERCASE_MAPPING: 16388;
				public static WORD_BREAK: 4116;
				public static LOWERCASE: 22;
				public static EMOJI_PRESENTATION: 58;
				public static EMOJI: 57;
				public static SCRIPT_EXTENSIONS: 28672;
				public static CANONICAL_COMBINING_CLASS: 4098;
				public static EAST_ASIAN_WIDTH: 4100;
				public static RADICAL: 26;
				public static EMOJI_COMPONENT: 61;
				public static GRAPHEME_CLUSTER_BREAK: 4114;
				public static WHITE_SPACE: 31;
				public static PREPENDED_CONCATENATION_MARK: 63;
				public static RGI_EMOJI: 71;
				public static CASED: 49;
				public static DOUBLE_START: 12288;
				public static HEX_DIGIT: 13;
				public static SENTENCE_BREAK: 4115;
				public static PATTERN_SYNTAX: 42;
				public static GRAPHEME_BASE: 10;
				public static IDS_BINARY_OPERATOR: 18;
				public static BIDI_MIRRORED: 3;
				public static S_TERM: 35;
				public static AGE: 16384;
				public static INDIC_POSITIONAL_CATEGORY: 4118;
				public static SIMPLE_TITLECASE_MAPPING: 16392;
				public static GENERAL_CATEGORY: 4101;
				public static GRAPHEME_EXTEND: 11;
				public static POSIX_BLANK: 45;
				public static LEAD_CANONICAL_COMBINING_CLASS: 4112;
				public static CHANGES_WHEN_NFKC_CASEFOLDED: 56;
				public static ID_START: 16;
				public static MATH: 23;
				public static XID_CONTINUE: 32;
				public static NFKD_INERT: 38;
				public static VERTICAL_ORIENTATION: 4120;
				public static IDEOGRAPHIC: 17;
				public static NFC_QUICK_CHECK: 4110;
				public static SIMPLE_CASE_FOLDING: 16390;
				public static NFD_QUICK_CHECK: 4108;
				public static POSIX_ALNUM: 44;
				public static IDS_TRINARY_OPERATOR: 19;
				public static ALPHABETIC: 0;
				public static REGIONAL_INDICATOR: 62;
				public static CASE_IGNORABLE: 50;
				public static GRAPHEME_LINK: 12;
				public static RGI_EMOJI_ZWJ_SEQUENCE: 70;
				public static LINE_BREAK: 4104;
				public static SEGMENT_STARTER: 41;
				public static TRAIL_CANONICAL_COMBINING_CLASS: 4113;
				public static HANGUL_SYLLABLE_TYPE: 4107;
				public static INDIC_SYLLABIC_CATEGORY: 4119;
				public static XID_START: 33;
				public static BIDI_CONTROL: 2;
				public static DIACRITIC: 7;
				public static LOGICAL_ORDER_EXCEPTION: 21;
				public static NONCHARACTER_CODE_POINT: 24;
				public static BLOCK: 4097;
				public static NUMERIC_VALUE: 12288;
				public static BIDI_PAIRED_BRACKET: 16397;
				public static EXTENDER: 8;
				public static FULL_COMPOSITION_EXCLUSION: 9;
				public static BIDI_PAIRED_BRACKET_TYPE: 4117;
				public static OTHER_PROPERTY_START: 28672;
				public static DECOMPOSITION_TYPE: 4099;
				public static JOINING_TYPE: 4103;
				public static ASCII_HEX_DIGIT: 1;
				public static CHANGES_WHEN_TITLECASED: 53;
				public static STRING_START: 16384;
				public static DEPRECATED: 6;
				public static BINARY_START: 0;
				public static NFKD_QUICK_CHECK: 4109;
				public static UNIFIED_IDEOGRAPH: 29;
				public static CASE_FOLDING: 16386;
				public static UPPERCASE_MAPPING: 16396;
				public static POSIX_XDIGIT: 48;
				public static PATTERN_WHITE_SPACE: 43;
				public static INT_START: 4096;
				public static NFKC_QUICK_CHECK: 4111;
				public static SIMPLE_LOWERCASE_MAPPING: 16391;
				public static TERMINAL_PUNCTUATION: 28;
				public static RGI_EMOJI_TAG_SEQUENCE: 69;
				public static CHANGES_WHEN_CASEFOLDED: 54;
				public static NUMERIC_TYPE: 4105;
				public static CHANGES_WHEN_LOWERCASED: 51;
				public static RGI_EMOJI_MODIFIER_SEQUENCE: 67;
				public static TITLECASE_MAPPING: 16394;
				public static NFD_INERT: 37;
			}
			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: 1;
					public static SHORT: 0;
				}
			}
		}
	}
}

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: 167;
				public static AFAKA: 147;
				public static AHOM: 161;
				public static ANATOLIAN_HIEROGLYPHS: 156;
				public static ARABIC: 2;
				public static ARMENIAN: 3;
				public static AVESTAN: 117;
				public static BALINESE: 62;
				public static BAMUM: 130;
				public static BASSA_VAH: 134;
				public static BATAK: 63;
				public static BENGALI: 4;
				public static BHAIKSUKI: 168;
				public static BLISSYMBOLS: 64;
				public static BOOK_PAHLAVI: 124;
				public static BOPOMOFO: 5;
				public static BRAHMI: 65;
				public static BRAILLE: 46;
				public static BUGINESE: 55;
				public static BUHID: 44;
				public static CANADIAN_ABORIGINAL: 40;
				public static CARIAN: 104;
				public static CAUCASIAN_ALBANIAN: 159;
				public static CHAKMA: 118;
				public static CHAM: 66;
				public static CHEROKEE: 6;
				public static CHORASMIAN: 189;
				public static CIRTH: 67;
				public static COMMON: 0;
				public static COPTIC: 7;
				public static CUNEIFORM: 101;
				public static CYPRIOT: 47;
				public static CYPRO_MINOAN: 193;
				public static CYRILLIC: 8;
				public static DEMOTIC_EGYPTIAN: 69;
				public static DESERET: 9;
				public static DEVANAGARI: 10;
				public static DIVES_AKURU: 190;
				public static DOGRA: 178;
				public static DUPLOYAN: 135;
				public static EASTERN_SYRIAC: 97;
				public static EGYPTIAN_HIEROGLYPHS: 71;
				public static ELBASAN: 136;
				public static ELYMAIC: 185;
				public static ESTRANGELO_SYRIAC: 95;
				public static ETHIOPIC: 11;
				public static GEORGIAN: 12;
				public static GLAGOLITIC: 56;
				public static GOTHIC: 13;
				public static GRANTHA: 137;
				public static GREEK: 14;
				public static GUJARATI: 15;
				public static GUNJALA_GONDI: 179;
				public static GURMUKHI: 16;
				public static HAN: 17;
				public static HANGUL: 18;
				public static HANIFI_ROHINGYA: 182;
				public static HANUNOO: 43;
				public static HAN_WITH_BOPOMOFO: 172;
				public static HARAPPAN_INDUS: 77;
				public static HATRAN: 162;
				public static HEBREW: 19;
				public static HIERATIC_EGYPTIAN: 70;
				public static HIRAGANA: 20;
				public static IMPERIAL_ARAMAIC: 116;
				public static INHERITED: 1;
				public static INSCRIPTIONAL_PAHLAVI: 122;
				public static INSCRIPTIONAL_PARTHIAN: 125;
				public static INVALID_CODE: -1;
				public static JAMO: 173;
				public static JAPANESE: 105;
				public static JAVANESE: 78;
				public static JURCHEN: 148;
				public static KAITHI: 120;
				public static KANNADA: 21;
				public static KATAKANA: 22;
				public static KATAKANA_OR_HIRAGANA: 54;
				public static KAWI: 198;
				public static KAYAH_LI: 79;
				public static KHAROSHTHI: 57;
				public static KHITAN_SMALL_SCRIPT: 191;
				public static KHMER: 23;
				public static KHOJKI: 157;
				public static KHUDAWADI: 145;
				public static KHUTSURI: 72;
				public static KOREAN: 119;
				public static KPELLE: 138;
				public static LANNA: 106;
				public static LAO: 24;
				public static LATIN: 25;
				public static LATIN_FRAKTUR: 80;
				public static LATIN_GAELIC: 81;
				public static LEPCHA: 82;
				public static LIMBU: 48;
				public static LINEAR_A: 83;
				public static LINEAR_B: 49;
				public static LISU: 131;
				public static LOMA: 139;
				public static LYCIAN: 107;
				public static LYDIAN: 108;
				public static MAHAJANI: 160;
				public static MAKASAR: 180;
				public static MALAYALAM: 26;
				public static MANDAEAN: 84;
				public static MANDAIC: 84;
				public static MANICHAEAN: 121;
				public static MARCHEN: 169;
				public static MASARAM_GONDI: 175;
				public static MATHEMATICAL_NOTATION: 128;
				public static MAYAN_HIEROGLYPHS: 85;
				public static MEDEFAIDRIN: 181;
				public static MEITEI_MAYEK: 115;
				public static MENDE: 140;
				public static MEROITIC: 86;
				public static MEROITIC_CURSIVE: 141;
				public static MEROITIC_HIEROGLYPHS: 86;
				public static MIAO: 92;
				public static MODI: 163;
				public static MONGOLIAN: 27;
				public static MOON: 114;
				public static MRO: 149;
				public static MULTANI: 164;
				public static MYANMAR: 28;
				public static NABATAEAN: 143;
				public static NAG_MUNDARI: 199;
				public static NAKHI_GEBA: 132;
				public static NANDINAGARI: 187;
				public static NEWA: 170;
				public static NEW_TAI_LUE: 59;
				public static NKO: 87;
				public static NUSHU: 150;
				public static NYIAKENG_PUACHUE_HMONG: 186;
				public static OGHAM: 29;
				public static OLD_CHURCH_SLAVONIC_CYRILLIC: 68;
				public static OLD_HUNGARIAN: 76;
				public static OLD_ITALIC: 30;
				public static OLD_NORTH_ARABIAN: 142;
				public static OLD_PERMIC: 89;
				public static OLD_PERSIAN: 61;
				public static OLD_SOGDIAN: 184;
				public static OLD_SOUTH_ARABIAN: 133;
				public static OLD_UYGHUR: 194;
				public static OL_CHIKI: 109;
				public static ORIYA: 31;
				public static ORKHON: 88;
				public static OSAGE: 171;
				public static OSMANYA: 50;
				public static PAHAWH_HMONG: 75;
				public static PALMYRENE: 144;
				public static PAU_CIN_HAU: 165;
				public static PHAGS_PA: 90;
				public static PHOENICIAN: 91;
				public static PHONETIC_POLLARD: 92;
				public static PSALTER_PAHLAVI: 123;
				public static REJANG: 110;
				public static RONGORONGO: 93;
				public static RUNIC: 32;
				public static SAMARITAN: 126;
				public static SARATI: 94;
				public static SAURASHTRA: 111;
				public static SHARADA: 151;
				public static SHAVIAN: 51;
				public static SIDDHAM: 166;
				public static SIGN_WRITING: 112;
				public static SIMPLIFIED_HAN: 73;
				public static SINDHI: 145;
				public static SINHALA: 33;
				public static SOGDIAN: 183;
				public static SORA_SOMPENG: 152;
				public static SOYOMBO: 176;
				public static SUNDANESE: 113;
				public static SYLOTI_NAGRI: 58;
				public static SYMBOLS: 129;
				public static SYMBOLS_EMOJI: 174;
				public static SYRIAC: 34;
				public static TAGALOG: 42;
				public static TAGBANWA: 45;
				public static TAI_LE: 52;
				public static TAI_VIET: 127;
				public static TAKRI: 153;
				public static TAMIL: 35;
				public static TANGSA: 195;
				public static TANGUT: 154;
				public static TELUGU: 36;
				public static TENGWAR: 98;
				public static THAANA: 37;
				public static THAI: 38;
				public static TIBETAN: 39;
				public static TIFINAGH: 60;
				public static TIRHUTA: 158;
				public static TOTO: 196;
				public static TRADITIONAL_HAN: 74;
				public static UCAS: 40;
				public static UGARITIC: 53;
				public static UNKNOWN: 103;
				public static UNWRITTEN_LANGUAGES: 102;
				public static VAI: 99;
				public static VISIBLE_SPEECH: 100;
				public static VITHKUQI: 197;
				public static WANCHO: 188;
				public static WARANG_CITI: 146;
				public static WESTERN_SYRIAC: 96;
				public static WOLEAI: 155;
				public static YEZIDI: 192;
				public static YI: 41;
				public static ZANABAZAR_SQUARE: 177;
				public static getCode(nameOrAbbrOrLocale: string): androidNative.Array<number>;
				public static getCodeFromName(nameOrAbbr: string): number;
				public static hasScript(c: number, sc: number): boolean;
				public static getName(scriptCode: number): string;
				public static breaksBetweenLetters(script: number): boolean;
				public static getUsage(script: number): android.icu.lang.UScript.ScriptUsage;
				public static getShortName(scriptCode: number): string;
				public static isCased(script: number): boolean;
				public static isRightToLeft(script: number): boolean;
				public static getSampleString(script: number): string;
				public static getCode(locale: android.icu.util.ULocale): androidNative.Array<number>;
				public static getScript(codepoint: number): number;
				public static getScriptExtensions(c: number, set: java.util.BitSet): number;
				public static getCode(locale: java.util.Locale): androidNative.Array<number>;
			}
			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 values(): androidNative.Array<android.icu.lang.UScript.ScriptUsage>;
					public static valueOf(name: string): android.icu.lang.UScript.ScriptUsage;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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: 2;
				public static ROUND_DOWN: 1;
				public static ROUND_FLOOR: 3;
				public static ROUND_HALF_DOWN: 5;
				public static ROUND_HALF_EVEN: 6;
				public static ROUND_HALF_UP: 4;
				public static ROUND_UNNECESSARY: 7;
				public static ROUND_UP: 0;
				public static TEN: android.icu.math.BigDecimal;
				public static ZERO: android.icu.math.BigDecimal;
				public static valueOf(dub: number): android.icu.math.BigDecimal;
				public byteValueExact(): number;
				public toBigInteger(): java.math.BigInteger;
				public plus(): android.icu.math.BigDecimal;
				public movePointRight(n: number): android.icu.math.BigDecimal;
				public toCharArray(): androidNative.Array<string>;
				public constructor(inchars: androidNative.Array<string>);
				public negate(set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public divide(rhs: android.icu.math.BigDecimal, scale: number, round: number): android.icu.math.BigDecimal;
				public abs(set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public constructor();
				public negate(): android.icu.math.BigDecimal;
				public constructor(string: string);
				public constructor(bi: java.math.BigInteger, scale: number);
				public compareTo(rhs: android.icu.math.BigDecimal): number;
				public hashCode(): number;
				public intValueExact(): number;
				public shortValueExact(): number;
				public signum(): number;
				public constructor(bd: java.math.BigDecimal);
				public longValue(): number;
				public remainder(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public format(before: number, after: number): string;
				public toString(): string;
				public constructor(num: number);
				public subtract(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public min(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public floatValue(): number;
				public toBigIntegerExact(): java.math.BigInteger;
				public add(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public divideInteger(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public doubleValue(): number;
				public constructor(bi: java.math.BigInteger);
				public abs(): android.icu.math.BigDecimal;
				public add(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public scale(): number;
				public format(before: number, after: number, explaces: number, exdigits: number, exformint: number, exround: number): string;
				public plus(set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public intValue(): number;
				public divide(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public multiply(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public subtract(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public divideInteger(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public compareTo(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): number;
				public pow(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public min(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public setScale(scale: number, round: number): android.icu.math.BigDecimal;
				public toBigDecimal(): java.math.BigDecimal;
				public unscaledValue(): java.math.BigInteger;
				public divide(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public max(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public divide(rhs: android.icu.math.BigDecimal, round: number): android.icu.math.BigDecimal;
				public multiply(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public max(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public setScale(scale: number): android.icu.math.BigDecimal;
				public constructor(inchars: androidNative.Array<string>, offset: number, length: number);
				public static valueOf(lint: number, scale: number): android.icu.math.BigDecimal;
				public movePointLeft(n: number): android.icu.math.BigDecimal;
				public equals(obj: any): boolean;
				public remainder(rhs: android.icu.math.BigDecimal, set: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public pow(rhs: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public static valueOf(lint: number): android.icu.math.BigDecimal;
				public longValueExact(): number;
			}
		}
	}
}

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: 2;
				public static PLAIN: 0;
				public static ROUND_CEILING: 2;
				public static ROUND_DOWN: 1;
				public static ROUND_FLOOR: 3;
				public static ROUND_HALF_DOWN: 5;
				public static ROUND_HALF_EVEN: 6;
				public static ROUND_HALF_UP: 4;
				public static ROUND_UNNECESSARY: 7;
				public static ROUND_UP: 0;
				public static SCIENTIFIC: 1;
				public constructor(setdigits: number, setform: number, setlostdigits: boolean, setroundingmode: number);
				public constructor(setdigits: number, setform: number);
				public getDigits(): number;
				public constructor(setdigits: number, setform: number, setlostdigits: boolean);
				public getForm(): number;
				public getLostDigits(): boolean;
				public toString(): string;
				public constructor(setdigits: number);
				public getRoundingMode(): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class CompactNotation extends android.icu.number.Notation {
				public static class: java.lang.Class<android.icu.number.CompactNotation>;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export abstract class CurrencyPrecision extends android.icu.number.Precision {
				public static class: java.lang.Class<android.icu.number.CurrencyPrecision>;
				public withCurrency(currency: android.icu.util.Currency): android.icu.number.Precision;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class FormattedNumber extends java.lang.Object implements android.icu.text.FormattedValue {
				public static class: java.lang.Class<android.icu.number.FormattedNumber>;
				public nextPosition(param0: android.icu.text.ConstrainedFieldPosition): boolean;
				public length(): number;
				public appendTo(param0: java.lang.Appendable): java.lang.Appendable;
				public subSequence(start: number, end: number): string;
				public toCharacterIterator(): java.text.AttributedCharacterIterator;
				public chars(): java.util.stream.IntStream;
				public codePoints(): java.util.stream.IntStream;
				public toString(): string;
				public nextPosition(cfpos: android.icu.text.ConstrainedFieldPosition): boolean;
				public charAt(param0: number): string;
				public appendTo(appendable: java.lang.Appendable): java.lang.Appendable;
				public getOutputUnit(): android.icu.util.MeasureUnit;
				public subSequence(param0: number, param1: number): string;
				public static compare(cs1: string, cs2: string): number;
				public getNounClass(): android.icu.text.DisplayOptions.NounClass;
				public charAt(index: number): string;
				public isEmpty(): boolean;
				public toBigDecimal(): java.math.BigDecimal;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class FormattedNumberRange extends java.lang.Object implements android.icu.text.FormattedValue {
				public static class: java.lang.Class<android.icu.number.FormattedNumberRange>;
				public getSecondBigDecimal(): java.math.BigDecimal;
				public nextPosition(param0: android.icu.text.ConstrainedFieldPosition): boolean;
				public getIdentityResult(): android.icu.number.NumberRangeFormatter.RangeIdentityResult;
				public length(): number;
				public appendTo(param0: java.lang.Appendable): java.lang.Appendable;
				public subSequence(start: number, end: number): string;
				public toCharacterIterator(): java.text.AttributedCharacterIterator;
				public chars(): java.util.stream.IntStream;
				public codePoints(): java.util.stream.IntStream;
				public toString(): string;
				public nextPosition(cfpos: android.icu.text.ConstrainedFieldPosition): boolean;
				public charAt(param0: number): string;
				public equals(other: any): boolean;
				public appendTo(appendable: java.lang.Appendable): java.lang.Appendable;
				public subSequence(param0: number, param1: number): string;
				public hashCode(): number;
				public static compare(cs1: string, cs2: string): number;
				public getFirstBigDecimal(): java.math.BigDecimal;
				public charAt(index: number): string;
				public isEmpty(): boolean;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export abstract class FractionPrecision extends android.icu.number.Precision {
				public static class: java.lang.Class<android.icu.number.FractionPrecision>;
				public withMaxDigits(maxSignificantDigits: number): android.icu.number.Precision;
				public withMinDigits(minSignificantDigits: number): android.icu.number.Precision;
				public withSignificantDigits(minSignificantDigits: number, maxSignificantDigits: number, priority: android.icu.number.NumberFormatter.RoundingPriority): android.icu.number.Precision;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class IntegerWidth extends java.lang.Object {
				public static class: java.lang.Class<android.icu.number.IntegerWidth>;
				public static zeroFillTo(minInt: number): android.icu.number.IntegerWidth;
				public truncateAt(maxInt: number): android.icu.number.IntegerWidth;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class LocalizedNumberFormatter extends android.icu.number.NumberFormatterSettings<android.icu.number.LocalizedNumberFormatter> {
				public static class: java.lang.Class<android.icu.number.LocalizedNumberFormatter>;
				public format(input: java.lang.Number): android.icu.number.FormattedNumber;
				public format(input: android.icu.util.Measure): android.icu.number.FormattedNumber;
				public toFormat(): java.text.Format;
				public format(input: number): android.icu.number.FormattedNumber;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class LocalizedNumberRangeFormatter extends android.icu.number.NumberRangeFormatterSettings<android.icu.number.LocalizedNumberRangeFormatter> {
				public static class: java.lang.Class<android.icu.number.LocalizedNumberRangeFormatter>;
				public formatRange(first: java.lang.Number, second: java.lang.Number): android.icu.number.FormattedNumberRange;
				public formatRange(first: number, second: number): android.icu.number.FormattedNumberRange;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class Notation extends java.lang.Object {
				public static class: java.lang.Class<android.icu.number.Notation>;
				public static engineering(): android.icu.number.ScientificNotation;
				public static compactShort(): android.icu.number.CompactNotation;
				public static scientific(): android.icu.number.ScientificNotation;
				public static simple(): android.icu.number.SimpleNotation;
				public static compactLong(): android.icu.number.CompactNotation;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class NumberFormatter extends java.lang.Object {
				public static class: java.lang.Class<android.icu.number.NumberFormatter>;
				public static withLocale(locale: java.util.Locale): android.icu.number.LocalizedNumberFormatter;
				public static with(): android.icu.number.UnlocalizedNumberFormatter;
				public static withLocale(locale: android.icu.util.ULocale): android.icu.number.LocalizedNumberFormatter;
			}
			export module NumberFormatter {
				export class DecimalSeparatorDisplay {
					public static class: java.lang.Class<android.icu.number.NumberFormatter.DecimalSeparatorDisplay>;
					public static AUTO: android.icu.number.NumberFormatter.DecimalSeparatorDisplay;
					public static ALWAYS: android.icu.number.NumberFormatter.DecimalSeparatorDisplay;
					public static valueOf(name: string): android.icu.number.NumberFormatter.DecimalSeparatorDisplay;
					public static values(): androidNative.Array<android.icu.number.NumberFormatter.DecimalSeparatorDisplay>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class GroupingStrategy {
					public static class: java.lang.Class<android.icu.number.NumberFormatter.GroupingStrategy>;
					public static OFF: android.icu.number.NumberFormatter.GroupingStrategy;
					public static MIN2: android.icu.number.NumberFormatter.GroupingStrategy;
					public static AUTO: android.icu.number.NumberFormatter.GroupingStrategy;
					public static ON_ALIGNED: android.icu.number.NumberFormatter.GroupingStrategy;
					public static THOUSANDS: android.icu.number.NumberFormatter.GroupingStrategy;
					public static values(): androidNative.Array<android.icu.number.NumberFormatter.GroupingStrategy>;
					public static valueOf(name: string): android.icu.number.NumberFormatter.GroupingStrategy;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class RoundingPriority {
					public static class: java.lang.Class<android.icu.number.NumberFormatter.RoundingPriority>;
					public static RELAXED: android.icu.number.NumberFormatter.RoundingPriority;
					public static STRICT: android.icu.number.NumberFormatter.RoundingPriority;
					public static valueOf(name: string): android.icu.number.NumberFormatter.RoundingPriority;
					public static values(): androidNative.Array<android.icu.number.NumberFormatter.RoundingPriority>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class SignDisplay {
					public static class: java.lang.Class<android.icu.number.NumberFormatter.SignDisplay>;
					public static AUTO: android.icu.number.NumberFormatter.SignDisplay;
					public static ALWAYS: android.icu.number.NumberFormatter.SignDisplay;
					public static NEVER: android.icu.number.NumberFormatter.SignDisplay;
					public static ACCOUNTING: android.icu.number.NumberFormatter.SignDisplay;
					public static ACCOUNTING_ALWAYS: android.icu.number.NumberFormatter.SignDisplay;
					public static EXCEPT_ZERO: android.icu.number.NumberFormatter.SignDisplay;
					public static ACCOUNTING_EXCEPT_ZERO: android.icu.number.NumberFormatter.SignDisplay;
					public static NEGATIVE: android.icu.number.NumberFormatter.SignDisplay;
					public static ACCOUNTING_NEGATIVE: android.icu.number.NumberFormatter.SignDisplay;
					public static valueOf(name: string): android.icu.number.NumberFormatter.SignDisplay;
					public static values(): androidNative.Array<android.icu.number.NumberFormatter.SignDisplay>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class TrailingZeroDisplay {
					public static class: java.lang.Class<android.icu.number.NumberFormatter.TrailingZeroDisplay>;
					public static AUTO: android.icu.number.NumberFormatter.TrailingZeroDisplay;
					public static HIDE_IF_WHOLE: android.icu.number.NumberFormatter.TrailingZeroDisplay;
					public static values(): androidNative.Array<android.icu.number.NumberFormatter.TrailingZeroDisplay>;
					public static valueOf(name: string): android.icu.number.NumberFormatter.TrailingZeroDisplay;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class UnitWidth {
					public static class: java.lang.Class<android.icu.number.NumberFormatter.UnitWidth>;
					public static NARROW: android.icu.number.NumberFormatter.UnitWidth;
					public static SHORT: android.icu.number.NumberFormatter.UnitWidth;
					public static FULL_NAME: android.icu.number.NumberFormatter.UnitWidth;
					public static ISO_CODE: android.icu.number.NumberFormatter.UnitWidth;
					public static FORMAL: android.icu.number.NumberFormatter.UnitWidth;
					public static VARIANT: android.icu.number.NumberFormatter.UnitWidth;
					public static HIDDEN: android.icu.number.NumberFormatter.UnitWidth;
					public static values(): androidNative.Array<android.icu.number.NumberFormatter.UnitWidth>;
					public static valueOf(name: string): android.icu.number.NumberFormatter.UnitWidth;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export abstract class NumberFormatterSettings<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.icu.number.NumberFormatterSettings<any>>;
				public integerWidth(style: android.icu.number.IntegerWidth): T;
				public decimal(style: android.icu.number.NumberFormatter.DecimalSeparatorDisplay): T;
				public usage(usage: string): T;
				public precision(precision: android.icu.number.Precision): T;
				public roundingMode(roundingMode: java.math.RoundingMode): T;
				public unitWidth(style: android.icu.number.NumberFormatter.UnitWidth): T;
				public symbols(symbols: android.icu.text.DecimalFormatSymbols): T;
				public symbols(ns: android.icu.text.NumberingSystem): T;
				public scale(scale: android.icu.number.Scale): T;
				public displayOptions(displayOptions: android.icu.text.DisplayOptions): T;
				public notation(notation: android.icu.number.Notation): T;
				public perUnit(perUnit: android.icu.util.MeasureUnit): T;
				public unit(unit: android.icu.util.MeasureUnit): T;
				public grouping(strategy: android.icu.number.NumberFormatter.GroupingStrategy): T;
				public equals(other: any): boolean;
				public hashCode(): number;
				public sign(style: android.icu.number.NumberFormatter.SignDisplay): T;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export abstract class NumberRangeFormatter extends java.lang.Object {
				public static class: java.lang.Class<android.icu.number.NumberRangeFormatter>;
				public static withLocale(locale: android.icu.util.ULocale): android.icu.number.LocalizedNumberRangeFormatter;
				public static with(): android.icu.number.UnlocalizedNumberRangeFormatter;
				public static withLocale(locale: java.util.Locale): android.icu.number.LocalizedNumberRangeFormatter;
			}
			export module NumberRangeFormatter {
				export class RangeCollapse {
					public static class: java.lang.Class<android.icu.number.NumberRangeFormatter.RangeCollapse>;
					public static AUTO: android.icu.number.NumberRangeFormatter.RangeCollapse;
					public static NONE: android.icu.number.NumberRangeFormatter.RangeCollapse;
					public static UNIT: android.icu.number.NumberRangeFormatter.RangeCollapse;
					public static ALL: android.icu.number.NumberRangeFormatter.RangeCollapse;
					public static valueOf(name: string): android.icu.number.NumberRangeFormatter.RangeCollapse;
					public static values(): androidNative.Array<android.icu.number.NumberRangeFormatter.RangeCollapse>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class RangeIdentityFallback {
					public static class: java.lang.Class<android.icu.number.NumberRangeFormatter.RangeIdentityFallback>;
					public static SINGLE_VALUE: android.icu.number.NumberRangeFormatter.RangeIdentityFallback;
					public static APPROXIMATELY_OR_SINGLE_VALUE: android.icu.number.NumberRangeFormatter.RangeIdentityFallback;
					public static APPROXIMATELY: android.icu.number.NumberRangeFormatter.RangeIdentityFallback;
					public static RANGE: android.icu.number.NumberRangeFormatter.RangeIdentityFallback;
					public static values(): androidNative.Array<android.icu.number.NumberRangeFormatter.RangeIdentityFallback>;
					public static valueOf(name: string): android.icu.number.NumberRangeFormatter.RangeIdentityFallback;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class RangeIdentityResult {
					public static class: java.lang.Class<android.icu.number.NumberRangeFormatter.RangeIdentityResult>;
					public static EQUAL_BEFORE_ROUNDING: android.icu.number.NumberRangeFormatter.RangeIdentityResult;
					public static EQUAL_AFTER_ROUNDING: android.icu.number.NumberRangeFormatter.RangeIdentityResult;
					public static NOT_EQUAL: android.icu.number.NumberRangeFormatter.RangeIdentityResult;
					public static valueOf(name: string): android.icu.number.NumberRangeFormatter.RangeIdentityResult;
					public static values(): androidNative.Array<android.icu.number.NumberRangeFormatter.RangeIdentityResult>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export abstract class NumberRangeFormatterSettings<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.icu.number.NumberRangeFormatterSettings<any>>;
				public collapse(collapse: android.icu.number.NumberRangeFormatter.RangeCollapse): T;
				public numberFormatterSecond(formatterSecond: android.icu.number.UnlocalizedNumberFormatter): T;
				public equals(other: any): boolean;
				public numberFormatterBoth(formatter: android.icu.number.UnlocalizedNumberFormatter): T;
				public hashCode(): number;
				public numberFormatterFirst(formatterFirst: android.icu.number.UnlocalizedNumberFormatter): T;
				public identityFallback(identityFallback: android.icu.number.NumberRangeFormatter.RangeIdentityFallback): T;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export abstract class Precision extends java.lang.Object {
				public static class: java.lang.Class<android.icu.number.Precision>;
				public static unlimited(): android.icu.number.Precision;
				public static maxFraction(maxFractionPlaces: number): android.icu.number.FractionPrecision;
				public static currency(currencyUsage: android.icu.util.Currency.CurrencyUsage): android.icu.number.CurrencyPrecision;
				public static fixedFraction(minMaxFractionPlaces: number): android.icu.number.FractionPrecision;
				public trailingZeroDisplay(trailingZeroDisplay: android.icu.number.NumberFormatter.TrailingZeroDisplay): android.icu.number.Precision;
				public static maxSignificantDigits(maxSignificantDigits: number): android.icu.number.Precision;
				public static fixedSignificantDigits(minMaxSignificantDigits: number): android.icu.number.Precision;
				public static increment(roundingIncrement: java.math.BigDecimal): android.icu.number.Precision;
				public static minMaxFraction(minFractionPlaces: number, maxFractionPlaces: number): android.icu.number.FractionPrecision;
				public static integer(): android.icu.number.FractionPrecision;
				public static minMaxSignificantDigits(minSignificantDigits: number, maxSignificantDigits: number): android.icu.number.Precision;
				public static minFraction(minFractionPlaces: number): android.icu.number.FractionPrecision;
				public static minSignificantDigits(minSignificantDigits: number): android.icu.number.Precision;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class Scale extends java.lang.Object {
				public static class: java.lang.Class<android.icu.number.Scale>;
				public static none(): android.icu.number.Scale;
				public static powerOfTen(power: number): android.icu.number.Scale;
				public static byBigDecimal(multiplicand: java.math.BigDecimal): android.icu.number.Scale;
				public static byDoubleAndPowerOfTen(multiplicand: number, power: number): android.icu.number.Scale;
				public static byDouble(multiplicand: number): android.icu.number.Scale;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class ScientificNotation extends android.icu.number.Notation {
				public static class: java.lang.Class<android.icu.number.ScientificNotation>;
				public withMinExponentDigits(minExponentDigits: number): android.icu.number.ScientificNotation;
				public withExponentSignDisplay(exponentSignDisplay: android.icu.number.NumberFormatter.SignDisplay): android.icu.number.ScientificNotation;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class SimpleNotation extends android.icu.number.Notation {
				public static class: java.lang.Class<android.icu.number.SimpleNotation>;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class UnlocalizedNumberFormatter extends android.icu.number.NumberFormatterSettings<android.icu.number.UnlocalizedNumberFormatter> {
				public static class: java.lang.Class<android.icu.number.UnlocalizedNumberFormatter>;
				public locale(locale: java.util.Locale): android.icu.number.LocalizedNumberFormatter;
				public locale(locale: android.icu.util.ULocale): android.icu.number.LocalizedNumberFormatter;
			}
		}
	}
}

declare module android {
	export module icu {
		export module number {
			export class UnlocalizedNumberRangeFormatter extends android.icu.number.NumberRangeFormatterSettings<android.icu.number.UnlocalizedNumberRangeFormatter> {
				public static class: java.lang.Class<android.icu.number.UnlocalizedNumberRangeFormatter>;
				public locale(locale: android.icu.util.ULocale): android.icu.number.LocalizedNumberRangeFormatter;
				public locale(locale: java.util.Locale): android.icu.number.LocalizedNumberRangeFormatter;
			}
		}
	}
}

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 setInflowLabel(inflowLabel: string): android.icu.text.AlphabeticIndex<any>;
				public getMaxLabelCount(): number;
				public clearRecords(): android.icu.text.AlphabeticIndex<any>;
				public getInflowLabel(): string;
				public addLabels(additions: androidNative.Array<java.util.Locale>): android.icu.text.AlphabeticIndex<any>;
				public getBucketCount(): number;
				public addRecord(name: string, data: any): android.icu.text.AlphabeticIndex<any>;
				public setMaxLabelCount(maxLabelCount: number): android.icu.text.AlphabeticIndex<any>;
				public constructor(collator: android.icu.text.RuleBasedCollator);
				public getBucketIndex(name: string): number;
				public iterator(): java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<any>>;
				public setUnderflowLabel(underflowLabel: string): android.icu.text.AlphabeticIndex<any>;
				public getOverflowLabel(): string;
				public setOverflowLabel(overflowLabel: string): android.icu.text.AlphabeticIndex<any>;
				public getCollator(): android.icu.text.RuleBasedCollator;
				public addLabels(additions: androidNative.Array<android.icu.util.ULocale>): android.icu.text.AlphabeticIndex<any>;
				public buildImmutableIndex(): android.icu.text.AlphabeticIndex.ImmutableIndex<any>;
				public spliterator(): java.util.Spliterator<any>;
				public addLabels(additions: android.icu.text.UnicodeSet): android.icu.text.AlphabeticIndex<any>;
				public constructor(locale: android.icu.util.ULocale);
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				public constructor(locale: java.util.Locale);
				public getUnderflowLabel(): string;
				public getBucketLabels(): java.util.List<string>;
				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(action: 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(name: string): android.icu.text.AlphabeticIndex.Bucket.LabelType;
						public static values(): androidNative.Array<android.icu.text.AlphabeticIndex.Bucket.LabelType>;
						public static valueOf(enumClass: java.lang.Class<any>, name: 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 getBucketIndex(name: string): number;
					public spliterator(): java.util.Spliterator<any>;
					public iterator(): java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<any>>;
					public getBucket(index: number): android.icu.text.AlphabeticIndex.Bucket<any>;
					public forEach(action: 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 class Bidi extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.Bidi>;
				public static DIRECTION_DEFAULT_LEFT_TO_RIGHT: 126;
				public static DIRECTION_DEFAULT_RIGHT_TO_LEFT: 127;
				public static DIRECTION_LEFT_TO_RIGHT: 0;
				public static DIRECTION_RIGHT_TO_LEFT: 1;
				public static DO_MIRRORING: 2;
				public static INSERT_LRM_FOR_NUMERIC: 4;
				public static KEEP_BASE_COMBINING: 1;
				public static LEVEL_DEFAULT_LTR: 126;
				public static LEVEL_DEFAULT_RTL: 127;
				public static LEVEL_OVERRIDE: -128;
				public static LTR: 0;
				public static MAP_NOWHERE: -1;
				public static MAX_EXPLICIT_LEVEL: 125;
				public static MIXED: 2;
				public static NEUTRAL: 3;
				public static OPTION_DEFAULT: 0;
				public static OPTION_INSERT_MARKS: 1;
				public static OPTION_REMOVE_CONTROLS: 2;
				public static OPTION_STREAMING: 4;
				public static OUTPUT_REVERSE: 16;
				public static REMOVE_BIDI_CONTROLS: 8;
				public static REORDER_DEFAULT: 0;
				public static REORDER_GROUP_NUMBERS_WITH_R: 2;
				public static REORDER_INVERSE_FOR_NUMBERS_SPECIAL: 6;
				public static REORDER_INVERSE_LIKE_DIRECT: 5;
				public static REORDER_INVERSE_NUMBERS_AS_L: 4;
				public static REORDER_NUMBERS_SPECIAL: 1;
				public static REORDER_RUNS_ONLY: 3;
				public static RTL: 1;
				public getRunLevel(run: number): number;
				public static writeReverse(src: string, options: number): string;
				public constructor(maxLength: number, maxRunCount: number);
				public setInverse(isInverse: boolean): void;
				public setPara(text: string, paraLevel: number, embeddingLevels: androidNative.Array<number>): void;
				public isRightToLeft(): boolean;
				public getText(): androidNative.Array<string>;
				public getLogicalIndex(visualIndex: number): number;
				public setCustomClassifier(classifier: android.icu.text.BidiClassifier): void;
				public constructor();
				public setContext(prologue: string, epilogue: string): void;
				public static reorderVisually(levels: androidNative.Array<number>, levelStart: number, objects: androidNative.Array<any>, objectStart: number, count: number): void;
				public getVisualMap(): androidNative.Array<number>;
				public setReorderingMode(reorderingMode: number): void;
				public countParagraphs(): number;
				public getProcessedLength(): number;
				public getCustomizedClass(c: number): number;
				public constructor(paragraph: string, flags: number);
				public static reorderVisual(levels: androidNative.Array<number>): androidNative.Array<number>;
				public constructor(text: androidNative.Array<string>, textStart: number, embeddings: androidNative.Array<number>, embStart: number, paragraphLength: number, flags: number);
				public static invertMap(srcMap: androidNative.Array<number>): androidNative.Array<number>;
				public isLeftToRight(): boolean;
				public getParaLevel(): number;
				public createLineBidi(lineStart: number, lineLimit: number): android.icu.text.Bidi;
				public getReorderingMode(): number;
				public setPara(paragraph: java.text.AttributedCharacterIterator): void;
				public getRunStart(run: number): number;
				public getReorderingOptions(): number;
				public getLevelAt(charIndex: number): number;
				public getCustomClassifier(): android.icu.text.BidiClassifier;
				public getVisualIndex(logicalIndex: number): number;
				public orderParagraphsLTR(ordarParaLTR: boolean): void;
				public getParagraphByIndex(paraIndex: number): android.icu.text.BidiRun;
				public setLine(start: number, limit: number): android.icu.text.Bidi;
				public getLevels(): androidNative.Array<number>;
				public static reorderLogical(levels: androidNative.Array<number>): androidNative.Array<number>;
				public getLogicalRun(logicalPosition: number): android.icu.text.BidiRun;
				public getRunLimit(run: number): number;
				public getParagraphIndex(charIndex: number): number;
				public getLogicalMap(): androidNative.Array<number>;
				public getResultLength(): number;
				public getVisualRun(runIndex: number): android.icu.text.BidiRun;
				public getTextAsString(): string;
				public getRunCount(): number;
				public getParagraph(charIndex: number): android.icu.text.BidiRun;
				public static getBaseDirection(paragraph: string): number;
				public writeReordered(options: number): string;
				public getBaseLevel(): number;
				public baseIsLeftToRight(): boolean;
				public setReorderingOptions(options: number): void;
				public setPara(chars: androidNative.Array<string>, paraLevel: number, embeddingLevels: androidNative.Array<number>): void;
				public countRuns(): number;
				public constructor(paragraph: java.text.AttributedCharacterIterator);
				public getLength(): number;
				public static requiresBidi(text: androidNative.Array<string>, start: number, limit: number): boolean;
				public isInverse(): boolean;
				public getDirection(): number;
				public isMixed(): boolean;
				public isOrderParagraphsLTR(): boolean;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class BidiClassifier extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.BidiClassifier>;
				public constructor(context: any);
				public setContext(context: any): void;
				public getContext(): any;
				public classify(c: number): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class BidiRun extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.BidiRun>;
				public isOddRun(): boolean;
				public getDirection(): number;
				public getEmbeddingLevel(): number;
				public getStart(): number;
				public isEvenRun(): boolean;
				public toString(): string;
				public getLength(): number;
				public getLimit(): number;
			}
		}
	}
}

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: -1;
				public static KIND_CHARACTER: 0;
				public static KIND_LINE: 2;
				public static KIND_SENTENCE: 3;
				public static KIND_TITLE: 4;
				public static KIND_WORD: 1;
				public static WORD_IDEO: 400;
				public static WORD_IDEO_LIMIT: 500;
				public static WORD_KANA: 300;
				public static WORD_KANA_LIMIT: 400;
				public static WORD_LETTER: 200;
				public static WORD_LETTER_LIMIT: 300;
				public static WORD_NONE: 0;
				public static WORD_NONE_LIMIT: 100;
				public static WORD_NUMBER: 100;
				public static WORD_NUMBER_LIMIT: 200;
				public static getSentenceInstance(where: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public previous(): number;
				/** @deprecated */
				public static getTitleInstance(): android.icu.text.BreakIterator;
				public preceding(offset: number): number;
				public static getLineInstance(where: java.util.Locale): android.icu.text.BreakIterator;
				public static getCharacterInstance(): android.icu.text.BreakIterator;
				public static getSentenceInstance(where: java.util.Locale): android.icu.text.BreakIterator;
				public constructor();
				public static getLineInstance(): android.icu.text.BreakIterator;
				public clone(): any;
				public static getWordInstance(where: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public static getWordInstance(): android.icu.text.BreakIterator;
				/** @deprecated */
				public static getTitleInstance(where: java.util.Locale): android.icu.text.BreakIterator;
				public setText(param0: java.text.CharacterIterator): void;
				public static getSentenceInstance(): android.icu.text.BreakIterator;
				public first(): number;
				public isBoundary(offset: number): boolean;
				public static getCharacterInstance(where: java.util.Locale): android.icu.text.BreakIterator;
				public current(): number;
				public following(param0: number): number;
				public getRuleStatus(): number;
				public static getLineInstance(where: android.icu.util.ULocale): android.icu.text.BreakIterator;
				/** @deprecated */
				public static getTitleInstance(where: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public static getWordInstance(where: java.util.Locale): android.icu.text.BreakIterator;
				public next(param0: number): number;
				public next(): number;
				public getRuleStatusVec(fillInArray: androidNative.Array<number>): number;
				public static getCharacterInstance(where: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public last(): number;
				public getText(): java.text.CharacterIterator;
				public setText(newText: string): void;
				public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class CaseMap extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.CaseMap>;
				public static toLower(): android.icu.text.CaseMap.Lower;
				public static fold(): android.icu.text.CaseMap.Fold;
				public static toTitle(): android.icu.text.CaseMap.Title;
				public omitUnchangedText(): android.icu.text.CaseMap;
				public static toUpper(): android.icu.text.CaseMap.Upper;
			}
			export module CaseMap {
				export class Fold extends android.icu.text.CaseMap {
					public static class: java.lang.Class<android.icu.text.CaseMap.Fold>;
					public omitUnchangedText(): android.icu.text.CaseMap.Fold;
					public turkic(): android.icu.text.CaseMap.Fold;
					public apply(src: string, dest: java.lang.Appendable, edits: android.icu.text.Edits): java.lang.Appendable;
					public omitUnchangedText(): android.icu.text.CaseMap;
					public apply(src: string): string;
				}
				export class Lower extends android.icu.text.CaseMap {
					public static class: java.lang.Class<android.icu.text.CaseMap.Lower>;
					public omitUnchangedText(): android.icu.text.CaseMap.Lower;
					public omitUnchangedText(): android.icu.text.CaseMap;
					public apply(locale: java.util.Locale, src: string): string;
					public apply(locale: java.util.Locale, src: string, dest: java.lang.Appendable, edits: android.icu.text.Edits): java.lang.Appendable;
				}
				export class Title extends android.icu.text.CaseMap {
					public static class: java.lang.Class<android.icu.text.CaseMap.Title>;
					public apply(locale: java.util.Locale, iter: android.icu.text.BreakIterator, src: string): string;
					public noBreakAdjustment(): android.icu.text.CaseMap.Title;
					public apply(locale: java.util.Locale, iter: android.icu.text.BreakIterator, src: string, dest: java.lang.Appendable, edits: android.icu.text.Edits): java.lang.Appendable;
					public wholeString(): android.icu.text.CaseMap.Title;
					public noLowercase(): android.icu.text.CaseMap.Title;
					public omitUnchangedText(): android.icu.text.CaseMap;
					public omitUnchangedText(): android.icu.text.CaseMap.Title;
					public adjustToCased(): android.icu.text.CaseMap.Title;
					public sentences(): android.icu.text.CaseMap.Title;
				}
				export class Upper extends android.icu.text.CaseMap {
					public static class: java.lang.Class<android.icu.text.CaseMap.Upper>;
					public omitUnchangedText(): android.icu.text.CaseMap;
					public apply(locale: java.util.Locale, src: string): string;
					public apply(locale: java.util.Locale, src: string, dest: java.lang.Appendable, edits: android.icu.text.Edits): java.lang.Appendable;
					public omitUnchangedText(): android.icu.text.CaseMap.Upper;
				}
			}
		}
	}
}

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: 0;
				public static NULLORDER: -1;
				public previous(): number;
				public setText(source: string): void;
				public static primaryOrder(ce: number): number;
				public static secondaryOrder(ce: number): number;
				public equals(that: any): boolean;
				public getOffset(): number;
				public reset(): void;
				public setText(source: java.text.CharacterIterator): void;
				public setOffset(newOffset: number): void;
				public hashCode(): number;
				public setText(source: android.icu.text.UCharacterIterator): void;
				public getMaxExpansion(ce: number): number;
				public static tertiaryOrder(ce: number): number;
				public next(): 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 equals(target: any): boolean;
				public toByteArray(): androidNative.Array<number>;
				public compareTo(target: android.icu.text.CollationKey): number;
				public constructor(source: string, key: androidNative.Array<number>);
				public equals(target: android.icu.text.CollationKey): boolean;
				public hashCode(): number;
				public getBound(boundType: number, noOfLevels: number): android.icu.text.CollationKey;
				public merge(source: android.icu.text.CollationKey): android.icu.text.CollationKey;
			}
			export module CollationKey {
				export class BoundMode extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.CollationKey.BoundMode>;
					public static LOWER: 0;
					public static UPPER: 1;
					public static UPPER_LONG: 2;
				}
			}
		}
	}
}

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: 17;
				public static FULL_DECOMPOSITION: 15;
				public static IDENTICAL: 15;
				public static NO_DECOMPOSITION: 16;
				public static PRIMARY: 0;
				public static QUATERNARY: 3;
				public static SECONDARY: 1;
				public static TERTIARY: 2;
				public thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public static comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public getCollationKey(param0: string): android.icu.text.CollationKey;
				public setDecomposition(decomposition: number): void;
				public setStrength(newStrength: number): void;
				public compare(param0: any, param1: any): number;
				public constructor();
				public static getKeywords(): androidNative.Array<string>;
				public getReorderCodes(): androidNative.Array<number>;
				public getDecomposition(): number;
				public hashCode(): number;
				public clone(): any;
				public equals(param0: any): boolean;
				public static getEquivalentReorderCodes(reorderCode: number): androidNative.Array<number>;
				public static naturalOrder(): java.util.Comparator<any>;
				public static getFunctionalEquivalent(keyword: string, locID: android.icu.util.ULocale): android.icu.util.ULocale;
				public thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
				public equals(source: string, target: string): boolean;
				public getVariableTop(): number;
				public thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public static getInstance(locale: java.util.Locale): android.icu.text.Collator;
				public static nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
				public static getDisplayName(objectLocale: java.util.Locale, displayLocale: java.util.Locale): string;
				public static comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public static getInstance(): android.icu.text.Collator;
				public static getAvailableULocales(): androidNative.Array<android.icu.util.ULocale>;
				public static getDisplayName(objectLocale: android.icu.util.ULocale, displayLocale: android.icu.util.ULocale): string;
				public compare(source: any, target: any): number;
				public cloneAsThawed(): android.icu.text.Collator;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.Collator;
				public isFrozen(): boolean;
				public static getKeywordValues(keyword: string): androidNative.Array<string>;
				public static reverseOrder(): java.util.Comparator<any>;
				public getUCAVersion(): android.icu.util.VersionInfo;
				public thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public getVersion(): android.icu.util.VersionInfo;
				public cloneAsThawed(): any;
				public reversed(): java.util.Comparator<any>;
				public static comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
				public static getDisplayName(objectLocale: android.icu.util.ULocale): string;
				public getTailoredSet(): android.icu.text.UnicodeSet;
				public setMaxVariable(group: number): android.icu.text.Collator;
				public static comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public getStrength(): number;
				public static comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public thenComparing(other: java.util.Comparator<any>): java.util.Comparator<any>;
				public static nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
				public static getKeywordValuesForLocale(key: string, locale: android.icu.util.ULocale, commonlyUsed: boolean): androidNative.Array<string>;
				public static getDisplayName(objectLocale: java.util.Locale): string;
				public freeze(): android.icu.text.Collator;
				public setReorderCodes(order: androidNative.Array<number>): void;
				public compare(param0: string, param1: string): number;
				public equals(obj: any): boolean;
				public static getFunctionalEquivalent(keyword: string, locID: android.icu.util.ULocale, isAvailable: androidNative.Array<boolean>): android.icu.util.ULocale;
				public freeze(): any;
				public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
				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 FIRST: 4096;
					public static NONE: 103;
					public static DIGIT: 4100;
					public static DEFAULT: -1;
					public static PUNCTUATION: 4097;
					public static CURRENCY: 4099;
					public static SPACE: 4096;
					public static OTHERS: 103;
					public static SYMBOL: 4098;
				}
			}
		}
	}
}

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(style: number): android.icu.text.NumberFormat;
				public static getInstance(desiredLocale: android.icu.util.ULocale, choice: number): android.icu.text.NumberFormat;
				public static getInstance(locale: java.util.Locale, style: android.icu.text.CompactDecimalFormat.CompactStyle): android.icu.text.CompactDecimalFormat;
				public static getInstance(inLocale: java.util.Locale, style: number): android.icu.text.NumberFormat;
				public static getInstance(): android.icu.text.NumberFormat;
				public parse(text: string, parsePosition: java.text.ParsePosition): java.lang.Number;
				public static getInstance(inLocale: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public parse(text: string): java.lang.Number;
				public static getInstance(inLocale: java.util.Locale): android.icu.text.NumberFormat;
				public static getInstance(locale: android.icu.util.ULocale, style: android.icu.text.CompactDecimalFormat.CompactStyle): android.icu.text.CompactDecimalFormat;
				public parseCurrency(text: string, parsePosition: 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(): androidNative.Array<android.icu.text.CompactDecimalFormat.CompactStyle>;
					public static valueOf(name: string): android.icu.text.CompactDecimalFormat.CompactStyle;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class ConstrainedFieldPosition extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.ConstrainedFieldPosition>;
				public getField(): java.text.Format.Field;
				public matchesField(field: java.text.Format.Field, fieldValue: any): boolean;
				public toString(): string;
				public constructor();
				public reset(): void;
				public getFieldValue(): any;
				public setInt64IterationContext(context: number): void;
				public getStart(): number;
				public setState(field: java.text.Format.Field, value: any, start: number, limit: number): void;
				public getInt64IterationContext(): number;
				public constrainField(field: java.text.Format.Field): void;
				public constrainClass(classConstraint: java.lang.Class<any>): void;
				public getLimit(): number;
			}
		}
	}
}

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>;
				public getPluralRules(): android.icu.text.PluralRules;
				public constructor(locale: android.icu.util.ULocale);
				public setLocale(loc: android.icu.util.ULocale): void;
				public static getInstance(): android.icu.text.CurrencyPluralInfo;
				public getLocale(): android.icu.util.ULocale;
				public constructor(locale: java.util.Locale);
				public constructor();
				public static getInstance(locale: java.util.Locale): android.icu.text.CurrencyPluralInfo;
				public equals(a: any): boolean;
				public setPluralRules(ruleDescription: string): void;
				public setCurrencyPluralPattern(pluralCount: string, pattern: string): void;
				public getCurrencyPluralPattern(pluralCount: string): string;
				public hashCode(): number;
				public clone(): any;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.CurrencyPluralInfo;
			}
		}
	}
}

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: "v";
				public static ABBR_MONTH: "MMM";
				public static ABBR_MONTH_DAY: "MMMd";
				public static ABBR_MONTH_WEEKDAY_DAY: "MMMEd";
				public static ABBR_QUARTER: "QQQ";
				public static ABBR_SPECIFIC_TZ: "z";
				public static ABBR_UTC_TZ: "ZZZZ";
				public static ABBR_WEEKDAY: "E";
				public static AM_PM_FIELD: 14;
				public static AM_PM_MIDNIGHT_NOON_FIELD: 35;
				public static DATE_FIELD: 3;
				public static DAY: "d";
				public static DAY_OF_WEEK_FIELD: 9;
				public static DAY_OF_WEEK_IN_MONTH_FIELD: 11;
				public static DAY_OF_YEAR_FIELD: 10;
				public static DEFAULT: 2;
				public static DOW_LOCAL_FIELD: 19;
				public static ERA_FIELD: 0;
				public static EXTENDED_YEAR_FIELD: 20;
				public static FLEXIBLE_DAY_PERIOD_FIELD: 36;
				public static FRACTIONAL_SECOND_FIELD: 8;
				public static FULL: 0;
				public static GENERIC_TZ: "vvvv";
				public static HOUR: "j";
				public static HOUR0_FIELD: 16;
				public static HOUR1_FIELD: 15;
				public static HOUR24: "H";
				public static HOUR24_MINUTE: "Hm";
				public static HOUR24_MINUTE_SECOND: "Hms";
				public static HOUR_MINUTE: "jm";
				public static HOUR_MINUTE_SECOND: "jms";
				public static HOUR_OF_DAY0_FIELD: 5;
				public static HOUR_OF_DAY1_FIELD: 4;
				public static JULIAN_DAY_FIELD: 21;
				public static LOCATION_TZ: "VVVV";
				public static LONG: 1;
				public static MEDIUM: 2;
				public static MILLISECONDS_IN_DAY_FIELD: 22;
				public static MILLISECOND_FIELD: 8;
				public static MINUTE: "m";
				public static MINUTE_FIELD: 6;
				public static MINUTE_SECOND: "ms";
				public static MONTH: "MMMM";
				public static MONTH_DAY: "MMMMd";
				public static MONTH_FIELD: 2;
				public static MONTH_WEEKDAY_DAY: "MMMMEEEEd";
				public static NONE: -1;
				public static NUM_MONTH: "M";
				public static NUM_MONTH_DAY: "Md";
				public static NUM_MONTH_WEEKDAY_DAY: "MEd";
				public static QUARTER: "QQQQ";
				public static QUARTER_FIELD: 27;
				public static RELATIVE: 128;
				public static RELATIVE_DEFAULT: 130;
				public static RELATIVE_FULL: 128;
				public static RELATIVE_LONG: 129;
				public static RELATIVE_MEDIUM: 130;
				public static RELATIVE_SHORT: 131;
				public static SECOND: "s";
				public static SECOND_FIELD: 7;
				public static SHORT: 3;
				public static SPECIFIC_TZ: "zzzz";
				public static STANDALONE_DAY_FIELD: 25;
				public static STANDALONE_MONTH_FIELD: 26;
				public static STANDALONE_QUARTER_FIELD: 28;
				public static TIMEZONE_FIELD: 17;
				public static TIMEZONE_GENERIC_FIELD: 24;
				public static TIMEZONE_ISO_FIELD: 32;
				public static TIMEZONE_ISO_LOCAL_FIELD: 33;
				public static TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD: 31;
				public static TIMEZONE_RFC_FIELD: 23;
				public static TIMEZONE_SPECIAL_FIELD: 29;
				public static WEEKDAY: "EEEE";
				public static WEEK_OF_MONTH_FIELD: 13;
				public static WEEK_OF_YEAR_FIELD: 12;
				public static YEAR: "y";
				public static YEAR_ABBR_MONTH: "yMMM";
				public static YEAR_ABBR_MONTH_DAY: "yMMMd";
				public static YEAR_ABBR_MONTH_WEEKDAY_DAY: "yMMMEd";
				public static YEAR_ABBR_QUARTER: "yQQQ";
				public static YEAR_FIELD: 1;
				public static YEAR_MONTH: "yMMMM";
				public static YEAR_MONTH_DAY: "yMMMMd";
				public static YEAR_MONTH_WEEKDAY_DAY: "yMMMMEEEEd";
				public static YEAR_NAME_FIELD: 30;
				public static YEAR_NUM_MONTH: "yM";
				public static YEAR_NUM_MONTH_DAY: "yMd";
				public static YEAR_NUM_MONTH_WEEKDAY_DAY: "yMEd";
				public static YEAR_QUARTER: "yQQQQ";
				public static YEAR_WOY_FIELD: 18;
				public calendar: android.icu.util.Calendar;
				public numberFormat: android.icu.text.NumberFormat;
				public static getDateInstance(style: number, aLocale: java.util.Locale): android.icu.text.DateFormat;
				public setContext(context: android.icu.text.DisplayContext): void;
				public static getInstanceForSkeleton(skeleton: string): android.icu.text.DateFormat;
				public static getInstance(): android.icu.text.DateFormat;
				public static getTimeInstance(cal: android.icu.util.Calendar, timeStyle: number, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getDateTimeInstance(cal: android.icu.util.Calendar, dateStyle: number, timeStyle: number): android.icu.text.DateFormat;
				public constructor();
				public static getTimeInstance(): android.icu.text.DateFormat;
				public isLenient(): boolean;
				public getContext(type: android.icu.text.DisplayContext.Type): android.icu.text.DisplayContext;
				public hashCode(): number;
				public clone(): any;
				public static getDateTimeInstance(cal: android.icu.util.Calendar, dateStyle: number, timeStyle: number, locale: java.util.Locale): android.icu.text.DateFormat;
				public static getPatternInstance(skeleton: string, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public format(date: java.util.Date): string;
				public setCalendar(newCalendar: android.icu.util.Calendar): void;
				public static getPatternInstance(cal: android.icu.util.Calendar, skeleton: string, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getTimeInstance(style: number, aLocale: java.util.Locale): android.icu.text.DateFormat;
				public getBooleanAttribute(key: android.icu.text.DateFormat.BooleanAttribute): boolean;
				public getNumberFormat(): android.icu.text.NumberFormat;
				public static getDateTimeInstance(cal: android.icu.util.Calendar, dateStyle: number, timeStyle: number, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getPatternInstance(skeleton: string, locale: java.util.Locale): android.icu.text.DateFormat;
				public static getDateInstance(style: number): android.icu.text.DateFormat;
				public static getInstance(cal: android.icu.util.Calendar, locale: java.util.Locale): android.icu.text.DateFormat;
				public setNumberFormat(newNumberFormat: android.icu.text.NumberFormat): void;
				public static getDateInstance(cal: android.icu.util.Calendar, dateStyle: number, locale: java.util.Locale): android.icu.text.DateFormat;
				public static getPatternInstance(skeleton: string): android.icu.text.DateFormat;
				public parseObject(source: string, pos: java.text.ParsePosition): any;
				public format(obj: any): string;
				public isCalendarLenient(): boolean;
				public parse(text: string): java.util.Date;
				public format(param0: android.icu.util.Calendar, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public setTimeZone(zone: android.icu.util.TimeZone): void;
				public static getDateInstance(style: number, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public parseObject(source: string): any;
				public static getInstance(cal: android.icu.util.Calendar, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getDateTimeInstance(dateStyle: number, timeStyle: number, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getTimeInstance(style: number, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getPatternInstance(cal: android.icu.util.Calendar, skeleton: string, locale: java.util.Locale): android.icu.text.DateFormat;
				public getCalendar(): android.icu.util.Calendar;
				public static getInstanceForSkeleton(cal: android.icu.util.Calendar, skeleton: string, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public setCalendarLenient(lenient: boolean): void;
				public static getTimeInstance(style: number): android.icu.text.DateFormat;
				public static getDateInstance(cal: android.icu.util.Calendar, dateStyle: number): android.icu.text.DateFormat;
				public static getTimeInstance(cal: android.icu.util.Calendar, timeStyle: number, locale: java.util.Locale): android.icu.text.DateFormat;
				public format(date: java.util.Date, toAppendTo: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public static getDateInstance(): android.icu.text.DateFormat;
				public static getInstanceForSkeleton(skeleton: string, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public parse(text: string, pos: java.text.ParsePosition): java.util.Date;
				public parse(param0: string, param1: android.icu.util.Calendar, param2: java.text.ParsePosition): void;
				public static getDateTimeInstance(dateStyle: number, timeStyle: number, aLocale: java.util.Locale): android.icu.text.DateFormat;
				public setLenient(lenient: boolean): void;
				public static getDateTimeInstance(): android.icu.text.DateFormat;
				public setBooleanAttribute(key: android.icu.text.DateFormat.BooleanAttribute, value: boolean): android.icu.text.DateFormat;
				public static getDateInstance(cal: android.icu.util.Calendar, dateStyle: number, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getInstanceForSkeleton(cal: android.icu.util.Calendar, skeleton: string, locale: java.util.Locale): android.icu.text.DateFormat;
				public format(obj: any, toAppendTo: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public equals(obj: any): boolean;
				public static getTimeInstance(cal: android.icu.util.Calendar, timeStyle: number): android.icu.text.DateFormat;
				public static getInstanceForSkeleton(skeleton: string, locale: java.util.Locale): android.icu.text.DateFormat;
				public getTimeZone(): android.icu.util.TimeZone;
				public static getInstance(cal: android.icu.util.Calendar): android.icu.text.DateFormat;
				public static getDateTimeInstance(dateStyle: number, timeStyle: number): android.icu.text.DateFormat;
				public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			}
			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 valueOf(name: string): android.icu.text.DateFormat.BooleanAttribute;
					public static values(): androidNative.Array<android.icu.text.DateFormat.BooleanAttribute>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(name: string);
					public getCalendarField(): number;
					public readResolve(): any;
					public static ofCalendarField(calendarField: number): android.icu.text.DateFormat.Field;
					public constructor(name: string, calendarField: number);
				}
				export class HourCycle {
					public static class: java.lang.Class<android.icu.text.DateFormat.HourCycle>;
					public static HOUR_CYCLE_11: android.icu.text.DateFormat.HourCycle;
					public static HOUR_CYCLE_12: android.icu.text.DateFormat.HourCycle;
					public static HOUR_CYCLE_23: android.icu.text.DateFormat.HourCycle;
					public static HOUR_CYCLE_24: android.icu.text.DateFormat.HourCycle;
					public static values(): androidNative.Array<android.icu.text.DateFormat.HourCycle>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
					public static valueOf(name: string): android.icu.text.DateFormat.HourCycle;
				}
			}
		}
	}
}

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: 0;
				public static FORMAT: 0;
				public static NARROW: 2;
				public static SHORT: 3;
				public static STANDALONE: 1;
				public static WIDE: 1;
				public getMonths(): androidNative.Array<string>;
				public getShortWeekdays(): androidNative.Array<string>;
				public constructor(calendarClass: java.lang.Class<any>, locale: android.icu.util.ULocale);
				public constructor(bundle: java.util.ResourceBundle, locale: java.util.Locale);
				public setZoneStrings(newZoneStrings: androidNative.Array<androidNative.Array<string>>): void;
				public static getInstance(locale: java.util.Locale): android.icu.text.DateFormatSymbols;
				public setEras(newEras: androidNative.Array<string>): void;
				public getWeekdays(): androidNative.Array<string>;
				public setShortWeekdays(newAbbrevWeekdays: androidNative.Array<string>): void;
				public constructor();
				public getEraNames(): androidNative.Array<string>;
				public setWeekdays(newWeekdays: androidNative.Array<string>, context: number, width: number): void;
				public setMonths(newMonths: androidNative.Array<string>): void;
				public hashCode(): number;
				public setLocalPatternChars(newLocalPatternChars: string): void;
				public clone(): any;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.DateFormatSymbols;
				public setShortMonths(newShortMonths: androidNative.Array<string>): void;
				public setEraNames(newEraNames: androidNative.Array<string>): void;
				public getWeekdays(context: number, width: number): androidNative.Array<string>;
				public getLocalPatternChars(): string;
				public constructor(bundle: java.util.ResourceBundle, locale: android.icu.util.ULocale);
				public getQuarters(context: number, width: number): androidNative.Array<string>;
				public constructor(cal: android.icu.util.Calendar, locale: android.icu.util.ULocale);
				public getEras(): androidNative.Array<string>;
				public setQuarters(newQuarters: androidNative.Array<string>, context: number, width: number): void;
				public setAmPmStrings(newAmpms: androidNative.Array<string>): void;
				public constructor(locale: android.icu.util.ULocale);
				public constructor(calendarClass: java.lang.Class<any>, locale: java.util.Locale);
				public getMonths(context: number, width: number): androidNative.Array<string>;
				public getYearNames(context: number, width: number): androidNative.Array<string>;
				public constructor(locale: java.util.Locale);
				public setMonths(newMonths: androidNative.Array<string>, context: number, width: number): void;
				public initializeData(desiredLocale: android.icu.util.ULocale, type: string): void;
				public static getInstance(): android.icu.text.DateFormatSymbols;
				public getZoneStrings(): androidNative.Array<androidNative.Array<string>>;
				public getNarrowEras(): androidNative.Array<string>;
				public setWeekdays(newWeekdays: androidNative.Array<string>): void;
				public getAmPmStrings(): androidNative.Array<string>;
				public equals(obj: any): boolean;
				public setNarrowEras(newNarrowEras: androidNative.Array<string>): void;
				public getZodiacNames(context: number, width: number): androidNative.Array<string>;
				public getShortMonths(): androidNative.Array<string>;
				public constructor(cal: android.icu.util.Calendar, locale: java.util.Locale);
				public setYearNames(yearNames: androidNative.Array<string>, context: number, width: number): void;
				public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
				public setZodiacNames(zodiacNames: androidNative.Array<string>, context: number, width: number): 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 format(obj: any): string;
				public formatToValue(dtInterval: android.icu.util.DateInterval): android.icu.text.DateIntervalFormat.FormattedDateInterval;
				public setContext(context: android.icu.text.DisplayContext): void;
				public setTimeZone(zone: android.icu.util.TimeZone): void;
				public format(obj: any, appendTo: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public format(dtInterval: android.icu.util.DateInterval, appendTo: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public parseObject(source: string): any;
				public getDateFormat(): android.icu.text.DateFormat;
				public static getInstance(skeleton: string): android.icu.text.DateIntervalFormat;
				public static getInstance(skeleton: string, dtitvinf: android.icu.text.DateIntervalInfo): android.icu.text.DateIntervalFormat;
				public static getInstance(skeleton: string, locale: android.icu.util.ULocale, dtitvinf: android.icu.text.DateIntervalInfo): android.icu.text.DateIntervalFormat;
				/** @deprecated */
				public parseObject(source: string, parse_pos: java.text.ParsePosition): any;
				public static getInstance(skeleton: string, locale: android.icu.util.ULocale): android.icu.text.DateIntervalFormat;
				public getContext(type: android.icu.text.DisplayContext.Type): android.icu.text.DisplayContext;
				public formatToValue(fromCalendar: android.icu.util.Calendar, toCalendar: android.icu.util.Calendar): android.icu.text.DateIntervalFormat.FormattedDateInterval;
				public static getInstance(skeleton: string, locale: java.util.Locale): android.icu.text.DateIntervalFormat;
				public clone(): any;
				public getTimeZone(): android.icu.util.TimeZone;
				public format(fromCalendar: android.icu.util.Calendar, toCalendar: android.icu.util.Calendar, appendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public setDateIntervalInfo(newItvPattern: android.icu.text.DateIntervalInfo): void;
				public static getInstance(skeleton: string, locale: java.util.Locale, dtitvinf: android.icu.text.DateIntervalInfo): android.icu.text.DateIntervalFormat;
			}
			export module DateIntervalFormat {
				export class FormattedDateInterval extends java.lang.Object implements android.icu.text.FormattedValue {
					public static class: java.lang.Class<android.icu.text.DateIntervalFormat.FormattedDateInterval>;
					public nextPosition(cfpos: android.icu.text.ConstrainedFieldPosition): boolean;
					public chars(): java.util.stream.IntStream;
					public isEmpty(): boolean;
					public subSequence(param0: number, param1: number): string;
					public static compare(cs1: string, cs2: string): number;
					public subSequence(start: number, end: number): string;
					public codePoints(): java.util.stream.IntStream;
					public length(): number;
					public toString(): string;
					public appendTo(appendable: java.lang.Appendable): java.lang.Appendable;
					public charAt(index: number): string;
					public charAt(param0: number): string;
					public toCharacterIterator(): java.text.AttributedCharacterIterator;
					public appendTo(param0: java.lang.Appendable): java.lang.Appendable;
					public nextPosition(param0: android.icu.text.ConstrainedFieldPosition): boolean;
				}
			}
		}
	}
}

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 getIntervalPattern(skeleton: string, field: number): android.icu.text.DateIntervalInfo.PatternInfo;
				public isFrozen(): boolean;
				public constructor(locale: android.icu.util.ULocale);
				public freeze(): android.icu.text.DateIntervalInfo;
				public constructor(locale: java.util.Locale);
				public getDefaultOrder(): boolean;
				public cloneAsThawed(): any;
				public setFallbackIntervalPattern(fallbackPattern: string): void;
				public equals(a: any): boolean;
				public hashCode(): number;
				public getFallbackIntervalPattern(): string;
				public cloneAsThawed(): android.icu.text.DateIntervalInfo;
				public clone(): any;
				public freeze(): any;
				public setIntervalPattern(skeleton: string, lrgDiffCalUnit: number, intervalPattern: string): void;
			}
			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(a: any): boolean;
					public toString(): string;
					public getSecondPart(): string;
					public getFirstPart(): string;
					public firstDateInPtnIsLaterDate(): boolean;
					public hashCode(): number;
					public constructor(firstPart: string, secondPart: string, firstDateInPtnIsLaterDate: boolean);
				}
			}
		}
	}
}

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: 7;
				public static DAYPERIOD: 10;
				public static DAY_OF_WEEK_IN_MONTH: 9;
				public static DAY_OF_YEAR: 8;
				public static ERA: 0;
				public static FRACTIONAL_SECOND: 14;
				public static HOUR: 11;
				public static MATCH_ALL_FIELDS_LENGTH: 65535;
				public static MATCH_HOUR_FIELD_LENGTH: 2048;
				public static MATCH_NO_OPTIONS: 0;
				public static MINUTE: 12;
				public static MONTH: 3;
				public static QUARTER: 2;
				public static SECOND: 13;
				public static WEEKDAY: 6;
				public static WEEK_OF_MONTH: 5;
				public static WEEK_OF_YEAR: 4;
				public static YEAR: 1;
				public static ZONE: 15;
				public getAppendItemFormat(field: number): string;
				public getBaseSkeletons(result: java.util.Set<string>): java.util.Set<string>;
				public isFrozen(): boolean;
				public static getInstance(uLocale: android.icu.util.ULocale): android.icu.text.DateTimePatternGenerator;
				public getBestPattern(skeleton: string): string;
				public getSkeleton(pattern: string): string;
				public replaceFieldTypes(pattern: string, skeleton: string): string;
				public constructor();
				public cloneAsThawed(): any;
				public getDateTimeFormat(style: number): string;
				public setAppendItemFormat(field: number, value: string): void;
				public replaceFieldTypes(pattern: string, skeleton: string, options: number): string;
				public getDefaultHourCycle(): android.icu.text.DateFormat.HourCycle;
				public setDecimal(decimal: string): void;
				public clone(): any;
				public setDateTimeFormat(dateTimeFormat: string): void;
				public addPattern(pattern: string, override: boolean, returnInfo: android.icu.text.DateTimePatternGenerator.PatternInfo): android.icu.text.DateTimePatternGenerator;
				public getBestPattern(skeleton: string, options: number): string;
				public getDateTimeFormat(): string;
				public cloneAsThawed(): android.icu.text.DateTimePatternGenerator;
				public static getEmptyInstance(): android.icu.text.DateTimePatternGenerator;
				public static getInstance(locale: java.util.Locale): android.icu.text.DateTimePatternGenerator;
				public setAppendItemName(field: number, value: string): void;
				public getFieldDisplayName(field: number, width: android.icu.text.DateTimePatternGenerator.DisplayWidth): string;
				public getSkeletons(result: java.util.Map<string,string>): java.util.Map<string,string>;
				public static getInstance(): android.icu.text.DateTimePatternGenerator;
				public getDecimal(): string;
				public getBaseSkeleton(pattern: string): string;
				public getAppendItemName(field: number): string;
				public freeze(): any;
				public setDateTimeFormat(style: number, dateTimeFormat: string): void;
				public freeze(): android.icu.text.DateTimePatternGenerator;
			}
			export module DateTimePatternGenerator {
				export class DisplayWidth {
					public static class: java.lang.Class<android.icu.text.DateTimePatternGenerator.DisplayWidth>;
					public static WIDE: android.icu.text.DateTimePatternGenerator.DisplayWidth;
					public static ABBREVIATED: android.icu.text.DateTimePatternGenerator.DisplayWidth;
					public static NARROW: android.icu.text.DateTimePatternGenerator.DisplayWidth;
					public static values(): androidNative.Array<android.icu.text.DateTimePatternGenerator.DisplayWidth>;
					public static valueOf(name: string): android.icu.text.DateTimePatternGenerator.DisplayWidth;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class PatternInfo extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.DateTimePatternGenerator.PatternInfo>;
					public static BASE_CONFLICT: 1;
					public static CONFLICT: 2;
					public static OK: 0;
					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 MINIMUM_GROUPING_DIGITS_AUTO: -2;
				public static MINIMUM_GROUPING_DIGITS_MIN2: -3;
				public static PAD_AFTER_PREFIX: 1;
				public static PAD_AFTER_SUFFIX: 3;
				public static PAD_BEFORE_PREFIX: 0;
				public static PAD_BEFORE_SUFFIX: 2;
				public setPadPosition(padPos: number): void;
				public setPositiveSuffix(suffix: string): void;
				public constructor(pattern: string, symbols: android.icu.text.DecimalFormatSymbols);
				public setDecimalPatternMatchRequired(value: boolean): void;
				public setMathContextICU(mathContextICU: android.icu.math.MathContext): void;
				public setDecimalSeparatorAlwaysShown(value: boolean): void;
				public areSignificantDigitsUsed(): boolean;
				public setMinimumSignificantDigits(value: number): void;
				/** @deprecated */
				public setParseMaxDigits(maxDigits: number): void;
				public setRoundingIncrement(increment: android.icu.math.BigDecimal): void;
				public getMathContext(): java.math.MathContext;
				public isSignAlwaysShown(): boolean;
				public format(number: android.icu.math.BigDecimal): string;
				public parseCurrency(text: string, parsePosition: java.text.ParsePosition): android.icu.util.CurrencyAmount;
				public getFormatWidth(): number;
				public setParseStrict(parseStrict: boolean): void;
				/** @deprecated */
				public getParseMaxDigits(): number;
				public isExponentSignAlwaysShown(): boolean;
				public format(param0: android.icu.math.BigDecimal, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public isParseNoExponent(): boolean;
				public setRoundingIncrement(increment: number): void;
				public setMaximumIntegerDigits(value: number): void;
				public format(obj: any): string;
				public setNegativePrefix(prefix: string): void;
				public setMinimumFractionDigits(value: number): void;
				public setMinimumGroupingDigits(number: number): void;
				public isParseStrict(): boolean;
				public getMinimumGroupingDigits(): number;
				public format(number: android.icu.math.BigDecimal, result: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public setParseNoExponent(value: boolean): void;
				public setRoundingIncrement(increment: java.math.BigDecimal): void;
				public getMinimumIntegerDigits(): number;
				public setMinimumExponentDigits(minExpDig: number): void;
				public toLocalizedPattern(): string;
				public getNegativeSuffix(): string;
				public setSignAlwaysShown(value: boolean): void;
				public format(number: any, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public format(currAmt: android.icu.util.CurrencyAmount): string;
				public getMinimumSignificantDigits(): number;
				public setCurrencyPluralInfo(newInfo: android.icu.text.CurrencyPluralInfo): void;
				public getMathContextICU(): android.icu.math.MathContext;
				public setMathContext(mathContext: java.math.MathContext): void;
				public getCurrencyPluralInfo(): android.icu.text.CurrencyPluralInfo;
				public applyLocalizedPattern(localizedPattern: string): void;
				public setScientificNotation(useScientific: boolean): void;
				public setParseIntegerOnly(parseIntegerOnly: boolean): void;
				public setNegativeSuffix(suffix: string): void;
				public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public equals(obj: any): boolean;
				public format(number: java.math.BigInteger): string;
				public setMultiplier(multiplier: number): void;
				public constructor(pattern: string, symbols: android.icu.text.DecimalFormatSymbols, infoInput: android.icu.text.CurrencyPluralInfo, style: number);
				public format(number: java.math.BigDecimal, result: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				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 formatToCharacterIterator(obj: any): java.text.AttributedCharacterIterator;
				public parse(text: string, parsePosition: java.text.ParsePosition): java.lang.Number;
				public setMaximumSignificantDigits(value: number): void;
				public getCurrency(): android.icu.util.Currency;
				public getPadCharacter(): string;
				public parse(text: string): java.lang.Number;
				public constructor();
				public getMultiplier(): number;
				public setPositivePrefix(prefix: string): void;
				public hashCode(): number;
				public clone(): any;
				public setCurrency(currency: android.icu.util.Currency): void;
				public getPositiveSuffix(): string;
				public setGroupingSize(width: number): void;
				public isParseBigDecimal(): boolean;
				public format(number: java.math.BigDecimal): string;
				public getGroupingSize(): number;
				public isParseIntegerOnly(): boolean;
				public getMinimumFractionDigits(): number;
				public toString(): string;
				public getRoundingIncrement(): java.math.BigDecimal;
				public setParseBigDecimal(value: boolean): void;
				public getDecimalFormatSymbols(): android.icu.text.DecimalFormatSymbols;
				public format(number: number, result: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public setPadCharacter(padChar: string): 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 isParseCaseSensitive(): boolean;
				public setMinimumIntegerDigits(value: number): void;
				public setParseCaseSensitive(value: boolean): void;
				public applyPattern(pattern: string): void;
				public getPositivePrefix(): string;
				public getMaximumIntegerDigits(): number;
				public setRoundingMode(roundingMode: number): void;
				public format(currAmt: android.icu.util.CurrencyAmount, result: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public setMaximumFractionDigits(value: number): void;
				public getCurrencyUsage(): android.icu.util.Currency.CurrencyUsage;
				public constructor(pattern: string);
				public getRoundingMode(): number;
				public getMaximumSignificantDigits(): number;
				public setGroupingUsed(enabled: boolean): void;
				public isScientificNotation(): boolean;
				public setSecondaryGroupingSize(width: number): void;
				public format(currAmt: android.icu.util.CurrencyAmount, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public getMinimumExponentDigits(): number;
				public setCurrencyUsage(usage: android.icu.util.Currency.CurrencyUsage): void;
				public isDecimalSeparatorAlwaysShown(): boolean;
				public format(number: number): string;
				public setFormatWidth(width: number): void;
				public getMaximumFractionDigits(): number;
				public setDecimalFormatSymbols(newSymbols: android.icu.text.DecimalFormatSymbols): void;
				public isDecimalPatternMatchRequired(): boolean;
				public format(number: java.math.BigInteger, result: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public setExponentSignAlwaysShown(expSignAlways: boolean): void;
				public setSignificantDigitsUsed(useSignificantDigits: boolean): 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: 0;
				public static CURRENCY_SPC_INSERT: 2;
				public static CURRENCY_SPC_SURROUNDING_MATCH: 1;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.DecimalFormatSymbols;
				public setDecimalSeparator(decimalSeparator: string): void;
				public static getInstance(locale: java.util.Locale): android.icu.text.DecimalFormatSymbols;
				public setPlusSign(plus: string): void;
				public setPatternForCurrencySpacing(itemType: number, beforeCurrency: boolean, pattern: string): void;
				public getCurrency(): android.icu.util.Currency;
				public setExponentMultiplicationSign(exponentMultiplicationSign: string): void;
				public getSignificantDigit(): string;
				public getPatternSeparator(): string;
				public constructor();
				public getPlusSignString(): string;
				public getPadEscape(): string;
				public getPerMillString(): string;
				public setExponentSeparator(exp: string): void;
				public hashCode(): number;
				public setPercent(percent: string): void;
				public setCurrency(currency: android.icu.util.Currency): void;
				public clone(): any;
				public getMonetaryGroupingSeparator(): string;
				public setMonetaryGroupingSeparatorString(sep: string): void;
				public getDecimalSeparator(): string;
				public getPlusSign(): string;
				public getMonetaryGroupingSeparatorString(): string;
				public setMonetaryDecimalSeparator(sep: string): void;
				public setMinusSignString(minusSignString: string): void;
				public getGroupingSeparator(): string;
				public getNaN(): string;
				public constructor(locale: android.icu.util.ULocale);
				public getMinusSignString(): string;
				public getDecimalSeparatorString(): string;
				public static getInstance(): android.icu.text.DecimalFormatSymbols;
				public getDigits(): androidNative.Array<string>;
				public setPlusSignString(plusSignString: string): void;
				public setMonetaryGroupingSeparator(sep: string): void;
				public setGroupingSeparatorString(groupingSeparatorString: string): void;
				public constructor(locale: java.util.Locale);
				public getZeroDigit(): string;
				public setInfinity(infinity: string): void;
				public getExponentSeparator(): string;
				public setPatternSeparator(patternSeparator: string): void;
				public setPadEscape(c: string): void;
				public setPercentString(percentString: string): void;
				public static getAvailableULocales(): androidNative.Array<android.icu.util.ULocale>;
				public getDigitStrings(): androidNative.Array<string>;
				public setDecimalSeparatorString(decimalSeparatorString: string): void;
				public setDigit(digit: string): void;
				public getInternationalCurrencySymbol(): string;
				public getGroupingSeparatorString(): string;
				public getLocale(): java.util.Locale;
				public setDigitStrings(digitStrings: androidNative.Array<string>): void;
				public getMonetaryDecimalSeparatorString(): string;
				public getCurrencySymbol(): string;
				public getExponentMultiplicationSign(): string;
				public getInfinity(): string;
				public setGroupingSeparator(groupingSeparator: string): void;
				public static forNumberingSystem(locale: java.util.Locale, ns: android.icu.text.NumberingSystem): android.icu.text.DecimalFormatSymbols;
				public setCurrencySymbol(currency: string): void;
				public getMonetaryDecimalSeparator(): string;
				public setZeroDigit(zeroDigit: string): void;
				public setMonetaryDecimalSeparatorString(sep: string): void;
				public getPercentString(): string;
				public getMinusSign(): string;
				public getULocale(): android.icu.util.ULocale;
				public setPerMill(perMill: string): void;
				public setMinusSign(minusSign: string): void;
				public setNaN(NaN: string): void;
				public equals(obj: any): boolean;
				public getPercent(): string;
				public setInternationalCurrencySymbol(currency: string): void;
				public setPerMillString(perMillString: string): void;
				public getDigit(): string;
				public getPatternForCurrencySpacing(itemType: number, beforeCurrency: boolean): string;
				public setSignificantDigit(sigDigit: string): void;
				public getPerMill(): string;
				public static forNumberingSystem(locale: android.icu.util.ULocale, ns: android.icu.text.NumberingSystem): android.icu.text.DecimalFormatSymbols;
				public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			}
		}
	}
}

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 values(): androidNative.Array<android.icu.text.DisplayContext>;
				public static valueOf(name: string): android.icu.text.DisplayContext;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public type(): android.icu.text.DisplayContext.Type;
				public value(): number;
			}
			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 valueOf(name: string): android.icu.text.DisplayContext.Type;
					public static values(): androidNative.Array<android.icu.text.DisplayContext.Type>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class DisplayOptions extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.DisplayOptions>;
				public static builder(): android.icu.text.DisplayOptions.Builder;
				public getNameStyle(): android.icu.text.DisplayOptions.NameStyle;
				public getGrammaticalCase(): android.icu.text.DisplayOptions.GrammaticalCase;
				public getNounClass(): android.icu.text.DisplayOptions.NounClass;
				public getSubstituteHandling(): android.icu.text.DisplayOptions.SubstituteHandling;
				public getDisplayLength(): android.icu.text.DisplayOptions.DisplayLength;
				public copyToBuilder(): android.icu.text.DisplayOptions.Builder;
				public getPluralCategory(): android.icu.text.DisplayOptions.PluralCategory;
				public getCapitalization(): android.icu.text.DisplayOptions.Capitalization;
			}
			export module DisplayOptions {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.DisplayOptions.Builder>;
					public setPluralCategory(pluralCategory: android.icu.text.DisplayOptions.PluralCategory): android.icu.text.DisplayOptions.Builder;
					public setSubstituteHandling(substituteHandling: android.icu.text.DisplayOptions.SubstituteHandling): android.icu.text.DisplayOptions.Builder;
					public build(): android.icu.text.DisplayOptions;
					public setGrammaticalCase(grammaticalCase: android.icu.text.DisplayOptions.GrammaticalCase): android.icu.text.DisplayOptions.Builder;
					public setNounClass(nounClass: android.icu.text.DisplayOptions.NounClass): android.icu.text.DisplayOptions.Builder;
					public setNameStyle(nameStyle: android.icu.text.DisplayOptions.NameStyle): android.icu.text.DisplayOptions.Builder;
					public setDisplayLength(displayLength: android.icu.text.DisplayOptions.DisplayLength): android.icu.text.DisplayOptions.Builder;
					public setCapitalization(capitalization: android.icu.text.DisplayOptions.Capitalization): android.icu.text.DisplayOptions.Builder;
				}
				export class Capitalization {
					public static class: java.lang.Class<android.icu.text.DisplayOptions.Capitalization>;
					public static UNDEFINED: android.icu.text.DisplayOptions.Capitalization;
					public static BEGINNING_OF_SENTENCE: android.icu.text.DisplayOptions.Capitalization;
					public static MIDDLE_OF_SENTENCE: android.icu.text.DisplayOptions.Capitalization;
					public static STANDALONE: android.icu.text.DisplayOptions.Capitalization;
					public static UI_LIST_OR_MENU: android.icu.text.DisplayOptions.Capitalization;
					public static VALUES: java.util.List<android.icu.text.DisplayOptions.Capitalization>;
					public static values(): androidNative.Array<android.icu.text.DisplayOptions.Capitalization>;
					public static valueOf(name: string): android.icu.text.DisplayOptions.Capitalization;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class DisplayLength {
					public static class: java.lang.Class<android.icu.text.DisplayOptions.DisplayLength>;
					public static UNDEFINED: android.icu.text.DisplayOptions.DisplayLength;
					public static LENGTH_FULL: android.icu.text.DisplayOptions.DisplayLength;
					public static LENGTH_SHORT: android.icu.text.DisplayOptions.DisplayLength;
					public static VALUES: java.util.List<android.icu.text.DisplayOptions.DisplayLength>;
					public static valueOf(name: string): android.icu.text.DisplayOptions.DisplayLength;
					public static values(): androidNative.Array<android.icu.text.DisplayOptions.DisplayLength>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class GrammaticalCase {
					public static class: java.lang.Class<android.icu.text.DisplayOptions.GrammaticalCase>;
					public static UNDEFINED: android.icu.text.DisplayOptions.GrammaticalCase;
					public static ABLATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static ACCUSATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static COMITATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static DATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static ERGATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static GENITIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static INSTRUMENTAL: android.icu.text.DisplayOptions.GrammaticalCase;
					public static LOCATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static LOCATIVE_COPULATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static NOMINATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static OBLIQUE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static PREPOSITIONAL: android.icu.text.DisplayOptions.GrammaticalCase;
					public static SOCIATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static VOCATIVE: android.icu.text.DisplayOptions.GrammaticalCase;
					public static VALUES: java.util.List<android.icu.text.DisplayOptions.GrammaticalCase>;
					public static values(): androidNative.Array<android.icu.text.DisplayOptions.GrammaticalCase>;
					public static fromIdentifier(identifier: string): android.icu.text.DisplayOptions.GrammaticalCase;
					public getIdentifier(): string;
					public static valueOf(name: string): android.icu.text.DisplayOptions.GrammaticalCase;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class NameStyle {
					public static class: java.lang.Class<android.icu.text.DisplayOptions.NameStyle>;
					public static UNDEFINED: android.icu.text.DisplayOptions.NameStyle;
					public static STANDARD_NAMES: android.icu.text.DisplayOptions.NameStyle;
					public static DIALECT_NAMES: android.icu.text.DisplayOptions.NameStyle;
					public static VALUES: java.util.List<android.icu.text.DisplayOptions.NameStyle>;
					public static values(): androidNative.Array<android.icu.text.DisplayOptions.NameStyle>;
					public static valueOf(name: string): android.icu.text.DisplayOptions.NameStyle;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class NounClass {
					public static class: java.lang.Class<android.icu.text.DisplayOptions.NounClass>;
					public static UNDEFINED: android.icu.text.DisplayOptions.NounClass;
					public static OTHER: android.icu.text.DisplayOptions.NounClass;
					public static NEUTER: android.icu.text.DisplayOptions.NounClass;
					public static FEMININE: android.icu.text.DisplayOptions.NounClass;
					public static MASCULINE: android.icu.text.DisplayOptions.NounClass;
					public static ANIMATE: android.icu.text.DisplayOptions.NounClass;
					public static INANIMATE: android.icu.text.DisplayOptions.NounClass;
					public static PERSONAL: android.icu.text.DisplayOptions.NounClass;
					public static COMMON: android.icu.text.DisplayOptions.NounClass;
					public static VALUES: java.util.List<android.icu.text.DisplayOptions.NounClass>;
					public static values(): androidNative.Array<android.icu.text.DisplayOptions.NounClass>;
					public static valueOf(name: string): android.icu.text.DisplayOptions.NounClass;
					public getIdentifier(): string;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
					public static fromIdentifier(identifier: string): android.icu.text.DisplayOptions.NounClass;
				}
				export class PluralCategory {
					public static class: java.lang.Class<android.icu.text.DisplayOptions.PluralCategory>;
					public static UNDEFINED: android.icu.text.DisplayOptions.PluralCategory;
					public static ZERO: android.icu.text.DisplayOptions.PluralCategory;
					public static ONE: android.icu.text.DisplayOptions.PluralCategory;
					public static TWO: android.icu.text.DisplayOptions.PluralCategory;
					public static FEW: android.icu.text.DisplayOptions.PluralCategory;
					public static MANY: android.icu.text.DisplayOptions.PluralCategory;
					public static OTHER: android.icu.text.DisplayOptions.PluralCategory;
					public static VALUES: java.util.List<android.icu.text.DisplayOptions.PluralCategory>;
					public static valueOf(name: string): android.icu.text.DisplayOptions.PluralCategory;
					public static fromIdentifier(identifier: string): android.icu.text.DisplayOptions.PluralCategory;
					public static values(): androidNative.Array<android.icu.text.DisplayOptions.PluralCategory>;
					public getIdentifier(): string;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class SubstituteHandling {
					public static class: java.lang.Class<android.icu.text.DisplayOptions.SubstituteHandling>;
					public static UNDEFINED: android.icu.text.DisplayOptions.SubstituteHandling;
					public static SUBSTITUTE: android.icu.text.DisplayOptions.SubstituteHandling;
					public static NO_SUBSTITUTE: android.icu.text.DisplayOptions.SubstituteHandling;
					public static VALUES: java.util.List<android.icu.text.DisplayOptions.SubstituteHandling>;
					public static valueOf(name: string): android.icu.text.DisplayOptions.SubstituteHandling;
					public static values(): androidNative.Array<android.icu.text.DisplayOptions.SubstituteHandling>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class Edits extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.Edits>;
				public reset(): void;
				public numberOfChanges(): number;
				public getFineChangesIterator(): android.icu.text.Edits.Iterator;
				public lengthDelta(): number;
				public getFineIterator(): android.icu.text.Edits.Iterator;
				public hasChanges(): boolean;
				public getCoarseChangesIterator(): android.icu.text.Edits.Iterator;
				public addUnchanged(unchangedLength: number): void;
				public addReplace(oldLength: number, newLength: number): void;
				public mergeAndAppend(ab: android.icu.text.Edits, bc: android.icu.text.Edits): android.icu.text.Edits;
				public constructor();
				public getCoarseIterator(): android.icu.text.Edits.Iterator;
			}
			export module Edits {
				export class Iterator extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.Edits.Iterator>;
					public findSourceIndex(i: number): boolean;
					public sourceIndexFromDestinationIndex(i: number): number;
					public hasChange(): boolean;
					public toString(): string;
					public next(): boolean;
					public replacementIndex(): number;
					public destinationIndex(): number;
					public findDestinationIndex(i: number): boolean;
					public sourceIndex(): number;
					public destinationIndexFromSourceIndex(i: number): number;
					public oldLength(): number;
					public newLength(): number;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class FormattedValue extends java.lang.Object implements java.lang.CharSequence {
				public static class: java.lang.Class<android.icu.text.FormattedValue>;
				/**
				 * Constructs a new instance of the android.icu.text.FormattedValue interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					toString(): string;
					appendTo(param0: java.lang.Appendable): java.lang.Appendable;
					nextPosition(param0: android.icu.text.ConstrainedFieldPosition): boolean;
					toCharacterIterator(): java.text.AttributedCharacterIterator;
					length(): number;
					charAt(param0: number): string;
					isEmpty(): boolean;
					subSequence(param0: number, param1: number): string;
					toString(): string;
					chars(): java.util.stream.IntStream;
					codePoints(): java.util.stream.IntStream;
					compare(cs1: string, cs2: string): number;
				});
				public constructor();
				public subSequence(param0: number, param1: number): string;
				public nextPosition(param0: android.icu.text.ConstrainedFieldPosition): boolean;
				public static compare(cs1: string, cs2: string): number;
				public appendTo(param0: java.lang.Appendable): java.lang.Appendable;
				public length(): number;
				public toCharacterIterator(): java.text.AttributedCharacterIterator;
				public isEmpty(): boolean;
				public chars(): java.util.stream.IntStream;
				public codePoints(): java.util.stream.IntStream;
				public toString(): string;
				public charAt(param0: number): string;
			}
		}
	}
}

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: 4;
				public static CHECK_CONTEXTJ: 8;
				public static CHECK_CONTEXTO: 64;
				public static DEFAULT: 0;
				public static NONTRANSITIONAL_TO_ASCII: 16;
				public static NONTRANSITIONAL_TO_UNICODE: 32;
				public static USE_STD3_RULES: 2;
				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;
				public static getUTS46Instance(options: number): android.icu.text.IDNA;
			}
			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 values(): androidNative.Array<android.icu.text.IDNA.Error>;
					public static valueOf(name: string): android.icu.text.IDNA.Error;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				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 formatToValue(items: androidNative.Array<any>): android.icu.text.ListFormatter.FormattedList;
				public static getInstance(locale: android.icu.util.ULocale, type: android.icu.text.ListFormatter.Type, width: android.icu.text.ListFormatter.Width): android.icu.text.ListFormatter;
				public format(items: java.util.Collection<any>): string;
				public static getInstance(locale: java.util.Locale): android.icu.text.ListFormatter;
				public format(items: androidNative.Array<any>): string;
				public getPatternForNumItems(count: number): string;
				public static getInstance(locale: java.util.Locale, type: android.icu.text.ListFormatter.Type, width: android.icu.text.ListFormatter.Width): android.icu.text.ListFormatter;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.ListFormatter;
				public formatToValue(items: java.util.Collection<any>): android.icu.text.ListFormatter.FormattedList;
			}
			export module ListFormatter {
				export class FormattedList extends java.lang.Object implements android.icu.text.FormattedValue {
					public static class: java.lang.Class<android.icu.text.ListFormatter.FormattedList>;
					public nextPosition(cfpos: android.icu.text.ConstrainedFieldPosition): boolean;
					public chars(): java.util.stream.IntStream;
					public isEmpty(): boolean;
					public subSequence(param0: number, param1: number): string;
					public static compare(cs1: string, cs2: string): number;
					public subSequence(start: number, end: number): string;
					public codePoints(): java.util.stream.IntStream;
					public length(): number;
					public toString(): string;
					public appendTo(appendable: java.lang.Appendable): java.lang.Appendable;
					public charAt(index: number): string;
					public charAt(param0: number): string;
					public toCharacterIterator(): java.text.AttributedCharacterIterator;
					public appendTo(param0: java.lang.Appendable): java.lang.Appendable;
					public nextPosition(param0: android.icu.text.ConstrainedFieldPosition): boolean;
				}
				export class Type {
					public static class: java.lang.Class<android.icu.text.ListFormatter.Type>;
					public static AND: android.icu.text.ListFormatter.Type;
					public static OR: android.icu.text.ListFormatter.Type;
					public static UNITS: android.icu.text.ListFormatter.Type;
					public static values(): androidNative.Array<android.icu.text.ListFormatter.Type>;
					public static valueOf(name: string): android.icu.text.ListFormatter.Type;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class Width {
					public static class: java.lang.Class<android.icu.text.ListFormatter.Width>;
					public static WIDE: android.icu.text.ListFormatter.Width;
					public static SHORT: android.icu.text.ListFormatter.Width;
					public static NARROW: android.icu.text.ListFormatter.Width;
					public static values(): androidNative.Array<android.icu.text.ListFormatter.Width>;
					public static valueOf(name: string): android.icu.text.ListFormatter.Width;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

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 static getInstance(locale: java.util.Locale): android.icu.text.LocaleDisplayNames;
				public variantDisplayName(param0: string): string;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.LocaleDisplayNames;
				public keyDisplayName(param0: string): string;
				public scriptDisplayName(param0: number): string;
				public localeDisplayName(param0: android.icu.util.ULocale): string;
				public regionDisplayName(param0: string): string;
				public static getInstance(locale: java.util.Locale, contexts: androidNative.Array<android.icu.text.DisplayContext>): android.icu.text.LocaleDisplayNames;
				public localeDisplayName(param0: java.util.Locale): string;
				public static getInstance(locale: android.icu.util.ULocale, dialectHandling: android.icu.text.LocaleDisplayNames.DialectHandling): android.icu.text.LocaleDisplayNames;
				public getUiList(localeSet: java.util.Set<android.icu.util.ULocale>, inSelf: boolean, collator: java.util.Comparator<any>): java.util.List<android.icu.text.LocaleDisplayNames.UiListItem>;
				public getDialectHandling(): android.icu.text.LocaleDisplayNames.DialectHandling;
				public static getInstance(locale: android.icu.util.ULocale, contexts: androidNative.Array<android.icu.text.DisplayContext>): 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(name: string): android.icu.text.LocaleDisplayNames.DialectHandling;
					public static values(): androidNative.Array<android.icu.text.LocaleDisplayNames.DialectHandling>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(obj: any): boolean;
					public toString(): string;
					public constructor(minimized: android.icu.util.ULocale, modified: android.icu.util.ULocale, nameInDisplayLocale: string, nameInSelf: string);
					public static getComparator(comparator: java.util.Comparator<any>, inSelf: boolean): java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem>;
					public hashCode(): number;
				}
			}
		}
	}
}

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 format(obj: any): string;
				public static getCurrencyFormat(locale: android.icu.util.ULocale): android.icu.text.MeasureFormat;
				public static getCurrencyFormat(): android.icu.text.MeasureFormat;
				public getLocale(): android.icu.util.ULocale;
				public parseObject(source: string): any;
				public formatMeasurePerUnit(measure: android.icu.util.Measure, perUnit: android.icu.util.MeasureUnit, appendTo: java.lang.StringBuilder, pos: java.text.FieldPosition): java.lang.StringBuilder;
				public formatMeasures(appendTo: java.lang.StringBuilder, fpos: java.text.FieldPosition, measures: androidNative.Array<android.icu.util.Measure>): java.lang.StringBuilder;
				public getNumberFormat(): android.icu.text.NumberFormat;
				public getWidth(): android.icu.text.MeasureFormat.FormatWidth;
				public static getInstance(locale: android.icu.util.ULocale, formatWidth: android.icu.text.MeasureFormat.FormatWidth): android.icu.text.MeasureFormat;
				public format(obj: any, toAppendTo: java.lang.StringBuffer, fpos: java.text.FieldPosition): java.lang.StringBuffer;
				public getUnitDisplayName(unit: android.icu.util.MeasureUnit): string;
				public equals(other: any): boolean;
				public hashCode(): number;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public static getInstance(locale: android.icu.util.ULocale, formatWidth: android.icu.text.MeasureFormat.FormatWidth, format: android.icu.text.NumberFormat): android.icu.text.MeasureFormat;
				public static getCurrencyFormat(locale: java.util.Locale): android.icu.text.MeasureFormat;
				public static getInstance(locale: java.util.Locale, formatWidth: android.icu.text.MeasureFormat.FormatWidth): android.icu.text.MeasureFormat;
				public formatMeasures(measures: androidNative.Array<android.icu.util.Measure>): string;
				public static getInstance(locale: java.util.Locale, formatWidth: android.icu.text.MeasureFormat.FormatWidth, format: android.icu.text.NumberFormat): android.icu.text.MeasureFormat;
				public parseObject(source: string, pos: java.text.ParsePosition): android.icu.util.Measure;
			}
			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(): androidNative.Array<android.icu.text.MeasureFormat.FormatWidth>;
					public static valueOf(name: string): android.icu.text.MeasureFormat.FormatWidth;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 setLocale(locale: android.icu.util.ULocale): void;
				public setFormatsByArgumentIndex(newFormats: androidNative.Array<java.text.Format>): void;
				public format(obj: any): string;
				public getApostropheMode(): android.icu.text.MessagePattern.ApostropheMode;
				public static format(pattern: string, arguments_: java.util.Map<string,any>): string;
				public toPattern(): string;
				public parseToMap(source: string, pos: java.text.ParsePosition): java.util.Map<string,any>;
				public getLocale(): java.util.Locale;
				public setFormatByArgumentIndex(argumentIndex: number, newFormat: java.text.Format): void;
				public applyPattern(pttrn: string): void;
				public parseObject(source: string): any;
				public setLocale(locale: java.util.Locale): void;
				public parse(source: string, pos: java.text.ParsePosition): androidNative.Array<any>;
				public constructor();
				public parseToMap(source: string): java.util.Map<string,any>;
				public hashCode(): number;
				public clone(): any;
				public setFormat(formatElementIndex: number, newFormat: java.text.Format): void;
				public setFormatsByArgumentName(newFormats: java.util.Map<string,java.text.Format>): void;
				public usesNamedArguments(): boolean;
				public getFormatsByArgumentIndex(): androidNative.Array<java.text.Format>;
				public static format(pattern: string, arguments_: androidNative.Array<any>): string;
				public constructor(pattern: string);
				public setFormatByArgumentName(argumentName: string, newFormat: java.text.Format): void;
				public parse(source: string): androidNative.Array<any>;
				public getFormats(): androidNative.Array<java.text.Format>;
				public constructor(pattern: string, locale: java.util.Locale);
				public getULocale(): android.icu.util.ULocale;
				public formatToCharacterIterator(arguments_: any): java.text.AttributedCharacterIterator;
				public setFormats(newFormats: androidNative.Array<java.text.Format>): void;
				public format(arguments_: java.util.Map<string,any>, result: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public format(arguments_: androidNative.Array<any>, result: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public getFormatByArgumentName(argumentName: string): java.text.Format;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public format(arguments_: any, result: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public equals(obj: any): boolean;
				public constructor(pattern: string, locale: android.icu.util.ULocale);
				public getArgumentNames(): java.util.Set<string>;
				public static autoQuoteApostrophe(pattern: string): string;
				public parseObject(source: string, pos: java.text.ParsePosition): any;
				public applyPattern(pattern: string, aposMode: android.icu.text.MessagePattern.ApostropheMode): 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(name: 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: -1;
				public static ARG_NAME_NOT_VALID: -2;
				public static NO_NUMERIC_VALUE: -1.23456789E8;
				public getApostropheMode(): android.icu.text.MessagePattern.ApostropheMode;
				public autoQuoteApostropheDeep(): string;
				public isFrozen(): boolean;
				public constructor(mode: android.icu.text.MessagePattern.ApostropheMode);
				public freeze(): android.icu.text.MessagePattern;
				public getPart(i: number): android.icu.text.MessagePattern.Part;
				public constructor();
				public getPartType(i: number): android.icu.text.MessagePattern.Part.Type;
				public static validateArgumentName(name: string): number;
				public partSubstringMatches(part: android.icu.text.MessagePattern.Part, s: string): boolean;
				public cloneAsThawed(): any;
				public hasNamedArguments(): boolean;
				public equals(other: any): boolean;
				public parse(pattern: string): android.icu.text.MessagePattern;
				public hashCode(): number;
				public clear(): void;
				public getSubstring(part: android.icu.text.MessagePattern.Part): string;
				public clone(): any;
				public constructor(pattern: string);
				public getPluralOffset(pluralStart: number): number;
				public getNumericValue(part: android.icu.text.MessagePattern.Part): number;
				public cloneAsThawed(): android.icu.text.MessagePattern;
				public parsePluralStyle(pattern: string): android.icu.text.MessagePattern;
				public clearPatternAndSetApostropheMode(mode: android.icu.text.MessagePattern.ApostropheMode): void;
				public parseChoiceStyle(pattern: string): android.icu.text.MessagePattern;
				public countParts(): number;
				public toString(): string;
				public getPatternIndex(partIndex: number): number;
				public getLimitPartIndex(start: number): number;
				public freeze(): any;
				public getPatternString(): string;
				public hasNumberedArguments(): boolean;
				public parseSelectStyle(pattern: string): android.icu.text.MessagePattern;
			}
			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(): androidNative.Array<android.icu.text.MessagePattern.ApostropheMode>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
					public static valueOf(name: string): android.icu.text.MessagePattern.ApostropheMode;
				}
				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(): androidNative.Array<android.icu.text.MessagePattern.ArgType>;
					public static valueOf(name: string): android.icu.text.MessagePattern.ArgType;
					public hasPluralStyle(): boolean;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 toString(): string;
					public getValue(): number;
					public getType(): android.icu.text.MessagePattern.Part.Type;
					public getLength(): number;
					public getLimit(): number;
					public equals(other: any): boolean;
					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 values(): androidNative.Array<android.icu.text.MessagePattern.Part.Type>;
						public static valueOf(name: string): android.icu.text.MessagePattern.Part.Type;
						public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
					}
				}
			}
		}
	}
}

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: 32768;
				public static COMPARE_IGNORE_CASE: 65536;
				public static FOLD_CASE_DEFAULT: 0;
				public static FOLD_CASE_EXCLUDE_SPECIAL_I: 1;
				public static INPUT_IS_FCD: 131072;
				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(s1: androidNative.Array<string>, s1Start: number, s1Limit: number, s2: androidNative.Array<string>, s2Start: number, s2Limit: number, options: number): number;
				/** @deprecated */
				public clone(): any;
				public static compare(char32a: number, str2: string, options: number): number;
				public static compare(s1: androidNative.Array<string>, s2: androidNative.Array<string>, options: number): number;
				public static compare(s1: string, s2: string, options: number): number;
				public static compare(char32a: number, char32b: number, options: 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 normalize(src: string): string;
				public getDecomposition(param0: number): string;
				public composePair(a: number, b: number): number;
				public hasBoundaryAfter(param0: number): boolean;
				public quickCheck(param0: string): android.icu.text.Normalizer.QuickCheckResult;
				public spanQuickCheckYes(param0: string): number;
				public static getNFCInstance(): android.icu.text.Normalizer2;
				public static getNFDInstance(): android.icu.text.Normalizer2;
				public static getNFKCInstance(): android.icu.text.Normalizer2;
				public isInert(param0: number): boolean;
				public getCombiningClass(c: number): number;
				/** @deprecated */
				public static getInstance(data: java.io.InputStream, name: string, mode: android.icu.text.Normalizer2.Mode): android.icu.text.Normalizer2;
				public normalize(param0: string, param1: java.lang.Appendable): java.lang.Appendable;
				public getRawDecomposition(c: number): string;
				public static getNFKDInstance(): 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 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 valueOf(name: string): android.icu.text.Normalizer2.Mode;
					public static values(): androidNative.Array<android.icu.text.Normalizer2.Mode>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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: 7;
				public static CASHCURRENCYSTYLE: 8;
				public static CURRENCYSTYLE: 1;
				public static FRACTION_FIELD: 1;
				public static INTEGERSTYLE: 4;
				public static INTEGER_FIELD: 0;
				public static ISOCURRENCYSTYLE: 5;
				public static NUMBERSTYLE: 0;
				public static PERCENTSTYLE: 2;
				public static PLURALCURRENCYSTYLE: 6;
				public static SCIENTIFICSTYLE: 3;
				public static STANDARDCURRENCYSTYLE: 9;
				public setContext(context: android.icu.text.DisplayContext): void;
				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 getCurrencyInstance(inLocale: java.util.Locale): android.icu.text.NumberFormat;
				public static getScientificInstance(): android.icu.text.NumberFormat;
				public getCurrency(): android.icu.util.Currency;
				public parse(text: string): java.lang.Number;
				public constructor();
				public parseCurrency(text: string, pos: java.text.ParsePosition): android.icu.util.CurrencyAmount;
				public setMinimumFractionDigits(newValue: number): void;
				public getContext(type: android.icu.text.DisplayContext.Type): android.icu.text.DisplayContext;
				public hashCode(): number;
				public static getScientificInstance(inLocale: java.util.Locale): android.icu.text.NumberFormat;
				public setCurrency(theCurrency: android.icu.util.Currency): void;
				public clone(): any;
				public format(number: android.icu.math.BigDecimal): string;
				public static getPercentInstance(inLocale: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public static getInstance(inLocale: java.util.Locale, style: number): android.icu.text.NumberFormat;
				public format(number: java.math.BigDecimal): string;
				public setParseIntegerOnly(value: boolean): void;
				public isParseIntegerOnly(): boolean;
				public static getScientificInstance(inLocale: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public getMinimumFractionDigits(): number;
				public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
				public static getIntegerInstance(inLocale: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public setMinimumIntegerDigits(newValue: number): void;
				public format(param0: android.icu.math.BigDecimal, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public setParseStrict(value: boolean): void;
				public static getInstance(inLocale: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public format(param0: java.math.BigDecimal, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public static getPercentInstance(inLocale: java.util.Locale): android.icu.text.NumberFormat;
				public isGroupingUsed(): boolean;
				public format(obj: any): string;
				public static getInstance(style: number): android.icu.text.NumberFormat;
				public isParseStrict(): boolean;
				public parseObject(source: string): any;
				public parseObject(source: string, parsePosition: java.text.ParsePosition): any;
				public static getInstance(inLocale: java.util.Locale): android.icu.text.NumberFormat;
				public getMinimumIntegerDigits(): number;
				public getMaximumIntegerDigits(): number;
				public static getCurrencyInstance(): android.icu.text.NumberFormat;
				public format(number: any, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public format(currAmt: android.icu.util.CurrencyAmount): string;
				public setRoundingMode(roundingMode: number): void;
				public getRoundingMode(): number;
				public static getPattern(forLocale: android.icu.util.ULocale, choice: number): string;
				public static getCurrencyInstance(inLocale: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public format(currAmt: android.icu.util.CurrencyAmount, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public static getIntegerInstance(): android.icu.text.NumberFormat;
				public setMaximumIntegerDigits(newValue: number): void;
				public static getInstance(): android.icu.text.NumberFormat;
				public static getNumberInstance(inLocale: java.util.Locale): android.icu.text.NumberFormat;
				public format(number: number): string;
				public static getIntegerInstance(inLocale: java.util.Locale): android.icu.text.NumberFormat;
				public static getPercentInstance(): android.icu.text.NumberFormat;
				public static getNumberInstance(inLocale: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public getMaximumFractionDigits(): number;
				public equals(obj: any): boolean;
				public static getInstance(desiredLocale: android.icu.util.ULocale, choice: number): android.icu.text.NumberFormat;
				public setMaximumFractionDigits(newValue: number): void;
				public format(number: java.math.BigInteger): string;
				public setGroupingUsed(newValue: boolean): void;
				public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			}
			export module NumberFormat {
				export class Field extends java.text.Format.Field {
					public static class: java.lang.Class<android.icu.text.NumberFormat.Field>;
					public static APPROXIMATELY_SIGN: android.icu.text.NumberFormat.Field;
					public static COMPACT: 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 MEASURE_UNIT: 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 readResolve(): any;
					public constructor(fieldName: string);
				}
			}
		}
	}
}

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 LATIN: android.icu.text.NumberingSystem;
				public static getInstanceByName(name: string): android.icu.text.NumberingSystem;
				public static getInstance(): android.icu.text.NumberingSystem;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.NumberingSystem;
				public static isValidDigitString(str: string): boolean;
				public isAlgorithmic(): boolean;
				public getDescription(): string;
				public getName(): string;
				public static getInstance(radix_in: number, isAlgorithmic_in: boolean, desc_in: string): android.icu.text.NumberingSystem;
				public static getAvailableNames(): androidNative.Array<string>;
				public getRadix(): number;
				public static getInstance(inLocale: java.util.Locale): android.icu.text.NumberingSystem;
				public constructor();
			}
		}
	}
}

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(obj: any): string;
				public toPattern(): string;
				public parse(text: string, parsePosition: java.text.ParsePosition): java.lang.Number;
				public parseObject(source: string): any;
				public constructor();
				public equals(rhs: any): boolean;
				public constructor(ulocale: android.icu.util.ULocale, type: android.icu.text.PluralRules.PluralType);
				public applyPattern(pattern: string): void;
				public hashCode(): number;
				public format(number: any, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public constructor(locale: java.util.Locale, rules: android.icu.text.PluralRules);
				public constructor(ulocale: android.icu.util.ULocale, pattern: string);
				public constructor(pattern: string);
				public constructor(rules: android.icu.text.PluralRules, pattern: string);
				public constructor(locale: java.util.Locale, type: android.icu.text.PluralRules.PluralType);
				public constructor(ulocale: android.icu.util.ULocale, rules: android.icu.text.PluralRules);
				public equals(rhs: android.icu.text.PluralFormat): boolean;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public setNumberFormat(format: android.icu.text.NumberFormat): void;
				public format(number: number): string;
				public toString(): string;
				public constructor(locale: java.util.Locale);
				public constructor(rules: android.icu.text.PluralRules);
				public constructor(ulocale: android.icu.util.ULocale, type: android.icu.text.PluralRules.PluralType, pattern: string);
				public constructor(ulocale: android.icu.util.ULocale);
				public constructor(ulocale: android.icu.util.ULocale, rules: android.icu.text.PluralRules, pattern: string);
				public parseObject(source: string, pos: java.text.ParsePosition): any;
			}
		}
	}
}

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: "few";
				public static KEYWORD_MANY: "many";
				public static KEYWORD_ONE: "one";
				public static KEYWORD_OTHER: "other";
				public static KEYWORD_TWO: "two";
				public static KEYWORD_ZERO: "zero";
				public static NO_UNIQUE_VALUE: -0.00123456777;
				public select(number: android.icu.number.FormattedNumber): string;
				public select(number: number): string;
				public getUniqueKeywordValue(keyword: string): number;
				public getKeywords(): java.util.Set<string>;
				public getAllKeywordValues(keyword: string): java.util.Collection<java.lang.Double>;
				public toString(): string;
				public static forLocale(locale: android.icu.util.ULocale, type: android.icu.text.PluralRules.PluralType): android.icu.text.PluralRules;
				public select(range: android.icu.number.FormattedNumberRange): string;
				public equals(rhs: any): boolean;
				public static parseDescription(description: string): android.icu.text.PluralRules;
				public static createRules(description: string): android.icu.text.PluralRules;
				public hashCode(): number;
				public getSamples(keyword: string): java.util.Collection<java.lang.Double>;
				public static forLocale(locale: java.util.Locale): android.icu.text.PluralRules;
				public static forLocale(locale: java.util.Locale, type: android.icu.text.PluralRules.PluralType): android.icu.text.PluralRules;
				public static forLocale(locale: android.icu.util.ULocale): android.icu.text.PluralRules;
				public equals(rhs: android.icu.text.PluralRules): boolean;
			}
			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 values(): androidNative.Array<android.icu.text.PluralRules.PluralType>;
					public static valueOf(name: string): android.icu.text.PluralRules.PluralType;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 formatToValue(quantity: number, direction: android.icu.text.RelativeDateTimeFormatter.Direction, unit: android.icu.text.RelativeDateTimeFormatter.RelativeUnit): android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime;
				public static getInstance(locale: android.icu.util.ULocale, nf: android.icu.text.NumberFormat, style: android.icu.text.RelativeDateTimeFormatter.Style, capitalizationContext: android.icu.text.DisplayContext): android.icu.text.RelativeDateTimeFormatter;
				public format(direction: android.icu.text.RelativeDateTimeFormatter.Direction, unit: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit): string;
				public static getInstance(locale: java.util.Locale): android.icu.text.RelativeDateTimeFormatter;
				public formatToValue(offset: number, unit: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit): android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime;
				public combineDateAndTime(relativeDateString: string, timeString: string): string;
				public static getInstance(locale: android.icu.util.ULocale, nf: android.icu.text.NumberFormat): android.icu.text.RelativeDateTimeFormatter;
				public formatToValue(direction: android.icu.text.RelativeDateTimeFormatter.Direction, unit: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit): android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime;
				public getNumberFormat(): android.icu.text.NumberFormat;
				public formatNumericToValue(offset: number, unit: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit): android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime;
				public format(quantity: number, direction: android.icu.text.RelativeDateTimeFormatter.Direction, unit: android.icu.text.RelativeDateTimeFormatter.RelativeUnit): string;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.RelativeDateTimeFormatter;
				public formatNumeric(offset: number, unit: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit): string;
				public format(offset: number, unit: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit): string;
				public static getInstance(): android.icu.text.RelativeDateTimeFormatter;
				public getFormatStyle(): android.icu.text.RelativeDateTimeFormatter.Style;
				public getCapitalizationContext(): android.icu.text.DisplayContext;
				public static getInstance(locale: java.util.Locale, nf: android.icu.text.NumberFormat): android.icu.text.RelativeDateTimeFormatter;
			}
			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 HOUR: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static MINUTE: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static valueOf(name: string): android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static values(): androidNative.Array<android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 values(): androidNative.Array<android.icu.text.RelativeDateTimeFormatter.Direction>;
					public static valueOf(name: string): android.icu.text.RelativeDateTimeFormatter.Direction;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class FormattedRelativeDateTime extends java.lang.Object implements android.icu.text.FormattedValue {
					public static class: java.lang.Class<android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime>;
					public nextPosition(cfpos: android.icu.text.ConstrainedFieldPosition): boolean;
					public chars(): java.util.stream.IntStream;
					public isEmpty(): boolean;
					public subSequence(param0: number, param1: number): string;
					public static compare(cs1: string, cs2: string): number;
					public subSequence(start: number, end: number): string;
					public codePoints(): java.util.stream.IntStream;
					public length(): number;
					public toString(): string;
					public appendTo(appendable: java.lang.Appendable): java.lang.Appendable;
					public charAt(index: number): string;
					public charAt(param0: number): string;
					public toCharacterIterator(): java.text.AttributedCharacterIterator;
					public appendTo(param0: java.lang.Appendable): java.lang.Appendable;
					public nextPosition(param0: android.icu.text.ConstrainedFieldPosition): boolean;
				}
				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(name: string): android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static values(): androidNative.Array<android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 valueOf(name: string): android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static values(): androidNative.Array<android.icu.text.RelativeDateTimeFormatter.RelativeUnit>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(): androidNative.Array<android.icu.text.RelativeDateTimeFormatter.Style>;
					public static valueOf(name: string): android.icu.text.RelativeDateTimeFormatter.Style;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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: androidNative.Array<string>, param3: number): void;
					replace(param0: number, param1: number, param2: string): void;
					replace(param0: number, param1: number, param2: androidNative.Array<string>, param3: number, param4: number): void;
					copy(param0: number, param1: number, param2: number): void;
					hasMetaData(): boolean;
				});
				public constructor();
				public getChars(param0: number, param1: number, param2: androidNative.Array<string>, param3: number): void;
				public replace(param0: number, param1: number, param2: androidNative.Array<string>, param3: number, param4: number): void;
				public char32At(param0: number): number;
				public copy(param0: number, param1: number, param2: number): void;
				public length(): number;
				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 thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public static comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public cloneAsThawed(): android.icu.text.RuleBasedCollator;
				public setDecomposition(decomposition: number): void;
				public setStrength(newStrength: number): void;
				public getRules(fullrules: boolean): string;
				public compare(param0: any, param1: any): number;
				public constructor();
				public setCaseLevelDefault(): void;
				public getReorderCodes(): androidNative.Array<number>;
				public getDecomposition(): number;
				public hashCode(): number;
				public clone(): any;
				public setCaseFirstDefault(): void;
				public equals(param0: any): boolean;
				public setLowerCaseFirst(lowerfirst: boolean): void;
				public setNumericCollationDefault(): void;
				public static naturalOrder(): java.util.Comparator<any>;
				public setFrenchCollation(flag: boolean): void;
				public setAlternateHandlingDefault(): void;
				public thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
				public setStrengthDefault(): void;
				public equals(source: string, target: string): boolean;
				public getVariableTop(): number;
				public getCollationElementIterator(source: string): android.icu.text.CollationElementIterator;
				public isLowerCaseFirst(): boolean;
				public thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public setDecompositionDefault(): void;
				public thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public setNumericCollation(flag: boolean): void;
				public static nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
				public getContractionsAndExpansions(contractions: android.icu.text.UnicodeSet, expansions: android.icu.text.UnicodeSet, addPrefixes: boolean): void;
				public static comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public isAlternateHandlingShifted(): boolean;
				public getRules(): string;
				public setUpperCaseFirst(upperfirst: boolean): void;
				public cloneAsThawed(): android.icu.text.Collator;
				public compare(source: any, target: any): number;
				public isFrozen(): boolean;
				public setFrenchCollationDefault(): void;
				public getCollationElementIterator(source: android.icu.text.UCharacterIterator): android.icu.text.CollationElementIterator;
				public static reverseOrder(): java.util.Comparator<any>;
				public getUCAVersion(): android.icu.util.VersionInfo;
				public constructor(rules: string);
				public thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public getCollationKey(source: string): android.icu.text.CollationKey;
				public isUpperCaseFirst(): boolean;
				public getVersion(): android.icu.util.VersionInfo;
				public cloneAsThawed(): any;
				public setCaseLevel(flag: boolean): void;
				public reversed(): java.util.Comparator<any>;
				public static comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
				public getCollationElementIterator(source: java.text.CharacterIterator): android.icu.text.CollationElementIterator;
				public setMaxVariable(group: number): android.icu.text.RuleBasedCollator;
				public setMaxVariable(group: number): android.icu.text.Collator;
				public getTailoredSet(): android.icu.text.UnicodeSet;
				public static comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public getStrength(): number;
				public static comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
				public thenComparing(other: java.util.Comparator<any>): java.util.Comparator<any>;
				public static nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
				public freeze(): android.icu.text.Collator;
				public setAlternateHandlingShifted(shifted: boolean): void;
				public isCaseLevel(): boolean;
				public setReorderCodes(order: androidNative.Array<number>): void;
				public compare(source: string, target: string): number;
				public isFrenchCollation(): boolean;
				public equals(obj: any): boolean;
				public getNumericCollation(): boolean;
				public freeze(): 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 static getSuperscriptInstance(df: android.icu.text.DecimalFormat): android.icu.text.ScientificNumberFormatter;
				public static getMarkupInstance(df: android.icu.text.DecimalFormat, beginMarkup: string, endMarkup: string): android.icu.text.ScientificNumberFormatter;
				public static getMarkupInstance(locale: android.icu.util.ULocale, beginMarkup: string, endMarkup: string): android.icu.text.ScientificNumberFormatter;
				public format(number: any): string;
				public static getSuperscriptInstance(locale: android.icu.util.ULocale): 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: -1;
				public breakIterator: android.icu.text.BreakIterator;
				public matchLength: number;
				public targetText: java.text.CharacterIterator;
				public setIndex(position: number): void;
				public setBreakIterator(breakiter: android.icu.text.BreakIterator): void;
				public previous(): number;
				public first(): number;
				public getMatchLength(): number;
				public handlePrevious(param0: number): number;
				public setElementComparisonType(type: android.icu.text.SearchIterator.ElementComparisonType): void;
				public getIndex(): number;
				public preceding(position: number): number;
				public getElementComparisonType(): android.icu.text.SearchIterator.ElementComparisonType;
				public setOverlapping(allowOverlap: boolean): void;
				public getMatchStart(): number;
				public reset(): void;
				public isOverlapping(): boolean;
				public setMatchLength(length: number): void;
				public handleNext(param0: number): number;
				public constructor(target: java.text.CharacterIterator, breaker: android.icu.text.BreakIterator);
				public getBreakIterator(): android.icu.text.BreakIterator;
				public following(position: number): number;
				public setTarget(text: java.text.CharacterIterator): 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(name: string): android.icu.text.SearchIterator.ElementComparisonType;
					public static values(): androidNative.Array<android.icu.text.SearchIterator.ElementComparisonType>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(obj: any): string;
				public toPattern(): string;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public parseObject(source: string): any;
				public toString(): string;
				public constructor();
				public format(keyword: string): string;
				public equals(obj: any): boolean;
				public applyPattern(pattern: string): void;
				public hashCode(): number;
				public parseObject(source: string, pos: java.text.ParsePosition): any;
				public constructor(pattern: string);
				public format(keyword: any, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
			}
		}
	}
}

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(obj: any): string;
				public parse(text: string): java.util.Date;
				public subFormat(ch: string, count: number, beginOffset: number, pos: java.text.FieldPosition, fmtData: android.icu.text.DateFormatSymbols, cal: android.icu.util.Calendar): string;
				public toPattern(): string;
				public format(cal: android.icu.util.Calendar, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public setContext(context: android.icu.text.DisplayContext): void;
				public formatToCharacterIterator(obj: any): java.text.AttributedCharacterIterator;
				public patternCharToDateFormatField(ch: string): android.icu.text.DateFormat.Field;
				public matchString(text: string, start: number, field: number, data: androidNative.Array<string>, cal: android.icu.util.Calendar): number;
				public setTimeZoneFormat(tzfmt: android.icu.text.TimeZoneFormat): void;
				public parse(text: string, cal: android.icu.util.Calendar, parsePos: java.text.ParsePosition): void;
				public getTimeZoneFormat(): android.icu.text.TimeZoneFormat;
				public getNumberFormat(field: string): android.icu.text.NumberFormat;
				public constructor();
				public get2DigitYearStart(): java.util.Date;
				public setDateFormatSymbols(newFormatSymbols: android.icu.text.DateFormatSymbols): void;
				public subParse(text: string, start: number, ch: string, count: number, obeyCount: boolean, allowNegative: boolean, ambiguousYear: androidNative.Array<boolean>, cal: android.icu.util.Calendar): number;
				public toLocalizedPattern(): string;
				public hashCode(): number;
				public set2DigitYearStart(startDate: java.util.Date): void;
				public matchQuarterString(text: string, start: number, field: number, data: androidNative.Array<string>, cal: android.icu.util.Calendar): number;
				public clone(): any;
				public constructor(pattern: string);
				public format(date: java.util.Date): string;
				public format(date: java.util.Date, toAppendTo: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public constructor(pattern: string, override: string, loc: android.icu.util.ULocale);
				public applyLocalizedPattern(pat: string): void;
				public parse(text: string, pos: java.text.ParsePosition): java.util.Date;
				public applyPattern(pat: string): void;
				public getNumberFormat(): android.icu.text.NumberFormat;
				public constructor(pattern: string, loc: java.util.Locale);
				public constructor(pattern: string, loc: android.icu.util.ULocale);
				public setNumberFormat(fields: string, overrideNF: android.icu.text.NumberFormat): void;
				public format(obj: any, toAppendTo: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
				public equals(obj: any): boolean;
				public constructor(pattern: string, formatData: android.icu.text.DateFormatSymbols);
				public setNumberFormat(newNumberFormat: android.icu.text.NumberFormat): void;
				public getSymbols(): android.icu.text.DateFormatSymbols;
				public zeroPaddingNumber(value: number, minDigits: number, maxDigits: number): string;
				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: 6;
				public static BUFFER_OVERFLOW_ERROR: 9;
				public static CHECK_BIDI_ERROR: 4;
				public static DOMAIN_NAME_TOO_LONG_ERROR: 11;
				public static ILLEGAL_CHAR_FOUND: 1;
				public static INVALID_CHAR_FOUND: 0;
				public static LABEL_TOO_LONG_ERROR: 8;
				public static PROHIBITED_ERROR: 2;
				public static STD3_ASCII_RULES_ERROR: 5;
				public static UNASSIGNED_ERROR: 3;
				public static VERIFICATION_ERROR: 7;
				public static ZERO_LENGTH_LABEL: 10;
				public constructor(cause: java.lang.Throwable);
				public equals(other: any): boolean;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, error: number, rules: string, pos: number);
				public hashCode(): number;
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public toString(): string;
				public constructor(message: string, error: number, rules: string, pos: number, lineNumber: number);
				public constructor(message: string, error: number);
				public constructor();
				public getError(): number;
			}
		}
	}
}

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 setIndex(position: number): void;
				public getCollator(): android.icu.text.RuleBasedCollator;
				public setPattern(pattern: string): void;
				public getIndex(): number;
				public constructor(pattern: string, target: string);
				public getPattern(): string;
				public handleNext(position: number): number;
				public setCanonical(allowCanonical: boolean): void;
				public setCollator(collator: android.icu.text.RuleBasedCollator): void;
				public constructor(pattern: string, target: java.text.CharacterIterator, collator: android.icu.text.RuleBasedCollator, breakiter: android.icu.text.BreakIterator);
				public handlePrevious(position: number): number;
				public reset(): void;
				public isCanonical(): boolean;
				public constructor(pattern: string, target: java.text.CharacterIterator, locale: java.util.Locale);
				public constructor(pattern: string, target: java.text.CharacterIterator, locale: android.icu.util.ULocale);
				public constructor(target: java.text.CharacterIterator, breaker: android.icu.text.BreakIterator);
				public setTarget(text: java.text.CharacterIterator): void;
				public constructor(pattern: string, target: java.text.CharacterIterator, collator: 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): androidNative.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: "36";
				public lookup(param0: string): androidNative.Array<string>;
				public lookupMatcher(param0: number): android.icu.text.UnicodeMatcher;
				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(obj: any): string;
				public parseOffsetLocalizedGMT(text: string, pos: java.text.ParsePosition): number;
				public format(style: android.icu.text.TimeZoneFormat.Style, tz: android.icu.util.TimeZone, date: number): string;
				public parse(style: android.icu.text.TimeZoneFormat.Style, text: string, pos: java.text.ParsePosition, timeType: android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>): android.icu.util.TimeZone;
				public setTimeZoneNames(tznames: android.icu.text.TimeZoneNames): android.icu.text.TimeZoneFormat;
				public setDefaultParseOptions(options: java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>): android.icu.text.TimeZoneFormat;
				public isFrozen(): boolean;
				public formatToCharacterIterator(obj: any): java.text.AttributedCharacterIterator;
				public parseObject(source: string): any;
				public getGMTPattern(): string;
				public setGMTOffsetDigits(digits: string): android.icu.text.TimeZoneFormat;
				public formatOffsetISO8601Basic(offset: number, useUtcIndicator: boolean, isShort: boolean, ignoreSeconds: boolean): string;
				public constructor();
				public formatOffsetLocalizedGMT(offset: number): string;
				public cloneAsThawed(): any;
				public freeze(): android.icu.text.TimeZoneFormat;
				public getTimeZoneNames(): android.icu.text.TimeZoneNames;
				public formatOffsetShortLocalizedGMT(offset: number): string;
				public static getInstance(locale: java.util.Locale): android.icu.text.TimeZoneFormat;
				public getGMTOffsetPattern(type: android.icu.text.TimeZoneFormat.GMTOffsetPatternType): string;
				public setGMTPattern(pattern: string): android.icu.text.TimeZoneFormat;
				public format(obj: any, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
				public setGMTOffsetPattern(type: android.icu.text.TimeZoneFormat.GMTOffsetPatternType, pattern: string): android.icu.text.TimeZoneFormat;
				public format(style: android.icu.text.TimeZoneFormat.Style, tz: android.icu.util.TimeZone, date: number, timeType: android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>): string;
				public getGMTOffsetDigits(): string;
				public parseOffsetISO8601(text: string, pos: java.text.ParsePosition): number;
				public parseOffsetShortLocalizedGMT(text: string, pos: java.text.ParsePosition): number;
				public setGMTZeroFormat(gmtZeroFormat: string): android.icu.text.TimeZoneFormat;
				public parse(text: string): android.icu.util.TimeZone;
				public cloneAsThawed(): android.icu.text.TimeZoneFormat;
				public getDefaultParseOptions(): java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>;
				public constructor(locale: android.icu.util.ULocale);
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.TimeZoneFormat;
				public getGMTZeroFormat(): string;
				public freeze(): any;
				public parse(style: android.icu.text.TimeZoneFormat.Style, text: string, pos: java.text.ParsePosition, options: java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>, timeType: android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>): android.icu.util.TimeZone;
				public parse(text: string, pos: java.text.ParsePosition): android.icu.util.TimeZone;
				public parseObject(source: string, pos: java.text.ParsePosition): any;
				public formatOffsetISO8601Extended(offset: number, useUtcIndicator: boolean, isShort: boolean, ignoreSeconds: boolean): string;
			}
			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(): androidNative.Array<android.icu.text.TimeZoneFormat.GMTOffsetPatternType>;
					public static valueOf(name: string): android.icu.text.TimeZoneFormat.GMTOffsetPatternType;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 values(): androidNative.Array<android.icu.text.TimeZoneFormat.ParseOption>;
					public static valueOf(name: string): android.icu.text.TimeZoneFormat.ParseOption;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 values(): androidNative.Array<android.icu.text.TimeZoneFormat.Style>;
					public static valueOf(name: string): android.icu.text.TimeZoneFormat.Style;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 valueOf(name: string): android.icu.text.TimeZoneFormat.TimeType;
					public static values(): androidNative.Array<android.icu.text.TimeZoneFormat.TimeType>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 getInstance(locale: java.util.Locale): android.icu.text.TimeZoneNames;
				public getReferenceZoneID(param0: string, param1: string): string;
				public static getTZDBInstance(locale: android.icu.util.ULocale): android.icu.text.TimeZoneNames;
				public getAvailableMetaZoneIDs(): java.util.Set<string>;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.text.TimeZoneNames;
				public getDisplayName(tzID: string, type: android.icu.text.TimeZoneNames.NameType, date: number): string;
				public getTimeZoneDisplayName(param0: string, param1: android.icu.text.TimeZoneNames.NameType): string;
				public getMetaZoneDisplayName(param0: string, param1: android.icu.text.TimeZoneNames.NameType): string;
				public getExemplarLocationName(tzID: string): 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(): androidNative.Array<android.icu.text.TimeZoneNames.NameType>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
					public static valueOf(name: string): android.icu.text.TimeZoneNames.NameType;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class Transliterator extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.Transliterator>;
				public static FORWARD: 0;
				public static REVERSE: 1;
				public transliterate(text: android.icu.text.Replaceable, index: android.icu.text.Transliterator.Position, insertion: number): void;
				public static getAvailableSources(): java.util.Enumeration<string>;
				public static getDisplayName(id: string, inLocale: java.util.Locale): string;
				public setFilter(filter: android.icu.text.UnicodeFilter): void;
				public static createFromRules(ID: string, rules: string, dir: number): android.icu.text.Transliterator;
				public getTargetSet(): android.icu.text.UnicodeSet;
				public transliterate(text: android.icu.text.Replaceable, start: number, limit: number): number;
				public getElements(): androidNative.Array<android.icu.text.Transliterator>;
				public filteredTransliterate(text: android.icu.text.Replaceable, index: android.icu.text.Transliterator.Position, incremental: boolean): void;
				public transliterate(text: string): string;
				public static getDisplayName(id: string, inLocale: android.icu.util.ULocale): string;
				public static getInstance(ID: string): android.icu.text.Transliterator;
				public static getInstance(ID: string, dir: number): android.icu.text.Transliterator;
				public getSourceSet(): android.icu.text.UnicodeSet;
				public transliterate(text: android.icu.text.Replaceable, index: android.icu.text.Transliterator.Position): void;
				public toRules(escapeUnprintable: boolean): string;
				public getInverse(): android.icu.text.Transliterator;
				public static getAvailableIDs(): java.util.Enumeration<string>;
				public finishTransliteration(text: android.icu.text.Replaceable, index: android.icu.text.Transliterator.Position): void;
				public transliterate(text: android.icu.text.Replaceable): void;
				public static getAvailableVariants(source: string, target: string): java.util.Enumeration<string>;
				public getFilter(): android.icu.text.UnicodeFilter;
				public transliterate(text: android.icu.text.Replaceable, index: android.icu.text.Transliterator.Position, insertion: string): void;
				public static getDisplayName(ID: string): string;
				public static getAvailableTargets(source: string): java.util.Enumeration<string>;
				public getMaximumContextLength(): number;
				public getID(): string;
			}
			export module Transliterator {
				export class Position extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.Transliterator.Position>;
					public contextLimit: number;
					public contextStart: number;
					public limit: number;
					public start: number;
					public equals(obj: any): boolean;
					public toString(): string;
					public set(pos: android.icu.text.Transliterator.Position): void;
					public constructor();
					public validate(length: number): void;
					public constructor(pos: android.icu.text.Transliterator.Position);
					public constructor(contextStart: number, contextLimit: number, start: number, limit: number);
					public hashCode(): number;
					public constructor(contextStart: number, contextLimit: number, start: number);
				}
			}
		}
	}
}

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: -1;
				public static getInstance(source: java.lang.StringBuffer): android.icu.text.UCharacterIterator;
				public previous(): number;
				public static getInstance(source: androidNative.Array<string>, start: number, limit: number): android.icu.text.UCharacterIterator;
				public previousCodePoint(): number;
				public nextCodePoint(): number;
				public getIndex(): number;
				public getText(fillIn: androidNative.Array<string>): number;
				public constructor();
				public moveCodePointIndex(delta: number): number;
				public clone(): any;
				public getText(param0: androidNative.Array<string>, param1: number): number;
				public setToStart(): void;
				public static getInstance(source: string): android.icu.text.UCharacterIterator;
				public current(): number;
				public currentCodePoint(): number;
				public getLength(): number;
				public getCharacterIterator(): java.text.CharacterIterator;
				public setIndex(param0: number): void;
				public getText(): string;
				public static getInstance(source: androidNative.Array<string>): android.icu.text.UCharacterIterator;
				public setToLimit(): void;
				public static getInstance(source: android.icu.text.Replaceable): android.icu.text.UCharacterIterator;
				public moveIndex(delta: number): number;
				public next(): number;
				public static getInstance(source: java.text.CharacterIterator): android.icu.text.UCharacterIterator;
			}
		}
	}
}

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 matches(text: android.icu.text.Replaceable, offset: androidNative.Array<number>, limit: number, incremental: boolean): number;
				public addMatchSetTo(param0: android.icu.text.UnicodeSet): void;
				public toPattern(param0: boolean): string;
				public matchesIndexValue(param0: number): boolean;
				public contains(param0: number): boolean;
				public matches(param0: android.icu.text.Replaceable, param1: androidNative.Array<number>, param2: number, param3: boolean): number;
			}
		}
	}
}

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: androidNative.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: 1;
				public static ETHER: "65535";
				public static U_MISMATCH: 0;
				public static U_MATCH: 2;
				public addMatchSetTo(param0: android.icu.text.UnicodeSet): void;
				public toPattern(param0: boolean): string;
				public matchesIndexValue(param0: number): boolean;
				public matches(param0: android.icu.text.Replaceable, param1: androidNative.Array<number>, param2: number, param3: boolean): number;
			}
		}
	}
}

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: 4;
				public static ALL_CODE_POINTS: android.icu.text.UnicodeSet;
				public static CASE: 2;
				public static CASE_INSENSITIVE: 2;
				public static EMPTY: android.icu.text.UnicodeSet;
				public static IGNORE_SPACE: 1;
				public static MAX_VALUE: 1114111;
				public static MIN_VALUE: 0;
				public remove(s: string): android.icu.text.UnicodeSet;
				public constructor(pattern: string, pos: java.text.ParsePosition, symbols: android.icu.text.SymbolTable, options: number);
				public matchesIndexValue(v: number): boolean;
				public addMatchSetTo(toUnionTo: android.icu.text.UnicodeSet): void;
				public constructor(start: number, end: number);
				public containsSome(s: android.icu.text.UnicodeSet): boolean;
				public addAll(collection: androidNative.Array<string>): android.icu.text.UnicodeSet;
				public containsNone(start: number, end: number): boolean;
				public addAll(source: java.lang.Iterable<any>): android.icu.text.UnicodeSet;
				public containsAll(s: string): boolean;
				public complement(s: string): android.icu.text.UnicodeSet;
				public retainAll(c: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public complementAll(c: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public spanBack(s: string, spanCondition: android.icu.text.UnicodeSet.SpanCondition): number;
				public contains(c: number): boolean;
				public static from(s: string): android.icu.text.UnicodeSet;
				public getRangeStart(index: number): number;
				public isEmpty(): boolean;
				public span(s: string, start: number, spanCondition: android.icu.text.UnicodeSet.SpanCondition): number;
				public constructor(pattern: string, options: number);
				public retainAll(s: string): android.icu.text.UnicodeSet;
				public containsSome(s: string): boolean;
				public spliterator(): java.util.Spliterator<any>;
				public containsNone(s: string): boolean;
				public add(start: number, end: number): android.icu.text.UnicodeSet;
				public forEach(action: any /* any*/): void;
				public removeAll(collection: java.lang.Iterable<any>): android.icu.text.UnicodeSet;
				public matchesIndexValue(param0: number): boolean;
				public cloneAsThawed(): android.icu.text.UnicodeSet;
				public size(): number;
				public containsAll(b: android.icu.text.UnicodeSet): boolean;
				public freeze(): android.icu.text.UnicodeSet;
				public add(source: java.lang.Iterable<any>): android.icu.text.UnicodeSet;
				public add(c: number): android.icu.text.UnicodeSet;
				public closeOver(attribute: number): android.icu.text.UnicodeSet;
				public strings(): java.util.Collection<string>;
				public containsNone(collection: java.lang.Iterable<any>): boolean;
				public addAll(s: string): android.icu.text.UnicodeSet;
				public set(start: number, end: number): android.icu.text.UnicodeSet;
				public complementAll(s: string): android.icu.text.UnicodeSet;
				public compact(): android.icu.text.UnicodeSet;
				public applyPropertyAlias(propertyAlias: string, valueAlias: string): android.icu.text.UnicodeSet;
				public compareTo(o: android.icu.text.UnicodeSet, style: android.icu.text.UnicodeSet.ComparisonStyle): number;
				public cloneAsThawed(): any;
				public retain(start: number, end: number): android.icu.text.UnicodeSet;
				public complement(start: number, end: number): android.icu.text.UnicodeSet;
				public getRangeCount(): number;
				public ranges(): java.lang.Iterable<android.icu.text.UnicodeSet.EntryRange>;
				public getRangeEnd(index: number): number;
				public applyPattern(pattern: string, ignoreWhitespace: boolean): android.icu.text.UnicodeSet;
				public _generatePattern(result: java.lang.StringBuffer, escapeUnprintable: boolean, includeStrings: boolean): java.lang.StringBuffer;
				public compareTo(other: java.lang.Iterable<string>): number;
				public remove(c: number): android.icu.text.UnicodeSet;
				public toPattern(escapeUnprintable: boolean): string;
				public charAt(index: number): number;
				public spanBack(s: string, fromIndex: number, spanCondition: android.icu.text.UnicodeSet.SpanCondition): number;
				public addAll(c: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public _generatePattern(result: java.lang.StringBuffer, escapeUnprintable: boolean): java.lang.StringBuffer;
				public hasStrings(): boolean;
				public freeze(): any;
				public constructor();
				public constructor(pairs: androidNative.Array<number>);
				public span(s: string, spanCondition: android.icu.text.UnicodeSet.SpanCondition): number;
				public containsSome(collection: java.lang.Iterable<any>): boolean;
				public removeAll(s: string): android.icu.text.UnicodeSet;
				public hashCode(): number;
				public constructor(pattern: string, pos: java.text.ParsePosition, symbols: android.icu.text.SymbolTable);
				public clone(): any;
				public remove(start: number, end: number): android.icu.text.UnicodeSet;
				public constructor(other: android.icu.text.UnicodeSet);
				public applyPattern(pattern: string, options: number): android.icu.text.UnicodeSet;
				public addAllTo(target: java.util.Collection<any>): java.util.Collection<any>;
				public removeAll(c: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public clear(): android.icu.text.UnicodeSet;
				public set(other: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public complement(): android.icu.text.UnicodeSet;
				public contains(start: number, end: number): boolean;
				public toPattern(param0: boolean): string;
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public complement(c: number): android.icu.text.UnicodeSet;
				public matches(text: android.icu.text.Replaceable, offset: androidNative.Array<number>, limit: number, incremental: boolean): number;
				public addMatchSetTo(param0: android.icu.text.UnicodeSet): void;
				public iterator(): java.util.Iterator<string>;
				public removeAllStrings(): android.icu.text.UnicodeSet;
				public indexOf(c: number): number;
				public isFrozen(): boolean;
				public containsNone(b: android.icu.text.UnicodeSet): boolean;
				public compareTo(o: android.icu.text.UnicodeSet): number;
				public containsSome(start: number, end: number): boolean;
				public applyPropertyAlias(propertyAlias: string, valueAlias: string, symbols: android.icu.text.SymbolTable): android.icu.text.UnicodeSet;
				public retain(cs: string): android.icu.text.UnicodeSet;
				public retain(c: number): android.icu.text.UnicodeSet;
				public addAll(start: number, end: number): android.icu.text.UnicodeSet;
				public equals(o: any): boolean;
				public retainAll(collection: java.lang.Iterable<any>): android.icu.text.UnicodeSet;
				public constructor(pattern: string);
				public constructor(pattern: string, ignoreWhitespace: boolean);
				public containsAll(collection: java.lang.Iterable<any>): boolean;
				public add(s: string): android.icu.text.UnicodeSet;
				public static fromAll(s: string): android.icu.text.UnicodeSet;
				public contains(s: string): boolean;
				public applyIntPropertyValue(prop: number, value: number): android.icu.text.UnicodeSet;
				public applyPattern(pattern: string): android.icu.text.UnicodeSet;
				public matches(param0: android.icu.text.Replaceable, param1: androidNative.Array<number>, param2: number, param3: boolean): number;
			}
			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 valueOf(name: string): android.icu.text.UnicodeSet.ComparisonStyle;
					public static values(): androidNative.Array<android.icu.text.UnicodeSet.ComparisonStyle>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				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 valueOf(name: string): android.icu.text.UnicodeSet.SpanCondition;
					public static values(): androidNative.Array<android.icu.text.UnicodeSet.SpanCondition>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 reset(): void;
				public getString(): string;
				public next(): boolean;
				public constructor(set: android.icu.text.UnicodeSet);
				public reset(uset: android.icu.text.UnicodeSet): void;
				public constructor();
				public skipToStrings(): android.icu.text.UnicodeSetIterator;
				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 deleteFrom(sequence: string): string;
				public countIn(sequence: string, countMethod: android.icu.text.UnicodeSetSpanner.CountMethod, spanCondition: android.icu.text.UnicodeSet.SpanCondition): number;
				public replaceFrom(sequence: string, replacement: string, countMethod: android.icu.text.UnicodeSetSpanner.CountMethod, spanCondition: android.icu.text.UnicodeSet.SpanCondition): string;
				public replaceFrom(sequence: string, replacement: string): string;
				public countIn(sequence: string): number;
				public countIn(sequence: string, countMethod: android.icu.text.UnicodeSetSpanner.CountMethod): number;
				public trim(sequence: string, trimOption: android.icu.text.UnicodeSetSpanner.TrimOption, spanCondition: android.icu.text.UnicodeSet.SpanCondition): string;
				public deleteFrom(sequence: string, spanCondition: android.icu.text.UnicodeSet.SpanCondition): string;
				public equals(other: any): boolean;
				public replaceFrom(sequence: string, replacement: string, countMethod: android.icu.text.UnicodeSetSpanner.CountMethod): string;
				public hashCode(): number;
				public trim(sequence: string): string;
				public constructor(source: android.icu.text.UnicodeSet);
				public getUnicodeSet(): android.icu.text.UnicodeSet;
				public trim(sequence: string, trimOption: android.icu.text.UnicodeSetSpanner.TrimOption): 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 valueOf(name: string): android.icu.text.UnicodeSetSpanner.CountMethod;
					public static values(): androidNative.Array<android.icu.text.UnicodeSetSpanner.CountMethod>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(name: string): android.icu.text.UnicodeSetSpanner.TrimOption;
					public static values(): androidNative.Array<android.icu.text.UnicodeSetSpanner.TrimOption>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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: 0;
				public getType(): string;
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(locale: android.icu.util.ULocale);
				public handleComputeFields(julianDay: number): void;
				public handleGetLimit(field: number, limitType: number): number;
				public constructor(year: number, month: number, date: number);
				public constructor();
				public handleComputeMonthStart(eyear: number, month: number, useMonth: boolean): number;
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public handleGetExtendedYear(): number;
				public constructor(aLocale: java.util.Locale);
				public constructor(date: java.util.Date);
				public constructor(year: number, month: number, date: number, hour: number, minute: number);
				public constructor(zone: android.icu.util.TimeZone);
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
			}
		}
	}
}

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: 0;
				public static AM_PM: 9;
				public static APRIL: 3;
				public static AUGUST: 7;
				public static DATE: 5;
				public static DAY_OF_MONTH: 5;
				public static DAY_OF_WEEK: 7;
				public static DAY_OF_WEEK_IN_MONTH: 8;
				public static DAY_OF_YEAR: 6;
				public static DECEMBER: 11;
				public static DOW_LOCAL: 18;
				public static DST_OFFSET: 16;
				public static EPOCH_JULIAN_DAY: 2440588;
				public static ERA: 0;
				public static EXTENDED_YEAR: 19;
				public static FEBRUARY: 1;
				public static FRIDAY: 6;
				public static GREATEST_MINIMUM: 1;
				public static HOUR: 10;
				public static HOUR_OF_DAY: 11;
				public static INTERNALLY_SET: 1;
				public static IS_LEAP_MONTH: 22;
				public static JANUARY: 0;
				public static JAN_1_1_JULIAN_DAY: 1721426;
				public static JULIAN_DAY: 20;
				public static JULY: 6;
				public static JUNE: 5;
				public static LEAST_MAXIMUM: 2;
				public static MARCH: 2;
				public static MAXIMUM: 3;
				public static MAX_DATE: java.util.Date;
				public static MAX_FIELD_COUNT: 32;
				public static MAX_JULIAN: 2130706432;
				public static MAX_MILLIS: 183882168921600000;
				public static MAY: 4;
				public static MILLISECOND: 14;
				public static MILLISECONDS_IN_DAY: 21;
				public static MINIMUM: 0;
				public static MINIMUM_USER_STAMP: 2;
				public static MINUTE: 12;
				public static MIN_DATE: java.util.Date;
				public static MIN_JULIAN: -2130706432;
				public static MIN_MILLIS: -184303902528000000;
				public static MONDAY: 2;
				public static MONTH: 2;
				public static NOVEMBER: 10;
				public static OCTOBER: 9;
				public static ONE_DAY: 86400000;
				public static ONE_HOUR: 3600000;
				public static ONE_MINUTE: 60000;
				public static ONE_SECOND: 1000;
				public static ONE_WEEK: 604800000;
				public static PM: 1;
				public static RESOLVE_REMAP: 32;
				public static SATURDAY: 7;
				public static SECOND: 13;
				public static SEPTEMBER: 8;
				public static SUNDAY: 1;
				public static THURSDAY: 5;
				public static TUESDAY: 3;
				public static UNDECIMBER: 12;
				public static UNSET: 0;
				public static WALLTIME_FIRST: 1;
				public static WALLTIME_LAST: 0;
				public static WALLTIME_NEXT_VALID: 2;
				public static WEDNESDAY: 4;
				public static WEEK_OF_MONTH: 4;
				public static WEEK_OF_YEAR: 3;
				public static YEAR: 1;
				public static YEAR_WOY: 17;
				public static ZONE_OFFSET: 15;
				public getDateTimeFormat(dateStyle: number, timeStyle: number, loc: android.icu.util.ULocale): android.icu.text.DateFormat;
				public setWeekData(wdata: android.icu.util.Calendar.WeekData): android.icu.util.Calendar;
				public getStamp(field: number): number;
				public pinField(field: number): void;
				public computeFields(): void;
				public getGregorianDayOfYear(): number;
				public set(year: number, month: number, date: number): void;
				public validateField(field: number): void;
				public handleGetExtendedYear(): number;
				public isLenient(): boolean;
				public handleGetMonthLength(extendedYear: number, month: number): number;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.util.Calendar;
				public getActualMinimum(field: number): number;
				public handleGetDateFormat(pattern: string, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public getType(): string;
				/** @deprecated */
				public computeMillisInDay(): number;
				public getTimeInMillis(): number;
				public static getInstance(zone: android.icu.util.TimeZone, aLocale: java.util.Locale): android.icu.util.Calendar;
				/** @deprecated */
				public computeZoneOffset(millis: number, millisInDay: number): number;
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public handleGetLimit(param0: number, param1: number): number;
				public isWeekend(date: java.util.Date): boolean;
				public internalGet(field: number): number;
				public getDateTimeFormat(dateStyle: number, timeStyle: number, loc: java.util.Locale): android.icu.text.DateFormat;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
				public set(field: number, value: number): void;
				public internalGet(field: number, defaultValue: number): number;
				public computeGregorianFields(julianDay: number): void;
				public handleGetDateFormat(pattern: string, locale: java.util.Locale): android.icu.text.DateFormat;
				public after(when: any): boolean;
				public setTime(date: java.util.Date): void;
				public setSkippedWallTimeOption(option: number): void;
				public isWeekend(): boolean;
				public getTime(): java.util.Date;
				public getSkippedWallTimeOption(): number;
				public validateFields(): void;
				public computeJulianDay(): number;
				public clear(): void;
				public clear(field: number): void;
				public getRepeatedWallTimeOption(): number;
				public static floorDivide(numerator: number, denominator: number): number;
				public complete(): void;
				public getMinimum(field: number): number;
				public static gregorianPreviousMonthLength(y: number, m: number): number;
				public setMinimalDaysInFirstWeek(value: number): void;
				public computeGregorianMonthStart(year: number, month: number): number;
				public roll(field: number, up: boolean): void;
				public static floorDivide(numerator: number, denominator: number, remainder: androidNative.Array<number>): number;
				public getLeastMaximum(field: number): number;
				public equals(obj: any): boolean;
				public compareTo(that: android.icu.util.Calendar): number;
				public newestStamp(first: number, last: number, bestStampSoFar: number): number;
				public setFirstDayOfWeek(value: number): void;
				public validateField(field: number, min: number, max: number): void;
				public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
				public handleCreateFields(): androidNative.Array<number>;
				public isEquivalentTo(other: android.icu.util.Calendar): boolean;
				public static getInstance(): android.icu.util.Calendar;
				public getDisplayName(loc: android.icu.util.ULocale): string;
				public getFieldCount(): number;
				public getMaximum(field: number): number;
				public weekNumber(desiredDay: number, dayOfPeriod: number, dayOfWeek: number): number;
				public internalSet(field: number, value: number): void;
				public constructor();
				public static julianDayToDayOfWeek(julian: number): number;
				public fieldDifference(when: java.util.Date, field: number): number;
				public hashCode(): number;
				public handleGetYearLength(eyear: number): number;
				public clone(): any;
				public setTimeZone(value: android.icu.util.TimeZone): void;
				public getGregorianDayOfMonth(): number;
				public getFirstDayOfWeek(): number;
				public static gregorianMonthLength(y: number, m: number): number;
				public getFieldResolutionTable(): androidNative.Array<androidNative.Array<androidNative.Array<number>>>;
				public static julianDayToMillis(julian: number): number;
				public toString(): string;
				public handleComputeJulianDay(bestField: number): number;
				public getGreatestMinimum(field: number): number;
				public newerField(defaultField: number, alternateField: number): number;
				public prepareGetActual(field: number, isMinimum: boolean): void;
				public static getInstance(aLocale: java.util.Locale): android.icu.util.Calendar;
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
				public setRepeatedWallTimeOption(option: number): void;
				public resolveFields(precedenceTable: androidNative.Array<androidNative.Array<androidNative.Array<number>>>): number;
				public getGregorianYear(): number;
				public static getWeekDataForRegion(region: string): android.icu.util.Calendar.WeekData;
				public isSet(field: number): boolean;
				public getDisplayName(loc: java.util.Locale): string;
				public set(year: number, month: number, date: number, hour: number, minute: number): void;
				public getGregorianMonth(): number;
				public set(year: number, month: number, date: number, hour: number, minute: number, second: number): void;
				public static millisToJulianDay(millis: number): number;
				public static getInstance(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale): android.icu.util.Calendar;
				public getActualMaximum(field: number): number;
				public getMinimalDaysInFirstWeek(): number;
				public static isGregorianLeapYear(year: number): boolean;
				public roll(field: number, amount: number): void;
				public add(field: number, amount: number): void;
				public fieldName(field: number): string;
				public get(field: number): number;
				public computeTime(): void;
				public handleGetDateFormat(pattern: string, override: string, locale: java.util.Locale): android.icu.text.DateFormat;
				public static getKeywordValuesForLocale(key: string, locale: android.icu.util.ULocale, commonlyUsed: boolean): androidNative.Array<string>;
				public handleComputeFields(julianDay: number): void;
				public before(when: any): boolean;
				public setLenient(lenient: boolean): void;
				public getWeekData(): android.icu.util.Calendar.WeekData;
				public getLimit(field: number, limitType: number): number;
				public internalGetTimeInMillis(): number;
				public setTimeInMillis(millis: number): void;
				public getTimeZone(): android.icu.util.TimeZone;
				public static getInstance(zone: android.icu.util.TimeZone): android.icu.util.Calendar;
				public weekNumber(dayOfPeriod: number, dayOfWeek: number): number;
			}
			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 toString(): string;
					public constructor(fdow: number, mdifw: number, weekendOnset: number, weekendOnsetMillis: number, weekendCease: number, weekendCeaseMillis: number);
					public equals(other: any): boolean;
					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 constructor(era: number, year: number, month: number, isLeapMonth: number, date: number, hour: number, minute: number, second: number);
				public handleGetDateFormat(pattern: string, locale: java.util.Locale): android.icu.text.DateFormat;
				public constructor();
				public handleGetExtendedYear(): number;
				public constructor(era: number, year: number, month: number, isLeapMonth: number, date: number);
				public handleGetMonthLength(extendedYear: number, month: number): number;
				public constructor(year: number, month: number, isLeapMonth: number, date: number);
				public handleGetDateFormat(pattern: string, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public roll(field: number, amount: number): void;
				public add(field: number, amount: number): void;
				public getType(): string;
				public handleGetDateFormat(pattern: string, override: string, locale: android.icu.util.ULocale): android.icu.text.DateFormat;
				public getFieldResolutionTable(): androidNative.Array<androidNative.Array<androidNative.Array<number>>>;
				public handleGetDateFormat(pattern: string, override: string, locale: java.util.Locale): android.icu.text.DateFormat;
				public constructor(locale: android.icu.util.ULocale);
				public handleGetLimit(field: number, limitType: number): number;
				public handleComputeFields(julianDay: number): void;
				public roll(field: number, up: boolean): void;
				public handleComputeMonthStart(eyear: number, month: number, useMonth: boolean): number;
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public constructor(aLocale: java.util.Locale);
				public constructor(date: java.util.Date);
				public constructor(year: number, month: number, isLeapMonth: number, date: number, hour: number, minute: number, second: number);
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
				public constructor(zone: android.icu.util.TimeZone);
			}
		}
	}
}

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: 5;
				public static BABA: 1;
				public static BARAMHAT: 6;
				public static BARAMOUDA: 7;
				public static BASHANS: 8;
				public static EPEP: 10;
				public static HATOR: 2;
				public static KIAHK: 3;
				public static MESRA: 11;
				public static NASIE: 12;
				public static PAONA: 9;
				public static TOBA: 4;
				public static TOUT: 0;
				public getType(): string;
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(locale: android.icu.util.ULocale);
				public handleGetLimit(field: number, limitType: number): number;
				public constructor(year: number, month: number, date: number);
				public constructor();
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				/** @deprecated */
				public handleGetExtendedYear(): number;
				public constructor(aLocale: java.util.Locale);
				public constructor(date: java.util.Date);
				/** @deprecated */
				public handleComputeFields(julianDay: number): void;
				public handleComputeMonthStart(eyear: number, emonth: number, useMonth: boolean): number;
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
				public constructor(zone: android.icu.util.TimeZone);
			}
		}
	}
}

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 FORMAL_SYMBOL_NAME: 4;
				public static LONG_NAME: 1;
				public static NARROW_SYMBOL_NAME: 3;
				public static PLURAL_LONG_NAME: 2;
				public static SYMBOL_NAME: 0;
				public static VARIANT_SYMBOL_NAME: 5;
				public getSymbol(): string;
				public getSymbol(uloc: android.icu.util.ULocale): string;
				public getDisplayName(locale: java.util.Locale): string;
				public getNumericCode(): number;
				public static getAvailableCurrencies(): java.util.Set<android.icu.util.Currency>;
				public toJavaCurrency(): java.util.Currency;
				public getDisplayName(): string;
				public static getAvailableCurrencyCodes(loc: java.util.Locale, d: java.util.Date): androidNative.Array<string>;
				public getName(locale: java.util.Locale, nameStyle: number, isChoiceFormat: androidNative.Array<boolean>): string;
				public getRoundingIncrement(Usage: android.icu.util.Currency.CurrencyUsage): number;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.util.Currency;
				public getRoundingIncrement(): number;
				public getSymbol(loc: java.util.Locale): string;
				public getName(locale: android.icu.util.ULocale, nameStyle: number, pluralCount: string, isChoiceFormat: androidNative.Array<boolean>): string;
				public getCurrencyCode(): string;
				public getName(locale: android.icu.util.ULocale, nameStyle: number, isChoiceFormat: androidNative.Array<boolean>): string;
				public getDefaultFractionDigits(): number;
				public static getInstance(theISOCode: string): android.icu.util.Currency;
				public getDefaultFractionDigits(Usage: android.icu.util.Currency.CurrencyUsage): number;
				public constructor(theISOCode: string);
				public static getKeywordValuesForLocale(key: string, locale: android.icu.util.ULocale, commonlyUsed: boolean): androidNative.Array<string>;
				public static getInstance(locale: java.util.Locale): android.icu.util.Currency;
				public static getAvailableCurrencyCodes(loc: android.icu.util.ULocale, d: java.util.Date): androidNative.Array<string>;
				public toString(): string;
				public static isAvailable(code: string, from: java.util.Date, to: java.util.Date): boolean;
				public static fromJavaCurrency(currency: java.util.Currency): android.icu.util.Currency;
				public static getAvailableULocales(): androidNative.Array<android.icu.util.ULocale>;
				public getName(locale: java.util.Locale, nameStyle: number, pluralCount: string, isChoiceFormat: androidNative.Array<boolean>): string;
				public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			}
			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 values(): androidNative.Array<android.icu.util.Currency.CurrencyUsage>;
					public static valueOf(name: string): android.icu.util.Currency.CurrencyUsage;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

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(number: java.lang.Number, unit: android.icu.util.MeasureUnit);
				public constructor(number: java.lang.Number, currency: java.util.Currency);
				public constructor(number: number, currency: java.util.Currency);
				public constructor(number: java.lang.Number, currency: android.icu.util.Currency);
				public constructor(number: number, currency: android.icu.util.Currency);
				public getCurrency(): 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 getFromDate(): number;
				public getToDate(): number;
				public equals(a: any): boolean;
				public constructor(from: number, to: number);
				public hashCode(): number;
				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: 8;
				public static HAMLE: 10;
				public static HEDAR: 2;
				public static MEGABIT: 6;
				public static MESKEREM: 0;
				public static MIAZIA: 7;
				public static NEHASSE: 11;
				public static PAGUMEN: 12;
				public static SENE: 9;
				public static TAHSAS: 3;
				public static TEKEMT: 1;
				public static TER: 4;
				public static YEKATIT: 5;
				public getType(): string;
				public setAmeteAlemEra(onOff: boolean): void;
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(locale: android.icu.util.ULocale);
				public constructor(year: number, month: number, date: number);
				public constructor();
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public isAmeteAlemEra(): boolean;
				/** @deprecated */
				public handleGetExtendedYear(): number;
				public constructor(aLocale: java.util.Locale);
				public constructor(date: java.util.Date);
				/** @deprecated */
				public handleComputeFields(julianDay: number): void;
				public handleComputeMonthStart(eyear: number, emonth: number, useMonth: boolean): number;
				/** @deprecated */
				public handleGetLimit(field: number, limitType: number): number;
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
				public constructor(zone: android.icu.util.TimeZone);
			}
		}
	}
}

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: 1;
				public static BC: 0;
				public invertGregorian: boolean;
				public isGregorian: boolean;
				public isEquivalentTo(other: android.icu.util.Calendar): boolean;
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(year: number, month: number, date: number);
				public constructor();
				public isLeapYear(year: number): boolean;
				public handleGetExtendedYear(): number;
				public hashCode(): number;
				public handleGetMonthLength(extendedYear: number, month: number): number;
				public handleGetYearLength(eyear: number): number;
				public getActualMinimum(field: number): number;
				public getActualMaximum(field: number): number;
				public roll(field: number, amount: number): void;
				public getType(): string;
				public constructor(locale: android.icu.util.ULocale);
				public handleGetLimit(field: number, limitType: number): number;
				public handleComputeFields(julianDay: number): void;
				public handleComputeJulianDay(bestField: number): number;
				public roll(field: number, up: boolean): void;
				public handleComputeMonthStart(eyear: number, month: number, useMonth: boolean): number;
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public setGregorianChange(date: java.util.Date): void;
				public constructor(aLocale: java.util.Locale);
				public getGregorianChange(): java.util.Date;
				public constructor(year: number, month: number, date: number, hour: number, minute: number);
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
				public constructor(zone: android.icu.util.TimeZone);
			}
		}
	}
}

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: 6;
				public static ADAR_1: 5;
				public static AV: 11;
				public static ELUL: 12;
				public static HESHVAN: 1;
				public static IYAR: 8;
				public static KISLEV: 2;
				public static NISAN: 7;
				public static SHEVAT: 4;
				public static SIVAN: 9;
				public static TAMUZ: 10;
				public static TEVET: 3;
				public static TISHRI: 0;
				public getType(): string;
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(locale: android.icu.util.ULocale);
				public handleGetLimit(field: number, limitType: number): number;
				public handleComputeFields(julianDay: number): void;
				public constructor(year: number, month: number, date: number);
				public constructor();
				public roll(field: number, up: boolean): void;
				public handleComputeMonthStart(eyear: number, month: number, useMonth: boolean): number;
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public handleGetExtendedYear(): number;
				public constructor(aLocale: java.util.Locale);
				public handleGetMonthLength(extendedYear: number, month: number): number;
				public handleGetYearLength(eyear: number): number;
				public constructor(date: java.util.Date);
				/** @deprecated */
				public validateField(field: number): void;
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
				public constructor(zone: android.icu.util.TimeZone);
				public roll(field: number, amount: number): void;
				public add(field: number, amount: number): void;
				public validateField(field: number, min: number, max: number): void;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, errorIndex: number);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
				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: 8;
				public static ASADHA: 3;
				public static ASVINA: 6;
				public static BHADRA: 5;
				public static CHAITRA: 0;
				public static IE: 0;
				public static JYAISTHA: 2;
				public static KARTIKA: 7;
				public static MAGHA: 10;
				public static PAUSA: 9;
				public static PHALGUNA: 11;
				public static SRAVANA: 4;
				public static VAISAKHA: 1;
				public getType(): string;
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(locale: android.icu.util.ULocale);
				public handleComputeFields(julianDay: number): void;
				public handleGetLimit(field: number, limitType: number): number;
				public constructor(year: number, month: number, date: number);
				public constructor();
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public handleComputeMonthStart(year: number, month: number, useMonth: boolean): number;
				public handleGetExtendedYear(): number;
				public constructor(aLocale: java.util.Locale);
				public handleGetMonthLength(extendedYear: number, month: number): number;
				public constructor(date: java.util.Date);
				public handleGetYearLength(extendedYear: number): number;
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
				public constructor(zone: android.icu.util.TimeZone);
			}
		}
	}
}

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: 11;
				public static DHU_AL_QIDAH: 10;
				public static JUMADA_1: 4;
				public static JUMADA_2: 5;
				public static MUHARRAM: 0;
				public static RABI_1: 2;
				public static RABI_2: 3;
				public static RAJAB: 6;
				public static RAMADAN: 8;
				public static SAFAR: 1;
				public static SHABAN: 7;
				public static SHAWWAL: 9;
				public getType(): string;
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(locale: android.icu.util.ULocale);
				public handleGetLimit(field: number, limitType: number): number;
				public handleComputeFields(julianDay: number): void;
				public constructor(year: number, month: number, date: number);
				public constructor();
				public handleComputeMonthStart(eyear: number, month: number, useMonth: boolean): number;
				public getCalculationType(): android.icu.util.IslamicCalendar.CalculationType;
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public handleGetExtendedYear(): number;
				public constructor(aLocale: java.util.Locale);
				public handleGetMonthLength(extendedYear: number, month: number): number;
				public constructor(date: java.util.Date);
				public setCalculationType(type: android.icu.util.IslamicCalendar.CalculationType): void;
				public handleGetYearLength(extendedYear: number): number;
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
				public constructor(zone: android.icu.util.TimeZone);
			}
			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(): androidNative.Array<android.icu.util.IslamicCalendar.CalculationType>;
					public static valueOf(name: string): android.icu.util.IslamicCalendar.CalculationType;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

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 HEISEI: number;
				public static MEIJI: number;
				public static REIWA: number;
				public static SHOWA: number;
				public static TAISHO: number;
				public getType(): string;
				public constructor(era: number, year: number, month: number, date: number);
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(locale: android.icu.util.ULocale);
				public handleComputeFields(julianDay: number): void;
				public handleGetLimit(field: number, limitType: number): number;
				public constructor(year: number, month: number, date: number);
				public constructor();
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public handleGetExtendedYear(): number;
				public constructor(aLocale: java.util.Locale);
				public constructor(date: java.util.Date);
				public constructor(year: number, month: number, date: number, hour: number, minute: number);
				public getActualMaximum(field: number): number;
				public constructor(zone: android.icu.util.TimeZone);
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
			}
		}
	}
}

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: 3;
				public static ALT_QUOTATION_START: 2;
				public static QUOTATION_END: 1;
				public static QUOTATION_START: 0;
				public setNoSubstitute(setting: boolean): void;
				public static getCLDRVersion(): android.icu.util.VersionInfo;
				public static getInstance(): android.icu.util.LocaleData;
				public getNoSubstitute(): boolean;
				public getDelimiter(type: number): string;
				public static getInstance(locale: android.icu.util.ULocale): android.icu.util.LocaleData;
				public static getMeasurementSystem(locale: android.icu.util.ULocale): android.icu.util.LocaleData.MeasurementSystem;
				public static getPaperSize(locale: 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 constructor(number: java.lang.Number, unit: android.icu.util.MeasureUnit);
				public equals(obj: any): boolean;
				public hashCode(): number;
				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 ATMOSPHERE: 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 CANDELA: 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 DECADE: android.icu.util.MeasureUnit;
				public static DECILITER: android.icu.util.MeasureUnit;
				public static DECIMETER: android.icu.util.MeasureUnit;
				public static DEGREE: android.icu.util.MeasureUnit;
				public static DOT: android.icu.util.MeasureUnit;
				public static DOT_PER_CENTIMETER: android.icu.util.MeasureUnit;
				public static DOT_PER_INCH: android.icu.util.MeasureUnit;
				public static EM: 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 ITEM: 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 KILOWATT_HOUR_PER_100_KILOMETER: 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 LUMEN: 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 MEGAPIXEL: 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_OFGLUCOSE_PER_DECILITER: 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 PERCENT: android.icu.util.MeasureUnit;
				public static PERMILLE: android.icu.util.MeasureUnit;
				public static PETABYTE: 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 PIXEL: android.icu.util.MeasureUnit;
				public static PIXEL_PER_CENTIMETER: android.icu.util.MeasureUnit;
				public static PIXEL_PER_INCH: android.icu.util.MeasureUnit;
				public static POINT: 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 QUARTER: 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 TONNE: 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 getComplexity(): android.icu.util.MeasureUnit.Complexity;
				public withDimensionality(dimensionality: number): android.icu.util.MeasureUnit;
				public static getAvailable(type: string): java.util.Set<android.icu.util.MeasureUnit>;
				public static forIdentifier(identifier: string): android.icu.util.MeasureUnit;
				public getSubtype(): string;
				public toString(): string;
				public getPrefix(): android.icu.util.MeasureUnit.MeasurePrefix;
				public product(other: android.icu.util.MeasureUnit): android.icu.util.MeasureUnit;
				public splitToSingleUnits(): java.util.List<android.icu.util.MeasureUnit>;
				public equals(rhs: any): boolean;
				public reciprocal(): android.icu.util.MeasureUnit;
				public static getAvailableTypes(): java.util.Set<string>;
				public withPrefix(prefix: android.icu.util.MeasureUnit.MeasurePrefix): android.icu.util.MeasureUnit;
				public hashCode(): number;
				public getDimensionality(): number;
				public getIdentifier(): string;
			}
			export module MeasureUnit {
				export class Complexity {
					public static class: java.lang.Class<android.icu.util.MeasureUnit.Complexity>;
					public static SINGLE: android.icu.util.MeasureUnit.Complexity;
					public static COMPOUND: android.icu.util.MeasureUnit.Complexity;
					public static MIXED: android.icu.util.MeasureUnit.Complexity;
					public static values(): androidNative.Array<android.icu.util.MeasureUnit.Complexity>;
					public static valueOf(name: string): android.icu.util.MeasureUnit.Complexity;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class MeasurePrefix {
					public static class: java.lang.Class<android.icu.util.MeasureUnit.MeasurePrefix>;
					public static YOTTA: android.icu.util.MeasureUnit.MeasurePrefix;
					public static ZETTA: android.icu.util.MeasureUnit.MeasurePrefix;
					public static EXA: android.icu.util.MeasureUnit.MeasurePrefix;
					public static PETA: android.icu.util.MeasureUnit.MeasurePrefix;
					public static TERA: android.icu.util.MeasureUnit.MeasurePrefix;
					public static GIGA: android.icu.util.MeasureUnit.MeasurePrefix;
					public static MEGA: android.icu.util.MeasureUnit.MeasurePrefix;
					public static KILO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static HECTO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static DEKA: android.icu.util.MeasureUnit.MeasurePrefix;
					public static ONE: android.icu.util.MeasureUnit.MeasurePrefix;
					public static DECI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static CENTI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static MILLI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static MICRO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static NANO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static PICO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static FEMTO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static ATTO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static ZEPTO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static YOCTO: android.icu.util.MeasureUnit.MeasurePrefix;
					public static KIBI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static MEBI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static GIBI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static TEBI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static PEBI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static EXBI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static ZEBI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static YOBI: android.icu.util.MeasureUnit.MeasurePrefix;
					public static values(): androidNative.Array<android.icu.util.MeasureUnit.MeasurePrefix>;
					public getBase(): number;
					public static valueOf(name: string): android.icu.util.MeasureUnit.MeasurePrefix;
					public getPower(): number;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

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(value: 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: 0;
				public static MINGUO: 1;
				public getType(): string;
				public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number);
				public constructor(locale: android.icu.util.ULocale);
				public handleComputeFields(julianDay: number): void;
				public handleGetLimit(field: number, limitType: number): number;
				public constructor(year: number, month: number, date: number);
				public constructor();
				public constructor(zone: android.icu.util.TimeZone, aLocale: java.util.Locale);
				public handleGetExtendedYear(): number;
				public constructor(aLocale: java.util.Locale);
				public constructor(date: java.util.Date);
				public constructor(year: number, month: number, date: number, hour: number, minute: number);
				public constructor(zone: android.icu.util.TimeZone);
				public constructor(zone: android.icu.util.TimeZone, locale: android.icu.util.ULocale);
			}
		}
	}
}

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(): androidNative.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: 7;
				public static GMT_ZONE: android.icu.util.TimeZone;
				public static LONG: 1;
				public static LONG_GENERIC: 3;
				public static LONG_GMT: 5;
				public static SHORT: 0;
				public static SHORT_COMMONLY_USED: 6;
				public static SHORT_GENERIC: 2;
				public static SHORT_GMT: 4;
				public static TIMEZONE_ICU: 0;
				public static TIMEZONE_JDK: 1;
				public static UNKNOWN_ZONE: android.icu.util.TimeZone;
				public static UNKNOWN_ZONE_ID: "Etc/Unknown";
				public getDisplayName(locale: java.util.Locale): string;
				public getRawOffset(): number;
				public isFrozen(): boolean;
				public static getTimeZone(ID: string, type: number): android.icu.util.TimeZone;
				public static getCanonicalID(id: string, isSystemID: androidNative.Array<boolean>): string;
				public getOffset(date: number, local: boolean, offsets: androidNative.Array<number>): void;
				public static getWindowsID(id: string): string;
				public getDisplayName(): string;
				public static getTimeZone(ID: string): android.icu.util.TimeZone;
				public getOffset(date: number): number;
				public constructor();
				public static getDefault(): android.icu.util.TimeZone;
				public cloneAsThawed(): android.icu.util.TimeZone;
				public cloneAsThawed(): any;
				public static getTZDataVersion(): string;
				public getDisplayName(daylight: boolean, style: number): string;
				public hashCode(): number;
				public clone(): any;
				public getOffset(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
				public setID(ID: string): void;
				public getDisplayName(daylight: boolean, style: number, locale: android.icu.util.ULocale): string;
				public static getAvailableIDs(): androidNative.Array<string>;
				public getDisplayName(daylight: boolean, style: number, locale: java.util.Locale): string;
				public static countEquivalentIDs(id: string): number;
				public static getFrozenTimeZone(ID: string): android.icu.util.TimeZone;
				public static getIDForWindowsID(winid: string, region: string): string;
				public observesDaylightTime(): boolean;
				public static getAvailableIDs(zoneType: android.icu.util.TimeZone.SystemTimeZoneType, region: string, rawOffset: java.lang.Integer): java.util.Set<string>;
				public static getCanonicalID(id: string): string;
				public inDaylightTime(param0: java.util.Date): boolean;
				public getDisplayName(locale: android.icu.util.ULocale): string;
				public static getAvailableIDs(country: string): androidNative.Array<string>;
				public getDSTSavings(): number;
				public useDaylightTime(): boolean;
				public equals(obj: any): boolean;
				public static getRegion(id: string): string;
				public freeze(): android.icu.util.TimeZone;
				public setRawOffset(param0: number): void;
				public freeze(): any;
				public hasSameRules(other: android.icu.util.TimeZone): boolean;
				public static getEquivalentID(id: string, index: number): string;
				public getID(): string;
				public static getAvailableIDs(rawOffset: number): androidNative.Array<string>;
			}
			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 valueOf(name: string): android.icu.util.TimeZone.SystemTimeZoneType;
					public static values(): androidNative.Array<android.icu.util.TimeZone.SystemTimeZoneType>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

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: "120";
				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: "117";
				public static US: android.icu.util.ULocale;
				public getLineOrientation(): string;
				public static getKeywordValue(localeID: string, keywordName: string): string;
				public static getDisplayName(localeID: string, displayLocale: android.icu.util.ULocale): string;
				public isRightToLeft(): boolean;
				public static getName(localeID: string): string;
				public toLanguageTag(): string;
				public static toLegacyType(keyword: string, value: string): string;
				public static getDisplayLanguageWithDialect(localeID: string, displayLocaleID: string): string;
				public static setKeywordValue(localeID: string, keyword: string, value: string): string;
				public static getDisplayKeywordValue(localeID: string, keyword: string, displayLocale: android.icu.util.ULocale): string;
				public static getDisplayKeywordValue(localeID: string, keyword: string, displayLocaleID: string): string;
				public static getDisplayName(localeID: string, displayLocaleID: string): string;
				public static getFallback(localeID: string): string;
				public setKeywordValue(keyword: string, value: string): android.icu.util.ULocale;
				public static getDisplayNameWithDialect(localeID: string, displayLocaleID: string): string;
				public static getDisplayNameWithDialect(localeID: string, displayLocale: android.icu.util.ULocale): string;
				public getDisplayLanguage(): string;
				public getDisplayLanguageWithDialect(): string;
				public static forLocale(loc: java.util.Locale): android.icu.util.ULocale;
				public getLanguage(): string;
				public static getDisplayCountry(localeID: string, displayLocaleID: string): string;
				public constructor(a: string, b: string, c: string);
				public getKeywords(): java.util.Iterator<string>;
				public static toUnicodeLocaleKey(keyword: string): string;
				public getUnicodeLocaleKeys(): java.util.Set<string>;
				public getDisplayLanguageWithDialect(displayLocale: android.icu.util.ULocale): string;
				public static getDisplayKeyword(keyword: string, displayLocaleID: string): string;
				public constructor(a: string, b: string);
				public getDisplayVariant(displayLocale: android.icu.util.ULocale): string;
				public static createCanonical(nonCanonicalID: string): android.icu.util.ULocale;
				public getUnicodeLocaleAttributes(): java.util.Set<string>;
				public static getDisplayKeyword(keyword: string): string;
				public static getDisplayKeyword(keyword: string, displayLocale: android.icu.util.ULocale): string;
				public getDisplayVariant(): string;
				public getDisplayName(displayLocale: android.icu.util.ULocale): string;
				public static forLanguageTag(languageTag: string): android.icu.util.ULocale;
				public getISO3Language(): string;
				public static getISOLanguages(): androidNative.Array<string>;
				public static minimizeSubtags(loc: android.icu.util.ULocale): android.icu.util.ULocale;
				public static createCanonical(locale: android.icu.util.ULocale): android.icu.util.ULocale;
				public getCountry(): string;
				public toLocale(): java.util.Locale;
				public static getDisplayLanguage(localeID: string, displayLocale: android.icu.util.ULocale): string;
				public static getDisplayLanguageWithDialect(localeID: string, displayLocale: android.icu.util.ULocale): string;
				public constructor(localeID: string);
				public static getVariant(localeID: string): string;
				public equals(obj: any): boolean;
				public static getCountry(localeID: string): string;
				public static acceptLanguage(acceptLanguageList: string, fallback: androidNative.Array<boolean>): android.icu.util.ULocale;
				public static getISOCountries(): androidNative.Array<string>;
				public static getDisplayCountry(localeID: string, displayLocale: android.icu.util.ULocale): string;
				public getExtension(key: string): string;
				public static getLanguage(localeID: string): string;
				public static getISO3Language(localeID: string): string;
				public static acceptLanguage(acceptLanguageList: string, availableLocales: androidNative.Array<android.icu.util.ULocale>, fallback: androidNative.Array<boolean>): android.icu.util.ULocale;
				public getVariant(): string;
				public getUnicodeLocaleType(key: string): string;
				public getDisplayName(): string;
				public getBaseName(): string;
				public static getDefault(category: android.icu.util.ULocale.Category): android.icu.util.ULocale;
				public getISO3Country(): string;
				public hashCode(): number;
				public static getDefault(): android.icu.util.ULocale;
				public clone(): any;
				public static canonicalize(localeID: string): string;
				public static toUnicodeLocaleType(keyword: string, value: string): string;
				public getDisplayCountry(displayLocale: android.icu.util.ULocale): string;
				public getExtensionKeys(): java.util.Set<java.lang.Character>;
				public getFallback(): android.icu.util.ULocale;
				public getDisplayScript(displayLocale: android.icu.util.ULocale): string;
				public getName(): string;
				public toString(): string;
				public getDisplayCountry(): string;
				public static toLegacyKey(keyword: string): string;
				public static getISO3Country(localeID: string): string;
				public static addLikelySubtags(loc: android.icu.util.ULocale): android.icu.util.ULocale;
				public static getDisplayScript(localeID: string, displayLocaleID: string): string;
				public getDisplayNameWithDialect(displayLocale: android.icu.util.ULocale): string;
				public static getDisplayVariant(localeID: string, displayLocale: android.icu.util.ULocale): string;
				public getDisplayKeywordValue(keyword: string): string;
				public static getKeywords(localeID: string): java.util.Iterator<string>;
				public compareTo(other: android.icu.util.ULocale): number;
				public getDisplayLanguage(displayLocale: android.icu.util.ULocale): string;
				public static getBaseName(localeID: string): string;
				public getScript(): string;
				public static getDisplayScript(localeID: string, displayLocale: android.icu.util.ULocale): string;
				public getDisplayScript(): string;
				public static getAvailableLocalesByType(type: android.icu.util.ULocale.AvailableType): java.util.Collection<android.icu.util.ULocale>;
				public static getDisplayLanguage(localeID: string, displayLocaleID: string): string;
				public static acceptLanguage(acceptLanguageList: androidNative.Array<android.icu.util.ULocale>, fallback: androidNative.Array<boolean>): android.icu.util.ULocale;
				public getDisplayKeywordValue(keyword: string, displayLocale: android.icu.util.ULocale): string;
				public static getScript(localeID: string): string;
				public static getAvailableLocales(): androidNative.Array<android.icu.util.ULocale>;
				public static getDisplayVariant(localeID: string, displayLocaleID: string): string;
				public getDisplayNameWithDialect(): string;
				public getKeywordValue(keywordName: string): string;
				public static acceptLanguage(acceptLanguageList: androidNative.Array<android.icu.util.ULocale>, availableLocales: androidNative.Array<android.icu.util.ULocale>, fallback: androidNative.Array<boolean>): android.icu.util.ULocale;
				public getCharacterOrientation(): string;
			}
			export module ULocale {
				export class AvailableType {
					public static class: java.lang.Class<android.icu.util.ULocale.AvailableType>;
					public static DEFAULT: android.icu.util.ULocale.AvailableType;
					public static ONLY_LEGACY_ALIASES: android.icu.util.ULocale.AvailableType;
					public static WITH_LEGACY_ALIASES: android.icu.util.ULocale.AvailableType;
					public static valueOf(name: string): android.icu.util.ULocale.AvailableType;
					public static values(): androidNative.Array<android.icu.util.ULocale.AvailableType>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.icu.util.ULocale.Builder>;
					public setLanguageTag(languageTag: string): android.icu.util.ULocale.Builder;
					public setLanguage(language: string): android.icu.util.ULocale.Builder;
					public setUnicodeLocaleKeyword(key: string, type: string): android.icu.util.ULocale.Builder;
					public setScript(script: string): android.icu.util.ULocale.Builder;
					public removeUnicodeLocaleAttribute(attribute: string): android.icu.util.ULocale.Builder;
					public setVariant(variant: string): android.icu.util.ULocale.Builder;
					public setExtension(key: string, value: string): android.icu.util.ULocale.Builder;
					public addUnicodeLocaleAttribute(attribute: string): android.icu.util.ULocale.Builder;
					public constructor();
					public setRegion(region: string): android.icu.util.ULocale.Builder;
					public clear(): android.icu.util.ULocale.Builder;
					public build(): android.icu.util.ULocale;
					public setLocale(locale: android.icu.util.ULocale): 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 valueOf(name: string): android.icu.util.ULocale.Category;
					public static values(): androidNative.Array<android.icu.util.ULocale.Category>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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: 8;
				public static DOTNET_DATE_TIME: 4;
				public static EPOCH_OFFSET_PLUS_1_VALUE: 6;
				public static EPOCH_OFFSET_VALUE: 1;
				public static EXCEL_TIME: 7;
				public static FROM_MAX_VALUE: 3;
				public static FROM_MIN_VALUE: 2;
				public static ICU4C_TIME: 2;
				public static JAVA_TIME: 0;
				public static MAC_OLD_TIME: 5;
				public static MAC_TIME: 6;
				public static MAX_SCALE: 10;
				public static TO_MAX_VALUE: 5;
				public static TO_MIN_VALUE: 4;
				public static UNITS_VALUE: 0;
				public static UNIX_MICROSECONDS_TIME: 9;
				public static UNIX_TIME: 1;
				public static WINDOWS_FILE_TIME: 3;
				public static from(otherTime: number, timeScale: number): number;
				public static bigDecimalFrom(otherTime: android.icu.math.BigDecimal, timeScale: number): android.icu.math.BigDecimal;
				public static toBigDecimal(universalTime: number, timeScale: number): android.icu.math.BigDecimal;
				public static toBigDecimal(universalTime: android.icu.math.BigDecimal, timeScale: number): android.icu.math.BigDecimal;
				public static getTimeScaleValue(scale: number, value: number): number;
				public static bigDecimalFrom(otherTime: number, timeScale: number): android.icu.math.BigDecimal;
				public static toLong(universalTime: number, timeScale: 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_11_0: android.icu.util.VersionInfo;
				public static UNICODE_12_0: android.icu.util.VersionInfo;
				public static UNICODE_12_1: android.icu.util.VersionInfo;
				public static UNICODE_13_0: android.icu.util.VersionInfo;
				public static UNICODE_14_0: android.icu.util.VersionInfo;
				public static UNICODE_15_0: android.icu.util.VersionInfo;
				public static UNICODE_15_1: 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(major: number, minor: number, milli: number): android.icu.util.VersionInfo;
				public toString(): string;
				public static getInstance(major: number): android.icu.util.VersionInfo;
				public getMajor(): number;
				public compareTo(other: android.icu.util.VersionInfo): number;
				public equals(other: any): boolean;
				public getMilli(): number;
				public hashCode(): number;
				public getMinor(): number;
				public static getInstance(major: number, minor: number): android.icu.util.VersionInfo;
				public static getInstance(major: number, minor: number, milli: number, micro: number): android.icu.util.VersionInfo;
				public getMicro(): number;
				public static getInstance(version: string): android.icu.util.VersionInfo;
			}
		}
	}
}

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 getSystemService(serviceClass: java.lang.Class<any>): any;
			public registerComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public getSystemService(name: string): any;
			public constructor();
			public onDestroy(): void;
			public unregisterComponentCallbacks(callback: android.content.ComponentCallbacks): void;
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public onLowMemory(): void;
			public getKeyDispatcherState(): android.view.KeyEvent.DispatcherState;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateInputMethodSessionInterface(): android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl;
			public onTrimMemory(param0: number): void;
			public onConfigurationChanged(configuration: android.content.res.Configuration): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onTrimMemory(level: number): void;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public constructor(base: android.content.Context);
			public onTrackballEvent(event: android.view.MotionEvent): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dump(fd: java.io.FileDescriptor, fout: java.io.PrintWriter, args: androidNative.Array<string>): void;
			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 bindInput(param0: android.view.inputmethod.InputBinding): void;
				public setSessionEnabled(session: android.view.inputmethod.InputMethodSession, enabled: boolean): void;
				public setSessionEnabled(param0: android.view.inputmethod.InputMethodSession, param1: boolean): void;
				public unbindInput(): void;
				public hideSoftInput(param0: number, param1: android.os.ResultReceiver): void;
				public createSession(callback: android.view.inputmethod.InputMethod.SessionCallback): 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 startInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public revokeSession(session: android.view.inputmethod.InputMethodSession): void;
				public restartInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public constructor(this$0: android.inputmethodservice.AbstractInputMethodService);
				public showSoftInput(param0: number, param1: android.os.ResultReceiver): 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 displayCompletions(param0: androidNative.Array<android.view.inputmethod.CompletionInfo>): void;
				public revokeSelf(): void;
				public dispatchTrackballEvent(seq: number, event: android.view.MotionEvent, callback: android.view.inputmethod.InputMethodSession.EventCallback): 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 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 dispatchGenericMotionEvent(seq: number, event: android.view.MotionEvent, callback: android.view.inputmethod.InputMethodSession.EventCallback): void;
				/** @deprecated */
				public toggleSoftInput(param0: number, param1: number): void;
				public constructor(this$0: android.inputmethodservice.AbstractInputMethodService);
				public isEnabled(): boolean;
				public dispatchKeyEvent(seq: number, event: android.view.KeyEvent, callback: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public setEnabled(enabled: boolean): void;
				public dispatchGenericMotionEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): 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 onSelectionChanged(selStart: number, selEnd: number): void;
			public onTextContextMenuItem(id: number): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public finishInternalChanges(): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startInternalChanges(): void;
			public onPreDraw(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public isInputMethodTarget(): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public isFocused(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public hasWindowFocus(): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setExtractedText(text: android.view.inputmethod.ExtractedText): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public performClick(): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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: 3;
			public static BACK_DISPOSITION_DEFAULT: 0;
			public static BACK_DISPOSITION_WILL_DISMISS: 2;
			public static BACK_DISPOSITION_WILL_NOT_DISMISS: 1;
			public getSystemService(serviceClass: java.lang.Class<any>): any;
			public requestHideSelf(flags: number): void;
			public onUpdateExtractingVisibility(ei: android.view.inputmethod.EditorInfo): void;
			public onWindowHidden(): void;
			public getLayoutInflater(): android.view.LayoutInflater;
			public onCreateCandidatesView(): android.view.View;
			public setStylusHandwritingSessionTimeout(duration: java.time.Duration): void;
			public setExtractViewShown(shown: boolean): void;
			public onCurrentInputMethodSubtypeChanged(newSubtype: android.view.inputmethod.InputMethodSubtype): void;
			public getCurrentInputBinding(): android.view.inputmethod.InputBinding;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public sendKeyChar(charCode: string): void;
			public switchToNextInputMethod(onlyCurrentIme: boolean): boolean;
			public onStartInputView(editorInfo: android.view.inputmethod.EditorInfo, restarting: boolean): void;
			public onPrepareStylusHandwriting(): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public getCurrentInputConnection(): android.view.inputmethod.InputConnection;
			public hideWindow(): void;
			public setCandidatesView(view: android.view.View): void;
			public onUpdateEditorToolType(toolType: number): void;
			public onCreate(): void;
			public constructor();
			public onKeyMultiple(keyCode: number, count: number, event: android.view.KeyEvent): boolean;
			public finishConnectionlessStylusHandwriting(text: string): void;
			public onUpdateExtractedText(token: number, text: android.view.inputmethod.ExtractedText): void;
			public getStylusHandwritingWindow(): android.view.Window;
			public switchInputMethod(id: string): void;
			public static getStylusHandwritingIdleTimeoutMax(): java.time.Duration;
			public onConfigureWindow(win: android.view.Window, isFullscreen: boolean, isCandidatesOnly: boolean): void;
			public onUnbindInput(): void;
			/** @deprecated */
			public onUpdateCursor(newCursor: android.graphics.Rect): void;
			public onDestroy(): void;
			public requestShowSelf(flags: number): void;
			public onCreateExtractTextView(): android.view.View;
			/** @deprecated */
			public onCreateInputMethodSessionInterface(): android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl;
			public onExtractingInputChanged(ei: android.view.inputmethod.EditorInfo): void;
			public onTrimMemory(param0: number): void;
			public hideStatusIcon(): void;
			public getCurrentInputEditorInfo(): android.view.inputmethod.EditorInfo;
			public onExtractedTextClicked(): void;
			public updateFullscreenMode(): void;
			public switchToPreviousInputMethod(): boolean;
			public getMaxWidth(): number;
			public onBindInput(): void;
			public onWindowShown(): void;
			public onFinishCandidatesView(finishingInput: boolean): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public sendDefaultEditorAction(fromEnterKey: boolean): boolean;
			public setExtractView(view: android.view.View): void;
			/** @deprecated */
			public getInputMethodWindowRecommendedHeight(): number;
			public onCreateInlineSuggestionsRequest(uiExtras: android.os.Bundle): android.view.inputmethod.InlineSuggestionsRequest;
			public setInputView(view: android.view.View): void;
			/** @deprecated */
			public onCreateInputMethodInterface(): android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl;
			public showStatusIcon(iconResId: number): void;
			public isInputViewShown(): boolean;
			public onInlineSuggestionsResponse(response: android.view.inputmethod.InlineSuggestionsResponse): boolean;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public onStartStylusHandwriting(): boolean;
			public onExtractedSelectionChanged(start: number, end: number): void;
			public setCandidatesViewShown(shown: boolean): void;
			public getBackDisposition(): number;
			public setTheme(theme: number): void;
			/** @deprecated */
			public onViewClicked(focusChanged: boolean): void;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public onUpdateCursorAnchorInfo(cursorAnchorInfo: android.view.inputmethod.CursorAnchorInfo): void;
			public switchInputMethod(id: string, subtype: android.view.inputmethod.InputMethodSubtype): void;
			public onKeyLongPress(keyCode: number, event: android.view.KeyEvent): boolean;
			public dump(fd: java.io.FileDescriptor, fout: java.io.PrintWriter, args: androidNative.Array<string>): void;
			public onEvaluateFullscreenMode(): boolean;
			public onAppPrivateCommand(action: string, data: android.os.Bundle): void;
			/** @deprecated */
			public enableHardwareAcceleration(): boolean;
			public onExtractedCursorMovement(dx: number, dy: number): void;
			public getTextForImeAction(imeOptions: number): string;
			public sendDownUpKeyEvents(keyEventCode: number): void;
			public getStylusHandwritingSessionTimeout(): java.time.Duration;
			public onInitializeInterface(): void;
			public onStartCandidatesView(editorInfo: android.view.inputmethod.EditorInfo, restarting: boolean): void;
			public onFinishInput(): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public updateInputViewShown(): void;
			public onCreateInputView(): android.view.View;
			public onFinishInputView(finishingInput: boolean): void;
			public isFullscreenMode(): boolean;
			public getSystemService(name: string): any;
			public getWindow(): android.app.Dialog;
			public onStartConnectionlessStylusHandwriting(inputType: number, cursorAnchorInfo: android.view.inputmethod.CursorAnchorInfo): boolean;
			public onExtractTextContextMenuItem(id: number): boolean;
			public onFinishStylusHandwriting(): void;
			public onStylusHandwritingMotionEvent(motionEvent: android.view.MotionEvent): void;
			public onUpdateExtractingViews(ei: android.view.inputmethod.EditorInfo): void;
			public finishStylusHandwriting(): void;
			public onDisplayCompletions(completions: androidNative.Array<android.view.inputmethod.CompletionInfo>): void;
			public onTrackballEvent(event: android.view.MotionEvent): boolean;
			public isExtractViewShown(): boolean;
			public showWindow(showInput: boolean): void;
			public onShowInputRequested(flags: number, configChange: boolean): boolean;
			public setBackDisposition(disposition: number): void;
			public getCandidatesHiddenVisibility(): number;
			public shouldOfferSwitchingToNextInputMethod(): boolean;
			public onStartInput(attribute: android.view.inputmethod.EditorInfo, restarting: boolean): void;
			public getCurrentInputStarted(): boolean;
			public onComputeInsets(outInsets: android.inputmethodservice.InputMethodService.Insets): void;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public onEvaluateInputViewShown(): boolean;
			public constructor(base: android.content.Context);
			public onUpdateSelection(oldSelStart: number, oldSelEnd: number, newSelStart: number, newSelEnd: number, candidatesStart: number, candidatesEnd: number): 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 hideSoftInput(flags: number, resultReceiver: android.os.ResultReceiver): void;
				public bindInput(param0: android.view.inputmethod.InputBinding): void;
				public changeInputMethodSubtype(subtype: android.view.inputmethod.InputMethodSubtype): 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 restartInput(ic: android.view.inputmethod.InputConnection, editorInfo: android.view.inputmethod.EditorInfo): void;
				public attachToken(param0: android.os.IBinder): void;
				public createSession(param0: android.view.inputmethod.InputMethod.SessionCallback): void;
				public startInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public restartInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public constructor(this$0: android.inputmethodservice.AbstractInputMethodService);
				public bindInput(binding: android.view.inputmethod.InputBinding): void;
				public showSoftInput(param0: number, param1: android.os.ResultReceiver): void;
				public startInput(ic: android.view.inputmethod.InputConnection, editorInfo: android.view.inputmethod.EditorInfo): void;
				public showSoftInput(flags: number, resultReceiver: android.os.ResultReceiver): void;
				public constructor(this$0: android.inputmethodservice.InputMethodService);
				public attachToken(token: android.os.IBinder): 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 displayCompletions(param0: androidNative.Array<android.view.inputmethod.CompletionInfo>): void;
				public updateExtractedText(token: number, text: android.view.inputmethod.ExtractedText): void;
				public updateCursorAnchorInfo(info: android.view.inputmethod.CursorAnchorInfo): 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;
				/** @deprecated */
				public toggleSoftInput(showFlags: number, hideFlags: number): void;
				public dispatchKeyEvent(param0: number, param1: android.view.KeyEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public viewClicked(focusChanged: boolean): void;
				public updateSelection(oldSelStart: number, oldSelEnd: number, newSelStart: number, newSelEnd: number, candidatesStart: number, candidatesEnd: number): void;
				public viewClicked(param0: boolean): void;
				public finishInput(): void;
				public updateCursor(param0: android.graphics.Rect): void;
				public appPrivateCommand(action: string, data: android.os.Bundle): void;
				public updateCursor(newCursor: android.graphics.Rect): void;
				/** @deprecated */
				public toggleSoftInput(param0: number, param1: number): void;
				public constructor(this$0: android.inputmethodservice.AbstractInputMethodService);
				public displayCompletions(completions: androidNative.Array<android.view.inputmethod.CompletionInfo>): void;
				public dispatchGenericMotionEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public updateCursorAnchorInfo(param0: android.view.inputmethod.CursorAnchorInfo): void;
				public constructor(this$0: android.inputmethodservice.InputMethodService);
				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: 1;
				public static TOUCHABLE_INSETS_FRAME: 0;
				public static TOUCHABLE_INSETS_REGION: 3;
				public static TOUCHABLE_INSETS_VISIBLE: 2;
				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: 8;
			public static EDGE_LEFT: 1;
			public static EDGE_RIGHT: 2;
			public static EDGE_TOP: 4;
			public static KEYCODE_ALT: -6;
			public static KEYCODE_CANCEL: -3;
			public static KEYCODE_DELETE: -5;
			public static KEYCODE_DONE: -4;
			public static KEYCODE_MODE_CHANGE: -2;
			public static KEYCODE_SHIFT: -1;
			/** @deprecated */
			public setShifted(shiftState: boolean): boolean;
			/** @deprecated */
			public isShifted(): boolean;
			/** @deprecated */
			public getHeight(): number;
			/** @deprecated */
			public constructor(context: android.content.Context, xmlLayoutResId: number, modeId: number, width: number, height: number);
			/** @deprecated */
			public getShiftKeyIndex(): number;
			/** @deprecated */
			public getKeys(): java.util.List<android.inputmethodservice.Keyboard.Key>;
			/** @deprecated */
			public getMinWidth(): number;
			/** @deprecated */
			public getKeyWidth(): number;
			/** @deprecated */
			public getModifierKeys(): java.util.List<android.inputmethodservice.Keyboard.Key>;
			/** @deprecated */
			public constructor(context: android.content.Context, xmlLayoutResId: number, modeId: number);
			/** @deprecated */
			public getVerticalGap(): number;
			/** @deprecated */
			public constructor(context: android.content.Context, layoutTemplateResId: number, characters: string, columns: number, horizontalPadding: number);
			/** @deprecated */
			public setKeyWidth(width: number): void;
			/** @deprecated */
			public setHorizontalGap(gap: number): void;
			/** @deprecated */
			public setKeyHeight(height: number): void;
			/** @deprecated */
			public getNearestKeys(x: number, y: number): androidNative.Array<number>;
			/** @deprecated */
			public constructor(context: android.content.Context, xmlLayoutResId: number);
			/** @deprecated */
			public setVerticalGap(gap: number): void;
			/** @deprecated */
			public createKeyFromXml(res: android.content.res.Resources, parent: android.inputmethodservice.Keyboard.Row, x: number, y: number, parser: android.content.res.XmlResourceParser): android.inputmethodservice.Keyboard.Key;
			/** @deprecated */
			public getHorizontalGap(): number;
			/** @deprecated */
			public getKeyHeight(): number;
			/** @deprecated */
			public createRowFromXml(res: android.content.res.Resources, parser: android.content.res.XmlResourceParser): android.inputmethodservice.Keyboard.Row;
		}
		export module Keyboard {
			export class Key extends java.lang.Object {
				public static class: java.lang.Class<android.inputmethodservice.Keyboard.Key>;
				public codes: androidNative.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;
				/** @deprecated */
				public constructor(res: android.content.res.Resources, parent: android.inputmethodservice.Keyboard.Row, x: number, y: number, parser: android.content.res.XmlResourceParser);
				/** @deprecated */
				public getCurrentDrawableState(): androidNative.Array<number>;
				/** @deprecated */
				public constructor(parent: android.inputmethodservice.Keyboard.Row);
				/** @deprecated */
				public isInside(x: number, y: number): boolean;
				/** @deprecated */
				public onPressed(): void;
				/** @deprecated */
				public squaredDistanceFrom(x: number, y: number): number;
				/** @deprecated */
				public onReleased(inside: 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;
				/** @deprecated */
				public constructor(parent: android.inputmethodservice.Keyboard);
				/** @deprecated */
				public constructor(res: android.content.res.Resources, parent: android.inputmethodservice.Keyboard, parser: 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;
			/** @deprecated */
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			/** @deprecated */
			public swipeDown(): void;
			/** @deprecated */
			public swipeUp(): void;
			/** @deprecated */
			public invalidateAllKeys(): void;
			/** @deprecated */
			public setVerticalCorrection(verticalOffset: number): void;
			/** @deprecated */
			public onDraw(canvas: android.graphics.Canvas): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public swipeLeft(): void;
			/** @deprecated */
			public setShifted(shifted: boolean): boolean;
			/** @deprecated */
			public onAttachedToWindow(): void;
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onLongPress(popupKey: android.inputmethodservice.Keyboard.Key): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public isPreviewEnabled(): boolean;
			/** @deprecated */
			public setProximityCorrectionEnabled(enabled: boolean): void;
			/** @deprecated */
			public onTouchEvent(me: android.view.MotionEvent): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setKeyboard(keyboard: android.inputmethodservice.Keyboard): void;
			/** @deprecated */
			public setPopupOffset(x: number, y: number): void;
			/** @deprecated */
			public onClick(v: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setPreviewEnabled(previewEnabled: boolean): void;
			/** @deprecated */
			public closing(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateKey(keyIndex: number): void;
			/** @deprecated */
			public isShifted(): boolean;
			/** @deprecated */
			public handleBack(): boolean;
			/** @deprecated */
			public onDetachedFromWindow(): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public swipeRight(): void;
			/** @deprecated */
			public getOnKeyboardActionListener(): android.inputmethodservice.KeyboardView.OnKeyboardActionListener;
			/** @deprecated */
			public isProximityCorrectionEnabled(): boolean;
			/** @deprecated */
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			/** @deprecated */
			public setOnKeyboardActionListener(listener: android.inputmethodservice.KeyboardView.OnKeyboardActionListener): void;
			/** @deprecated */
			public onHoverEvent(event: android.view.MotionEvent): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getKeyboard(): android.inputmethodservice.Keyboard;
			/** @deprecated */
			public setPopupParent(v: android.view.View): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onClick(param0: android.view.View): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
		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: androidNative.Array<number>): void;
					onText(param0: string): void;
					swipeLeft(): void;
					swipeRight(): void;
					swipeDown(): void;
					swipeUp(): void;
				});
				public constructor();
				/** @deprecated */
				public onRelease(param0: number): void;
				/** @deprecated */
				public swipeRight(): void;
				/** @deprecated */
				public swipeLeft(): void;
				/** @deprecated */
				public swipeUp(): void;
				/** @deprecated */
				public onText(param0: string): void;
				/** @deprecated */
				public onPress(param0: number): void;
				/** @deprecated */
				public swipeDown(): void;
				/** @deprecated */
				public onKey(param0: number, param1: androidNative.Array<number>): 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 setPhone(phone: string): void;
			public setPremises(premises: string): void;
			public setExtras(extras: android.os.Bundle): void;
			public getCountryCode(): string;
			public setThoroughfare(thoroughfare: string): void;
			public setSubThoroughfare(subthoroughfare: string): void;
			public setSubLocality(sublocality: string): void;
			public getSubLocality(): string;
			public setAdminArea(adminArea: string): void;
			public setCountryCode(countryCode: string): void;
			public setCountryName(countryName: string): void;
			public hasLatitude(): boolean;
			public getMaxAddressLineIndex(): number;
			public getAddressLine(index: number): string;
			public setUrl(Url: string): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getFeatureName(): string;
			public setLatitude(latitude: number): void;
			public getCountryName(): string;
			public setLocality(locality: string): void;
			public getSubThoroughfare(): string;
			public getLocale(): java.util.Locale;
			public getThoroughfare(): string;
			public getSubAdminArea(): string;
			public getLongitude(): number;
			public constructor(locale: java.util.Locale);
			public getUrl(): string;
			public getPostalCode(): string;
			public clearLatitude(): void;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public getPremises(): string;
			public getLatitude(): number;
			public setPostalCode(postalCode: string): void;
			public setAddressLine(index: number, line: string): void;
			public clearLongitude(): void;
			public setLongitude(longitude: number): void;
			public toString(): string;
			public setFeatureName(featureName: string): void;
			public getAdminArea(): string;
			public describeContents(): number;
			public setSubAdminArea(subAdminArea: string): void;
			public hasLongitude(): boolean;
			public getPhone(): string;
			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: 2;
			public static ACCURACY_FINE: 1;
			public static ACCURACY_HIGH: 3;
			public static ACCURACY_LOW: 1;
			public static ACCURACY_MEDIUM: 2;
			public static CREATOR: android.os.Parcelable.Creator<android.location.Criteria>;
			public static NO_REQUIREMENT: 0;
			public static POWER_HIGH: 3;
			public static POWER_LOW: 1;
			public static POWER_MEDIUM: 2;
			/** @deprecated */
			public isCostAllowed(): boolean;
			/** @deprecated */
			public isBearingRequired(): boolean;
			/** @deprecated */
			public getAccuracy(): number;
			/** @deprecated */
			public getHorizontalAccuracy(): number;
			/** @deprecated */
			public isAltitudeRequired(): boolean;
			/** @deprecated */
			public setCostAllowed(costAllowed: boolean): void;
			/** @deprecated */
			public describeContents(): number;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public setSpeedAccuracy(accuracy: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public setHorizontalAccuracy(accuracy: number): void;
			/** @deprecated */
			public setBearingAccuracy(accuracy: number): void;
			/** @deprecated */
			public getBearingAccuracy(): number;
			/** @deprecated */
			public getSpeedAccuracy(): number;
			/** @deprecated */
			public setAltitudeRequired(altitudeRequired: boolean): void;
			/** @deprecated */
			public setAccuracy(accuracy: number): void;
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public setPowerRequirement(powerRequirement: number): void;
			/** @deprecated */
			public setSpeedRequired(speedRequired: boolean): void;
			/** @deprecated */
			public isSpeedRequired(): boolean;
			/** @deprecated */
			public setBearingRequired(bearingRequired: boolean): void;
			public describeContents(): number;
			/** @deprecated */
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			/** @deprecated */
			public setVerticalAccuracy(accuracy: number): void;
			/** @deprecated */
			public getVerticalAccuracy(): number;
			/** @deprecated */
			public getPowerRequirement(): number;
			/** @deprecated */
			public constructor(criteria: android.location.Criteria);
		}
	}
}

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;
			/** @deprecated */
			public getFromLocation(latitude: number, longitude: number, maxResults: number): java.util.List<android.location.Address>;
			/** @deprecated */
			public getFromLocationName(locationName: string, maxResults: number, lowerLeftLatitude: number, lowerLeftLongitude: number, upperRightLatitude: number, upperRightLongitude: number): java.util.List<android.location.Address>;
			public constructor(context: android.content.Context);
			public getFromLocation(latitude: number, longitude: number, maxResults: number, listener: android.location.Geocoder.GeocodeListener): void;
			public getFromLocationName(locationName: string, maxResults: number, listener: android.location.Geocoder.GeocodeListener): void;
			public constructor(context: android.content.Context, locale: java.util.Locale);
			public getFromLocationName(locationName: string, maxResults: number, lowerLeftLatitude: number, lowerLeftLongitude: number, upperRightLatitude: number, upperRightLongitude: number, listener: android.location.Geocoder.GeocodeListener): void;
			/** @deprecated */
			public getFromLocationName(locationName: string, maxResults: number): java.util.List<android.location.Address>;
		}
		export module Geocoder {
			export class GeocodeListener extends java.lang.Object {
				public static class: java.lang.Class<android.location.Geocoder.GeocodeListener>;
				/**
				 * Constructs a new instance of the android.location.Geocoder$GeocodeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGeocode(param0: java.util.List<android.location.Address>): void;
					onError(errorMessage: string): void;
				});
				public constructor();
				public onGeocode(param0: java.util.List<android.location.Address>): void;
				public onError(errorMessage: string): void;
			}
		}
	}
}

declare module android {
	export module location {
		export class GnssAntennaInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssAntennaInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssAntennaInfo>;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public getSignalGainCorrections(): android.location.GnssAntennaInfo.SphericalCorrections;
			public describeContents(): number;
			public getPhaseCenterOffset(): android.location.GnssAntennaInfo.PhaseCenterOffset;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPhaseCenterVariationCorrections(): android.location.GnssAntennaInfo.SphericalCorrections;
			public getCarrierFrequencyMHz(): number;
			public hashCode(): number;
		}
		export module GnssAntennaInfo {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssAntennaInfo.Builder>;
				/** @deprecated */
				public constructor();
				public setPhaseCenterVariationCorrections(phaseCenterVariationCorrections: android.location.GnssAntennaInfo.SphericalCorrections): android.location.GnssAntennaInfo.Builder;
				public setCarrierFrequencyMHz(carrierFrequencyMHz: number): android.location.GnssAntennaInfo.Builder;
				public setSignalGainCorrections(signalGainCorrections: android.location.GnssAntennaInfo.SphericalCorrections): android.location.GnssAntennaInfo.Builder;
				public constructor(antennaInfo: android.location.GnssAntennaInfo);
				public setPhaseCenterOffset(phaseCenterOffset: android.location.GnssAntennaInfo.PhaseCenterOffset): android.location.GnssAntennaInfo.Builder;
				public build(): android.location.GnssAntennaInfo;
				public constructor(carrierFrequencyMHz: number, phaseCenterOffset: android.location.GnssAntennaInfo.PhaseCenterOffset);
			}
			export class Listener extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssAntennaInfo.Listener>;
				/**
				 * Constructs a new instance of the android.location.GnssAntennaInfo$Listener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGnssAntennaInfoReceived(param0: java.util.List<android.location.GnssAntennaInfo>): void;
				});
				public constructor();
				public onGnssAntennaInfoReceived(param0: java.util.List<android.location.GnssAntennaInfo>): void;
			}
			export class PhaseCenterOffset extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.location.GnssAntennaInfo.PhaseCenterOffset>;
				public static CREATOR: android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterOffset>;
				public getYOffsetUncertaintyMm(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getZOffsetMm(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getYOffsetMm(): number;
				public getXOffsetMm(): number;
				public getXOffsetUncertaintyMm(): number;
				public toString(): string;
				public constructor(offsetXMm: number, offsetXUncertaintyMm: number, offsetYMm: number, offsetYUncertaintyMm: number, offsetZMm: number, offsetZUncertaintyMm: number);
				public hashCode(): number;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getZOffsetUncertaintyMm(): number;
			}
			export class SphericalCorrections extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.location.GnssAntennaInfo.SphericalCorrections>;
				public static CREATOR: android.os.Parcelable.Creator<android.location.GnssAntennaInfo.SphericalCorrections>;
				public constructor(corrections: androidNative.Array<androidNative.Array<number>>, correctionUncertainties: androidNative.Array<androidNative.Array<number>>);
				public getDeltaTheta(): number;
				public getCorrectionUncertaintiesArray(): androidNative.Array<androidNative.Array<number>>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getDeltaPhi(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getCorrectionsArray(): androidNative.Array<androidNative.Array<number>>;
			}
		}
	}
}

declare module android {
	export module location {
		export class GnssAutomaticGainControl extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssAutomaticGainControl>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssAutomaticGainControl>;
			public writeToParcel(parcel: android.os.Parcel, flag: number): void;
			public toString(): string;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getLevelDb(): number;
			public getConstellationType(): number;
			public getCarrierFrequencyHz(): number;
			public hashCode(): number;
		}
		export module GnssAutomaticGainControl {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssAutomaticGainControl.Builder>;
				public setConstellationType(constellationType: number): android.location.GnssAutomaticGainControl.Builder;
				public setCarrierFrequencyHz(carrierFrequencyHz: number): android.location.GnssAutomaticGainControl.Builder;
				public constructor(agc: android.location.GnssAutomaticGainControl);
				public setLevelDb(levelDb: number): android.location.GnssAutomaticGainControl.Builder;
				public build(): android.location.GnssAutomaticGainControl;
				public constructor();
			}
		}
	}
}

declare module android {
	export module location {
		export class GnssCapabilities extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssCapabilities>;
			public static CAPABILITY_SUPPORTED: 1;
			public static CAPABILITY_UNKNOWN: 0;
			public static CAPABILITY_UNSUPPORTED: 2;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssCapabilities>;
			public hasLowPowerMode(): boolean;
			public hasMsb(): boolean;
			public hasMsa(): boolean;
			public hasPowerSinglebandTracking(): boolean;
			public hasMeasurementCorrectionsLosSats(): boolean;
			public hasSingleShotFix(): boolean;
			public hasPowerMultibandTracking(): boolean;
			public hasMeasurementCorrectionsForDriving(): boolean;
			public hasAccumulatedDeltaRange(): number;
			public hasAntennaInfo(): boolean;
			public hasMeasurementCorrectionsReflectingPlane(): boolean;
			public hasPowerSinglebandAcquisition(): boolean;
			public hasScheduling(): boolean;
			public hasSatellitePvt(): boolean;
			public hasMeasurementCorrectionsExcessPathLength(): boolean;
			public hasOnDemandTime(): boolean;
			public hasNavigationMessages(): boolean;
			public hasPowerMultibandAcquisition(): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasGeofencing(): boolean;
			/** @deprecated */
			public hasGnssAntennaInfo(): boolean;
			public hasMeasurementCorrelationVectors(): boolean;
			public hasMeasurementCorrections(): boolean;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public hasPowerTotal(): boolean;
			public getGnssSignalTypes(): java.util.List<android.location.GnssSignalType>;
			public hasMeasurements(): boolean;
			public hasSatelliteBlocklist(): boolean;
			public toString(): string;
			public hasPowerOtherModes(): boolean;
			public equals(o: any): boolean;
			public describeContents(): number;
			public hashCode(): number;
		}
		export module GnssCapabilities {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssCapabilities.Builder>;
				public setHasPowerOtherModes(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasNavigationMessages(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasLowPowerMode(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasAntennaInfo(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasAccumulatedDeltaRange(capable: number): android.location.GnssCapabilities.Builder;
				public setHasMeasurementCorrectionsExcessPathLength(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasMeasurementCorrectionsReflectingPlane(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasScheduling(capable: boolean): android.location.GnssCapabilities.Builder;
				public build(): android.location.GnssCapabilities;
				public setHasPowerSinglebandAcquisition(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasMeasurementCorrectionsLosSats(capable: boolean): android.location.GnssCapabilities.Builder;
				public constructor(capabilities: android.location.GnssCapabilities);
				public constructor();
				public setHasMsa(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasPowerSinglebandTracking(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasMeasurementCorrections(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasSingleShotFix(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasPowerMultibandTracking(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasSatelliteBlocklist(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasMeasurementCorrelationVectors(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasPowerMultibandAcquisition(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasPowerTotal(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasMeasurementCorrectionsForDriving(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasSatellitePvt(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasOnDemandTime(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasGeofencing(capable: boolean): android.location.GnssCapabilities.Builder;
				public setGnssSignalTypes(gnssSignalTypes: java.util.List<android.location.GnssSignalType>): android.location.GnssCapabilities.Builder;
				public setHasMsb(capable: boolean): android.location.GnssCapabilities.Builder;
				public setHasMeasurements(capable: boolean): android.location.GnssCapabilities.Builder;
			}
		}
	}
}

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 hasReferenceCodeTypeForIsb(): boolean;
			public getElapsedRealtimeNanos(): number;
			public getElapsedRealtimeUncertaintyNanos(): number;
			public getLeapSecond(): number;
			public getTimeNanos(): number;
			public getTimeUncertaintyNanos(): number;
			public getReferenceConstellationTypeForIsb(): number;
			public getReferenceCodeTypeForIsb(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDriftNanosPerSecond(): number;
			public hasReferenceCarrierFrequencyHzForIsb(): boolean;
			public getHardwareClockDiscontinuityCount(): number;
			public hasElapsedRealtimeNanos(): boolean;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public hasLeapSecond(): boolean;
			public hasDriftNanosPerSecond(): boolean;
			public hasReferenceConstellationTypeForIsb(): boolean;
			public hasBiasUncertaintyNanos(): boolean;
			public hasFullBiasNanos(): boolean;
			public hasDriftUncertaintyNanosPerSecond(): boolean;
			public getBiasUncertaintyNanos(): number;
			public getBiasNanos(): number;
			public toString(): string;
			public hasElapsedRealtimeUncertaintyNanos(): boolean;
			public hasBiasNanos(): boolean;
			public describeContents(): number;
			public hasTimeUncertaintyNanos(): boolean;
			public getReferenceCarrierFrequencyHzForIsb(): number;
			public getFullBiasNanos(): 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: 4;
			public static ADR_STATE_HALF_CYCLE_REPORTED: 16;
			public static ADR_STATE_HALF_CYCLE_RESOLVED: 8;
			public static ADR_STATE_RESET: 2;
			public static ADR_STATE_UNKNOWN: 0;
			public static ADR_STATE_VALID: 1;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssMeasurement>;
			public static MULTIPATH_INDICATOR_DETECTED: 1;
			public static MULTIPATH_INDICATOR_NOT_DETECTED: 2;
			public static MULTIPATH_INDICATOR_UNKNOWN: 0;
			public static STATE_2ND_CODE_LOCK: 65536;
			public static STATE_BDS_D2_BIT_SYNC: 256;
			public static STATE_BDS_D2_SUBFRAME_SYNC: 512;
			public static STATE_BIT_SYNC: 2;
			public static STATE_CODE_LOCK: 1;
			public static STATE_GAL_E1BC_CODE_LOCK: 1024;
			public static STATE_GAL_E1B_PAGE_SYNC: 4096;
			public static STATE_GAL_E1C_2ND_CODE_LOCK: 2048;
			public static STATE_GLO_STRING_SYNC: 64;
			public static STATE_GLO_TOD_DECODED: 128;
			public static STATE_GLO_TOD_KNOWN: 32768;
			public static STATE_MSEC_AMBIGUOUS: 16;
			public static STATE_SBAS_SYNC: 8192;
			public static STATE_SUBFRAME_SYNC: 4;
			public static STATE_SYMBOL_SYNC: 32;
			public static STATE_TOW_DECODED: 8;
			public static STATE_TOW_KNOWN: 16384;
			public static STATE_UNKNOWN: 0;
			public getAccumulatedDeltaRangeState(): number;
			public hasSnrInDb(): boolean;
			/** @deprecated */
			public getAutomaticGainControlLevelDb(): number;
			public hasCarrierFrequencyHz(): boolean;
			public getSatelliteInterSignalBiasUncertaintyNanos(): number;
			public getSvid(): number;
			public getTimeOffsetNanos(): number;
			public hasFullInterSignalBiasUncertaintyNanos(): boolean;
			/** @deprecated */
			public hasCarrierPhaseUncertainty(): boolean;
			public getFullInterSignalBiasUncertaintyNanos(): number;
			public getConstellationType(): number;
			public getCodeType(): string;
			public getSnrInDb(): number;
			public getPseudorangeRateMetersPerSecond(): number;
			public getMultipathIndicator(): number;
			/** @deprecated */
			public getCarrierPhase(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasCodeType(): boolean;
			public getCarrierFrequencyHz(): number;
			public getState(): number;
			public hasBasebandCn0DbHz(): boolean;
			public getReceivedSvTimeUncertaintyNanos(): number;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			/** @deprecated */
			public hasCarrierCycles(): boolean;
			/** @deprecated */
			public hasAutomaticGainControlLevelDb(): boolean;
			public getSatelliteInterSignalBiasNanos(): number;
			public getReceivedSvTimeNanos(): number;
			/** @deprecated */
			public getCarrierPhaseUncertainty(): number;
			public getFullInterSignalBiasNanos(): number;
			public getAccumulatedDeltaRangeUncertaintyMeters(): number;
			/** @deprecated */
			public getCarrierCycles(): number;
			public getAccumulatedDeltaRangeMeters(): number;
			public toString(): string;
			public getBasebandCn0DbHz(): number;
			public hasSatelliteInterSignalBiasNanos(): boolean;
			public describeContents(): number;
			public getPseudorangeRateUncertaintyMetersPerSecond(): number;
			public hasFullInterSignalBiasNanos(): boolean;
			/** @deprecated */
			public hasCarrierPhase(): boolean;
			public getCn0DbHz(): number;
			public hasSatelliteInterSignalBiasUncertaintyNanos(): boolean;
		}
	}
}

declare module android {
	export module location {
		export class GnssMeasurementRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssMeasurementRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssMeasurementRequest>;
			public static PASSIVE_INTERVAL: 2147483647;
			public isFullTracking(): boolean;
			public getIntervalMillis(): number;
			public toString(): string;
			public equals(obj: any): boolean;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module GnssMeasurementRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssMeasurementRequest.Builder>;
				public setIntervalMillis(value: number): android.location.GnssMeasurementRequest.Builder;
				public constructor(request: android.location.GnssMeasurementRequest);
				public build(): android.location.GnssMeasurementRequest;
				public setFullTracking(value: boolean): android.location.GnssMeasurementRequest.Builder;
				public constructor();
			}
		}
	}
}

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 isFullTracking(): boolean;
			public toString(): string;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public getGnssAutomaticGainControls(): java.util.Collection<android.location.GnssAutomaticGainControl>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasIsFullTracking(): boolean;
			public getMeasurements(): java.util.Collection<android.location.GnssMeasurement>;
			public getClock(): android.location.GnssClock;
		}
		export module GnssMeasurementsEvent {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssMeasurementsEvent.Builder>;
				public constructor(event: android.location.GnssMeasurementsEvent);
				public setGnssAutomaticGainControls(agcs: java.util.Collection<android.location.GnssAutomaticGainControl>): android.location.GnssMeasurementsEvent.Builder;
				public setClock(clock: android.location.GnssClock): android.location.GnssMeasurementsEvent.Builder;
				public setIsFullTracking(isFullTracking: boolean): android.location.GnssMeasurementsEvent.Builder;
				public clearIsFullTracking(): android.location.GnssMeasurementsEvent.Builder;
				public constructor();
				public setMeasurements(measurements: java.util.Collection<android.location.GnssMeasurement>): android.location.GnssMeasurementsEvent.Builder;
				public build(): android.location.GnssMeasurementsEvent;
			}
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssMeasurementsEvent.Callback>;
				public static STATUS_LOCATION_DISABLED: 2;
				public static STATUS_NOT_ALLOWED: 3;
				public static STATUS_NOT_SUPPORTED: 0;
				public static STATUS_READY: 1;
				public onGnssMeasurementsReceived(eventArgs: android.location.GnssMeasurementsEvent): void;
				/** @deprecated */
				public onStatusChanged(status: number): 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: 1;
			public static STATUS_PARITY_REBUILT: 2;
			public static STATUS_UNKNOWN: 0;
			public static TYPE_BDS_CNAV1: 1283;
			public static TYPE_BDS_CNAV2: 1284;
			public static TYPE_BDS_D1: 1281;
			public static TYPE_BDS_D2: 1282;
			public static TYPE_GAL_F: 1538;
			public static TYPE_GAL_I: 1537;
			public static TYPE_GLO_L1CA: 769;
			public static TYPE_GPS_CNAV2: 260;
			public static TYPE_GPS_L1CA: 257;
			public static TYPE_GPS_L2CNAV: 258;
			public static TYPE_GPS_L5CNAV: 259;
			public static TYPE_IRN_L1: 1795;
			public static TYPE_IRN_L5: 1794;
			public static TYPE_IRN_L5CA: 1793;
			public static TYPE_QZS_L1CA: 1025;
			public static TYPE_SBS: 513;
			public static TYPE_UNKNOWN: 0;
			public getType(): number;
			public toString(): string;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getSvid(): number;
			public getData(): androidNative.Array<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: 2;
				public static STATUS_NOT_SUPPORTED: 0;
				public static STATUS_READY: 1;
				public onGnssNavigationMessageReceived(event: android.location.GnssNavigationMessage): void;
				/** @deprecated */
				public onStatusChanged(status: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module location {
		export class GnssSignalType extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssSignalType>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssSignalType>;
			public toString(): string;
			public equals(obj: any): boolean;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static create(constellationType: number, carrierFrequencyHz: number, codeType: string): android.location.GnssSignalType;
			public getConstellationType(): number;
			public getCodeType(): string;
			public getCarrierFrequencyHz(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module location {
		export class GnssStatus extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssStatus>;
			public static CONSTELLATION_BEIDOU: 5;
			public static CONSTELLATION_GALILEO: 6;
			public static CONSTELLATION_GLONASS: 3;
			public static CONSTELLATION_GPS: 1;
			public static CONSTELLATION_IRNSS: 7;
			public static CONSTELLATION_QZSS: 4;
			public static CONSTELLATION_SBAS: 2;
			public static CONSTELLATION_UNKNOWN: 0;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssStatus>;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public getSatelliteCount(): number;
			public getConstellationType(satelliteIndex: number): number;
			public getSvid(satelliteIndex: number): number;
			public hasBasebandCn0DbHz(satelliteIndex: number): boolean;
			public getAzimuthDegrees(satelliteIndex: number): number;
			public getCarrierFrequencyHz(satelliteIndex: number): number;
			public hasEphemerisData(satelliteIndex: number): boolean;
			public getBasebandCn0DbHz(satelliteIndex: number): number;
			public hasAlmanacData(satelliteIndex: number): boolean;
			public hasCarrierFrequencyHz(satelliteIndex: number): boolean;
			public equals(o: any): boolean;
			public describeContents(): number;
			public usedInFix(satelliteIndex: number): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCn0DbHz(satelliteIndex: number): number;
			public getElevationDegrees(satelliteIndex: number): number;
			public hashCode(): number;
		}
		export module GnssStatus {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssStatus.Builder>;
				public build(): android.location.GnssStatus;
				public addSatellite(constellationType: number, svid: number, cn0DbHz: number, elevation: number, azimuth: number, hasEphemeris: boolean, hasAlmanac: boolean, usedInFix: boolean, hasCarrierFrequency: boolean, carrierFrequency: number, hasBasebandCn0DbHz: boolean, basebandCn0DbHz: number): android.location.GnssStatus.Builder;
				public clearSatellites(): android.location.GnssStatus.Builder;
				public constructor();
			}
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssStatus.Callback>;
				public onSatelliteStatusChanged(status: android.location.GnssStatus): void;
				public onFirstFix(ttffMillis: number): void;
				public onStarted(): void;
				public onStopped(): 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>;
			/** @deprecated */
			public getElevation(): number;
			/** @deprecated */
			public getAzimuth(): number;
			/** @deprecated */
			public hasEphemeris(): boolean;
			/** @deprecated */
			public getPrn(): number;
			/** @deprecated */
			public getSnr(): number;
			/** @deprecated */
			public hasAlmanac(): boolean;
			/** @deprecated */
			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: 3;
			public static GPS_EVENT_SATELLITE_STATUS: 4;
			public static GPS_EVENT_STARTED: 1;
			public static GPS_EVENT_STOPPED: 2;
			/** @deprecated */
			public getSatellites(): java.lang.Iterable<android.location.GpsSatellite>;
			/** @deprecated */
			public getMaxSatellites(): number;
			/** @deprecated */
			public getTimeToFirstFix(): number;
			/** @deprecated */
			public static create(gnssStatus: android.location.GnssStatus, timeToFirstFix: number): android.location.GpsStatus;
		}
		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();
				/** @deprecated */
				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();
				/** @deprecated */
				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: 0;
			public static FORMAT_MINUTES: 1;
			public static FORMAT_SECONDS: 2;
			public setMslAltitudeAccuracyMeters(mslAltitudeAccuracyMeters: number): void;
			/** @deprecated */
			public isFromMockProvider(): boolean;
			public removeSpeed(): void;
			public setExtras(extras: android.os.Bundle): void;
			public getElapsedRealtimeUncertaintyNanos(): number;
			public set(location: android.location.Location): void;
			public removeBearing(): void;
			public hasMslAltitudeAccuracy(): boolean;
			public static distanceBetween(startLatitude: number, startLongitude: number, endLatitude: number, endLongitude: number, results: androidNative.Array<number>): void;
			public removeMslAltitudeAccuracy(): void;
			public hasMslAltitude(): boolean;
			public isMock(): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasSpeedAccuracy(): boolean;
			public distanceTo(dest: android.location.Location): number;
			public constructor(location: android.location.Location);
			public getLongitude(): number;
			public setMslAltitudeMeters(mslAltitudeMeters: number): void;
			public isComplete(): boolean;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public hasBearingAccuracy(): boolean;
			public removeBearingAccuracy(): void;
			public getLatitude(): number;
			public hasAltitude(): boolean;
			public removeElapsedRealtimeUncertaintyNanos(): void;
			public setProvider(provider: string): void;
			public removeAltitude(): void;
			public removeSpeedAccuracy(): void;
			public setLongitude(longitudeDegrees: number): void;
			public equals(o: any): boolean;
			public getTime(): number;
			public hasElapsedRealtimeUncertaintyNanos(): boolean;
			public setSpeed(speedMetersPerSecond: number): void;
			public removeMslAltitude(): void;
			public describeContents(): number;
			public constructor(provider: string);
			public getExtras(): android.os.Bundle;
			public getBearing(): number;
			public setAltitude(altitudeMeters: number): void;
			public getMslAltitudeAccuracyMeters(): number;
			public getElapsedRealtimeAgeMillis(): number;
			public setVerticalAccuracyMeters(altitudeAccuracyMeters: number): void;
			public removeVerticalAccuracy(): void;
			public getProvider(): string;
			public getElapsedRealtimeNanos(): number;
			public setElapsedRealtimeUncertaintyNanos(elapsedRealtimeUncertaintyNs: number): void;
			public getSpeed(): number;
			public hasBearing(): boolean;
			public setMock(mock: boolean): void;
			public getAltitude(): number;
			public setBearingAccuracyDegrees(bearingAccuracyDegrees: number): void;
			public removeAccuracy(): void;
			public setAccuracy(horizontalAccuracyMeters: number): void;
			public getAccuracy(): number;
			public reset(): void;
			public getElapsedRealtimeMillis(): number;
			public hasVerticalAccuracy(): boolean;
			public setTime(timeMs: number): void;
			public hasAccuracy(): boolean;
			public setSpeedAccuracyMetersPerSecond(speedAccuracyMeterPerSecond: number): void;
			public static convert(coordinate: number, outputType: number): string;
			public setElapsedRealtimeNanos(elapsedRealtimeNs: number): void;
			public getMslAltitudeMeters(): number;
			public getElapsedRealtimeAgeMillis(referenceRealtimeMs: number): number;
			public getSpeedAccuracyMetersPerSecond(): number;
			public setBearing(bearingDegrees: number): void;
			public getBearingAccuracyDegrees(): number;
			public hasSpeed(): boolean;
			public getVerticalAccuracyMeters(): number;
			/** @deprecated */
			public dump(pw: android.util.Printer, prefix: string): void;
			public setLatitude(latitudeDegrees: number): void;
			public toString(): string;
			public bearingTo(dest: android.location.Location): number;
			public static convert(coordinate: string): number;
			public hashCode(): number;
		}
	}
}

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;
				onLocationChanged(locations: java.util.List<android.location.Location>): void;
				onFlushComplete(requestCode: number): void;
				onStatusChanged(provider: string, status: number, extras: android.os.Bundle): void;
				onProviderEnabled(provider: string): void;
				onProviderDisabled(provider: string): void;
			});
			public constructor();
			public onFlushComplete(requestCode: number): void;
			public onProviderEnabled(provider: string): void;
			public onProviderDisabled(provider: string): void;
			public onLocationChanged(param0: android.location.Location): void;
			public onLocationChanged(locations: java.util.List<android.location.Location>): void;
			/** @deprecated */
			public onStatusChanged(provider: string, status: number, extras: 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 ACTION_GNSS_CAPABILITIES_CHANGED: "android.location.action.GNSS_CAPABILITIES_CHANGED";
			public static EXTRA_GNSS_CAPABILITIES: "android.location.extra.GNSS_CAPABILITIES";
			public static EXTRA_LOCATION_ENABLED: "android.location.extra.LOCATION_ENABLED";
			public static EXTRA_PROVIDER_ENABLED: "android.location.extra.PROVIDER_ENABLED";
			public static EXTRA_PROVIDER_NAME: "android.location.extra.PROVIDER_NAME";
			public static FUSED_PROVIDER: "fused";
			public static GPS_PROVIDER: "gps";
			public static KEY_FLUSH_COMPLETE: "flushComplete";
			public static KEY_LOCATIONS: "locations";
			public static KEY_LOCATION_CHANGED: "location";
			public static KEY_PROVIDER_ENABLED: "providerEnabled";
			public static KEY_PROXIMITY_ENTERING: "entering";
			public static KEY_STATUS_CHANGED: "status";
			public static MODE_CHANGED_ACTION: "android.location.MODE_CHANGED";
			public static NETWORK_PROVIDER: "network";
			public static PASSIVE_PROVIDER: "passive";
			public static PROVIDERS_CHANGED_ACTION: "android.location.PROVIDERS_CHANGED";
			public getGnssYearOfHardware(): number;
			public getProviders(enabledOnly: boolean): java.util.List<string>;
			public requestLocationUpdates(provider: string, locationRequest: android.location.LocationRequest, pendingIntent: android.app.PendingIntent): void;
			/** @deprecated */
			public registerGnssStatusCallback(callback: android.location.GnssStatus.Callback): boolean;
			public registerAntennaInfoListener(executor: java.util.concurrent.Executor, listener: android.location.GnssAntennaInfo.Listener): boolean;
			public removeUpdates(listener: android.location.LocationListener): void;
			/** @deprecated */
			public clearTestProviderLocation(provider: string): void;
			public removeUpdates(pendingIntent: android.app.PendingIntent): void;
			public addNmeaListener(executor: java.util.concurrent.Executor, listener: android.location.OnNmeaMessageListener): boolean;
			public addTestProvider(provider: string, properties: android.location.provider.ProviderProperties, extraAttributionTags: java.util.Set<string>): void;
			public hasProvider(provider: string): boolean;
			/** @deprecated */
			public registerGnssMeasurementsCallback(callback: android.location.GnssMeasurementsEvent.Callback): boolean;
			public setTestProviderLocation(provider: string, location: android.location.Location): void;
			public unregisterGnssNavigationMessageCallback(callback: android.location.GnssNavigationMessage.Callback): void;
			public getGnssCapabilities(): android.location.GnssCapabilities;
			public unregisterGnssStatusCallback(callback: android.location.GnssStatus.Callback): void;
			public registerGnssNavigationMessageCallback(callback: android.location.GnssNavigationMessage.Callback, handler: android.os.Handler): boolean;
			/** @deprecated */
			public requestSingleUpdate(provider: string, listener: android.location.LocationListener, looper: android.os.Looper): void;
			/** @deprecated */
			public getGpsStatus(status: android.location.GpsStatus): android.location.GpsStatus;
			public unregisterGnssMeasurementsCallback(callback: android.location.GnssMeasurementsEvent.Callback): void;
			public addProximityAlert(latitude: number, longitude: number, radius: number, expiration: number, pendingIntent: android.app.PendingIntent): void;
			public registerGnssStatusCallback(callback: android.location.GnssStatus.Callback, handler: android.os.Handler): boolean;
			/** @deprecated */
			public removeNmeaListener(listener: android.location.GpsStatus.NmeaListener): void;
			/** @deprecated */
			public setTestProviderStatus(provider: string, status: number, extras: android.os.Bundle, updateTime: number): void;
			public requestLocationUpdates(provider: string, minTimeMs: number, minDistanceM: number, executor: java.util.concurrent.Executor, listener: android.location.LocationListener): void;
			public removeNmeaListener(listener: android.location.OnNmeaMessageListener): void;
			public getCurrentLocation(provider: string, locationRequest: android.location.LocationRequest, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
			/** @deprecated */
			public requestLocationUpdates(minTimeMs: number, minDistanceM: number, criteria: android.location.Criteria, pendingIntent: android.app.PendingIntent): void;
			public sendExtraCommand(provider: string, command: string, extras: android.os.Bundle): boolean;
			/** @deprecated */
			public addNmeaListener(listener: android.location.GpsStatus.NmeaListener): boolean;
			public getLastKnownLocation(provider: string): android.location.Location;
			public registerGnssNavigationMessageCallback(executor: java.util.concurrent.Executor, callback: android.location.GnssNavigationMessage.Callback): boolean;
			/** @deprecated */
			public requestSingleUpdate(provider: string, pendingIntent: android.app.PendingIntent): void;
			public isProviderEnabled(provider: string): boolean;
			public addTestProvider(provider: string, requiresNetwork: boolean, requiresSatellite: boolean, requiresCell: boolean, hasMonetaryCost: boolean, supportsAltitude: boolean, supportsSpeed: boolean, supportsBearing: boolean, powerUsage: number, accuracy: number): void;
			/** @deprecated */
			public getProvider(provider: string): android.location.LocationProvider;
			public getGnssHardwareModelName(): string;
			/** @deprecated */
			public clearTestProviderEnabled(provider: string): void;
			public registerGnssMeasurementsCallback(executor: java.util.concurrent.Executor, callback: android.location.GnssMeasurementsEvent.Callback): boolean;
			public requestLocationUpdates(provider: string, minTimeMs: number, minDistanceM: number, pendingIntent: android.app.PendingIntent): void;
			/** @deprecated */
			public getBestProvider(criteria: android.location.Criteria, enabledOnly: boolean): string;
			/** @deprecated */
			public requestSingleUpdate(criteria: android.location.Criteria, listener: android.location.LocationListener, looper: android.os.Looper): void;
			/** @deprecated */
			public requestLocationUpdates(minTimeMs: number, minDistanceM: number, criteria: android.location.Criteria, executor: java.util.concurrent.Executor, listener: android.location.LocationListener): void;
			/** @deprecated */
			public requestSingleUpdate(criteria: android.location.Criteria, pendingIntent: android.app.PendingIntent): void;
			public getCurrentLocation(provider: string, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
			public registerGnssMeasurementsCallback(callback: android.location.GnssMeasurementsEvent.Callback, handler: android.os.Handler): boolean;
			public requestFlush(provider: string, pendingIntent: android.app.PendingIntent, requestCode: number): void;
			public addNmeaListener(listener: android.location.OnNmeaMessageListener, handler: android.os.Handler): boolean;
			/** @deprecated */
			public clearTestProviderStatus(provider: string): void;
			public unregisterAntennaInfoListener(listener: android.location.GnssAntennaInfo.Listener): void;
			public requestFlush(provider: string, listener: android.location.LocationListener, requestCode: number): void;
			public getGnssAntennaInfos(): java.util.List<android.location.GnssAntennaInfo>;
			public removeProximityAlert(intent: android.app.PendingIntent): void;
			/** @deprecated */
			public addGpsStatusListener(listener: android.location.GpsStatus.Listener): boolean;
			/** @deprecated */
			public registerGnssNavigationMessageCallback(callback: android.location.GnssNavigationMessage.Callback): boolean;
			public getProviderProperties(provider: string): android.location.provider.ProviderProperties;
			public isLocationEnabled(): boolean;
			public registerGnssStatusCallback(executor: java.util.concurrent.Executor, callback: android.location.GnssStatus.Callback): boolean;
			public setTestProviderEnabled(provider: string, enabled: boolean): void;
			/** @deprecated */
			public requestLocationUpdates(minTimeMs: number, minDistanceM: number, criteria: android.location.Criteria, listener: android.location.LocationListener, looper: android.os.Looper): void;
			public registerGnssMeasurementsCallback(request: android.location.GnssMeasurementRequest, executor: java.util.concurrent.Executor, callback: android.location.GnssMeasurementsEvent.Callback): boolean;
			public getAllProviders(): java.util.List<string>;
			public removeTestProvider(provider: string): void;
			public requestLocationUpdates(provider: string, minTimeMs: number, minDistanceM: number, listener: android.location.LocationListener, looper: android.os.Looper): void;
			public requestLocationUpdates(provider: string, locationRequest: android.location.LocationRequest, executor: java.util.concurrent.Executor, listener: android.location.LocationListener): void;
			/** @deprecated */
			public addNmeaListener(listener: android.location.OnNmeaMessageListener): boolean;
			/** @deprecated */
			public getProviders(criteria: android.location.Criteria, enabledOnly: boolean): java.util.List<string>;
			public addTestProvider(provider: string, properties: android.location.provider.ProviderProperties): void;
			/** @deprecated */
			public removeGpsStatusListener(listener: android.location.GpsStatus.Listener): void;
			public requestLocationUpdates(provider: string, minTimeMs: number, minDistanceM: number, listener: android.location.LocationListener): 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: 2;
			public static OUT_OF_SERVICE: 0;
			public static TEMPORARILY_UNAVAILABLE: 1;
			/** @deprecated */
			public meetsCriteria(criteria: android.location.Criteria): boolean;
			/** @deprecated */
			public requiresNetwork(): boolean;
			/** @deprecated */
			public getName(): string;
			/** @deprecated */
			public supportsAltitude(): boolean;
			/** @deprecated */
			public supportsBearing(): boolean;
			/** @deprecated */
			public getAccuracy(): number;
			/** @deprecated */
			public requiresCell(): boolean;
			/** @deprecated */
			public supportsSpeed(): boolean;
			/** @deprecated */
			public hasMonetaryCost(): boolean;
			/** @deprecated */
			public requiresSatellite(): boolean;
			/** @deprecated */
			public getPowerRequirement(): number;
		}
	}
}

declare module android {
	export module location {
		export class LocationRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.LocationRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.LocationRequest>;
			public static PASSIVE_INTERVAL: 9223372036854775807;
			public static QUALITY_BALANCED_POWER_ACCURACY: 102;
			public static QUALITY_HIGH_ACCURACY: 100;
			public static QUALITY_LOW_POWER: 104;
			public getIntervalMillis(): number;
			public getDurationMillis(): number;
			public getMinUpdateDistanceMeters(): number;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public getMaxUpdateDelayMillis(): number;
			public getQuality(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMaxUpdates(): number;
			public getMinUpdateIntervalMillis(): number;
			public hashCode(): number;
		}
		export module LocationRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.location.LocationRequest.Builder>;
				public constructor(intervalMillis: number);
				public setMinUpdateIntervalMillis(minUpdateIntervalMillis: number): android.location.LocationRequest.Builder;
				public setIntervalMillis(intervalMillis: number): android.location.LocationRequest.Builder;
				public setMaxUpdateDelayMillis(maxUpdateDelayMillis: number): android.location.LocationRequest.Builder;
				public build(): android.location.LocationRequest;
				public setDurationMillis(durationMillis: number): android.location.LocationRequest.Builder;
				public setMaxUpdates(maxUpdates: number): android.location.LocationRequest.Builder;
				public setMinUpdateDistanceMeters(minUpdateDistanceMeters: number): android.location.LocationRequest.Builder;
				public constructor(locationRequest: android.location.LocationRequest);
				public setQuality(quality: number): android.location.LocationRequest.Builder;
				public clearMinUpdateIntervalMillis(): android.location.LocationRequest.Builder;
			}
		}
	}
}

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: "android.location.InjectedSettingChanged";
			public static ACTION_SERVICE_INTENT: "android.location.SettingInjectorService";
			public static ATTRIBUTES_NAME: "injected-location-setting";
			public static META_DATA_NAME: "android.location.SettingInjectorService";
			public onTrimMemory(param0: number): void;
			public onStart(intent: android.content.Intent, startId: number): void;
			public constructor(name: string);
			public onGetSummary(): string;
			public onStartCommand(intent: android.content.Intent, flags: number, startId: number): number;
			public onGetEnabled(): boolean;
			public constructor();
			public static refreshSettings(context: android.content.Context): void;
			public constructor(base: android.content.Context);
			public onBind(intent: android.content.Intent): android.os.IBinder;
		}
	}
}

declare module android {
	export module location {
		export module altitude {
			export class AltitudeConverter extends java.lang.Object {
				public static class: java.lang.Class<android.location.altitude.AltitudeConverter>;
				public addMslAltitudeToLocation(context: android.content.Context, location: android.location.Location): void;
				public tryAddMslAltitudeToLocation(location: android.location.Location): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module location {
		export module provider {
			export class ProviderProperties extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.location.provider.ProviderProperties>;
				public static ACCURACY_COARSE: 2;
				public static ACCURACY_FINE: 1;
				public static CREATOR: android.os.Parcelable.Creator<android.location.provider.ProviderProperties>;
				public static POWER_USAGE_HIGH: 3;
				public static POWER_USAGE_LOW: 1;
				public static POWER_USAGE_MEDIUM: 2;
				public hasCellRequirement(): boolean;
				public hasSpeedSupport(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public toString(): string;
				public hasMonetaryCost(): boolean;
				public hasAltitudeSupport(): boolean;
				public hasNetworkRequirement(): boolean;
				public hasBearingSupport(): boolean;
				public hashCode(): number;
				public getPowerUsage(): number;
				public describeContents(): number;
				public hasSatelliteRequirement(): boolean;
				public equals(o: any): boolean;
				public getAccuracy(): number;
			}
			export module ProviderProperties {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.location.provider.ProviderProperties.Builder>;
					public setHasCellRequirement(requiresCell: boolean): android.location.provider.ProviderProperties.Builder;
					public setHasNetworkRequirement(requiresNetwork: boolean): android.location.provider.ProviderProperties.Builder;
					public build(): android.location.provider.ProviderProperties;
					public setHasBearingSupport(supportsBearing: boolean): android.location.provider.ProviderProperties.Builder;
					public constructor();
					public setHasSatelliteRequirement(requiresSatellite: boolean): android.location.provider.ProviderProperties.Builder;
					public setPowerUsage(powerUsage: number): android.location.provider.ProviderProperties.Builder;
					public setHasMonetaryCost(monetaryCost: boolean): android.location.provider.ProviderProperties.Builder;
					public setHasAltitudeSupport(supportsAltitude: boolean): android.location.provider.ProviderProperties.Builder;
					public setHasSpeedSupport(supportsSpeed: boolean): android.location.provider.ProviderProperties.Builder;
					public constructor(providerProperties: android.location.provider.ProviderProperties);
					public setAccuracy(accuracy: number): android.location.provider.ProviderProperties.Builder;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export class ApplicationMediaCapabilities extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.ApplicationMediaCapabilities>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.ApplicationMediaCapabilities>;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getSupportedVideoMimeTypes(): java.util.List<string>;
			public isHdrTypeSupported(hdrType: string): boolean;
			public isFormatSpecified(format: string): boolean;
			public describeContents(): number;
			public static createFromXml(xmlParser: org.xmlpull.v1.XmlPullParser): android.media.ApplicationMediaCapabilities;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getUnsupportedVideoMimeTypes(): java.util.List<string>;
			public getUnsupportedHdrTypes(): java.util.List<string>;
			public isVideoMimeTypeSupported(videoMime: string): boolean;
			public getSupportedHdrTypes(): java.util.List<string>;
		}
		export module ApplicationMediaCapabilities {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.ApplicationMediaCapabilities.Builder>;
				public addSupportedVideoMimeType(codecMime: string): android.media.ApplicationMediaCapabilities.Builder;
				public addSupportedHdrType(hdrType: string): android.media.ApplicationMediaCapabilities.Builder;
				public addUnsupportedHdrType(hdrType: string): android.media.ApplicationMediaCapabilities.Builder;
				public build(): android.media.ApplicationMediaCapabilities;
				public addUnsupportedVideoMimeType(codecMime: string): android.media.ApplicationMediaCapabilities.Builder;
				public constructor();
			}
		}
	}
}

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

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 ALLOW_CAPTURE_BY_ALL: 1;
			public static ALLOW_CAPTURE_BY_NONE: 3;
			public static ALLOW_CAPTURE_BY_SYSTEM: 2;
			public static CONTENT_TYPE_MOVIE: 3;
			public static CONTENT_TYPE_MUSIC: 2;
			public static CONTENT_TYPE_SONIFICATION: 4;
			public static CONTENT_TYPE_SPEECH: 1;
			public static CONTENT_TYPE_UNKNOWN: 0;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public static FLAG_AUDIBILITY_ENFORCED: 1;
			public static FLAG_HW_AV_SYNC: 16;
			public static FLAG_LOW_LATENCY: 256;
			public static SPATIALIZATION_BEHAVIOR_AUTO: 0;
			public static SPATIALIZATION_BEHAVIOR_NEVER: 1;
			public static USAGE_ALARM: 4;
			public static USAGE_ASSISTANCE_ACCESSIBILITY: 11;
			public static USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: 12;
			public static USAGE_ASSISTANCE_SONIFICATION: 13;
			public static USAGE_ASSISTANT: 16;
			public static USAGE_GAME: 14;
			public static USAGE_MEDIA: 1;
			public static USAGE_NOTIFICATION: 5;
			public static USAGE_NOTIFICATION_COMMUNICATION_DELAYED: 9;
			public static USAGE_NOTIFICATION_COMMUNICATION_INSTANT: 8;
			public static USAGE_NOTIFICATION_COMMUNICATION_REQUEST: 7;
			public static USAGE_NOTIFICATION_EVENT: 10;
			public static USAGE_NOTIFICATION_RINGTONE: 6;
			public static USAGE_UNKNOWN: 0;
			public static USAGE_VOICE_COMMUNICATION: 2;
			public static USAGE_VOICE_COMMUNICATION_SIGNALLING: 3;
			public getSpatializationBehavior(): number;
			public getFlags(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getVolumeControlStream(): number;
			public getUsage(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public areHapticChannelsMuted(): boolean;
			public isContentSpatialized(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getAllowedCapturePolicy(): number;
			public getContentType(): number;
			public hashCode(): number;
		}
		export module AudioAttributes {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<any>;
				public setContentType(contentType: number): any;
				public setUsage(usage: number): any;
				public constructor(aa: any);
				public setAllowedCapturePolicy(capturePolicy: number): any;
				public setSpatializationBehavior(sb: number): any;
				public setFlags(flags: number): any;
				public setLegacyStreamType(streamType: number): any;
				public build(): any;
				public setIsContentSpatialized(isSpatialized: boolean): any;
				public setHapticChannelsMuted(muted: boolean): any;
				public constructor();
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioDescriptor extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.AudioDescriptor>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioDescriptor>;
			public static STANDARD_EDID: 1;
			public static STANDARD_NONE: 0;
			public static STANDARD_SADB: 2;
			public static STANDARD_VSADB: 3;
			public getDescriptor(): androidNative.Array<number>;
			public getStandard(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getEncapsulationType(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

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(removedDevices: androidNative.Array<android.media.AudioDeviceInfo>): void;
			public onAudioDevicesAdded(addedDevices: androidNative.Array<android.media.AudioDeviceInfo>): void;
			public constructor();
		}
	}
}

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: 19;
			public static TYPE_BLE_BROADCAST: 30;
			public static TYPE_BLE_HEADSET: 26;
			public static TYPE_BLE_SPEAKER: 27;
			public static TYPE_BLUETOOTH_A2DP: 8;
			public static TYPE_BLUETOOTH_SCO: 7;
			public static TYPE_BUILTIN_EARPIECE: 1;
			public static TYPE_BUILTIN_MIC: 15;
			public static TYPE_BUILTIN_SPEAKER: 2;
			public static TYPE_BUILTIN_SPEAKER_SAFE: 24;
			public static TYPE_BUS: 21;
			public static TYPE_DOCK: 13;
			public static TYPE_DOCK_ANALOG: 31;
			public static TYPE_FM: 14;
			public static TYPE_FM_TUNER: 16;
			public static TYPE_HDMI: 9;
			public static TYPE_HDMI_ARC: 10;
			public static TYPE_HDMI_EARC: 29;
			public static TYPE_HEARING_AID: 23;
			public static TYPE_IP: 20;
			public static TYPE_LINE_ANALOG: 5;
			public static TYPE_LINE_DIGITAL: 6;
			public static TYPE_REMOTE_SUBMIX: 25;
			public static TYPE_TELEPHONY: 18;
			public static TYPE_TV_TUNER: 17;
			public static TYPE_UNKNOWN: 0;
			public static TYPE_USB_ACCESSORY: 12;
			public static TYPE_USB_DEVICE: 11;
			public static TYPE_USB_HEADSET: 22;
			public static TYPE_WIRED_HEADPHONES: 4;
			public static TYPE_WIRED_HEADSET: 3;
			public getEncodings(): androidNative.Array<number>;
			public getType(): number;
			public getChannelIndexMasks(): androidNative.Array<number>;
			public getAudioProfiles(): java.util.List<android.media.AudioProfile>;
			public getChannelMasks(): androidNative.Array<number>;
			public getEncapsulationMetadataTypes(): androidNative.Array<number>;
			public getAddress(): string;
			public getProductName(): string;
			public getChannelCounts(): androidNative.Array<number>;
			public getAudioDescriptors(): java.util.List<android.media.AudioDescriptor>;
			public equals(o: any): boolean;
			public getId(): number;
			public getEncapsulationModes(): androidNative.Array<number>;
			public getSampleRates(): androidNative.Array<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(requestToCopy: android.media.AudioFocusRequest);
				public setOnAudioFocusChangeListener(listener: android.media.AudioManager.OnAudioFocusChangeListener): android.media.AudioFocusRequest.Builder;
				public constructor(focusGain: number);
				public setAudioAttributes(attributes: any): android.media.AudioFocusRequest.Builder;
				public setWillPauseWhenDucked(pauseOnDuck: boolean): android.media.AudioFocusRequest.Builder;
				public setForceDucking(forceDucking: boolean): android.media.AudioFocusRequest.Builder;
				public build(): android.media.AudioFocusRequest;
				public setFocusGain(focusGain: number): android.media.AudioFocusRequest.Builder;
				public setOnAudioFocusChangeListener(listener: android.media.AudioManager.OnAudioFocusChangeListener, handler: android.os.Handler): android.media.AudioFocusRequest.Builder;
				public setAcceptsDelayedFocusGain(acceptsDelayedFocusGain: boolean): 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: 1;
			public static CHANNEL_CONFIGURATION_INVALID: 0;
			public static CHANNEL_CONFIGURATION_MONO: 2;
			public static CHANNEL_CONFIGURATION_STEREO: 3;
			public static CHANNEL_INVALID: 0;
			public static CHANNEL_IN_BACK: 32;
			public static CHANNEL_IN_BACK_PROCESSED: 512;
			public static CHANNEL_IN_DEFAULT: 1;
			public static CHANNEL_IN_FRONT: 16;
			public static CHANNEL_IN_FRONT_PROCESSED: 256;
			public static CHANNEL_IN_LEFT: 4;
			public static CHANNEL_IN_LEFT_PROCESSED: 64;
			public static CHANNEL_IN_MONO: 16;
			public static CHANNEL_IN_PRESSURE: 1024;
			public static CHANNEL_IN_RIGHT: 8;
			public static CHANNEL_IN_RIGHT_PROCESSED: 128;
			public static CHANNEL_IN_STEREO: 12;
			public static CHANNEL_IN_VOICE_DNLINK: 32768;
			public static CHANNEL_IN_VOICE_UPLINK: 16384;
			public static CHANNEL_IN_X_AXIS: 2048;
			public static CHANNEL_IN_Y_AXIS: 4096;
			public static CHANNEL_IN_Z_AXIS: 8192;
			public static CHANNEL_OUT_5POINT1: 252;
			public static CHANNEL_OUT_5POINT1POINT2: 3145980;
			public static CHANNEL_OUT_5POINT1POINT4: 737532;
			public static CHANNEL_OUT_6POINT1: 1276;
			public static CHANNEL_OUT_7POINT1: 1020;
			public static CHANNEL_OUT_7POINT1POINT2: 3152124;
			public static CHANNEL_OUT_7POINT1POINT4: 743676;
			public static CHANNEL_OUT_7POINT1_SURROUND: 6396;
			public static CHANNEL_OUT_9POINT1POINT4: 202070268;
			public static CHANNEL_OUT_9POINT1POINT6: 205215996;
			public static CHANNEL_OUT_BACK_CENTER: 1024;
			public static CHANNEL_OUT_BACK_LEFT: 64;
			public static CHANNEL_OUT_BACK_RIGHT: 128;
			public static CHANNEL_OUT_BOTTOM_FRONT_CENTER: 8388608;
			public static CHANNEL_OUT_BOTTOM_FRONT_LEFT: 4194304;
			public static CHANNEL_OUT_BOTTOM_FRONT_RIGHT: 16777216;
			public static CHANNEL_OUT_DEFAULT: 1;
			public static CHANNEL_OUT_FRONT_CENTER: 16;
			public static CHANNEL_OUT_FRONT_LEFT: 4;
			public static CHANNEL_OUT_FRONT_LEFT_OF_CENTER: 256;
			public static CHANNEL_OUT_FRONT_RIGHT: 8;
			public static CHANNEL_OUT_FRONT_RIGHT_OF_CENTER: 512;
			public static CHANNEL_OUT_FRONT_WIDE_LEFT: 67108864;
			public static CHANNEL_OUT_FRONT_WIDE_RIGHT: 134217728;
			public static CHANNEL_OUT_LOW_FREQUENCY: 32;
			public static CHANNEL_OUT_LOW_FREQUENCY_2: 33554432;
			public static CHANNEL_OUT_MONO: 4;
			public static CHANNEL_OUT_QUAD: 204;
			public static CHANNEL_OUT_SIDE_LEFT: 2048;
			public static CHANNEL_OUT_SIDE_RIGHT: 4096;
			public static CHANNEL_OUT_STEREO: 12;
			public static CHANNEL_OUT_SURROUND: 1052;
			public static CHANNEL_OUT_TOP_BACK_CENTER: 262144;
			public static CHANNEL_OUT_TOP_BACK_LEFT: 131072;
			public static CHANNEL_OUT_TOP_BACK_RIGHT: 524288;
			public static CHANNEL_OUT_TOP_CENTER: 8192;
			public static CHANNEL_OUT_TOP_FRONT_CENTER: 32768;
			public static CHANNEL_OUT_TOP_FRONT_LEFT: 16384;
			public static CHANNEL_OUT_TOP_FRONT_RIGHT: 65536;
			public static CHANNEL_OUT_TOP_SIDE_LEFT: 1048576;
			public static CHANNEL_OUT_TOP_SIDE_RIGHT: 2097152;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioFormat>;
			public static ENCODING_AAC_ELD: 15;
			public static ENCODING_AAC_HE_V1: 11;
			public static ENCODING_AAC_HE_V2: 12;
			public static ENCODING_AAC_LC: 10;
			public static ENCODING_AAC_XHE: 16;
			public static ENCODING_AC3: 5;
			public static ENCODING_AC4: 17;
			public static ENCODING_DEFAULT: 1;
			public static ENCODING_DOLBY_MAT: 19;
			public static ENCODING_DOLBY_TRUEHD: 14;
			public static ENCODING_DRA: 28;
			public static ENCODING_DSD: 31;
			public static ENCODING_DTS: 7;
			public static ENCODING_DTS_HD: 8;
			public static ENCODING_DTS_HD_MA: 29;
			public static ENCODING_DTS_UHD: 27;
			public static ENCODING_DTS_UHD_P1: 27;
			public static ENCODING_DTS_UHD_P2: 30;
			public static ENCODING_E_AC3: 6;
			public static ENCODING_E_AC3_JOC: 18;
			public static ENCODING_IEC61937: 13;
			public static ENCODING_INVALID: 0;
			public static ENCODING_MP3: 9;
			public static ENCODING_MPEGH_BL_L3: 23;
			public static ENCODING_MPEGH_BL_L4: 24;
			public static ENCODING_MPEGH_LC_L3: 25;
			public static ENCODING_MPEGH_LC_L4: 26;
			public static ENCODING_OPUS: 20;
			public static ENCODING_PCM_16BIT: 2;
			public static ENCODING_PCM_24BIT_PACKED: 21;
			public static ENCODING_PCM_32BIT: 22;
			public static ENCODING_PCM_8BIT: 3;
			public static ENCODING_PCM_FLOAT: 4;
			public static SAMPLE_RATE_UNSPECIFIED: 0;
			public getSampleRate(): number;
			public getChannelCount(): number;
			public getFrameSizeInBytes(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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 setChannelMask(channelMask: number): android.media.AudioFormat.Builder;
				public setEncoding(encoding: number): android.media.AudioFormat.Builder;
				public build(): android.media.AudioFormat;
				public setSampleRate(sampleRate: number): android.media.AudioFormat.Builder;
				public constructor(af: android.media.AudioFormat);
				public setChannelIndexMask(channelIndexMask: number): android.media.AudioFormat.Builder;
				public constructor();
			}
		}
	}
}

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: "android.media.AUDIO_BECOMING_NOISY";
			public static ACTION_HDMI_AUDIO_PLUG: "android.media.action.HDMI_AUDIO_PLUG";
			public static ACTION_HEADSET_PLUG: "android.intent.action.HEADSET_PLUG";
			public static ACTION_MICROPHONE_MUTE_CHANGED: "android.media.action.MICROPHONE_MUTE_CHANGED";
			public static ACTION_SCO_AUDIO_STATE_CHANGED: "android.media.SCO_AUDIO_STATE_CHANGED";
			public static ACTION_SCO_AUDIO_STATE_UPDATED: "android.media.ACTION_SCO_AUDIO_STATE_UPDATED";
			public static ACTION_SPEAKERPHONE_STATE_CHANGED: "android.media.action.SPEAKERPHONE_STATE_CHANGED";
			public static ADJUST_LOWER: -1;
			public static ADJUST_MUTE: -100;
			public static ADJUST_RAISE: 1;
			public static ADJUST_SAME: 0;
			public static ADJUST_TOGGLE_MUTE: 101;
			public static ADJUST_UNMUTE: 100;
			public static AUDIOFOCUS_GAIN: 1;
			public static AUDIOFOCUS_GAIN_TRANSIENT: 2;
			public static AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE: 4;
			public static AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK: 3;
			public static AUDIOFOCUS_LOSS: -1;
			public static AUDIOFOCUS_LOSS_TRANSIENT: -2;
			public static AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK: -3;
			public static AUDIOFOCUS_NONE: 0;
			public static AUDIOFOCUS_REQUEST_DELAYED: 2;
			public static AUDIOFOCUS_REQUEST_FAILED: 0;
			public static AUDIOFOCUS_REQUEST_GRANTED: 1;
			public static AUDIO_SESSION_ID_GENERATE: 0;
			public static DIRECT_PLAYBACK_BITSTREAM_SUPPORTED: 4;
			public static DIRECT_PLAYBACK_NOT_SUPPORTED: 0;
			public static DIRECT_PLAYBACK_OFFLOAD_GAPLESS_SUPPORTED: 3;
			public static DIRECT_PLAYBACK_OFFLOAD_SUPPORTED: 1;
			public static ENCODED_SURROUND_OUTPUT_ALWAYS: 2;
			public static ENCODED_SURROUND_OUTPUT_AUTO: 0;
			public static ENCODED_SURROUND_OUTPUT_MANUAL: 3;
			public static ENCODED_SURROUND_OUTPUT_NEVER: 1;
			public static ENCODED_SURROUND_OUTPUT_UNKNOWN: -1;
			public static ERROR: -1;
			public static ERROR_DEAD_OBJECT: -6;
			public static EXTRA_AUDIO_PLUG_STATE: "android.media.extra.AUDIO_PLUG_STATE";
			public static EXTRA_ENCODINGS: "android.media.extra.ENCODINGS";
			public static EXTRA_MAX_CHANNEL_COUNT: "android.media.extra.MAX_CHANNEL_COUNT";
			public static EXTRA_RINGER_MODE: "android.media.EXTRA_RINGER_MODE";
			public static EXTRA_SCO_AUDIO_PREVIOUS_STATE: "android.media.extra.SCO_AUDIO_PREVIOUS_STATE";
			public static EXTRA_SCO_AUDIO_STATE: "android.media.extra.SCO_AUDIO_STATE";
			public static EXTRA_VIBRATE_SETTING: "android.media.EXTRA_VIBRATE_SETTING";
			public static EXTRA_VIBRATE_TYPE: "android.media.EXTRA_VIBRATE_TYPE";
			public static FLAG_ALLOW_RINGER_MODES: 2;
			public static FLAG_PLAY_SOUND: 4;
			public static FLAG_REMOVE_SOUND_AND_VIBRATE: 8;
			public static FLAG_SHOW_UI: 1;
			public static FLAG_VIBRATE: 16;
			public static FX_BACK: 10;
			public static FX_FOCUS_NAVIGATION_DOWN: 2;
			public static FX_FOCUS_NAVIGATION_LEFT: 3;
			public static FX_FOCUS_NAVIGATION_RIGHT: 4;
			public static FX_FOCUS_NAVIGATION_UP: 1;
			public static FX_KEYPRESS_DELETE: 7;
			public static FX_KEYPRESS_INVALID: 9;
			public static FX_KEYPRESS_RETURN: 8;
			public static FX_KEYPRESS_SPACEBAR: 6;
			public static FX_KEYPRESS_STANDARD: 5;
			public static FX_KEY_CLICK: 0;
			public static GET_DEVICES_ALL: 3;
			public static GET_DEVICES_INPUTS: 1;
			public static GET_DEVICES_OUTPUTS: 2;
			public static MODE_CALL_REDIRECT: 5;
			public static MODE_CALL_SCREENING: 4;
			public static MODE_COMMUNICATION_REDIRECT: 6;
			public static MODE_CURRENT: -1;
			public static MODE_INVALID: -2;
			public static MODE_IN_CALL: 2;
			public static MODE_IN_COMMUNICATION: 3;
			public static MODE_NORMAL: 0;
			public static MODE_RINGTONE: 1;
			public static NUM_STREAMS: 5;
			public static PLAYBACK_OFFLOAD_GAPLESS_SUPPORTED: 2;
			public static PLAYBACK_OFFLOAD_NOT_SUPPORTED: 0;
			public static PLAYBACK_OFFLOAD_SUPPORTED: 1;
			public static PROPERTY_OUTPUT_FRAMES_PER_BUFFER: "android.media.property.OUTPUT_FRAMES_PER_BUFFER";
			public static PROPERTY_OUTPUT_SAMPLE_RATE: "android.media.property.OUTPUT_SAMPLE_RATE";
			public static PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED: "android.media.property.SUPPORT_AUDIO_SOURCE_UNPROCESSED";
			public static PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND: "android.media.property.SUPPORT_MIC_NEAR_ULTRASOUND";
			public static PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND: "android.media.property.SUPPORT_SPEAKER_NEAR_ULTRASOUND";
			public static RINGER_MODE_CHANGED_ACTION: "android.media.RINGER_MODE_CHANGED";
			public static RINGER_MODE_NORMAL: 2;
			public static RINGER_MODE_SILENT: 0;
			public static RINGER_MODE_VIBRATE: 1;
			public static ROUTE_ALL: -1;
			public static ROUTE_BLUETOOTH: 4;
			public static ROUTE_BLUETOOTH_A2DP: 16;
			public static ROUTE_BLUETOOTH_SCO: 4;
			public static ROUTE_EARPIECE: 1;
			public static ROUTE_HEADSET: 8;
			public static ROUTE_SPEAKER: 2;
			public static SCO_AUDIO_STATE_CONNECTED: 1;
			public static SCO_AUDIO_STATE_CONNECTING: 2;
			public static SCO_AUDIO_STATE_DISCONNECTED: 0;
			public static SCO_AUDIO_STATE_ERROR: -1;
			public static STREAM_ACCESSIBILITY: 10;
			public static STREAM_ALARM: 4;
			public static STREAM_DTMF: 8;
			public static STREAM_MUSIC: 3;
			public static STREAM_NOTIFICATION: 5;
			public static STREAM_RING: 2;
			public static STREAM_SYSTEM: 1;
			public static STREAM_VOICE_CALL: 0;
			public static USE_DEFAULT_STREAM_TYPE: -2147483648;
			public static VIBRATE_SETTING_CHANGED_ACTION: "android.media.VIBRATE_SETTING_CHANGED";
			public static VIBRATE_SETTING_OFF: 0;
			public static VIBRATE_SETTING_ON: 1;
			public static VIBRATE_SETTING_ONLY_SILENT: 2;
			public static VIBRATE_TYPE_NOTIFICATION: 1;
			public static VIBRATE_TYPE_RINGER: 0;
			public adjustStreamVolume(streamType: number, direction: number, flags: number): void;
			/** @deprecated */
			public setSpeakerphoneOn(on: boolean): void;
			/** @deprecated */
			public setStreamMute(streamType: number, state: boolean): void;
			/** @deprecated */
			public unregisterMediaButtonEventReceiver(eventReceiver: android.content.ComponentName): void;
			/** @deprecated */
			public requestAudioFocus(l: android.media.AudioManager.OnAudioFocusChangeListener, streamType: number, durationHint: number): number;
			public addOnCommunicationDeviceChangedListener(executor: java.util.concurrent.Executor, listener: android.media.AudioManager.OnCommunicationDeviceChangedListener): void;
			public adjustVolume(direction: number, flags: number): void;
			/** @deprecated */
			public getVibrateSetting(vibrateType: number): number;
			public dispatchMediaKeyEvent(keyEvent: android.view.KeyEvent): void;
			public clearCommunicationDevice(): void;
			public getCommunicationDevice(): android.media.AudioDeviceInfo;
			public addOnPreferredMixerAttributesChangedListener(executor: java.util.concurrent.Executor, listener: android.media.AudioManager.OnPreferredMixerAttributesChangedListener): void;
			public getPreferredMixerAttributes(attributes: any, device: android.media.AudioDeviceInfo): android.media.AudioMixerAttributes;
			public isMusicActive(): boolean;
			public generateAudioSessionId(): number;
			public static getDirectPlaybackSupport(format: android.media.AudioFormat, attributes: any): number;
			/** @deprecated */
			public static getPlaybackOffloadSupport(format: android.media.AudioFormat, attributes: any): number;
			/** @deprecated */
			public shouldVibrate(vibrateType: number): boolean;
			public setMode(mode: number): void;
			public getMode(): number;
			public setPreferredMixerAttributes(attributes: any, device: android.media.AudioDeviceInfo, mixerAttributes: android.media.AudioMixerAttributes): boolean;
			public isMicrophoneMute(): boolean;
			public registerAudioDeviceCallback(callback: android.media.AudioDeviceCallback, handler: android.os.Handler): void;
			public loadSoundEffects(): void;
			public isStreamMute(streamType: number): boolean;
			public setEncodedSurroundMode(mode: number): boolean;
			public getSupportedDeviceTypes(direction: number): java.util.Set<java.lang.Integer>;
			public isVolumeFixed(): boolean;
			public registerAudioPlaybackCallback(cb: android.media.AudioManager.AudioPlaybackCallback, handler: android.os.Handler): void;
			public static isOffloadedPlaybackSupported(format: android.media.AudioFormat, attributes: any): boolean;
			/** @deprecated */
			public registerRemoteControlClient(rcClient: android.media.RemoteControlClient): void;
			public removeOnPreferredMixerAttributesChangedListener(listener: android.media.AudioManager.OnPreferredMixerAttributesChangedListener): void;
			public getStreamVolume(streamType: number): number;
			public setParameters(keyValuePairs: string): void;
			/** @deprecated */
			public registerMediaButtonEventReceiver(eventReceiver: android.content.ComponentName): void;
			public getAudioDevicesForAttributes(attributes: any): java.util.List<android.media.AudioDeviceInfo>;
			public removeOnCommunicationDeviceChangedListener(listener: android.media.AudioManager.OnCommunicationDeviceChangedListener): void;
			public getActivePlaybackConfigurations(): java.util.List<android.media.AudioPlaybackConfiguration>;
			public removeOnModeChangedListener(listener: android.media.AudioManager.OnModeChangedListener): void;
			public adjustSuggestedStreamVolume(direction: number, suggestedStreamType: number, flags: number): void;
			public setSurroundFormatEnabled(audioFormat: number, enabled: boolean): boolean;
			/** @deprecated */
			public getRouting(mode: number): number;
			public setRingerMode(ringerMode: number): void;
			public abandonAudioFocusRequest(focusRequest: android.media.AudioFocusRequest): number;
			/** @deprecated */
			public setVibrateSetting(vibrateType: number, vibrateSetting: number): void;
			public setCommunicationDevice(device: android.media.AudioDeviceInfo): boolean;
			public registerAudioRecordingCallback(cb: android.media.AudioManager.AudioRecordingCallback, handler: android.os.Handler): void;
			public getSupportedMixerAttributes(device: android.media.AudioDeviceInfo): java.util.List<android.media.AudioMixerAttributes>;
			public getStreamMinVolume(streamType: number): number;
			/** @deprecated */
			public isBluetoothA2dpOn(): boolean;
			public getEncodedSurroundMode(): number;
			/** @deprecated */
			public setRouting(mode: number, routes: number, mask: number): void;
			public unloadSoundEffects(): void;
			public getDirectProfilesForAttributes(attributes: any): java.util.List<android.media.AudioProfile>;
			/** @deprecated */
			public registerRemoteController(rctlr: android.media.RemoteController): boolean;
			/** @deprecated */
			public startBluetoothSco(): void;
			public getAvailableCommunicationDevices(): java.util.List<android.media.AudioDeviceInfo>;
			public setStreamVolume(streamType: number, index: number, flags: number): void;
			public getStreamMaxVolume(streamType: number): number;
			public isVolumeGroupMuted(groupId: number): boolean;
			public isBluetoothScoAvailableOffCall(): boolean;
			public getParameters(keys: string): string;
			/** @deprecated */
			public unregisterRemoteControlClient(rcClient: android.media.RemoteControlClient): void;
			/** @deprecated */
			public setWiredHeadsetOn(on: boolean): void;
			/** @deprecated */
			public stopBluetoothSco(): void;
			public static isHapticPlaybackSupported(): boolean;
			public unregisterAudioDeviceCallback(callback: android.media.AudioDeviceCallback): void;
			public getSpatializer(): android.media.Spatializer;
			public playSoundEffect(effectType: number): void;
			public playSoundEffect(effectType: number, volume: number): void;
			public getVolumeGroupIdForAttributes(attributes: any): number;
			/** @deprecated */
			public setBluetoothA2dpOn(on: boolean): void;
			public getAllowedCapturePolicy(): number;
			/** @deprecated */
			public abandonAudioFocus(l: android.media.AudioManager.OnAudioFocusChangeListener): number;
			/** @deprecated */
			public isSpeakerphoneOn(): boolean;
			public getActiveRecordingConfigurations(): java.util.List<android.media.AudioRecordingConfiguration>;
			/** @deprecated */
			public setStreamSolo(streamType: number, state: boolean): void;
			public getAudioHwSyncForSession(sessionId: number): number;
			public getProperty(key: string): string;
			public getMicrophones(): java.util.List<android.media.MicrophoneInfo>;
			/** @deprecated */
			public isBluetoothScoOn(): boolean;
			public clearPreferredMixerAttributes(attributes: any, device: android.media.AudioDeviceInfo): boolean;
			public getRingerMode(): number;
			public unregisterAudioPlaybackCallback(cb: android.media.AudioManager.AudioPlaybackCallback): void;
			/** @deprecated */
			public isWiredHeadsetOn(): boolean;
			public addOnModeChangedListener(executor: java.util.concurrent.Executor, listener: android.media.AudioManager.OnModeChangedListener): void;
			public isSurroundFormatEnabled(audioFormat: number): boolean;
			public setBluetoothScoOn(on: boolean): void;
			/** @deprecated */
			public unregisterMediaButtonEventReceiver(eventReceiver: android.app.PendingIntent): void;
			public unregisterAudioRecordingCallback(cb: android.media.AudioManager.AudioRecordingCallback): void;
			public setAllowedCapturePolicy(capturePolicy: number): void;
			/** @deprecated */
			public unregisterRemoteController(rctlr: android.media.RemoteController): void;
			public adjustVolumeGroupVolume(groupId: number, direction: number, flags: number): void;
			public isCallScreeningModeSupported(): boolean;
			public getDevices(flags: number): androidNative.Array<android.media.AudioDeviceInfo>;
			public isRampingRingerEnabled(): boolean;
			public getStreamVolumeDb(streamType: number, index: number, deviceType: number): number;
			public requestAudioFocus(focusRequest: android.media.AudioFocusRequest): number;
			public setMicrophoneMute(on: boolean): void;
			/** @deprecated */
			public registerMediaButtonEventReceiver(eventReceiver: android.app.PendingIntent): void;
		}
		export module AudioManager {
			export abstract class AudioPlaybackCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioManager.AudioPlaybackCallback>;
				public onPlaybackConfigChanged(configs: 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(configs: 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;
			}
			export class OnCommunicationDeviceChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioManager.OnCommunicationDeviceChangedListener>;
				/**
				 * Constructs a new instance of the android.media.AudioManager$OnCommunicationDeviceChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCommunicationDeviceChanged(param0: android.media.AudioDeviceInfo): void;
				});
				public constructor();
				public onCommunicationDeviceChanged(param0: android.media.AudioDeviceInfo): void;
			}
			export class OnModeChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioManager.OnModeChangedListener>;
				/**
				 * Constructs a new instance of the android.media.AudioManager$OnModeChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onModeChanged(param0: number): void;
				});
				public constructor();
				public onModeChanged(param0: number): void;
			}
			export class OnPreferredMixerAttributesChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioManager.OnPreferredMixerAttributesChangedListener>;
				/**
				 * Constructs a new instance of the android.media.AudioManager$OnPreferredMixerAttributesChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPreferredMixerAttributesChanged(param0: any, param1: android.media.AudioDeviceInfo, param2: android.media.AudioMixerAttributes): void;
				});
				public constructor();
				public onPreferredMixerAttributesChanged(param0: any, param1: android.media.AudioDeviceInfo, param2: android.media.AudioMixerAttributes): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioMetadata extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioMetadata>;
			public static createMap(): android.media.AudioMetadataMap;
		}
		export module AudioMetadata {
			export class Format extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioMetadata.Format>;
				public static KEY_ATMOS_PRESENT: android.media.AudioMetadata.Key<java.lang.Boolean>;
				public static KEY_AUDIO_ENCODING: android.media.AudioMetadata.Key<java.lang.Integer>;
				public static KEY_BIT_RATE: android.media.AudioMetadata.Key<java.lang.Integer>;
				public static KEY_BIT_WIDTH: android.media.AudioMetadata.Key<java.lang.Integer>;
				public static KEY_CHANNEL_MASK: android.media.AudioMetadata.Key<java.lang.Integer>;
				public static KEY_MIME: android.media.AudioMetadata.Key<string>;
				public static KEY_PRESENTATION_CONTENT_CLASSIFIER: android.media.AudioMetadata.Key<java.lang.Integer>;
				public static KEY_PRESENTATION_ID: android.media.AudioMetadata.Key<java.lang.Integer>;
				public static KEY_PRESENTATION_LANGUAGE: android.media.AudioMetadata.Key<string>;
				public static KEY_PROGRAM_ID: android.media.AudioMetadata.Key<java.lang.Integer>;
				public static KEY_SAMPLE_RATE: android.media.AudioMetadata.Key<java.lang.Integer>;
			}
			export class Key<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioMetadata.Key<any>>;
				/**
				 * Constructs a new instance of the android.media.AudioMetadata$Key interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getName(): string;
					getValueClass(): java.lang.Class<T>;
				});
				public constructor();
				public getName(): string;
				public getValueClass(): java.lang.Class<T>;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioMetadataMap extends java.lang.Object implements android.media.AudioMetadataReadMap {
			public static class: java.lang.Class<android.media.AudioMetadataMap>;
			/**
			 * Constructs a new instance of the android.media.AudioMetadataMap interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				remove(param0: android.media.AudioMetadata.Key<any>): any;
				set(param0: android.media.AudioMetadata.Key<any>, param1: any): any;
				containsKey(param0: android.media.AudioMetadata.Key<any>): boolean;
				dup(): android.media.AudioMetadataMap;
				get(param0: android.media.AudioMetadata.Key<any>): any;
				size(): number;
			});
			public constructor();
			public set(param0: android.media.AudioMetadata.Key<any>, param1: any): any;
			public containsKey(param0: android.media.AudioMetadata.Key<any>): boolean;
			public get(param0: android.media.AudioMetadata.Key<any>): any;
			public size(): number;
			public dup(): android.media.AudioMetadataMap;
			public remove(param0: android.media.AudioMetadata.Key<any>): any;
		}
	}
}

declare module android {
	export module media {
		export class AudioMetadataReadMap extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioMetadataReadMap>;
			/**
			 * Constructs a new instance of the android.media.AudioMetadataReadMap interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				containsKey(param0: android.media.AudioMetadata.Key<any>): boolean;
				dup(): android.media.AudioMetadataMap;
				get(param0: android.media.AudioMetadata.Key<any>): any;
				size(): number;
			});
			public constructor();
			public containsKey(param0: android.media.AudioMetadata.Key<any>): boolean;
			public get(param0: android.media.AudioMetadata.Key<any>): any;
			public size(): number;
			public dup(): android.media.AudioMetadataMap;
		}
	}
}

declare module android {
	export module media {
		export class AudioMixerAttributes extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.AudioMixerAttributes>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioMixerAttributes>;
			public static MIXER_BEHAVIOR_BIT_PERFECT: 1;
			public static MIXER_BEHAVIOR_DEFAULT: 0;
			public getFormat(): android.media.AudioFormat;
			public getMixerBehavior(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module AudioMixerAttributes {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioMixerAttributes.Builder>;
				public constructor(format: android.media.AudioFormat);
				public setMixerBehavior(mixerBehavior: number): android.media.AudioMixerAttributes.Builder;
				public build(): android.media.AudioMixerAttributes;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioPlaybackCaptureConfiguration extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioPlaybackCaptureConfiguration>;
			public getMatchingUsages(): androidNative.Array<number>;
			public getMatchingUids(): androidNative.Array<number>;
			public getExcludeUsages(): androidNative.Array<number>;
			public getMediaProjection(): android.media.projection.MediaProjection;
			public getExcludeUids(): androidNative.Array<number>;
		}
		export module AudioPlaybackCaptureConfiguration {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioPlaybackCaptureConfiguration.Builder>;
				public addMatchingUsage(usage: number): android.media.AudioPlaybackCaptureConfiguration.Builder;
				public addMatchingUid(uid: number): android.media.AudioPlaybackCaptureConfiguration.Builder;
				public excludeUsage(usage: number): android.media.AudioPlaybackCaptureConfiguration.Builder;
				public constructor(projection: android.media.projection.MediaProjection);
				public excludeUid(uid: number): android.media.AudioPlaybackCaptureConfiguration.Builder;
				public build(): android.media.AudioPlaybackCaptureConfiguration;
			}
		}
	}
}

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 toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getAudioDeviceInfo(): android.media.AudioDeviceInfo;
			public getAudioAttributes(): any;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module media {
		export class AudioPresentation extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.AudioPresentation>;
			public static CONTENT_COMMENTARY: 5;
			public static CONTENT_DIALOG: 4;
			public static CONTENT_EMERGENCY: 6;
			public static CONTENT_HEARING_IMPAIRED: 3;
			public static CONTENT_MAIN: 0;
			public static CONTENT_MUSIC_AND_EFFECTS: 1;
			public static CONTENT_UNKNOWN: -1;
			public static CONTENT_VISUALLY_IMPAIRED: 2;
			public static CONTENT_VOICEOVER: 7;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioPresentation>;
			public static MASTERED_FOR_3D: 3;
			public static MASTERED_FOR_HEADPHONE: 4;
			public static MASTERED_FOR_STEREO: 1;
			public static MASTERED_FOR_SURROUND: 2;
			public static MASTERING_NOT_INDICATED: 0;
			public static PRESENTATION_ID_UNKNOWN: -1;
			public static PROGRAM_ID_UNKNOWN: -1;
			public getPresentationId(): number;
			public getLabels(): java.util.Map<java.util.Locale,string>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public hasAudioDescription(): boolean;
			public hasDialogueEnhancement(): boolean;
			public hasSpokenSubtitles(): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public getProgramId(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMasteringIndication(): number;
			public getLocale(): java.util.Locale;
			public hashCode(): number;
		}
		export module AudioPresentation {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioPresentation.Builder>;
				public setLabels(labels: java.util.Map<android.icu.util.ULocale,string>): android.media.AudioPresentation.Builder;
				public setLocale(language: android.icu.util.ULocale): android.media.AudioPresentation.Builder;
				public setMasteringIndication(masteringIndication: number): android.media.AudioPresentation.Builder;
				public setHasAudioDescription(audioDescriptionAvailable: boolean): android.media.AudioPresentation.Builder;
				public setHasDialogueEnhancement(dialogueEnhancementAvailable: boolean): android.media.AudioPresentation.Builder;
				public constructor(presentationId: number);
				public setHasSpokenSubtitles(spokenSubtitlesAvailable: boolean): android.media.AudioPresentation.Builder;
				public setProgramId(programId: number): android.media.AudioPresentation.Builder;
				public build(): android.media.AudioPresentation;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioProfile extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.AudioProfile>;
			public static AUDIO_ENCAPSULATION_TYPE_IEC61937: 1;
			public static AUDIO_ENCAPSULATION_TYPE_NONE: 0;
			public static AUDIO_ENCAPSULATION_TYPE_PCM: 2;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioProfile>;
			public getChannelIndexMasks(): androidNative.Array<number>;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getChannelMasks(): androidNative.Array<number>;
			public getEncapsulationType(): number;
			public getFormat(): number;
			public describeContents(): number;
			public getSampleRates(): androidNative.Array<number>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module media {
		export class AudioRecord extends java.lang.Object implements android.media.AudioRouting, android.media.MicrophoneDirection, android.media.AudioRecordingMonitor {
			public static class: java.lang.Class<android.media.AudioRecord>;
			public static ERROR: -1;
			public static ERROR_BAD_VALUE: -2;
			public static ERROR_DEAD_OBJECT: -6;
			public static ERROR_INVALID_OPERATION: -3;
			public static READ_BLOCKING: 0;
			public static READ_NON_BLOCKING: 1;
			public static RECORDSTATE_RECORDING: 3;
			public static RECORDSTATE_STOPPED: 1;
			public static STATE_INITIALIZED: 1;
			public static STATE_UNINITIALIZED: 0;
			public static SUCCESS: 0;
			public addOnRoutingChangedListener(listener: android.media.AudioRouting.OnRoutingChangedListener, handler: android.os.Handler): void;
			public setPreferredMicrophoneDirection(direction: number): boolean;
			public registerAudioRecordingCallback(param0: java.util.concurrent.Executor, param1: android.media.AudioManager.AudioRecordingCallback): void;
			public setRecordPositionUpdateListener(listener: android.media.AudioRecord.OnRecordPositionUpdateListener): void;
			public stop(): void;
			public setRecordPositionUpdateListener(listener: android.media.AudioRecord.OnRecordPositionUpdateListener, handler: android.os.Handler): void;
			public getState(): number;
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public getBufferSizeInFrames(): number;
			public getLogSessionId(): android.media.metrics.LogSessionId;
			public getAudioSource(): number;
			public read(audioData: androidNative.Array<number>, offsetInBytes: number, sizeInBytes: number, readMode: number): number;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
			/** @deprecated */
			public addOnRoutingChangedListener(listener: android.media.AudioRecord.OnRoutingChangedListener, handler: android.os.Handler): void;
			public constructor(audioSource: number, sampleRateInHz: number, channelConfig: number, audioFormat: number, bufferSizeInBytes: number);
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public getActiveMicrophones(): java.util.List<android.media.MicrophoneInfo>;
			public startRecording(): void;
			public read(audioData: androidNative.Array<number>, offsetInBytes: number, sizeInBytes: number): number;
			public getSampleRate(): number;
			public setPreferredDevice(deviceInfo: android.media.AudioDeviceInfo): boolean;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			public registerAudioRecordingCallback(executor: java.util.concurrent.Executor, cb: android.media.AudioManager.AudioRecordingCallback): void;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public setPreferredMicrophoneDirection(param0: number): boolean;
			/** @deprecated */
			public removeOnRoutingChangedListener(listener: android.media.AudioRecord.OnRoutingChangedListener): void;
			public getAudioFormat(): number;
			public setPreferredMicrophoneFieldDimension(param0: number): boolean;
			public setPreferredMicrophoneFieldDimension(zoom: number): boolean;
			public release(): void;
			public finalize(): void;
			public unregisterAudioRecordingCallback(param0: android.media.AudioManager.AudioRecordingCallback): void;
			public read(audioData: androidNative.Array<number>, offsetInFloats: number, sizeInFloats: number, readMode: number): number;
			public read(audioData: androidNative.Array<number>, offsetInShorts: number, sizeInShorts: number, readMode: number): number;
			public getTimestamp(outTimestamp: android.media.AudioTimestamp, timebase: number): number;
			public unregisterAudioRecordingCallback(cb: android.media.AudioManager.AudioRecordingCallback): void;
			public removeOnRoutingChangedListener(listener: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setPositionNotificationPeriod(periodInFrames: number): number;
			public getFormat(): android.media.AudioFormat;
			public getChannelCount(): number;
			public getAudioSessionId(): number;
			public read(audioData: androidNative.Array<number>, offsetInShorts: number, sizeInShorts: number): number;
			public read(audioBuffer: java.nio.ByteBuffer, sizeInBytes: number): number;
			public isPrivacySensitive(): boolean;
			public read(audioBuffer: java.nio.ByteBuffer, sizeInBytes: number, readMode: number): number;
			public startRecording(syncEvent: android.media.MediaSyncEvent): void;
			public static getMinBufferSize(sampleRateInHz: number, channelConfig: number, audioFormat: number): number;
			public setNotificationMarkerPosition(markerInFrames: number): number;
			public getMetrics(): any;
			public getRecordingState(): number;
			public getActiveRecordingConfiguration(): android.media.AudioRecordingConfiguration;
			public getNotificationMarkerPosition(): number;
			public getChannelConfiguration(): number;
			public getPositionNotificationPeriod(): number;
			public setLogSessionId(logSessionId: android.media.metrics.LogSessionId): void;
		}
		export module AudioRecord {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioRecord.Builder>;
				public setAudioSource(source: number): android.media.AudioRecord.Builder;
				public setPrivacySensitive(privacySensitive: boolean): android.media.AudioRecord.Builder;
				public setBufferSizeInBytes(bufferSizeInBytes: number): android.media.AudioRecord.Builder;
				public setContext(context: android.content.Context): android.media.AudioRecord.Builder;
				public setAudioPlaybackCaptureConfig(config: android.media.AudioPlaybackCaptureConfiguration): android.media.AudioRecord.Builder;
				public setAudioFormat(format: android.media.AudioFormat): 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: "android.media.audiorecord.channels";
				public static ENCODING: "android.media.audiorecord.encoding";
				public static LATENCY: "android.media.audiorecord.latency";
				public static SAMPLERATE: "android.media.audiorecord.samplerate";
				public static SOURCE: "android.media.audiorecord.source";
			}
			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(router: android.media.AudioRouting): void;
					onRoutingChanged(param0: android.media.AudioRouting): void;
				});
				public constructor();
				/** @deprecated */
				public onRoutingChanged(param0: android.media.AudioRecord): void;
				/** @deprecated */
				public onRoutingChanged(router: android.media.AudioRouting): 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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getAudioSource(): number;
			public getClientAudioSource(): number;
			public getClientFormat(): android.media.AudioFormat;
			public getClientAudioSessionId(): number;
			public getEffects(): java.util.List<android.media.audiofx.AudioEffect.Descriptor>;
			public getAudioDevice(): android.media.AudioDeviceInfo;
			public getFormat(): android.media.AudioFormat;
			public equals(o: any): boolean;
			public isClientSilenced(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getClientEffects(): java.util.List<android.media.audiofx.AudioEffect.Descriptor>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module media {
		export class AudioRecordingMonitor extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioRecordingMonitor>;
			/**
			 * Constructs a new instance of the android.media.AudioRecordingMonitor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				registerAudioRecordingCallback(param0: java.util.concurrent.Executor, param1: android.media.AudioManager.AudioRecordingCallback): void;
				unregisterAudioRecordingCallback(param0: android.media.AudioManager.AudioRecordingCallback): void;
				getActiveRecordingConfiguration(): android.media.AudioRecordingConfiguration;
			});
			public constructor();
			public registerAudioRecordingCallback(param0: java.util.concurrent.Executor, param1: android.media.AudioManager.AudioRecordingCallback): void;
			public unregisterAudioRecordingCallback(param0: android.media.AudioManager.AudioRecordingCallback): void;
			public getActiveRecordingConfiguration(): android.media.AudioRecordingConfiguration;
		}
	}
}

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 implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.AudioTimestamp>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioTimestamp>;
			public static TIMEBASE_BOOTTIME: 1;
			public static TIMEBASE_MONOTONIC: 0;
			public framePosition: number;
			public nanoTime: number;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			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 DUAL_MONO_MODE_LL: 2;
			public static DUAL_MONO_MODE_LR: 1;
			public static DUAL_MONO_MODE_OFF: 0;
			public static DUAL_MONO_MODE_RR: 3;
			public static ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR: 2;
			public static ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER: 1;
			public static ENCAPSULATION_METADATA_TYPE_SUPPLEMENTARY_AUDIO_PLACEMENT: 3;
			public static ENCAPSULATION_MODE_ELEMENTARY_STREAM: 1;
			public static ENCAPSULATION_MODE_NONE: 0;
			public static ERROR: -1;
			public static ERROR_BAD_VALUE: -2;
			public static ERROR_DEAD_OBJECT: -6;
			public static ERROR_INVALID_OPERATION: -3;
			public static MODE_STATIC: 0;
			public static MODE_STREAM: 1;
			public static PERFORMANCE_MODE_LOW_LATENCY: 1;
			public static PERFORMANCE_MODE_NONE: 0;
			public static PERFORMANCE_MODE_POWER_SAVING: 2;
			public static PLAYSTATE_PAUSED: 2;
			public static PLAYSTATE_PLAYING: 3;
			public static PLAYSTATE_STOPPED: 1;
			public static STATE_INITIALIZED: 1;
			public static STATE_NO_STATIC_DATA: 2;
			public static STATE_UNINITIALIZED: 0;
			public static SUCCESS: 0;
			public static SUPPLEMENTARY_AUDIO_PLACEMENT_LEFT: 1;
			public static SUPPLEMENTARY_AUDIO_PLACEMENT_NORMAL: 0;
			public static SUPPLEMENTARY_AUDIO_PLACEMENT_RIGHT: 2;
			public static WRITE_BLOCKING: 0;
			public static WRITE_NON_BLOCKING: 1;
			/** @deprecated */
			public setStereoVolume(leftGain: number, rightGain: number): number;
			public getDualMonoMode(): number;
			public addOnRoutingChangedListener(listener: android.media.AudioRouting.OnRoutingChangedListener, handler: android.os.Handler): void;
			public setPlaybackParams(params: android.media.PlaybackParams): void;
			/** @deprecated */
			public setState(state: number): void;
			public setBufferSizeInFrames(bufferSizeInFrames: number): number;
			public setPlaybackHeadPosition(positionInFrames: number): number;
			public isOffloadedPlayback(): boolean;
			public setOffloadEndOfStream(): void;
			public registerStreamEventCallback(executor: java.util.concurrent.Executor, eventCallback: android.media.AudioTrack.StreamEventCallback): void;
			public createVolumeShaper(param0: android.media.VolumeShaper.Configuration): android.media.VolumeShaper;
			public setAuxEffectSendLevel(level: number): number;
			public getPlaybackRate(): number;
			public stop(): void;
			public setDualMonoMode(dualMonoMode: number): boolean;
			public play(): void;
			/** @deprecated */
			public addOnRoutingChangedListener(listener: android.media.AudioTrack.OnRoutingChangedListener, handler: android.os.Handler): void;
			public getPlaybackParams(): android.media.PlaybackParams;
			public getState(): number;
			public setVolume(gain: number): number;
			/** @deprecated */
			public removeOnRoutingChangedListener(listener: android.media.AudioTrack.OnRoutingChangedListener): void;
			public flush(): void;
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public getBufferSizeInFrames(): number;
			public write(audioData: androidNative.Array<number>, offsetInBytes: number, sizeInBytes: number): number;
			public getLogSessionId(): android.media.metrics.LogSessionId;
			public setPlaybackPositionUpdateListener(listener: android.media.AudioTrack.OnPlaybackPositionUpdateListener): void;
			public getOffloadPadding(): number;
			public getAudioDescriptionMixLeveldB(): number;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
			public setPresentation(presentation: android.media.AudioPresentation): number;
			public addOnCodecFormatChangedListener(executor: java.util.concurrent.Executor, listener: android.media.AudioTrack.OnCodecFormatChangedListener): void;
			public reloadStaticData(): number;
			public static getMaxVolume(): number;
			public setStartThresholdInFrames(startThresholdInFrames: number): number;
			/** @deprecated */
			public constructor(streamType: number, sampleRateInHz: number, channelConfig: number, audioFormat: number, bufferSizeInBytes: number, mode: number);
			public getStartThresholdInFrames(): number;
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public static getMinVolume(): number;
			public getPlayState(): number;
			public write(audioData: androidNative.Array<number>, offsetInBytes: number, sizeInBytes: number, writeMode: number): number;
			public getSampleRate(): number;
			/** @deprecated */
			public getNativeFrameCount(): number;
			public constructor(attributes: any, format: android.media.AudioFormat, bufferSizeInBytes: number, mode: number, sessionId: number);
			public setPlaybackPositionUpdateListener(listener: android.media.AudioTrack.OnPlaybackPositionUpdateListener, handler: android.os.Handler): void;
			public setPreferredDevice(deviceInfo: android.media.AudioDeviceInfo): boolean;
			public setLoopPoints(startInFrames: number, endInFrames: number, loopCount: number): number;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			public write(audioData: java.nio.ByteBuffer, sizeInBytes: number, writeMode: number): number;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public getStreamType(): number;
			public unregisterStreamEventCallback(eventCallback: android.media.AudioTrack.StreamEventCallback): void;
			public getTimestamp(timestamp: android.media.AudioTimestamp): boolean;
			public pause(): void;
			public write(audioData: java.nio.ByteBuffer, sizeInBytes: number, writeMode: number, timestamp: number): number;
			public removeOnCodecFormatChangedListener(listener: android.media.AudioTrack.OnCodecFormatChangedListener): void;
			public write(audioData: androidNative.Array<number>, offsetInShorts: number, sizeInShorts: number, writeMode: number): number;
			public getAudioFormat(): number;
			public getPerformanceMode(): number;
			/** @deprecated */
			public constructor(streamType: number, sampleRateInHz: number, channelConfig: number, audioFormat: number, bufferSizeInBytes: number, mode: number, sessionId: number);
			/** @deprecated */
			public static isDirectPlaybackSupported(format: android.media.AudioFormat, attributes: any): boolean;
			public static getNativeOutputSampleRate(streamType: number): number;
			public setAudioDescriptionMixLeveldB(level: number): boolean;
			public getAudioAttributes(): any;
			public release(): void;
			public finalize(): void;
			public getBufferCapacityInFrames(): number;
			public getPlaybackHeadPosition(): number;
			public setPlaybackRate(sampleRateInHz: number): number;
			public removeOnRoutingChangedListener(listener: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setOffloadDelayPadding(delayInFrames: number, paddingInFrames: number): void;
			public setPositionNotificationPeriod(periodInFrames: number): number;
			public getFormat(): android.media.AudioFormat;
			public getChannelCount(): number;
			public getUnderrunCount(): number;
			public getAudioSessionId(): number;
			public getOffloadDelay(): number;
			public createVolumeShaper(configuration: android.media.VolumeShaper.Configuration): android.media.VolumeShaper;
			public static getMinBufferSize(sampleRateInHz: number, channelConfig: number, audioFormat: number): number;
			public setNotificationMarkerPosition(markerInFrames: number): number;
			public getMetrics(): any;
			public write(audioData: androidNative.Array<number>, offsetInShorts: number, sizeInShorts: number): number;
			public attachAuxEffect(effectId: number): number;
			public getNotificationMarkerPosition(): number;
			public getChannelConfiguration(): number;
			public getPositionNotificationPeriod(): number;
			public write(audioData: androidNative.Array<number>, offsetInFloats: number, sizeInFloats: number, writeMode: number): number;
			public setLogSessionId(logSessionId: android.media.metrics.LogSessionId): void;
		}
		export module AudioTrack {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioTrack.Builder>;
				public setTransferMode(mode: number): android.media.AudioTrack.Builder;
				public setContext(context: android.content.Context): android.media.AudioTrack.Builder;
				public setAudioAttributes(attributes: any): android.media.AudioTrack.Builder;
				public setAudioFormat(format: android.media.AudioFormat): android.media.AudioTrack.Builder;
				public setEncapsulationMode(encapsulationMode: number): android.media.AudioTrack.Builder;
				public setSessionId(sessionId: number): android.media.AudioTrack.Builder;
				public setPerformanceMode(performanceMode: number): android.media.AudioTrack.Builder;
				public setOffloadedPlayback(offload: boolean): android.media.AudioTrack.Builder;
				public setBufferSizeInBytes(bufferSizeInBytes: 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: "android.media.audiorecord.channelmask";
				public static CONTENTTYPE: "android.media.audiotrack.type";
				public static SAMPLERATE: "android.media.audiorecord.samplerate";
				public static STREAMTYPE: "android.media.audiotrack.streamtype";
				public static USAGE: "android.media.audiotrack.usage";
			}
			export class OnCodecFormatChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioTrack.OnCodecFormatChangedListener>;
				/**
				 * Constructs a new instance of the android.media.AudioTrack$OnCodecFormatChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCodecFormatChanged(param0: android.media.AudioTrack, param1: android.media.AudioMetadataReadMap): void;
				});
				public constructor();
				public onCodecFormatChanged(param0: android.media.AudioTrack, param1: android.media.AudioMetadataReadMap): void;
			}
			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(router: android.media.AudioRouting): void;
					onRoutingChanged(param0: android.media.AudioRouting): void;
				});
				public constructor();
				/** @deprecated */
				public onRoutingChanged(param0: android.media.AudioTrack): void;
				/** @deprecated */
				public onRoutingChanged(router: android.media.AudioRouting): void;
				public onRoutingChanged(param0: android.media.AudioRouting): void;
			}
			export abstract class StreamEventCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioTrack.StreamEventCallback>;
				public onTearDown(track: android.media.AudioTrack): void;
				public onDataRequest(track: android.media.AudioTrack, sizeInFrames: number): void;
				public onPresentationEnded(track: android.media.AudioTrack): void;
				public constructor();
			}
		}
	}
}

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: 6;
			public static QUALITY_2160P: 8;
			public static QUALITY_2K: 12;
			public static QUALITY_480P: 4;
			public static QUALITY_4KDCI: 10;
			public static QUALITY_720P: 5;
			public static QUALITY_8KUHD: 13;
			public static QUALITY_CIF: 3;
			public static QUALITY_HIGH: 1;
			public static QUALITY_HIGH_SPEED_1080P: 2004;
			public static QUALITY_HIGH_SPEED_2160P: 2005;
			public static QUALITY_HIGH_SPEED_480P: 2002;
			public static QUALITY_HIGH_SPEED_4KDCI: 2008;
			public static QUALITY_HIGH_SPEED_720P: 2003;
			public static QUALITY_HIGH_SPEED_CIF: 2006;
			public static QUALITY_HIGH_SPEED_HIGH: 2001;
			public static QUALITY_HIGH_SPEED_LOW: 2000;
			public static QUALITY_HIGH_SPEED_VGA: 2007;
			public static QUALITY_LOW: 0;
			public static QUALITY_QCIF: 2;
			public static QUALITY_QHD: 11;
			public static QUALITY_QVGA: 7;
			public static QUALITY_TIME_LAPSE_1080P: 1006;
			public static QUALITY_TIME_LAPSE_2160P: 1008;
			public static QUALITY_TIME_LAPSE_2K: 1012;
			public static QUALITY_TIME_LAPSE_480P: 1004;
			public static QUALITY_TIME_LAPSE_4KDCI: 1010;
			public static QUALITY_TIME_LAPSE_720P: 1005;
			public static QUALITY_TIME_LAPSE_8KUHD: 1013;
			public static QUALITY_TIME_LAPSE_CIF: 1003;
			public static QUALITY_TIME_LAPSE_HIGH: 1001;
			public static QUALITY_TIME_LAPSE_LOW: 1000;
			public static QUALITY_TIME_LAPSE_QCIF: 1002;
			public static QUALITY_TIME_LAPSE_QHD: 1011;
			public static QUALITY_TIME_LAPSE_QVGA: 1007;
			public static QUALITY_TIME_LAPSE_VGA: 1009;
			public static QUALITY_VGA: 9;
			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;
			/** @deprecated */
			public static get(quality: number): android.media.CamcorderProfile;
			/** @deprecated */
			public static get(cameraId: number, quality: number): android.media.CamcorderProfile;
			public static getAll(cameraId: string, quality: number): android.media.EncoderProfiles;
			public static hasProfile(cameraId: number, quality: number): boolean;
			public static hasProfile(quality: 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: 2;
			public static QUALITY_LOW: 0;
			public static QUALITY_MEDIUM: 1;
			public static getJpegEncodingQualityParameter(cameraId: number, quality: number): number;
			public constructor();
			public static getJpegEncodingQualityParameter(quality: 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 getOemError(): number;
			public getVendorError(): number;
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getErrorContext(): number;
		}
	}
}

declare module android {
	export module media {
		export abstract class DrmInitData extends java.lang.Object {
			public static class: java.lang.Class<android.media.DrmInitData>;
			public getSchemeInitDataCount(): number;
			/** @deprecated */
			public get(param0: java.util.UUID): android.media.DrmInitData.SchemeInitData;
			public getSchemeInitDataAt(index: number): 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 static UUID_NIL: java.util.UUID;
				public data: androidNative.Array<number>;
				public mimeType: string;
				public uuid: java.util.UUID;
				public constructor(uuid: java.util.UUID, mimeType: string, data: androidNative.Array<number>);
				public equals(obj: any): boolean;
				public hashCode(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export class EncoderProfiles extends java.lang.Object {
			public static class: java.lang.Class<android.media.EncoderProfiles>;
			public getDefaultDurationSeconds(): number;
			public getRecommendedFileFormat(): number;
			public getAudioProfiles(): java.util.List<android.media.EncoderProfiles.AudioProfile>;
			public getVideoProfiles(): java.util.List<android.media.EncoderProfiles.VideoProfile>;
		}
		export module EncoderProfiles {
			export class AudioProfile extends java.lang.Object {
				public static class: java.lang.Class<android.media.EncoderProfiles.AudioProfile>;
				public getCodec(): number;
				public getMediaType(): string;
				public getSampleRate(): number;
				public getProfile(): number;
				public getChannels(): number;
				public getBitrate(): number;
			}
			export class VideoProfile extends java.lang.Object {
				public static class: java.lang.Class<android.media.EncoderProfiles.VideoProfile>;
				public static HDR_DOLBY_VISION: 4;
				public static HDR_HDR10: 2;
				public static HDR_HDR10PLUS: 3;
				public static HDR_HLG: 1;
				public static HDR_NONE: 0;
				public static YUV_420: 0;
				public static YUV_422: 1;
				public static YUV_444: 2;
				public getWidth(): number;
				public getHeight(): number;
				public getCodec(): number;
				public getMediaType(): string;
				public getFrameRate(): number;
				public getChromaSubsampling(): number;
				public getProfile(): number;
				public getBitDepth(): number;
				public getHdrFormat(): number;
				public getBitrate(): number;
			}
		}
	}
}

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: 2;
			public static ORIENTATION_FLIP_VERTICAL: 4;
			public static ORIENTATION_NORMAL: 1;
			public static ORIENTATION_ROTATE_180: 3;
			public static ORIENTATION_ROTATE_270: 8;
			public static ORIENTATION_ROTATE_90: 6;
			public static ORIENTATION_TRANSPOSE: 5;
			public static ORIENTATION_TRANSVERSE: 7;
			public static ORIENTATION_UNDEFINED: 0;
			public static STREAM_TYPE_EXIF_DATA_ONLY: 1;
			public static STREAM_TYPE_FULL_IMAGE_DATA: 0;
			public static TAG_APERTURE: "FNumber";
			public static TAG_APERTURE_VALUE: "ApertureValue";
			public static TAG_ARTIST: "Artist";
			public static TAG_BITS_PER_SAMPLE: "BitsPerSample";
			public static TAG_BRIGHTNESS_VALUE: "BrightnessValue";
			public static TAG_CFA_PATTERN: "CFAPattern";
			public static TAG_COLOR_SPACE: "ColorSpace";
			public static TAG_COMPONENTS_CONFIGURATION: "ComponentsConfiguration";
			public static TAG_COMPRESSED_BITS_PER_PIXEL: "CompressedBitsPerPixel";
			public static TAG_COMPRESSION: "Compression";
			public static TAG_CONTRAST: "Contrast";
			public static TAG_COPYRIGHT: "Copyright";
			public static TAG_CUSTOM_RENDERED: "CustomRendered";
			public static TAG_DATETIME: "DateTime";
			public static TAG_DATETIME_DIGITIZED: "DateTimeDigitized";
			public static TAG_DATETIME_ORIGINAL: "DateTimeOriginal";
			public static TAG_DEFAULT_CROP_SIZE: "DefaultCropSize";
			public static TAG_DEVICE_SETTING_DESCRIPTION: "DeviceSettingDescription";
			public static TAG_DIGITAL_ZOOM_RATIO: "DigitalZoomRatio";
			public static TAG_DNG_VERSION: "DNGVersion";
			public static TAG_EXIF_VERSION: "ExifVersion";
			public static TAG_EXPOSURE_BIAS_VALUE: "ExposureBiasValue";
			public static TAG_EXPOSURE_INDEX: "ExposureIndex";
			public static TAG_EXPOSURE_MODE: "ExposureMode";
			public static TAG_EXPOSURE_PROGRAM: "ExposureProgram";
			public static TAG_EXPOSURE_TIME: "ExposureTime";
			public static TAG_FILE_SOURCE: "FileSource";
			public static TAG_FLASH: "Flash";
			public static TAG_FLASHPIX_VERSION: "FlashpixVersion";
			public static TAG_FLASH_ENERGY: "FlashEnergy";
			public static TAG_FOCAL_LENGTH: "FocalLength";
			public static TAG_FOCAL_LENGTH_IN_35MM_FILM: "FocalLengthIn35mmFilm";
			public static TAG_FOCAL_PLANE_RESOLUTION_UNIT: "FocalPlaneResolutionUnit";
			public static TAG_FOCAL_PLANE_X_RESOLUTION: "FocalPlaneXResolution";
			public static TAG_FOCAL_PLANE_Y_RESOLUTION: "FocalPlaneYResolution";
			public static TAG_F_NUMBER: "FNumber";
			public static TAG_GAIN_CONTROL: "GainControl";
			public static TAG_GPS_ALTITUDE: "GPSAltitude";
			public static TAG_GPS_ALTITUDE_REF: "GPSAltitudeRef";
			public static TAG_GPS_AREA_INFORMATION: "GPSAreaInformation";
			public static TAG_GPS_DATESTAMP: "GPSDateStamp";
			public static TAG_GPS_DEST_BEARING: "GPSDestBearing";
			public static TAG_GPS_DEST_BEARING_REF: "GPSDestBearingRef";
			public static TAG_GPS_DEST_DISTANCE: "GPSDestDistance";
			public static TAG_GPS_DEST_DISTANCE_REF: "GPSDestDistanceRef";
			public static TAG_GPS_DEST_LATITUDE: "GPSDestLatitude";
			public static TAG_GPS_DEST_LATITUDE_REF: "GPSDestLatitudeRef";
			public static TAG_GPS_DEST_LONGITUDE: "GPSDestLongitude";
			public static TAG_GPS_DEST_LONGITUDE_REF: "GPSDestLongitudeRef";
			public static TAG_GPS_DIFFERENTIAL: "GPSDifferential";
			public static TAG_GPS_DOP: "GPSDOP";
			public static TAG_GPS_IMG_DIRECTION: "GPSImgDirection";
			public static TAG_GPS_IMG_DIRECTION_REF: "GPSImgDirectionRef";
			public static TAG_GPS_LATITUDE: "GPSLatitude";
			public static TAG_GPS_LATITUDE_REF: "GPSLatitudeRef";
			public static TAG_GPS_LONGITUDE: "GPSLongitude";
			public static TAG_GPS_LONGITUDE_REF: "GPSLongitudeRef";
			public static TAG_GPS_MAP_DATUM: "GPSMapDatum";
			public static TAG_GPS_MEASURE_MODE: "GPSMeasureMode";
			public static TAG_GPS_PROCESSING_METHOD: "GPSProcessingMethod";
			public static TAG_GPS_SATELLITES: "GPSSatellites";
			public static TAG_GPS_SPEED: "GPSSpeed";
			public static TAG_GPS_SPEED_REF: "GPSSpeedRef";
			public static TAG_GPS_STATUS: "GPSStatus";
			public static TAG_GPS_TIMESTAMP: "GPSTimeStamp";
			public static TAG_GPS_TRACK: "GPSTrack";
			public static TAG_GPS_TRACK_REF: "GPSTrackRef";
			public static TAG_GPS_VERSION_ID: "GPSVersionID";
			public static TAG_IMAGE_DESCRIPTION: "ImageDescription";
			public static TAG_IMAGE_LENGTH: "ImageLength";
			public static TAG_IMAGE_UNIQUE_ID: "ImageUniqueID";
			public static TAG_IMAGE_WIDTH: "ImageWidth";
			public static TAG_INTEROPERABILITY_INDEX: "InteroperabilityIndex";
			public static TAG_ISO: "ISOSpeedRatings";
			public static TAG_ISO_SPEED_RATINGS: "ISOSpeedRatings";
			public static TAG_JPEG_INTERCHANGE_FORMAT: "JPEGInterchangeFormat";
			public static TAG_JPEG_INTERCHANGE_FORMAT_LENGTH: "JPEGInterchangeFormatLength";
			public static TAG_LIGHT_SOURCE: "LightSource";
			public static TAG_MAKE: "Make";
			public static TAG_MAKER_NOTE: "MakerNote";
			public static TAG_MAX_APERTURE_VALUE: "MaxApertureValue";
			public static TAG_METERING_MODE: "MeteringMode";
			public static TAG_MODEL: "Model";
			public static TAG_NEW_SUBFILE_TYPE: "NewSubfileType";
			public static TAG_OECF: "OECF";
			public static TAG_OFFSET_TIME: "OffsetTime";
			public static TAG_OFFSET_TIME_DIGITIZED: "OffsetTimeDigitized";
			public static TAG_OFFSET_TIME_ORIGINAL: "OffsetTimeOriginal";
			public static TAG_ORF_ASPECT_FRAME: "AspectFrame";
			public static TAG_ORF_PREVIEW_IMAGE_LENGTH: "PreviewImageLength";
			public static TAG_ORF_PREVIEW_IMAGE_START: "PreviewImageStart";
			public static TAG_ORF_THUMBNAIL_IMAGE: "ThumbnailImage";
			public static TAG_ORIENTATION: "Orientation";
			public static TAG_PHOTOMETRIC_INTERPRETATION: "PhotometricInterpretation";
			public static TAG_PIXEL_X_DIMENSION: "PixelXDimension";
			public static TAG_PIXEL_Y_DIMENSION: "PixelYDimension";
			public static TAG_PLANAR_CONFIGURATION: "PlanarConfiguration";
			public static TAG_PRIMARY_CHROMATICITIES: "PrimaryChromaticities";
			public static TAG_REFERENCE_BLACK_WHITE: "ReferenceBlackWhite";
			public static TAG_RELATED_SOUND_FILE: "RelatedSoundFile";
			public static TAG_RESOLUTION_UNIT: "ResolutionUnit";
			public static TAG_ROWS_PER_STRIP: "RowsPerStrip";
			public static TAG_RW2_ISO: "ISO";
			public static TAG_RW2_JPG_FROM_RAW: "JpgFromRaw";
			public static TAG_RW2_SENSOR_BOTTOM_BORDER: "SensorBottomBorder";
			public static TAG_RW2_SENSOR_LEFT_BORDER: "SensorLeftBorder";
			public static TAG_RW2_SENSOR_RIGHT_BORDER: "SensorRightBorder";
			public static TAG_RW2_SENSOR_TOP_BORDER: "SensorTopBorder";
			public static TAG_SAMPLES_PER_PIXEL: "SamplesPerPixel";
			public static TAG_SATURATION: "Saturation";
			public static TAG_SCENE_CAPTURE_TYPE: "SceneCaptureType";
			public static TAG_SCENE_TYPE: "SceneType";
			public static TAG_SENSING_METHOD: "SensingMethod";
			public static TAG_SHARPNESS: "Sharpness";
			public static TAG_SHUTTER_SPEED_VALUE: "ShutterSpeedValue";
			public static TAG_SOFTWARE: "Software";
			public static TAG_SPATIAL_FREQUENCY_RESPONSE: "SpatialFrequencyResponse";
			public static TAG_SPECTRAL_SENSITIVITY: "SpectralSensitivity";
			public static TAG_STRIP_BYTE_COUNTS: "StripByteCounts";
			public static TAG_STRIP_OFFSETS: "StripOffsets";
			public static TAG_SUBFILE_TYPE: "SubfileType";
			public static TAG_SUBJECT_AREA: "SubjectArea";
			public static TAG_SUBJECT_DISTANCE: "SubjectDistance";
			public static TAG_SUBJECT_DISTANCE_RANGE: "SubjectDistanceRange";
			public static TAG_SUBJECT_LOCATION: "SubjectLocation";
			public static TAG_SUBSEC_TIME: "SubSecTime";
			public static TAG_SUBSEC_TIME_DIG: "SubSecTimeDigitized";
			public static TAG_SUBSEC_TIME_DIGITIZED: "SubSecTimeDigitized";
			public static TAG_SUBSEC_TIME_ORIG: "SubSecTimeOriginal";
			public static TAG_SUBSEC_TIME_ORIGINAL: "SubSecTimeOriginal";
			public static TAG_THUMBNAIL_IMAGE_LENGTH: "ThumbnailImageLength";
			public static TAG_THUMBNAIL_IMAGE_WIDTH: "ThumbnailImageWidth";
			public static TAG_THUMBNAIL_ORIENTATION: "ThumbnailOrientation";
			public static TAG_TRANSFER_FUNCTION: "TransferFunction";
			public static TAG_USER_COMMENT: "UserComment";
			public static TAG_WHITE_BALANCE: "WhiteBalance";
			public static TAG_WHITE_POINT: "WhitePoint";
			public static TAG_XMP: "Xmp";
			public static TAG_X_RESOLUTION: "XResolution";
			public static TAG_Y_CB_CR_COEFFICIENTS: "YCbCrCoefficients";
			public static TAG_Y_CB_CR_POSITIONING: "YCbCrPositioning";
			public static TAG_Y_CB_CR_SUB_SAMPLING: "YCbCrSubSampling";
			public static TAG_Y_RESOLUTION: "YResolution";
			public static WHITEBALANCE_AUTO: 0;
			public static WHITEBALANCE_MANUAL: 1;
			public getThumbnailRange(): androidNative.Array<number>;
			public getGpsDateTime(): number;
			public getDateTimeDigitized(): number;
			public getAttributeRange(tag: string): androidNative.Array<number>;
			public saveAttributes(): void;
			public setAttribute(tag: string, value: string): void;
			public hasThumbnail(): boolean;
			public getThumbnailBytes(): androidNative.Array<number>;
			public hasAttribute(tag: string): boolean;
			public getDateTimeOriginal(): number;
			public constructor(filename: string);
			public getAttributeInt(tag: string, defaultValue: number): number;
			public getAttributeDouble(tag: string, defaultValue: number): number;
			public getLatLong(output: androidNative.Array<number>): boolean;
			public getThumbnailBitmap(): android.graphics.Bitmap;
			public getDateTime(): number;
			public getAttributeBytes(tag: string): androidNative.Array<number>;
			public getAttribute(tag: string): string;
			public constructor(file: java.io.File);
			public constructor(inputStream: java.io.InputStream);
			public getThumbnail(): androidNative.Array<number>;
			public static isSupportedMimeType(mimeType: string): boolean;
			public constructor(inputStream: java.io.InputStream, streamType: number);
			public getAltitude(defaultValue: number): number;
			public isThumbnailCompressed(): boolean;
			public constructor(fileDescriptor: java.io.FileDescriptor);
		}
	}
}

declare module android {
	export module media {
		export class FaceDetector extends java.lang.Object {
			public static class: java.lang.Class<android.media.FaceDetector>;
			public constructor(width: number, height: number, maxFaces: number);
			public findFaces(bitmap: android.graphics.Bitmap, faces: androidNative.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: 0.4;
				public static EULER_X: 0;
				public static EULER_Y: 1;
				public static EULER_Z: 2;
				public eyesDistance(): number;
				public pose(euler: number): number;
				public confidence(): number;
				public getMidPoint(point: android.graphics.PointF): void;
			}
		}
	}
}

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 setDataSpace(dataSpace: number): void;
			public getHeight(): number;
			public setCropRect(cropRect: android.graphics.Rect): void;
			public getFormat(): number;
			public getWidth(): number;
			public getFence(): android.hardware.SyncFence;
			public getPlanes(): androidNative.Array<android.media.Image.Plane>;
			public getCropRect(): android.graphics.Rect;
			public getDataSpace(): number;
			public setFence(fence: android.hardware.SyncFence): void;
			public getHardwareBuffer(): android.hardware.HardwareBuffer;
			public getTimestamp(): number;
			public setTimestamp(timestamp: number): void;
			public close(): void;
		}
		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 static newInstance(width: number, height: number, format: number, maxImages: number): android.media.ImageReader;
			public setOnImageAvailableListener(listener: android.media.ImageReader.OnImageAvailableListener, handler: android.os.Handler): void;
			public getWidth(): number;
			public discardFreeBuffers(): void;
			public getSurface(): android.view.Surface;
			public getUsage(): number;
			public getDataSpace(): number;
			public getHardwareBufferFormat(): number;
			public acquireNextImage(): android.media.Image;
			public static newInstance(width: number, height: number, format: number, maxImages: number, usage: number): android.media.ImageReader;
			public getImageFormat(): number;
			public acquireLatestImage(): android.media.Image;
			public close(): void;
			public finalize(): void;
		}
		export module ImageReader {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.ImageReader.Builder>;
				public setMaxImages(maxImages: number): android.media.ImageReader.Builder;
				public setDefaultHardwareBufferFormat(hardwareBufferFormat: number): android.media.ImageReader.Builder;
				public setImageFormat(imageFormat: number): android.media.ImageReader.Builder;
				public setUsage(usage: number): android.media.ImageReader.Builder;
				public constructor(width: number, height: number);
				public setDefaultDataSpace(dataSpace: number): android.media.ImageReader.Builder;
				public build(): android.media.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 getHeight(): number;
			public getFormat(): number;
			public getWidth(): number;
			public setOnImageReleasedListener(listener: android.media.ImageWriter.OnImageReleasedListener, handler: android.os.Handler): void;
			public getUsage(): number;
			public getDataSpace(): number;
			public static newInstance(surface: android.view.Surface, maxImages: number): android.media.ImageWriter;
			public getHardwareBufferFormat(): number;
			public static newInstance(surface: android.view.Surface, maxImages: number, format: number): android.media.ImageWriter;
			public queueInputImage(image: android.media.Image): void;
			public dequeueInputImage(): android.media.Image;
			public close(): void;
			public finalize(): void;
		}
		export module ImageWriter {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.ImageWriter.Builder>;
				public setMaxImages(maxImages: number): android.media.ImageWriter.Builder;
				public setDataSpace(dataSpace: number): android.media.ImageWriter.Builder;
				public setImageFormat(imageFormat: number): android.media.ImageWriter.Builder;
				public build(): android.media.ImageWriter;
				public setUsage(usage: number): android.media.ImageWriter.Builder;
				public constructor(surface: android.view.Surface);
				public setHardwareBufferFormat(hardwareBufferFormat: number): android.media.ImageWriter.Builder;
				public setWidthAndHeight(width: number, height: number): android.media.ImageWriter.Builder;
			}
			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 loadJetFile(path: string): boolean;
			public closeJetFile(): boolean;
			public static getJetPlayer(): android.media.JetPlayer;
			public setEventListener(listener: android.media.JetPlayer.OnJetEventListener): void;
			public triggerClip(clipId: number): boolean;
			public static getMaxTracks(): number;
			public queueJetSegmentMuteArray(segmentNum: number, libNum: number, repeatCount: number, transpose: number, muteArray: androidNative.Array<boolean>, userID: number): boolean;
			public play(): boolean;
			public setMuteFlags(muteFlags: number, sync: boolean): boolean;
			public setMuteArray(muteArray: androidNative.Array<boolean>, sync: boolean): boolean;
			public clone(): any;
			public loadJetFile(afd: android.content.res.AssetFileDescriptor): boolean;
			public setEventListener(listener: android.media.JetPlayer.OnJetEventListener, handler: android.os.Handler): void;
			public pause(): boolean;
			public setMuteFlag(trackId: number, muteFlag: boolean, sync: boolean): boolean;
			public queueJetSegment(segmentNum: number, libNum: number, repeatCount: number, transpose: number, muteFlags: number, userID: number): 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 LoudnessCodecController extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.LoudnessCodecController>;
			public removeMediaCodec(mediaCodec: android.media.MediaCodec): void;
			public static create(sessionId: number, executor: java.util.concurrent.Executor, listener: android.media.LoudnessCodecController.OnLoudnessCodecUpdateListener): android.media.LoudnessCodecController;
			public getLoudnessCodecParams(mediaCodec: android.media.MediaCodec): android.os.Bundle;
			public static create(sessionId: number): android.media.LoudnessCodecController;
			public close(): void;
			public addMediaCodec(mediaCodec: android.media.MediaCodec): boolean;
		}
		export module LoudnessCodecController {
			export class OnLoudnessCodecUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.LoudnessCodecController.OnLoudnessCodecUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.LoudnessCodecController$OnLoudnessCodecUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onLoudnessCodecUpdate(mediaCodec: android.media.MediaCodec, codecValues: android.os.Bundle): android.os.Bundle;
				});
				public constructor();
				public onLoudnessCodecUpdate(mediaCodec: android.media.MediaCodec, codecValues: android.os.Bundle): android.os.Bundle;
			}
		}
	}
}

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: 1;
			public static SHUTTER_CLICK: 0;
			public static START_VIDEO_RECORDING: 2;
			public static STOP_VIDEO_RECORDING: 3;
			public play(soundName: number): void;
			public constructor();
			public static mustPlayShutterSound(): boolean;
			public load(soundName: number): void;
			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 static PLUGIN_STATUS_PHYSICAL_MODULE_CHANGED: 0;
			public static PLUGIN_STATUS_SESSION_NUMBER_CHANGED: 1;
			public static SCRAMBLING_MODE_AES128: 9;
			public static SCRAMBLING_MODE_AES_CBC: 14;
			public static SCRAMBLING_MODE_AES_ECB: 10;
			public static SCRAMBLING_MODE_AES_SCTE52: 11;
			public static SCRAMBLING_MODE_DVB_CISSA_V1: 6;
			public static SCRAMBLING_MODE_DVB_CSA1: 1;
			public static SCRAMBLING_MODE_DVB_CSA2: 2;
			public static SCRAMBLING_MODE_DVB_CSA3_ENHANCE: 5;
			public static SCRAMBLING_MODE_DVB_CSA3_MINIMAL: 4;
			public static SCRAMBLING_MODE_DVB_CSA3_STANDARD: 3;
			public static SCRAMBLING_MODE_DVB_IDSA: 7;
			public static SCRAMBLING_MODE_MULTI2: 8;
			public static SCRAMBLING_MODE_RESERVED: 0;
			public static SCRAMBLING_MODE_TDES_ECB: 12;
			public static SCRAMBLING_MODE_TDES_SCTE52: 13;
			public static SESSION_USAGE_LIVE: 0;
			public static SESSION_USAGE_PLAYBACK: 1;
			public static SESSION_USAGE_RECORD: 2;
			public static SESSION_USAGE_TIMESHIFT: 3;
			public openSession(): android.media.MediaCas.Session;
			public static isSystemIdSupported(CA_system_id: number): boolean;
			public constructor(context: android.content.Context, casSystemId: number, tvInputServiceSessionId: string, priorityHint: number, handler: android.os.Handler, listener: android.media.MediaCas.EventListener);
			public setEventListener(listener: android.media.MediaCas.EventListener, handler: android.os.Handler): void;
			public processEmm(data: androidNative.Array<number>): void;
			public sendEvent(event: number, arg: number, data: androidNative.Array<number>): void;
			public constructor(context: android.content.Context, casSystemId: number, tvInputServiceSessionId: string, priorityHint: number);
			public static enumeratePlugins(): androidNative.Array<android.media.MediaCas.PluginDescriptor>;
			public processEmm(data: androidNative.Array<number>, offset: number, length: number): void;
			public openSession(sessionUsage: number, scramblingMode: number): android.media.MediaCas.Session;
			public constructor(casSystemId: number);
			public setPrivateData(data: androidNative.Array<number>): void;
			public provision(provisionString: string): void;
			public close(): void;
			public finalize(): void;
			public refreshEntitlements(refreshType: number, refreshData: androidNative.Array<number>): 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: androidNative.Array<number>): void;
					onSessionEvent(mediaCas: android.media.MediaCas, session: android.media.MediaCas.Session, event: number, arg: number, data: androidNative.Array<number>): void;
					onPluginStatusUpdate(mediaCas: android.media.MediaCas, status: number, arg: number): void;
					onResourceLost(mediaCas: android.media.MediaCas): void;
				});
				public constructor();
				public onEvent(param0: android.media.MediaCas, param1: number, param2: number, param3: androidNative.Array<number>): void;
				public onSessionEvent(mediaCas: android.media.MediaCas, session: android.media.MediaCas.Session, event: number, arg: number, data: androidNative.Array<number>): void;
				public onPluginStatusUpdate(mediaCas: android.media.MediaCas, status: number, arg: number): void;
				public onResourceLost(mediaCas: android.media.MediaCas): 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 getSessionId(): androidNative.Array<number>;
				public close(): void;
				public equals(obj: any): boolean;
				public processEcm(data: androidNative.Array<number>): void;
				public sendSessionEvent(event: number, arg: number, data: androidNative.Array<number>): void;
				public setPrivateData(data: androidNative.Array<number>): void;
				public processEcm(data: androidNative.Array<number>, offset: number, length: 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 InsufficientResourceException extends android.media.MediaCasException {
				public static class: java.lang.Class<android.media.MediaCasException.InsufficientResourceException>;
			}
			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: 2;
			public static BUFFER_FLAG_DECODE_ONLY: 32;
			public static BUFFER_FLAG_END_OF_STREAM: 4;
			public static BUFFER_FLAG_KEY_FRAME: 1;
			public static BUFFER_FLAG_PARTIAL_FRAME: 8;
			public static BUFFER_FLAG_SYNC_FRAME: 1;
			public static CONFIGURE_FLAG_DETACHED_SURFACE: 8;
			public static CONFIGURE_FLAG_ENCODE: 1;
			public static CONFIGURE_FLAG_USE_BLOCK_MODEL: 2;
			public static CONFIGURE_FLAG_USE_CRYPTO_ASYNC: 4;
			public static CRYPTO_MODE_AES_CBC: 2;
			public static CRYPTO_MODE_AES_CTR: 1;
			public static CRYPTO_MODE_UNENCRYPTED: 0;
			public static INFO_OUTPUT_BUFFERS_CHANGED: -3;
			public static INFO_OUTPUT_FORMAT_CHANGED: -2;
			public static INFO_TRY_AGAIN_LATER: -1;
			public static PARAMETER_KEY_HDR10_PLUS_INFO: "hdr10-plus-info";
			public static PARAMETER_KEY_LOW_LATENCY: "low-latency";
			public static PARAMETER_KEY_OFFSET_TIME: "time-offset-us";
			public static PARAMETER_KEY_QP_OFFSET_MAP: "qp-offset-map";
			public static PARAMETER_KEY_QP_OFFSET_RECTS: "qp-offset-rects";
			public static PARAMETER_KEY_REQUEST_SYNC_FRAME: "request-sync";
			public static PARAMETER_KEY_SUSPEND: "drop-input-frames";
			public static PARAMETER_KEY_SUSPEND_TIME: "drop-start-time-us";
			public static PARAMETER_KEY_TUNNEL_PEEK: "tunnel-peek";
			public static PARAMETER_KEY_VIDEO_BITRATE: "video-bitrate";
			public static VIDEO_SCALING_MODE_SCALE_TO_FIT: 1;
			public static VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING: 2;
			public queueSecureInputBuffer(index: number, offset: number, info: android.media.MediaCodec.CryptoInfo, presentationTimeUs: number, flags: number): void;
			public getQueueRequest(index: number): android.media.MediaCodec.QueueRequest;
			public setCallback(cb: android.media.MediaCodec.Callback): void;
			public signalEndOfInputStream(): void;
			public setParameters(params: android.os.Bundle): void;
			public createInputSurface(): android.view.Surface;
			public getOutputFormat(): android.media.MediaFormat;
			public releaseOutputBuffer(index: number, render: boolean): void;
			public unsubscribeFromVendorParameters(names: java.util.List<string>): void;
			public detachOutputSurface(): void;
			public getOutputBuffer(index: number): java.nio.ByteBuffer;
			public subscribeToVendorParameters(names: java.util.List<string>): void;
			public setAudioPresentation(presentation: android.media.AudioPresentation): void;
			public getCanonicalName(): string;
			public stop(): void;
			public start(): void;
			public flush(): void;
			public configure(format: android.media.MediaFormat, surface: android.view.Surface, flags: number, descrambler: android.media.MediaDescrambler): void;
			/** @deprecated */
			public getOutputBuffers(): androidNative.Array<java.nio.ByteBuffer>;
			public queueInputBuffer(index: number, offset: number, size: number, presentationTimeUs: number, flags: number): void;
			public getSupportedVendorParameters(): java.util.List<string>;
			public dequeueInputBuffer(timeoutUs: number): number;
			public setOnFirstTunnelFrameReadyListener(handler: android.os.Handler, listener: android.media.MediaCodec.OnFirstTunnelFrameReadyListener): void;
			public setVideoScalingMode(param0: number): void;
			public static mapHardwareBuffer(hardwareBuffer: android.hardware.HardwareBuffer): android.media.Image;
			public static createDecoderByType(type: string): android.media.MediaCodec;
			public setInputSurface(surface: android.view.Surface): void;
			public getInputImage(index: number): android.media.Image;
			/** @deprecated */
			public getInputBuffers(): androidNative.Array<java.nio.ByteBuffer>;
			public setOnFrameRenderedListener(listener: android.media.MediaCodec.OnFrameRenderedListener, handler: android.os.Handler): void;
			public static createPersistentInputSurface(): android.view.Surface;
			public getOutputFrame(index: number): android.media.MediaCodec.OutputFrame;
			public setOutputSurface(surface: android.view.Surface): void;
			public getOutputFormat(index: number): android.media.MediaFormat;
			public getParameterDescriptor(name: string): android.media.MediaCodec.ParameterDescriptor;
			public setCallback(cb: android.media.MediaCodec.Callback, handler: android.os.Handler): void;
			public getInputFormat(): android.media.MediaFormat;
			public getOutputImage(index: number): android.media.Image;
			public configure(format: android.media.MediaFormat, surface: android.view.Surface, crypto: android.media.MediaCrypto, flags: number): void;
			public queueInputBuffers(index: number, bufferInfos: java.util.ArrayDeque<android.media.MediaCodec.BufferInfo>): void;
			public reset(): void;
			public finalize(): void;
			public release(): void;
			public releaseOutputBuffer(index: number, renderTimestampNs: number): void;
			public static createByCodecName(name: string): android.media.MediaCodec;
			public static createEncoderByType(type: string): android.media.MediaCodec;
			public queueSecureInputBuffers(index: number, bufferInfos: java.util.ArrayDeque<android.media.MediaCodec.BufferInfo>, cryptoInfos: java.util.ArrayDeque<android.media.MediaCodec.CryptoInfo>): void;
			public getInputBuffer(index: number): java.nio.ByteBuffer;
			public getName(): string;
			public getCodecInfo(): android.media.MediaCodecInfo;
			public dequeueOutputBuffer(info: android.media.MediaCodec.BufferInfo, timeoutUs: number): number;
			public getMetrics(): any;
		}
		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(newOffset: number, newSize: number, newTimeUs: number, newFlags: 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 onCryptoError(codec: android.media.MediaCodec, e: android.media.MediaCodec.CryptoException): void;
				public onOutputBuffersAvailable(codec: android.media.MediaCodec, index: number, infos: java.util.ArrayDeque<android.media.MediaCodec.BufferInfo>): 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: 1100;
				public static ERROR_RECLAIMED: 1101;
				public getDiagnosticInfo(): string;
				public isRecoverable(): boolean;
				public getErrorCode(): number;
				public isTransient(): boolean;
			}
			export class CryptoException extends java.lang.RuntimeException implements android.media.MediaDrmThrowable {
				public static class: java.lang.Class<android.media.MediaCodec.CryptoException>;
				public static ERROR_FRAME_TOO_LARGE: 8;
				public static ERROR_INSUFFICIENT_OUTPUT_PROTECTION: 4;
				public static ERROR_INSUFFICIENT_SECURITY: 7;
				public static ERROR_KEY_EXPIRED: 2;
				public static ERROR_LOST_STATE: 9;
				public static ERROR_NO_KEY: 1;
				public static ERROR_RESOURCE_BUSY: 3;
				public static ERROR_SESSION_NOT_OPENED: 5;
				public static ERROR_UNSUPPORTED_OPERATION: 6;
				public constructor(cause: java.lang.Throwable);
				public getOemError(): number;
				public getErrorContext(): number;
				public getVendorError(): number;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(errorCode: number, detailMessage: string);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getErrorCode(): number;
				public getCryptoInfo(): android.media.MediaCodec.CryptoInfo;
				public constructor();
			}
			export class CryptoInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.CryptoInfo>;
				public iv: androidNative.Array<number>;
				public key: androidNative.Array<number>;
				public mode: number;
				public numBytesOfClearData: androidNative.Array<number>;
				public numBytesOfEncryptedData: androidNative.Array<number>;
				public numSubSamples: number;
				public getPattern(): android.media.MediaCodec.CryptoInfo.Pattern;
				public set(newNumSubSamples: number, newNumBytesOfClearData: androidNative.Array<number>, newNumBytesOfEncryptedData: androidNative.Array<number>, newKey: androidNative.Array<number>, newIV: androidNative.Array<number>, newMode: number): void;
				public setPattern(newPattern: android.media.MediaCodec.CryptoInfo.Pattern): void;
				public toString(): string;
				public constructor();
			}
			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(blocksToEncrypt: number, blocksToSkip: number): void;
					public constructor(blocksToEncrypt: number, blocksToSkip: number);
				}
			}
			export class IncompatibleWithBlockModelException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.media.MediaCodec.IncompatibleWithBlockModelException>;
			}
			export class InvalidBufferFlagsException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.media.MediaCodec.InvalidBufferFlagsException>;
			}
			export class LinearBlock extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.LinearBlock>;
				public recycle(): void;
				public static isCodecCopyFreeCompatible(codecNames: androidNative.Array<string>): boolean;
				public static obtain(capacity: number, codecNames: androidNative.Array<string>): android.media.MediaCodec.LinearBlock;
				public finalize(): void;
				public isMappable(): boolean;
				public map(): java.nio.ByteBuffer;
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.MetricsConstants>;
				public static CODEC: "android.media.mediacodec.codec";
				public static ENCODER: "android.media.mediacodec.encoder";
				public static HEIGHT: "android.media.mediacodec.height";
				public static MIME_TYPE: "android.media.mediacodec.mime";
				public static MODE: "android.media.mediacodec.mode";
				public static MODE_AUDIO: "audio";
				public static MODE_VIDEO: "video";
				public static ROTATION: "android.media.mediacodec.rotation";
				public static SECURE: "android.media.mediacodec.secure";
				public static WIDTH: "android.media.mediacodec.width";
			}
			export class OnFirstTunnelFrameReadyListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.OnFirstTunnelFrameReadyListener>;
				/**
				 * Constructs a new instance of the android.media.MediaCodec$OnFirstTunnelFrameReadyListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFirstTunnelFrameReady(param0: android.media.MediaCodec): void;
				});
				public constructor();
				public onFirstTunnelFrameReady(param0: android.media.MediaCodec): void;
			}
			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;
			}
			export class OutputFrame extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.OutputFrame>;
				public getBufferInfos(): java.util.ArrayDeque<android.media.MediaCodec.BufferInfo>;
				public getLinearBlock(): android.media.MediaCodec.LinearBlock;
				public getChangedKeys(): java.util.Set<string>;
				public getPresentationTimeUs(): number;
				public getFlags(): number;
				public getHardwareBuffer(): android.hardware.HardwareBuffer;
				public getFormat(): android.media.MediaFormat;
			}
			export class ParameterDescriptor extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.ParameterDescriptor>;
				public getType(): number;
				public hashCode(): number;
				public getName(): string;
				public equals(o: any): boolean;
			}
			export class QueueRequest extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.QueueRequest>;
				public setLinearBlock(block: android.media.MediaCodec.LinearBlock, offset: number, size: number): android.media.MediaCodec.QueueRequest;
				public setFlags(flags: number): android.media.MediaCodec.QueueRequest;
				public setMultiFrameEncryptedLinearBlock(block: android.media.MediaCodec.LinearBlock, bufferInfos: java.util.ArrayDeque<android.media.MediaCodec.BufferInfo>, cryptoInfos: java.util.ArrayDeque<android.media.MediaCodec.CryptoInfo>): android.media.MediaCodec.QueueRequest;
				public setByteBufferParameter(key: string, value: java.nio.ByteBuffer): android.media.MediaCodec.QueueRequest;
				public setMultiFrameLinearBlock(block: android.media.MediaCodec.LinearBlock, infos: java.util.ArrayDeque<android.media.MediaCodec.BufferInfo>): android.media.MediaCodec.QueueRequest;
				public setStringParameter(key: string, value: string): android.media.MediaCodec.QueueRequest;
				public setFloatParameter(key: string, value: number): android.media.MediaCodec.QueueRequest;
				public queue(): void;
				public setHardwareBuffer(buffer: android.hardware.HardwareBuffer): android.media.MediaCodec.QueueRequest;
				public setPresentationTimeUs(presentationTimeUs: number): android.media.MediaCodec.QueueRequest;
				public setLongParameter(key: string, value: number): android.media.MediaCodec.QueueRequest;
				public setEncryptedLinearBlock(block: android.media.MediaCodec.LinearBlock, offset: number, size: number, cryptoInfo: android.media.MediaCodec.CryptoInfo): android.media.MediaCodec.QueueRequest;
				public setIntegerParameter(key: string, value: number): android.media.MediaCodec.QueueRequest;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaCodecInfo extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaCodecInfo>;
			public isEncoder(): boolean;
			public getName(): string;
			public getCapabilitiesForType(type: string): android.media.MediaCodecInfo.CodecCapabilities;
			public getCanonicalName(): string;
			public isHardwareAccelerated(): boolean;
			public isSoftwareOnly(): boolean;
			public isAlias(): boolean;
			public getSupportedTypes(): androidNative.Array<string>;
			public isVendor(): boolean;
		}
		export module MediaCodecInfo {
			export class AudioCapabilities extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodecInfo.AudioCapabilities>;
				public getInputChannelCountRanges(): androidNative.Array<android.util.Range<java.lang.Integer>>;
				public isSampleRateSupported(sampleRate: number): boolean;
				public getMaxInputChannelCount(): number;
				public getSupportedSampleRateRanges(): androidNative.Array<android.util.Range<java.lang.Integer>>;
				public getBitrateRange(): android.util.Range<java.lang.Integer>;
				public getSupportedSampleRates(): androidNative.Array<number>;
				public getMinInputChannelCount(): number;
			}
			export class CodecCapabilities extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodecInfo.CodecCapabilities>;
				public static COLOR_Format12bitRGB444: 3;
				public static COLOR_Format16bitARGB1555: 5;
				public static COLOR_Format16bitARGB4444: 4;
				public static COLOR_Format16bitBGR565: 7;
				public static COLOR_Format16bitRGB565: 6;
				public static COLOR_Format18BitBGR666: 41;
				public static COLOR_Format18bitARGB1665: 9;
				public static COLOR_Format18bitRGB666: 8;
				public static COLOR_Format19bitARGB1666: 10;
				public static COLOR_Format24BitABGR6666: 43;
				public static COLOR_Format24BitARGB6666: 42;
				public static COLOR_Format24bitARGB1887: 13;
				public static COLOR_Format24bitBGR888: 12;
				public static COLOR_Format24bitRGB888: 11;
				public static COLOR_Format25bitARGB1888: 14;
				public static COLOR_Format32bitABGR2101010: 2130750114;
				public static COLOR_Format32bitABGR8888: 2130747392;
				public static COLOR_Format32bitARGB8888: 16;
				public static COLOR_Format32bitBGRA8888: 15;
				public static COLOR_Format64bitABGRFloat: 2130710294;
				public static COLOR_Format8bitRGB332: 2;
				public static COLOR_FormatCbYCrY: 27;
				public static COLOR_FormatCrYCbY: 28;
				public static COLOR_FormatL16: 36;
				public static COLOR_FormatL2: 33;
				public static COLOR_FormatL24: 37;
				public static COLOR_FormatL32: 38;
				public static COLOR_FormatL4: 34;
				public static COLOR_FormatL8: 35;
				public static COLOR_FormatMonochrome: 1;
				public static COLOR_FormatRGBAFlexible: 2134288520;
				public static COLOR_FormatRGBFlexible: 2134292616;
				public static COLOR_FormatRawBayer10bit: 31;
				public static COLOR_FormatRawBayer8bit: 30;
				public static COLOR_FormatRawBayer8bitcompressed: 32;
				public static COLOR_FormatSurface: 2130708361;
				public static COLOR_FormatYCbYCr: 25;
				public static COLOR_FormatYCrYCb: 26;
				public static COLOR_FormatYUV411PackedPlanar: 18;
				public static COLOR_FormatYUV411Planar: 17;
				public static COLOR_FormatYUV420Flexible: 2135033992;
				public static COLOR_FormatYUV420PackedPlanar: 20;
				public static COLOR_FormatYUV420PackedSemiPlanar: 39;
				public static COLOR_FormatYUV420Planar: 19;
				public static COLOR_FormatYUV420SemiPlanar: 21;
				public static COLOR_FormatYUV422Flexible: 2135042184;
				public static COLOR_FormatYUV422PackedPlanar: 23;
				public static COLOR_FormatYUV422PackedSemiPlanar: 40;
				public static COLOR_FormatYUV422Planar: 22;
				public static COLOR_FormatYUV422SemiPlanar: 24;
				public static COLOR_FormatYUV444Flexible: 2135181448;
				public static COLOR_FormatYUV444Interleaved: 29;
				public static COLOR_FormatYUVP010: 54;
				public static COLOR_QCOM_FormatYUV420SemiPlanar: 2141391872;
				public static COLOR_TI_FormatYUV420PackedSemiPlanar: 2130706688;
				public static FEATURE_AdaptivePlayback: "adaptive-playback";
				public static FEATURE_DetachedSurface: "detached-surface";
				public static FEATURE_DynamicColorAspects: "dynamic-color-aspects";
				public static FEATURE_DynamicTimestamp: "dynamic-timestamp";
				public static FEATURE_EncodingStatistics: "encoding-statistics";
				public static FEATURE_FrameParsing: "frame-parsing";
				public static FEATURE_HdrEditing: "hdr-editing";
				public static FEATURE_HlgEditing: "hlg-editing";
				public static FEATURE_IntraRefresh: "intra-refresh";
				public static FEATURE_LowLatency: "low-latency";
				public static FEATURE_MultipleFrames: "multiple-frames";
				public static FEATURE_PartialFrame: "partial-frame";
				public static FEATURE_QpBounds: "qp-bounds";
				public static FEATURE_Roi: "region-of-interest";
				public static FEATURE_SecurePlayback: "secure-playback";
				public static FEATURE_TunneledPlayback: "tunneled-playback";
				public colorFormats: androidNative.Array<number>;
				public profileLevels: androidNative.Array<android.media.MediaCodecInfo.CodecProfileLevel>;
				public getMaxSupportedInstances(): number;
				public isFeatureSupported(name: string): boolean;
				public isFormatSupported(format: android.media.MediaFormat): boolean;
				public static createFromProfileLevel(mime: string, profile: number, level: number): android.media.MediaCodecInfo.CodecCapabilities;
				public getDefaultFormat(): android.media.MediaFormat;
				public getMimeType(): string;
				public getAudioCapabilities(): android.media.MediaCodecInfo.AudioCapabilities;
				public isFeatureRequired(name: string): boolean;
				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: 39;
				public static AACObjectERLC: 17;
				public static AACObjectERScalable: 20;
				public static AACObjectHE: 5;
				public static AACObjectHE_PS: 29;
				public static AACObjectLC: 2;
				public static AACObjectLD: 23;
				public static AACObjectLTP: 4;
				public static AACObjectMain: 1;
				public static AACObjectSSR: 3;
				public static AACObjectScalable: 6;
				public static AACObjectXHE: 42;
				public static AC4Level0: 1;
				public static AC4Level1: 2;
				public static AC4Level2: 4;
				public static AC4Level3: 8;
				public static AC4Level4: 16;
				public static AC4Profile00: 257;
				public static AC4Profile10: 513;
				public static AC4Profile11: 514;
				public static AC4Profile21: 1026;
				public static AC4Profile22: 1028;
				public static AV1Level2: 1;
				public static AV1Level21: 2;
				public static AV1Level22: 4;
				public static AV1Level23: 8;
				public static AV1Level3: 16;
				public static AV1Level31: 32;
				public static AV1Level32: 64;
				public static AV1Level33: 128;
				public static AV1Level4: 256;
				public static AV1Level41: 512;
				public static AV1Level42: 1024;
				public static AV1Level43: 2048;
				public static AV1Level5: 4096;
				public static AV1Level51: 8192;
				public static AV1Level52: 16384;
				public static AV1Level53: 32768;
				public static AV1Level6: 65536;
				public static AV1Level61: 131072;
				public static AV1Level62: 262144;
				public static AV1Level63: 524288;
				public static AV1Level7: 1048576;
				public static AV1Level71: 2097152;
				public static AV1Level72: 4194304;
				public static AV1Level73: 8388608;
				public static AV1ProfileMain10: 2;
				public static AV1ProfileMain10HDR10: 4096;
				public static AV1ProfileMain10HDR10Plus: 8192;
				public static AV1ProfileMain8: 1;
				public static AVCLevel1: 1;
				public static AVCLevel11: 4;
				public static AVCLevel12: 8;
				public static AVCLevel13: 16;
				public static AVCLevel1b: 2;
				public static AVCLevel2: 32;
				public static AVCLevel21: 64;
				public static AVCLevel22: 128;
				public static AVCLevel3: 256;
				public static AVCLevel31: 512;
				public static AVCLevel32: 1024;
				public static AVCLevel4: 2048;
				public static AVCLevel41: 4096;
				public static AVCLevel42: 8192;
				public static AVCLevel5: 16384;
				public static AVCLevel51: 32768;
				public static AVCLevel52: 65536;
				public static AVCLevel6: 131072;
				public static AVCLevel61: 262144;
				public static AVCLevel62: 524288;
				public static AVCProfileBaseline: 1;
				public static AVCProfileConstrainedBaseline: 65536;
				public static AVCProfileConstrainedHigh: 524288;
				public static AVCProfileExtended: 4;
				public static AVCProfileHigh: 8;
				public static AVCProfileHigh10: 16;
				public static AVCProfileHigh422: 32;
				public static AVCProfileHigh444: 64;
				public static AVCProfileMain: 2;
				public static DTS_HDProfileHRA: 1;
				public static DTS_HDProfileLBR: 2;
				public static DTS_HDProfileMA: 4;
				public static DTS_UHDProfileP1: 1;
				public static DTS_UHDProfileP2: 2;
				public static DolbyVisionLevel8k30: 1024;
				public static DolbyVisionLevel8k60: 2048;
				public static DolbyVisionLevelFhd24: 4;
				public static DolbyVisionLevelFhd30: 8;
				public static DolbyVisionLevelFhd60: 16;
				public static DolbyVisionLevelHd24: 1;
				public static DolbyVisionLevelHd30: 2;
				public static DolbyVisionLevelUhd120: 512;
				public static DolbyVisionLevelUhd24: 32;
				public static DolbyVisionLevelUhd30: 64;
				public static DolbyVisionLevelUhd48: 128;
				public static DolbyVisionLevelUhd60: 256;
				public static DolbyVisionProfileDvav110: 1024;
				public static DolbyVisionProfileDvavPen: 2;
				public static DolbyVisionProfileDvavPer: 1;
				public static DolbyVisionProfileDvavSe: 512;
				public static DolbyVisionProfileDvheDen: 8;
				public static DolbyVisionProfileDvheDer: 4;
				public static DolbyVisionProfileDvheDtb: 128;
				public static DolbyVisionProfileDvheDth: 64;
				public static DolbyVisionProfileDvheDtr: 16;
				public static DolbyVisionProfileDvheSt: 256;
				public static DolbyVisionProfileDvheStn: 32;
				public static H263Level10: 1;
				public static H263Level20: 2;
				public static H263Level30: 4;
				public static H263Level40: 8;
				public static H263Level45: 16;
				public static H263Level50: 32;
				public static H263Level60: 64;
				public static H263Level70: 128;
				public static H263ProfileBackwardCompatible: 4;
				public static H263ProfileBaseline: 1;
				public static H263ProfileH320Coding: 2;
				public static H263ProfileHighCompression: 32;
				public static H263ProfileHighLatency: 256;
				public static H263ProfileISWV2: 8;
				public static H263ProfileISWV3: 16;
				public static H263ProfileInterlace: 128;
				public static H263ProfileInternet: 64;
				public static HEVCHighTierLevel1: 2;
				public static HEVCHighTierLevel2: 8;
				public static HEVCHighTierLevel21: 32;
				public static HEVCHighTierLevel3: 128;
				public static HEVCHighTierLevel31: 512;
				public static HEVCHighTierLevel4: 2048;
				public static HEVCHighTierLevel41: 8192;
				public static HEVCHighTierLevel5: 32768;
				public static HEVCHighTierLevel51: 131072;
				public static HEVCHighTierLevel52: 524288;
				public static HEVCHighTierLevel6: 2097152;
				public static HEVCHighTierLevel61: 8388608;
				public static HEVCHighTierLevel62: 33554432;
				public static HEVCMainTierLevel1: 1;
				public static HEVCMainTierLevel2: 4;
				public static HEVCMainTierLevel21: 16;
				public static HEVCMainTierLevel3: 64;
				public static HEVCMainTierLevel31: 256;
				public static HEVCMainTierLevel4: 1024;
				public static HEVCMainTierLevel41: 4096;
				public static HEVCMainTierLevel5: 16384;
				public static HEVCMainTierLevel51: 65536;
				public static HEVCMainTierLevel52: 262144;
				public static HEVCMainTierLevel6: 1048576;
				public static HEVCMainTierLevel61: 4194304;
				public static HEVCMainTierLevel62: 16777216;
				public static HEVCProfileMain: 1;
				public static HEVCProfileMain10: 2;
				public static HEVCProfileMain10HDR10: 4096;
				public static HEVCProfileMain10HDR10Plus: 8192;
				public static HEVCProfileMainStill: 4;
				public static MPEG2LevelH14: 2;
				public static MPEG2LevelHL: 3;
				public static MPEG2LevelHP: 4;
				public static MPEG2LevelLL: 0;
				public static MPEG2LevelML: 1;
				public static MPEG2Profile422: 2;
				public static MPEG2ProfileHigh: 5;
				public static MPEG2ProfileMain: 1;
				public static MPEG2ProfileSNR: 3;
				public static MPEG2ProfileSimple: 0;
				public static MPEG2ProfileSpatial: 4;
				public static MPEG4Level0: 1;
				public static MPEG4Level0b: 2;
				public static MPEG4Level1: 4;
				public static MPEG4Level2: 8;
				public static MPEG4Level3: 16;
				public static MPEG4Level3b: 24;
				public static MPEG4Level4: 32;
				public static MPEG4Level4a: 64;
				public static MPEG4Level5: 128;
				public static MPEG4Level6: 256;
				public static MPEG4ProfileAdvancedCoding: 4096;
				public static MPEG4ProfileAdvancedCore: 8192;
				public static MPEG4ProfileAdvancedRealTime: 1024;
				public static MPEG4ProfileAdvancedScalable: 16384;
				public static MPEG4ProfileAdvancedSimple: 32768;
				public static MPEG4ProfileBasicAnimated: 256;
				public static MPEG4ProfileCore: 4;
				public static MPEG4ProfileCoreScalable: 2048;
				public static MPEG4ProfileHybrid: 512;
				public static MPEG4ProfileMain: 8;
				public static MPEG4ProfileNbit: 16;
				public static MPEG4ProfileScalableTexture: 32;
				public static MPEG4ProfileSimple: 1;
				public static MPEG4ProfileSimpleFBA: 128;
				public static MPEG4ProfileSimpleFace: 64;
				public static MPEG4ProfileSimpleScalable: 2;
				public static VP8Level_Version0: 1;
				public static VP8Level_Version1: 2;
				public static VP8Level_Version2: 4;
				public static VP8Level_Version3: 8;
				public static VP8ProfileMain: 1;
				public static VP9Level1: 1;
				public static VP9Level11: 2;
				public static VP9Level2: 4;
				public static VP9Level21: 8;
				public static VP9Level3: 16;
				public static VP9Level31: 32;
				public static VP9Level4: 64;
				public static VP9Level41: 128;
				public static VP9Level5: 256;
				public static VP9Level51: 512;
				public static VP9Level52: 1024;
				public static VP9Level6: 2048;
				public static VP9Level61: 4096;
				public static VP9Level62: 8192;
				public static VP9Profile0: 1;
				public static VP9Profile1: 2;
				public static VP9Profile2: 4;
				public static VP9Profile2HDR: 4096;
				public static VP9Profile2HDR10Plus: 16384;
				public static VP9Profile3: 8;
				public static VP9Profile3HDR: 8192;
				public static VP9Profile3HDR10Plus: 32768;
				public level: number;
				public profile: number;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public constructor();
			}
			export class EncoderCapabilities extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodecInfo.EncoderCapabilities>;
				public static BITRATE_MODE_CBR: 2;
				public static BITRATE_MODE_CBR_FD: 3;
				public static BITRATE_MODE_CQ: 0;
				public static BITRATE_MODE_VBR: 1;
				public getComplexityRange(): android.util.Range<java.lang.Integer>;
				public isBitrateModeSupported(mode: 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(width: number, height: 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 getSupportedFrameRatesFor(width: number, height: number): android.util.Range<java.lang.Double>;
				public getSupportedFrameRates(): android.util.Range<java.lang.Integer>;
				public isSizeSupported(width: number, height: number): boolean;
				public getSupportedHeightsFor(width: number): android.util.Range<java.lang.Integer>;
				public areSizeAndRateSupported(width: number, height: number, frameRate: number): boolean;
				public getSupportedWidthsFor(height: number): android.util.Range<java.lang.Integer>;
				public getSupportedPerformancePoints(): java.util.List<android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint>;
			}
			export module VideoCapabilities {
				export class PerformancePoint extends java.lang.Object {
					public static class: java.lang.Class<android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint>;
					public static FHD_100: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static FHD_120: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static FHD_200: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static FHD_24: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static FHD_240: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static FHD_25: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static FHD_30: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static FHD_50: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static FHD_60: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_100: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_120: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_200: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_24: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_240: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_25: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_30: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_50: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static HD_60: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static SD_24: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static SD_25: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static SD_30: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static SD_48: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static SD_50: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static SD_60: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_100: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_120: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_200: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_24: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_240: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_25: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_30: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_50: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public static UHD_60: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint;
					public toString(): string;
					public covers(format: android.media.MediaFormat): boolean;
					public covers(other: android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint): boolean;
					public hashCode(): number;
					public equals(o: any): boolean;
					public constructor(width: number, height: number, frameRate: number);
				}
			}
		}
	}
}

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: 1;
			public static REGULAR_CODECS: 0;
			public constructor(kind: number);
			public findDecoderForFormat(format: android.media.MediaFormat): string;
			public findEncoderForFormat(format: android.media.MediaFormat): string;
			/** @deprecated */
			public static getCodecInfoAt(index: number): android.media.MediaCodecInfo;
			/** @deprecated */
			public static getCodecCount(): number;
			public getCodecInfos(): androidNative.Array<android.media.MediaCodecInfo>;
		}
	}
}

declare module android {
	export module media {
		export class MediaCommunicationManager extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaCommunicationManager>;
			public getSession2Tokens(): java.util.List<android.media.Session2Token>;
			public getVersion(): number;
		}
	}
}

declare module android {
	export module media {
		export class MediaController2 extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.MediaController2>;
			public getConnectedToken(): android.media.Session2Token;
			public sendSessionCommand(command: android.media.Session2Command, args: android.os.Bundle): any;
			public close(): void;
			public isPlaybackActive(): boolean;
			public cancelSessionCommand(token: any): void;
		}
		export module MediaController2 {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaController2.Builder>;
				public constructor(context: android.content.Context, token: android.media.Session2Token);
				public build(): android.media.MediaController2;
				public setControllerCallback(executor: java.util.concurrent.Executor, callback: android.media.MediaController2.ControllerCallback): android.media.MediaController2.Builder;
				public setConnectionHints(connectionHints: android.os.Bundle): android.media.MediaController2.Builder;
			}
			export abstract class ControllerCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaController2.ControllerCallback>;
				public onConnected(controller: android.media.MediaController2, allowedCommands: android.media.Session2CommandGroup): void;
				public onSessionCommand(controller: android.media.MediaController2, command: android.media.Session2Command, args: android.os.Bundle): android.media.Session2Command.Result;
				public onPlaybackActiveChanged(controller: android.media.MediaController2, playbackActive: boolean): void;
				public onCommandResult(controller: android.media.MediaController2, token: any, command: android.media.Session2Command, result: android.media.Session2Command.Result): void;
				public constructor();
				public onDisconnected(controller: android.media.MediaController2): void;
			}
		}
	}
}

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(uuid: java.util.UUID): boolean;
			public setMediaDrmSession(param0: androidNative.Array<number>): void;
			public requiresSecureDecoderComponent(param0: string): boolean;
			public constructor(uuid: java.util.UUID, sessionId: androidNative.Array<number>);
			public finalize(): void;
			public release(): void;
		}
	}
}

declare module android {
	export module media {
		export class MediaCryptoException extends java.lang.Exception implements android.media.MediaDrmThrowable {
			public static class: java.lang.Class<android.media.MediaCryptoException>;
			public getOemError(): number;
			public getVendorError(): number;
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getErrorContext(): number;
		}
	}
}

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: androidNative.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: 2;
			public static SCRAMBLE_CONTROL_ODD_KEY: 3;
			public static SCRAMBLE_CONTROL_RESERVED: 1;
			public static SCRAMBLE_CONTROL_UNSCRAMBLED: 0;
			public static SCRAMBLE_FLAG_PES_HEADER: 1;
			public constructor(CA_system_id: number);
			public requiresSecureDecoderComponent(mime: string): boolean;
			public setMediaCasSession(session: android.media.MediaCas.Session): void;
			public close(): void;
			public descramble(srcBuf: java.nio.ByteBuffer, dstBuf: java.nio.ByteBuffer, cryptoInfo: android.media.MediaCodec.CryptoInfo): number;
			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: 2;
			public static BT_FOLDER_TYPE_ARTISTS: 3;
			public static BT_FOLDER_TYPE_GENRES: 4;
			public static BT_FOLDER_TYPE_MIXED: 0;
			public static BT_FOLDER_TYPE_PLAYLISTS: 5;
			public static BT_FOLDER_TYPE_TITLES: 1;
			public static BT_FOLDER_TYPE_YEARS: 6;
			public static CREATOR: android.os.Parcelable.Creator<android.media.MediaDescription>;
			public static EXTRA_BT_FOLDER_TYPE: "android.media.extra.BT_FOLDER_TYPE";
			public getTitle(): string;
			public getSubtitle(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getMediaId(): string;
			public getIconUri(): android.net.Uri;
			public getIconBitmap(): android.graphics.Bitmap;
			public toString(): string;
			public equals(o: any): boolean;
			public getMediaUri(): android.net.Uri;
			public describeContents(): number;
			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 setSubtitle(subtitle: string): android.media.MediaDescription.Builder;
				public setExtras(extras: android.os.Bundle): android.media.MediaDescription.Builder;
				public setIconUri(iconUri: android.net.Uri): android.media.MediaDescription.Builder;
				public setMediaUri(mediaUri: android.net.Uri): android.media.MediaDescription.Builder;
				public setTitle(title: string): android.media.MediaDescription.Builder;
				public setMediaId(mediaId: string): android.media.MediaDescription.Builder;
				public build(): android.media.MediaDescription;
				public setIconBitmap(icon: android.graphics.Bitmap): android.media.MediaDescription.Builder;
				public setDescription(description: string): android.media.MediaDescription.Builder;
				public constructor();
			}
		}
	}
}

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: 3;
			public static EVENT_KEY_REQUIRED: 2;
			public static EVENT_PROVISION_REQUIRED: 1;
			public static EVENT_SESSION_RECLAIMED: 5;
			public static EVENT_VENDOR_DEFINED: 4;
			public static HDCP_LEVEL_UNKNOWN: 0;
			public static HDCP_NONE: 1;
			public static HDCP_NO_DIGITAL_OUTPUT: 2147483647;
			public static HDCP_V1: 2;
			public static HDCP_V2: 3;
			public static HDCP_V2_1: 4;
			public static HDCP_V2_2: 5;
			public static HDCP_V2_3: 6;
			public static KEY_TYPE_OFFLINE: 2;
			public static KEY_TYPE_RELEASE: 3;
			public static KEY_TYPE_STREAMING: 1;
			public static OFFLINE_LICENSE_STATE_RELEASED: 2;
			public static OFFLINE_LICENSE_STATE_UNKNOWN: 0;
			public static OFFLINE_LICENSE_STATE_USABLE: 1;
			public static PROPERTY_ALGORITHMS: "algorithms";
			public static PROPERTY_DESCRIPTION: "description";
			public static PROPERTY_DEVICE_UNIQUE_ID: "deviceUniqueId";
			public static PROPERTY_VENDOR: "vendor";
			public static PROPERTY_VERSION: "version";
			public static SECURITY_LEVEL_HW_SECURE_ALL: 5;
			public static SECURITY_LEVEL_HW_SECURE_CRYPTO: 3;
			public static SECURITY_LEVEL_HW_SECURE_DECODE: 4;
			public static SECURITY_LEVEL_SW_SECURE_CRYPTO: 1;
			public static SECURITY_LEVEL_SW_SECURE_DECODE: 2;
			public static SECURITY_LEVEL_UNKNOWN: 0;
			public provideProvisionResponse(response: androidNative.Array<number>): void;
			public queryKeyStatus(param0: androidNative.Array<number>): java.util.HashMap<string,string>;
			/** @deprecated */
			public releaseSecureStops(param0: androidNative.Array<number>): void;
			public setOnEventListener(listener: android.media.MediaDrm.OnEventListener): void;
			public setOnSessionLostStateListener(executor: java.util.concurrent.Executor, listener: android.media.MediaDrm.OnSessionLostStateListener): void;
			public setPropertyByteArray(param0: string, param1: androidNative.Array<number>): void;
			public getLogMessages(): java.util.List<android.media.MediaDrm.LogMessage>;
			public static getMaxSecurityLevel(): number;
			public getPlaybackComponent(sessionId: androidNative.Array<number>): android.media.MediaDrm.PlaybackComponent;
			public provideKeyResponse(param0: androidNative.Array<number>, param1: androidNative.Array<number>): androidNative.Array<number>;
			public clearOnSessionLostStateListener(): void;
			public getProvisionRequest(): android.media.MediaDrm.ProvisionRequest;
			public clearOnKeyStatusChangeListener(): void;
			public clearOnEventListener(): void;
			public removeOfflineLicense(param0: androidNative.Array<number>): void;
			public static getSupportedCryptoSchemes(): java.util.List<java.util.UUID>;
			public setOnEventListener(executor: java.util.concurrent.Executor, listener: android.media.MediaDrm.OnEventListener): void;
			public getSecurityLevel(param0: androidNative.Array<number>): number;
			public removeKeys(param0: androidNative.Array<number>): void;
			/** @deprecated */
			public release(): void;
			public setOnExpirationUpdateListener(executor: java.util.concurrent.Executor, listener: android.media.MediaDrm.OnExpirationUpdateListener): void;
			public restoreKeys(param0: androidNative.Array<number>, param1: androidNative.Array<number>): void;
			public clearOnExpirationUpdateListener(): void;
			public getOpenSessionCount(): number;
			public getCryptoSession(sessionId: androidNative.Array<number>, cipherAlgorithm: string, macAlgorithm: string): android.media.MediaDrm.CryptoSession;
			public static isCryptoSchemeSupported(uuid: java.util.UUID, mimeType: string): boolean;
			public getConnectedHdcpLevel(): number;
			/** @deprecated */
			public releaseAllSecureStops(): void;
			public constructor(uuid: java.util.UUID);
			public getKeyRequest(scope: androidNative.Array<number>, init: androidNative.Array<number>, mimeType: string, keyType: number, optionalParameters: java.util.HashMap<string,string>): android.media.MediaDrm.KeyRequest;
			public getPropertyString(param0: string): string;
			public setOnExpirationUpdateListener(listener: android.media.MediaDrm.OnExpirationUpdateListener, handler: android.os.Handler): void;
			public openSession(): androidNative.Array<number>;
			public static isCryptoSchemeSupported(uuid: java.util.UUID): boolean;
			public closeSession(sessionId: androidNative.Array<number>): void;
			public getMaxSessionCount(): number;
			/** @deprecated */
			public getSecureStop(param0: androidNative.Array<number>): androidNative.Array<number>;
			public openSession(level: number): androidNative.Array<number>;
			public close(): void;
			public finalize(): void;
			public setOnEventListener(listener: android.media.MediaDrm.OnEventListener, handler: android.os.Handler): void;
			/** @deprecated */
			public getSecureStops(): java.util.List<androidNative.Array<number>>;
			public static isCryptoSchemeSupported(uuid: java.util.UUID, mimeType: string, securityLevel: number): boolean;
			public setPropertyString(param0: string, param1: string): void;
			public getPropertyByteArray(param0: string): androidNative.Array<number>;
			public setOnKeyStatusChangeListener(executor: java.util.concurrent.Executor, listener: android.media.MediaDrm.OnKeyStatusChangeListener): void;
			public getMaxHdcpLevel(): number;
			public setOnSessionLostStateListener(listener: android.media.MediaDrm.OnSessionLostStateListener, handler: android.os.Handler): void;
			public requiresSecureDecoder(param0: string, param1: number): boolean;
			public setOnKeyStatusChangeListener(listener: android.media.MediaDrm.OnKeyStatusChangeListener, handler: android.os.Handler): void;
			/** @deprecated */
			public getSecureStopIds(): java.util.List<androidNative.Array<number>>;
			/** @deprecated */
			public removeAllSecureStops(): void;
			public getOfflineLicenseKeySetIds(): java.util.List<androidNative.Array<number>>;
			public getOfflineLicenseState(param0: androidNative.Array<number>): number;
			public getMetrics(): any;
			public requiresSecureDecoder(mime: string): boolean;
			/** @deprecated */
			public removeSecureStop(param0: androidNative.Array<number>): void;
		}
		export module MediaDrm {
			export class CryptoSession extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.CryptoSession>;
				public verify(keyid: androidNative.Array<number>, message: androidNative.Array<number>, signature: androidNative.Array<number>): boolean;
				public encrypt(keyid: androidNative.Array<number>, input: androidNative.Array<number>, iv: androidNative.Array<number>): androidNative.Array<number>;
				public decrypt(keyid: androidNative.Array<number>, input: androidNative.Array<number>, iv: androidNative.Array<number>): androidNative.Array<number>;
				public sign(keyid: androidNative.Array<number>, message: androidNative.Array<number>): androidNative.Array<number>;
			}
			export class ErrorCodes extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.ErrorCodes>;
				public static ERROR_CERTIFICATE_MALFORMED: 10;
				public static ERROR_CERTIFICATE_MISSING: 11;
				public static ERROR_CRYPTO_LIBRARY: 12;
				public static ERROR_FRAME_TOO_LARGE: 8;
				public static ERROR_GENERIC_OEM: 13;
				public static ERROR_GENERIC_PLUGIN: 14;
				public static ERROR_INIT_DATA: 15;
				public static ERROR_INSUFFICIENT_OUTPUT_PROTECTION: 4;
				public static ERROR_INSUFFICIENT_SECURITY: 7;
				public static ERROR_KEY_EXPIRED: 2;
				public static ERROR_KEY_NOT_LOADED: 16;
				public static ERROR_LICENSE_PARSE: 17;
				public static ERROR_LICENSE_POLICY: 18;
				public static ERROR_LICENSE_RELEASE: 19;
				public static ERROR_LICENSE_REQUEST_REJECTED: 20;
				public static ERROR_LICENSE_RESTORE: 21;
				public static ERROR_LICENSE_STATE: 22;
				public static ERROR_LOST_STATE: 9;
				public static ERROR_MEDIA_FRAMEWORK: 23;
				public static ERROR_NO_KEY: 1;
				public static ERROR_PROVISIONING_CERTIFICATE: 24;
				public static ERROR_PROVISIONING_CONFIG: 25;
				public static ERROR_PROVISIONING_PARSE: 26;
				public static ERROR_PROVISIONING_REQUEST_REJECTED: 27;
				public static ERROR_PROVISIONING_RETRY: 28;
				public static ERROR_RESOURCE_BUSY: 3;
				public static ERROR_RESOURCE_CONTENTION: 29;
				public static ERROR_SECURE_STOP_RELEASE: 30;
				public static ERROR_SESSION_NOT_OPENED: 5;
				public static ERROR_STORAGE_READ: 31;
				public static ERROR_STORAGE_WRITE: 32;
				public static ERROR_UNKNOWN: 0;
				public static ERROR_UNSUPPORTED_OPERATION: 6;
				public static ERROR_ZERO_SUBSAMPLES: 33;
			}
			export class KeyRequest extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.KeyRequest>;
				public static REQUEST_TYPE_INITIAL: 0;
				public static REQUEST_TYPE_NONE: 3;
				public static REQUEST_TYPE_RELEASE: 2;
				public static REQUEST_TYPE_RENEWAL: 1;
				public static REQUEST_TYPE_UPDATE: 4;
				public getRequestType(): number;
				public getDefaultUrl(): string;
				public getData(): androidNative.Array<number>;
			}
			export class KeyStatus extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.KeyStatus>;
				public static STATUS_EXPIRED: 1;
				public static STATUS_INTERNAL_ERROR: 4;
				public static STATUS_OUTPUT_NOT_ALLOWED: 2;
				public static STATUS_PENDING: 3;
				public static STATUS_USABLE: 0;
				public static STATUS_USABLE_IN_FUTURE: 5;
				public getKeyId(): androidNative.Array<number>;
				public getStatusCode(): number;
			}
			export class LogMessage extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.LogMessage>;
				public getPriority(): number;
				public getTimestampMillis(): number;
				public getMessage(): string;
				public toString(): string;
			}
			export class MediaDrmStateException extends java.lang.IllegalStateException implements android.media.MediaDrmThrowable {
				public static class: java.lang.Class<android.media.MediaDrm.MediaDrmStateException>;
				public getOemError(): number;
				public getErrorContext(): number;
				public getVendorError(): number;
				public getDiagnosticInfo(): string;
				public getErrorCode(): number;
				public isTransient(): boolean;
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.MetricsConstants>;
				public static CLOSE_SESSION_ERROR_COUNT: "drm.mediadrm.close_session.error.count";
				public static CLOSE_SESSION_ERROR_LIST: "drm.mediadrm.close_session.error.list";
				public static CLOSE_SESSION_OK_COUNT: "drm.mediadrm.close_session.ok.count";
				public static EVENT_KEY_EXPIRED_COUNT: "drm.mediadrm.event.KEY_EXPIRED.count";
				public static EVENT_KEY_NEEDED_COUNT: "drm.mediadrm.event.KEY_NEEDED.count";
				public static EVENT_PROVISION_REQUIRED_COUNT: "drm.mediadrm.event.PROVISION_REQUIRED.count";
				public static EVENT_SESSION_RECLAIMED_COUNT: "drm.mediadrm.event.SESSION_RECLAIMED.count";
				public static EVENT_VENDOR_DEFINED_COUNT: "drm.mediadrm.event.VENDOR_DEFINED.count";
				public static GET_DEVICE_UNIQUE_ID_ERROR_COUNT: "drm.mediadrm.get_device_unique_id.error.count";
				public static GET_DEVICE_UNIQUE_ID_ERROR_LIST: "drm.mediadrm.get_device_unique_id.error.list";
				public static GET_DEVICE_UNIQUE_ID_OK_COUNT: "drm.mediadrm.get_device_unique_id.ok.count";
				public static GET_KEY_REQUEST_ERROR_COUNT: "drm.mediadrm.get_key_request.error.count";
				public static GET_KEY_REQUEST_ERROR_LIST: "drm.mediadrm.get_key_request.error.list";
				public static GET_KEY_REQUEST_OK_COUNT: "drm.mediadrm.get_key_request.ok.count";
				public static GET_KEY_REQUEST_OK_TIME_MICROS: "drm.mediadrm.get_key_request.ok.average_time_micros";
				public static GET_PROVISION_REQUEST_ERROR_COUNT: "drm.mediadrm.get_provision_request.error.count";
				public static GET_PROVISION_REQUEST_ERROR_LIST: "drm.mediadrm.get_provision_request.error.list";
				public static GET_PROVISION_REQUEST_OK_COUNT: "drm.mediadrm.get_provision_request.ok.count";
				public static KEY_STATUS_EXPIRED_COUNT: "drm.mediadrm.key_status.EXPIRED.count";
				public static KEY_STATUS_INTERNAL_ERROR_COUNT: "drm.mediadrm.key_status.INTERNAL_ERROR.count";
				public static KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT: "drm.mediadrm.key_status_change.OUTPUT_NOT_ALLOWED.count";
				public static KEY_STATUS_PENDING_COUNT: "drm.mediadrm.key_status_change.PENDING.count";
				public static KEY_STATUS_USABLE_COUNT: "drm.mediadrm.key_status_change.USABLE.count";
				public static OPEN_SESSION_ERROR_COUNT: "drm.mediadrm.open_session.error.count";
				public static OPEN_SESSION_ERROR_LIST: "drm.mediadrm.open_session.error.list";
				public static OPEN_SESSION_OK_COUNT: "drm.mediadrm.open_session.ok.count";
				public static PROVIDE_KEY_RESPONSE_ERROR_COUNT: "drm.mediadrm.provide_key_response.error.count";
				public static PROVIDE_KEY_RESPONSE_ERROR_LIST: "drm.mediadrm.provide_key_response.error.list";
				public static PROVIDE_KEY_RESPONSE_OK_COUNT: "drm.mediadrm.provide_key_response.ok.count";
				public static PROVIDE_KEY_RESPONSE_OK_TIME_MICROS: "drm.mediadrm.provide_key_response.ok.average_time_micros";
				public static PROVIDE_PROVISION_RESPONSE_ERROR_COUNT: "drm.mediadrm.provide_provision_response.error.count";
				public static PROVIDE_PROVISION_RESPONSE_ERROR_LIST: "drm.mediadrm.provide_provision_response.error.list";
				public static PROVIDE_PROVISION_RESPONSE_OK_COUNT: "drm.mediadrm.provide_provision_response.ok.count";
				public static SESSION_END_TIMES_MS: "drm.mediadrm.session_end_times_ms";
				public static SESSION_START_TIMES_MS: "drm.mediadrm.session_start_times_ms";
			}
			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: androidNative.Array<number>, param2: number, param3: number, param4: androidNative.Array<number>): void;
				});
				public constructor();
				public onEvent(param0: android.media.MediaDrm, param1: androidNative.Array<number>, param2: number, param3: number, param4: androidNative.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: androidNative.Array<number>, param2: number): void;
				});
				public constructor();
				public onExpirationUpdate(param0: android.media.MediaDrm, param1: androidNative.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: androidNative.Array<number>, param2: java.util.List<android.media.MediaDrm.KeyStatus>, param3: boolean): void;
				});
				public constructor();
				public onKeyStatusChange(param0: android.media.MediaDrm, param1: androidNative.Array<number>, param2: java.util.List<android.media.MediaDrm.KeyStatus>, param3: boolean): void;
			}
			export class OnSessionLostStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.OnSessionLostStateListener>;
				/**
				 * Constructs a new instance of the android.media.MediaDrm$OnSessionLostStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSessionLostState(param0: android.media.MediaDrm, param1: androidNative.Array<number>): void;
				});
				public constructor();
				public onSessionLostState(param0: android.media.MediaDrm, param1: androidNative.Array<number>): void;
			}
			export class PlaybackComponent extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.PlaybackComponent>;
				public getLogSessionId(): android.media.metrics.LogSessionId;
				public setLogSessionId(logSessionId: android.media.metrics.LogSessionId): void;
			}
			export class ProvisionRequest extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.ProvisionRequest>;
				public getDefaultUrl(): string;
				public getData(): androidNative.Array<number>;
			}
			export class SessionException extends java.lang.RuntimeException implements android.media.MediaDrmThrowable {
				public static class: java.lang.Class<android.media.MediaDrm.SessionException>;
				public static ERROR_RESOURCE_CONTENTION: 1;
				public static ERROR_UNKNOWN: 0;
				public constructor(cause: java.lang.Throwable);
				public getOemError(): number;
				public getErrorContext(): number;
				public getVendorError(): number;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(errorCode: number, detailMessage: string);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				/** @deprecated */
				public getErrorCode(): number;
				public isTransient(): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaDrmException extends java.lang.Exception implements android.media.MediaDrmThrowable {
			public static class: java.lang.Class<android.media.MediaDrmException>;
			public getOemError(): number;
			public getVendorError(): number;
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getErrorContext(): number;
		}
	}
}

declare module android {
	export module media {
		export class MediaDrmResetException extends java.lang.IllegalStateException implements android.media.MediaDrmThrowable {
			public static class: java.lang.Class<android.media.MediaDrmResetException>;
			public getOemError(): number;
			public getVendorError(): number;
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getErrorContext(): number;
		}
	}
}

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

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: 2;
			public static SAMPLE_FLAG_PARTIAL_FRAME: 4;
			public static SAMPLE_FLAG_SYNC: 1;
			public static SEEK_TO_CLOSEST_SYNC: 2;
			public static SEEK_TO_NEXT_SYNC: 1;
			public static SEEK_TO_PREVIOUS_SYNC: 0;
			public setDataSource(param0: java.io.FileDescriptor, param1: number, param2: number): void;
			public selectTrack(param0: number): void;
			/** @deprecated */
			public setMediaCas(mediaCas: android.media.MediaCas): void;
			public advance(): boolean;
			public setDataSource(context: android.content.Context, uri: android.net.Uri, headers: java.util.Map<string,string>): void;
			public seekTo(param0: number, param1: number): void;
			public setDataSource(path: string): void;
			public unselectTrack(param0: number): void;
			public setDataSource(path: string, headers: java.util.Map<string,string>): void;
			public setDataSource(param0: android.media.MediaDataSource): void;
			public getDrmInitData(): android.media.DrmInitData;
			public setDataSource(afd: android.content.res.AssetFileDescriptor): void;
			public finalize(): void;
			public release(): void;
			public readSampleData(param0: java.nio.ByteBuffer, param1: number): number;
			public hasCacheReachedEndOfStream(): boolean;
			public getTrackFormat(index: number): android.media.MediaFormat;
			public getSampleTime(): number;
			public getLogSessionId(): android.media.metrics.LogSessionId;
			public getPsshInfo(): java.util.Map<java.util.UUID,androidNative.Array<number>>;
			public getSampleCryptoInfo(param0: android.media.MediaCodec.CryptoInfo): boolean;
			public constructor();
			public getSampleSize(): number;
			public getSampleFlags(): number;
			public getTrackCount(): number;
			public getAudioPresentations(trackIndex: number): java.util.List<android.media.AudioPresentation>;
			public getMetrics(): any;
			public setDataSource(fd: java.io.FileDescriptor): void;
			public getCasInfo(index: number): android.media.MediaExtractor.CasInfo;
			public getSampleTrackIndex(): number;
			public getCachedDuration(): number;
			public setLogSessionId(logSessionId: android.media.metrics.LogSessionId): void;
		}
		export module MediaExtractor {
			export class CasInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaExtractor.CasInfo>;
				public getPrivateData(): androidNative.Array<number>;
				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: "android.media.mediaextractor.fmt";
				public static MIME_TYPE: "android.media.mediaextractor.mime";
				public static TRACKS: "android.media.mediaextractor.ntrk";
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaFeature extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaFeature>;
			public constructor();
		}
		export module MediaFeature {
			export class HdrType extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaFeature.HdrType>;
				public static DOLBY_VISION: "android.media.feature.hdr.dolby_vision";
				public static HDR10: "android.media.feature.hdr.hdr10";
				public static HDR10_PLUS: "android.media.feature.hdr.hdr10_plus";
				public static HLG: "android.media.feature.hdr.hlg";
			}
		}
	}
}

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: 1;
			public static COLOR_RANGE_LIMITED: 2;
			public static COLOR_STANDARD_BT2020: 6;
			public static COLOR_STANDARD_BT601_NTSC: 4;
			public static COLOR_STANDARD_BT601_PAL: 2;
			public static COLOR_STANDARD_BT709: 1;
			public static COLOR_TRANSFER_HLG: 7;
			public static COLOR_TRANSFER_LINEAR: 1;
			public static COLOR_TRANSFER_SDR_VIDEO: 3;
			public static COLOR_TRANSFER_ST2084: 6;
			public static KEY_AAC_DRC_ALBUM_MODE: "aac-drc-album-mode";
			public static KEY_AAC_DRC_ATTENUATION_FACTOR: "aac-drc-cut-level";
			public static KEY_AAC_DRC_BOOST_FACTOR: "aac-drc-boost-level";
			public static KEY_AAC_DRC_EFFECT_TYPE: "aac-drc-effect-type";
			public static KEY_AAC_DRC_HEAVY_COMPRESSION: "aac-drc-heavy-compression";
			public static KEY_AAC_DRC_OUTPUT_LOUDNESS: "aac-drc-output-loudness";
			public static KEY_AAC_DRC_TARGET_REFERENCE_LEVEL: "aac-target-ref-level";
			public static KEY_AAC_ENCODED_TARGET_LEVEL: "aac-encoded-target-level";
			public static KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT: "aac-max-output-channel_count";
			public static KEY_AAC_PROFILE: "aac-profile";
			public static KEY_AAC_SBR_MODE: "aac-sbr-mode";
			public static KEY_ALLOW_FRAME_DROP: "allow-frame-drop";
			public static KEY_AUDIO_SESSION_ID: "audio-session-id";
			public static KEY_BITRATE_MODE: "bitrate-mode";
			public static KEY_BIT_RATE: "bitrate";
			public static KEY_BUFFER_BATCH_MAX_OUTPUT_SIZE: "buffer-batch-max-output-size";
			public static KEY_BUFFER_BATCH_THRESHOLD_OUTPUT_SIZE: "buffer-batch-threshold-output-size";
			public static KEY_CAPTION_SERVICE_NUMBER: "caption-service-number";
			public static KEY_CAPTURE_RATE: "capture-rate";
			public static KEY_CHANNEL_COUNT: "channel-count";
			public static KEY_CHANNEL_MASK: "channel-mask";
			public static KEY_CODECS_STRING: "codecs-string";
			public static KEY_COLOR_FORMAT: "color-format";
			public static KEY_COLOR_RANGE: "color-range";
			public static KEY_COLOR_STANDARD: "color-standard";
			public static KEY_COLOR_TRANSFER: "color-transfer";
			public static KEY_COLOR_TRANSFER_REQUEST: "color-transfer-request";
			public static KEY_COMPLEXITY: "complexity";
			public static KEY_CREATE_INPUT_SURFACE_SUSPENDED: "create-input-buffers-suspended";
			public static KEY_CROP_BOTTOM: "crop-bottom";
			public static KEY_CROP_LEFT: "crop-left";
			public static KEY_CROP_RIGHT: "crop-right";
			public static KEY_CROP_TOP: "crop-top";
			public static KEY_DURATION: "durationUs";
			public static KEY_ENCODER_DELAY: "encoder-delay";
			public static KEY_ENCODER_PADDING: "encoder-padding";
			public static KEY_FLAC_COMPRESSION_LEVEL: "flac-compression-level";
			public static KEY_FRAME_RATE: "frame-rate";
			public static KEY_GRID_COLUMNS: "grid-cols";
			public static KEY_GRID_ROWS: "grid-rows";
			public static KEY_HAPTIC_CHANNEL_COUNT: "haptic-channel-count";
			public static KEY_HARDWARE_AV_SYNC_ID: "hw-av-sync-id";
			public static KEY_HDR10_PLUS_INFO: "hdr10-plus-info";
			public static KEY_HDR_STATIC_INFO: "hdr-static-info";
			public static KEY_HEIGHT: "height";
			public static KEY_IMPORTANCE: "importance";
			public static KEY_INTRA_REFRESH_PERIOD: "intra-refresh-period";
			public static KEY_IS_ADTS: "is-adts";
			public static KEY_IS_AUTOSELECT: "is-autoselect";
			public static KEY_IS_DEFAULT: "is-default";
			public static KEY_IS_FORCED_SUBTITLE: "is-forced-subtitle";
			public static KEY_I_FRAME_INTERVAL: "i-frame-interval";
			public static KEY_LANGUAGE: "language";
			public static KEY_LATENCY: "latency";
			public static KEY_LEVEL: "level";
			public static KEY_LOW_LATENCY: "low-latency";
			public static KEY_MAX_B_FRAMES: "max-bframes";
			public static KEY_MAX_FPS_TO_ENCODER: "max-fps-to-encoder";
			public static KEY_MAX_HEIGHT: "max-height";
			public static KEY_MAX_INPUT_SIZE: "max-input-size";
			public static KEY_MAX_OUTPUT_CHANNEL_COUNT: "max-output-channel-count";
			public static KEY_MAX_PTS_GAP_TO_ENCODER: "max-pts-gap-to-encoder";
			public static KEY_MAX_WIDTH: "max-width";
			public static KEY_MIME: "mime";
			public static KEY_MPEGH_COMPATIBLE_SETS: "mpegh-compatible-sets";
			public static KEY_MPEGH_PROFILE_LEVEL_INDICATION: "mpegh-profile-level-indication";
			public static KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT: "mpegh-reference-channel-layout";
			public static KEY_OPERATING_RATE: "operating-rate";
			public static KEY_OUTPUT_REORDER_DEPTH: "output-reorder-depth";
			public static KEY_PCM_ENCODING: "pcm-encoding";
			public static KEY_PICTURE_TYPE: "picture-type";
			public static KEY_PIXEL_ASPECT_RATIO_HEIGHT: "sar-height";
			public static KEY_PIXEL_ASPECT_RATIO_WIDTH: "sar-width";
			public static KEY_PREPEND_HEADER_TO_SYNC_FRAMES: "prepend-sps-pps-to-idr-frames";
			public static KEY_PRIORITY: "priority";
			public static KEY_PROFILE: "profile";
			public static KEY_PUSH_BLANK_BUFFERS_ON_STOP: "push-blank-buffers-on-shutdown";
			public static KEY_QUALITY: "quality";
			public static KEY_REPEAT_PREVIOUS_FRAME_AFTER: "repeat-previous-frame-after";
			public static KEY_ROTATION: "rotation-degrees";
			public static KEY_SAMPLE_RATE: "sample-rate";
			public static KEY_SLICE_HEIGHT: "slice-height";
			public static KEY_SLOW_MOTION_MARKERS: "slow-motion-markers";
			public static KEY_STRIDE: "stride";
			public static KEY_TEMPORAL_LAYERING: "ts-schema";
			public static KEY_TILE_HEIGHT: "tile-height";
			public static KEY_TILE_WIDTH: "tile-width";
			public static KEY_TRACK_ID: "track-id";
			public static KEY_VIDEO_ENCODING_STATISTICS_LEVEL: "video-encoding-statistics-level";
			public static KEY_VIDEO_QP_AVERAGE: "video-qp-average";
			public static KEY_VIDEO_QP_B_MAX: "video-qp-b-max";
			public static KEY_VIDEO_QP_B_MIN: "video-qp-b-min";
			public static KEY_VIDEO_QP_I_MAX: "video-qp-i-max";
			public static KEY_VIDEO_QP_I_MIN: "video-qp-i-min";
			public static KEY_VIDEO_QP_MAX: "video-qp-max";
			public static KEY_VIDEO_QP_MIN: "video-qp-min";
			public static KEY_VIDEO_QP_P_MAX: "video-qp-p-max";
			public static KEY_VIDEO_QP_P_MIN: "video-qp-p-min";
			public static KEY_WIDTH: "width";
			public static LOG_SESSION_ID: "log-session-id";
			public static MIMETYPE_AUDIO_AAC: "audio/mp4a-latm";
			public static MIMETYPE_AUDIO_AAC_ELD: "audio/mp4a.40.39";
			public static MIMETYPE_AUDIO_AAC_HE_V1: "audio/mp4a.40.05";
			public static MIMETYPE_AUDIO_AAC_HE_V2: "audio/mp4a.40.29";
			public static MIMETYPE_AUDIO_AAC_LC: "audio/mp4a.40.02";
			public static MIMETYPE_AUDIO_AAC_XHE: "audio/mp4a.40.42";
			public static MIMETYPE_AUDIO_AC3: "audio/ac3";
			public static MIMETYPE_AUDIO_AC4: "audio/ac4";
			public static MIMETYPE_AUDIO_AMR_NB: "audio/3gpp";
			public static MIMETYPE_AUDIO_AMR_WB: "audio/amr-wb";
			public static MIMETYPE_AUDIO_DOLBY_MAT: "audio/vnd.dolby.mat";
			public static MIMETYPE_AUDIO_DOLBY_TRUEHD: "audio/vnd.dolby.mlp";
			public static MIMETYPE_AUDIO_DRA: "audio/vnd.dra";
			public static MIMETYPE_AUDIO_DTS: "audio/vnd.dts";
			public static MIMETYPE_AUDIO_DTS_HD: "audio/vnd.dts.hd";
			public static MIMETYPE_AUDIO_DTS_UHD: "audio/vnd.dts.uhd";
			public static MIMETYPE_AUDIO_EAC3: "audio/eac3";
			public static MIMETYPE_AUDIO_EAC3_JOC: "audio/eac3-joc";
			public static MIMETYPE_AUDIO_FLAC: "audio/flac";
			public static MIMETYPE_AUDIO_G711_ALAW: "audio/g711-alaw";
			public static MIMETYPE_AUDIO_G711_MLAW: "audio/g711-mlaw";
			public static MIMETYPE_AUDIO_IEC61937: "audio/x-iec61937";
			public static MIMETYPE_AUDIO_MPEG: "audio/mpeg";
			public static MIMETYPE_AUDIO_MPEGH_BL_L3: "audio/mhm1.03";
			public static MIMETYPE_AUDIO_MPEGH_BL_L4: "audio/mhm1.04";
			public static MIMETYPE_AUDIO_MPEGH_LC_L3: "audio/mhm1.0d";
			public static MIMETYPE_AUDIO_MPEGH_LC_L4: "audio/mhm1.0e";
			public static MIMETYPE_AUDIO_MPEGH_MHA1: "audio/mha1";
			public static MIMETYPE_AUDIO_MPEGH_MHM1: "audio/mhm1";
			public static MIMETYPE_AUDIO_MSGSM: "audio/gsm";
			public static MIMETYPE_AUDIO_OPUS: "audio/opus";
			public static MIMETYPE_AUDIO_QCELP: "audio/qcelp";
			public static MIMETYPE_AUDIO_RAW: "audio/raw";
			public static MIMETYPE_AUDIO_SCRAMBLED: "audio/scrambled";
			public static MIMETYPE_AUDIO_VORBIS: "audio/vorbis";
			public static MIMETYPE_IMAGE_ANDROID_HEIC: "image/vnd.android.heic";
			public static MIMETYPE_IMAGE_AVIF: "image/avif";
			public static MIMETYPE_TEXT_CEA_608: "text/cea-608";
			public static MIMETYPE_TEXT_CEA_708: "text/cea-708";
			public static MIMETYPE_TEXT_SUBRIP: "application/x-subrip";
			public static MIMETYPE_TEXT_VTT: "text/vtt";
			public static MIMETYPE_VIDEO_AV1: "video/av01";
			public static MIMETYPE_VIDEO_AVC: "video/avc";
			public static MIMETYPE_VIDEO_DOLBY_VISION: "video/dolby-vision";
			public static MIMETYPE_VIDEO_H263: "video/3gpp";
			public static MIMETYPE_VIDEO_HEVC: "video/hevc";
			public static MIMETYPE_VIDEO_MPEG2: "video/mpeg2";
			public static MIMETYPE_VIDEO_MPEG4: "video/mp4v-es";
			public static MIMETYPE_VIDEO_RAW: "video/raw";
			public static MIMETYPE_VIDEO_SCRAMBLED: "video/scrambled";
			public static MIMETYPE_VIDEO_VP8: "video/x-vnd.on2.vp8";
			public static MIMETYPE_VIDEO_VP9: "video/x-vnd.on2.vp9";
			public static PICTURE_TYPE_B: 3;
			public static PICTURE_TYPE_I: 1;
			public static PICTURE_TYPE_P: 2;
			public static PICTURE_TYPE_UNKNOWN: 0;
			public static TYPE_BYTE_BUFFER: 5;
			public static TYPE_FLOAT: 3;
			public static TYPE_INTEGER: 1;
			public static TYPE_LONG: 2;
			public static TYPE_NULL: 0;
			public static TYPE_STRING: 4;
			public static VIDEO_ENCODING_STATISTICS_LEVEL_1: 1;
			public static VIDEO_ENCODING_STATISTICS_LEVEL_NONE: 0;
			public getByteBuffer(name: string): java.nio.ByteBuffer;
			public removeKey(name: string): void;
			public setFloat(name: string, value: number): void;
			public getNumber(name: string, defaultValue: java.lang.Number): java.lang.Number;
			public getFloat(name: string): number;
			public getByteBuffer(name: string, defaultValue: java.nio.ByteBuffer): java.nio.ByteBuffer;
			public getFloat(name: string, defaultValue: number): number;
			public getString(name: string, defaultValue: string): string;
			public setString(name: string, value: string): void;
			public getKeys(): java.util.Set<string>;
			public static createSubtitleFormat(mime: string, language: string): android.media.MediaFormat;
			public setByteBuffer(name: string, bytes: java.nio.ByteBuffer): void;
			public getInteger(name: string, defaultValue: number): number;
			public setInteger(name: string, value: number): void;
			public setLong(name: string, value: number): void;
			public setFeatureEnabled(feature: string, enabled: boolean): void;
			public static createVideoFormat(mime: string, width: number, height: number): android.media.MediaFormat;
			public getFeatureEnabled(feature: string): boolean;
			public getNumber(name: string): java.lang.Number;
			public constructor();
			public removeFeature(name: string): void;
			public getLong(name: string, defaultValue: number): number;
			public toString(): string;
			public static createAudioFormat(mime: string, sampleRate: number, channelCount: number): android.media.MediaFormat;
			public getValueTypeForKey(name: string): number;
			public getInteger(name: string): number;
			public constructor(other: android.media.MediaFormat);
			public getLong(name: string): number;
			public getString(name: string): string;
			public containsKey(name: string): boolean;
			public getFeatures(): java.util.Set<string>;
			public containsFeature(name: string): boolean;
		}
		export module MediaFormat {
			export class QpOffsetRect extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaFormat.QpOffsetRect>;
				public constructor(contour: android.graphics.Rect, qpOffset: number);
				public set(contour: android.graphics.Rect, qpOffset: number): void;
				public static flattenToString(qpOffsetRects: java.util.List<android.media.MediaFormat.QpOffsetRect>): string;
				public flattenToString(): string;
			}
		}
	}
}

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: "android.media.metadata.ALBUM";
			public static METADATA_KEY_ALBUM_ART: "android.media.metadata.ALBUM_ART";
			public static METADATA_KEY_ALBUM_ARTIST: "android.media.metadata.ALBUM_ARTIST";
			public static METADATA_KEY_ALBUM_ART_URI: "android.media.metadata.ALBUM_ART_URI";
			public static METADATA_KEY_ART: "android.media.metadata.ART";
			public static METADATA_KEY_ARTIST: "android.media.metadata.ARTIST";
			public static METADATA_KEY_ART_URI: "android.media.metadata.ART_URI";
			public static METADATA_KEY_AUTHOR: "android.media.metadata.AUTHOR";
			public static METADATA_KEY_BT_FOLDER_TYPE: "android.media.metadata.BT_FOLDER_TYPE";
			public static METADATA_KEY_COMPILATION: "android.media.metadata.COMPILATION";
			public static METADATA_KEY_COMPOSER: "android.media.metadata.COMPOSER";
			public static METADATA_KEY_DATE: "android.media.metadata.DATE";
			public static METADATA_KEY_DISC_NUMBER: "android.media.metadata.DISC_NUMBER";
			public static METADATA_KEY_DISPLAY_DESCRIPTION: "android.media.metadata.DISPLAY_DESCRIPTION";
			public static METADATA_KEY_DISPLAY_ICON: "android.media.metadata.DISPLAY_ICON";
			public static METADATA_KEY_DISPLAY_ICON_URI: "android.media.metadata.DISPLAY_ICON_URI";
			public static METADATA_KEY_DISPLAY_SUBTITLE: "android.media.metadata.DISPLAY_SUBTITLE";
			public static METADATA_KEY_DISPLAY_TITLE: "android.media.metadata.DISPLAY_TITLE";
			public static METADATA_KEY_DURATION: "android.media.metadata.DURATION";
			public static METADATA_KEY_GENRE: "android.media.metadata.GENRE";
			public static METADATA_KEY_MEDIA_ID: "android.media.metadata.MEDIA_ID";
			public static METADATA_KEY_MEDIA_URI: "android.media.metadata.MEDIA_URI";
			public static METADATA_KEY_NUM_TRACKS: "android.media.metadata.NUM_TRACKS";
			public static METADATA_KEY_RATING: "android.media.metadata.RATING";
			public static METADATA_KEY_TITLE: "android.media.metadata.TITLE";
			public static METADATA_KEY_TRACK_NUMBER: "android.media.metadata.TRACK_NUMBER";
			public static METADATA_KEY_USER_RATING: "android.media.metadata.USER_RATING";
			public static METADATA_KEY_WRITER: "android.media.metadata.WRITER";
			public static METADATA_KEY_YEAR: "android.media.metadata.YEAR";
			public keySet(): java.util.Set<string>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public size(): number;
			public containsKey(key: string): boolean;
			public getText(key: string): string;
			public getDescription(): android.media.MediaDescription;
			public getRating(key: string): any;
			public getLong(key: string): number;
			public getString(key: string): string;
			public equals(o: any): boolean;
			public getBitmap(key: string): android.graphics.Bitmap;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getBitmapDimensionLimit(): number;
			public hashCode(): number;
		}
		export module MediaMetadata {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<any>;
				public constructor(source: any);
				public putLong(key: string, value: number): any;
				public putString(key: string, value: string): any;
				public setBitmapDimensionLimit(bitmapDimensionLimit: number): any;
				public putText(key: string, value: string): any;
				public build(): any;
				public putBitmap(key: string, value: android.graphics.Bitmap): any;
				public putRating(key: string, value: any): any;
				public constructor();
			}
		}
	}
}

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: 100;
			public static RATING_KEY_BY_OTHERS: 101;
			public static RATING_KEY_BY_USER: 268435457;
			/** @deprecated */
			public getBitmap(key: number, defaultValue: android.graphics.Bitmap): android.graphics.Bitmap;
			/** @deprecated */
			public clear(): void;
			/** @deprecated */
			public putString(key: number, value: string): android.media.MediaMetadataEditor;
			/** @deprecated */
			public addEditableKey(key: number): void;
			/** @deprecated */
			public putBitmap(key: number, bitmap: android.graphics.Bitmap): android.media.MediaMetadataEditor;
			/** @deprecated */
			public removeEditableKeys(): void;
			/** @deprecated */
			public putLong(key: number, value: number): android.media.MediaMetadataEditor;
			/** @deprecated */
			public putObject(key: number, value: any): android.media.MediaMetadataEditor;
			/** @deprecated */
			public getString(key: number, defaultValue: string): string;
			/** @deprecated */
			public getEditableKeys(): androidNative.Array<number>;
			/** @deprecated */
			public getObject(key: number, defaultValue: any): any;
			/** @deprecated */
			public apply(): void;
			/** @deprecated */
			public getLong(key: number, defaultValue: number): number;
		}
	}
}

declare module android {
	export module media {
		export class MediaMetadataRetriever extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.MediaMetadataRetriever>;
			public static METADATA_KEY_ALBUM: 1;
			public static METADATA_KEY_ALBUMARTIST: 13;
			public static METADATA_KEY_ARTIST: 2;
			public static METADATA_KEY_AUTHOR: 3;
			public static METADATA_KEY_BITRATE: 20;
			public static METADATA_KEY_BITS_PER_SAMPLE: 39;
			public static METADATA_KEY_CAPTURE_FRAMERATE: 25;
			public static METADATA_KEY_CD_TRACK_NUMBER: 0;
			public static METADATA_KEY_COLOR_RANGE: 37;
			public static METADATA_KEY_COLOR_STANDARD: 35;
			public static METADATA_KEY_COLOR_TRANSFER: 36;
			public static METADATA_KEY_COMPILATION: 15;
			public static METADATA_KEY_COMPOSER: 4;
			public static METADATA_KEY_DATE: 5;
			public static METADATA_KEY_DISC_NUMBER: 14;
			public static METADATA_KEY_DURATION: 9;
			public static METADATA_KEY_EXIF_LENGTH: 34;
			public static METADATA_KEY_EXIF_OFFSET: 33;
			public static METADATA_KEY_GENRE: 6;
			public static METADATA_KEY_HAS_AUDIO: 16;
			public static METADATA_KEY_HAS_IMAGE: 26;
			public static METADATA_KEY_HAS_VIDEO: 17;
			public static METADATA_KEY_IMAGE_COUNT: 27;
			public static METADATA_KEY_IMAGE_HEIGHT: 30;
			public static METADATA_KEY_IMAGE_PRIMARY: 28;
			public static METADATA_KEY_IMAGE_ROTATION: 31;
			public static METADATA_KEY_IMAGE_WIDTH: 29;
			public static METADATA_KEY_LOCATION: 23;
			public static METADATA_KEY_MIMETYPE: 12;
			public static METADATA_KEY_NUM_TRACKS: 10;
			public static METADATA_KEY_SAMPLERATE: 38;
			public static METADATA_KEY_TITLE: 7;
			public static METADATA_KEY_VIDEO_FRAME_COUNT: 32;
			public static METADATA_KEY_VIDEO_HEIGHT: 19;
			public static METADATA_KEY_VIDEO_ROTATION: 24;
			public static METADATA_KEY_VIDEO_WIDTH: 18;
			public static METADATA_KEY_WRITER: 11;
			public static METADATA_KEY_XMP_LENGTH: 42;
			public static METADATA_KEY_XMP_OFFSET: 41;
			public static METADATA_KEY_YEAR: 8;
			public static OPTION_CLOSEST: 3;
			public static OPTION_CLOSEST_SYNC: 2;
			public static OPTION_NEXT_SYNC: 1;
			public static OPTION_PREVIOUS_SYNC: 0;
			public setDataSource(dataSource: android.media.MediaDataSource): void;
			public setDataSource(path: string): void;
			public getPrimaryImage(params: android.media.MediaMetadataRetriever.BitmapParams): android.graphics.Bitmap;
			public getImageAtIndex(imageIndex: number): android.graphics.Bitmap;
			public getFrameAtIndex(frameIndex: number, params: android.media.MediaMetadataRetriever.BitmapParams): android.graphics.Bitmap;
			public setDataSource(context: android.content.Context, uri: android.net.Uri): void;
			public getFrameAtTime(): android.graphics.Bitmap;
			public getFrameAtTime(timeUs: number, option: number, params: android.media.MediaMetadataRetriever.BitmapParams): android.graphics.Bitmap;
			public close(): void;
			public release(): void;
			public finalize(): void;
			public getFramesAtIndex(frameIndex: number, numFrames: number): java.util.List<android.graphics.Bitmap>;
			public constructor();
			public getImageAtIndex(imageIndex: number, params: android.media.MediaMetadataRetriever.BitmapParams): android.graphics.Bitmap;
			public getFrameAtIndex(frameIndex: number): android.graphics.Bitmap;
			public extractMetadata(keyCode: number): string;
			public getFrameAtTime(timeUs: number, option: number): android.graphics.Bitmap;
			public getScaledFrameAtTime(timeUs: number, option: number, dstWidth: number, dstHeight: number): android.graphics.Bitmap;
			public getScaledFrameAtTime(timeUs: number, option: number, dstWidth: number, dstHeight: number, params: android.media.MediaMetadataRetriever.BitmapParams): android.graphics.Bitmap;
			public setDataSource(fd: java.io.FileDescriptor, offset: number, length: number): void;
			public getEmbeddedPicture(): androidNative.Array<number>;
			public setDataSource(fd: java.io.FileDescriptor): void;
			public getFrameAtTime(timeUs: number): android.graphics.Bitmap;
			public setDataSource(uri: string, headers: java.util.Map<string,string>): void;
			public getFramesAtIndex(frameIndex: number, numFrames: number, params: android.media.MediaMetadataRetriever.BitmapParams): java.util.List<android.graphics.Bitmap>;
			public getPrimaryImage(): android.graphics.Bitmap;
		}
		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(config: 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(fd: java.io.FileDescriptor, format: number);
			public addTrack(format: android.media.MediaFormat): number;
			public setOrientationHint(degrees: number): void;
			public stop(): void;
			public constructor(path: string, format: number);
			public start(): void;
			public finalize(): void;
			public release(): void;
			public setLocation(latitude: number, longitude: number): void;
			public writeSampleData(trackIndex: number, byteBuf: java.nio.ByteBuffer, bufferInfo: android.media.MediaCodec.BufferInfo): void;
		}
		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: 2;
				public static MUXER_OUTPUT_HEIF: 3;
				public static MUXER_OUTPUT_MPEG_4: 0;
				public static MUXER_OUTPUT_OGG: 4;
				public static MUXER_OUTPUT_WEBM: 1;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaParser extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaParser>;
			public static PARAMETER_ADTS_ENABLE_CBR_SEEKING: "android.media.mediaparser.adts.enableCbrSeeking";
			public static PARAMETER_AMR_ENABLE_CBR_SEEKING: "android.media.mediaparser.amr.enableCbrSeeking";
			public static PARAMETER_FLAC_DISABLE_ID3: "android.media.mediaparser.flac.disableId3";
			public static PARAMETER_MATROSKA_DISABLE_CUES_SEEKING: "android.media.mediaparser.matroska.disableCuesSeeking";
			public static PARAMETER_MP3_DISABLE_ID3: "android.media.mediaparser.mp3.disableId3";
			public static PARAMETER_MP3_ENABLE_CBR_SEEKING: "android.media.mediaparser.mp3.enableCbrSeeking";
			public static PARAMETER_MP3_ENABLE_INDEX_SEEKING: "android.media.mediaparser.mp3.enableIndexSeeking";
			public static PARAMETER_MP4_IGNORE_EDIT_LISTS: "android.media.mediaparser.mp4.ignoreEditLists";
			public static PARAMETER_MP4_IGNORE_TFDT_BOX: "android.media.mediaparser.mp4.ignoreTfdtBox";
			public static PARAMETER_MP4_TREAT_VIDEO_FRAMES_AS_KEYFRAMES: "android.media.mediaparser.mp4.treatVideoFramesAsKeyframes";
			public static PARAMETER_TS_ALLOW_NON_IDR_AVC_KEYFRAMES: "android.media.mediaparser.ts.allowNonIdrAvcKeyframes";
			public static PARAMETER_TS_DETECT_ACCESS_UNITS: "android.media.mediaparser.ts.ignoreDetectAccessUnits";
			public static PARAMETER_TS_ENABLE_HDMV_DTS_AUDIO_STREAMS: "android.media.mediaparser.ts.enableHdmvDtsAudioStreams";
			public static PARAMETER_TS_IGNORE_AAC_STREAM: "android.media.mediaparser.ts.ignoreAacStream";
			public static PARAMETER_TS_IGNORE_AVC_STREAM: "android.media.mediaparser.ts.ignoreAvcStream";
			public static PARAMETER_TS_IGNORE_SPLICE_INFO_STREAM: "android.media.mediaparser.ts.ignoreSpliceInfoStream";
			public static PARAMETER_TS_MODE: "android.media.mediaparser.ts.mode";
			public static PARSER_NAME_AC3: "android.media.mediaparser.Ac3Parser";
			public static PARSER_NAME_AC4: "android.media.mediaparser.Ac4Parser";
			public static PARSER_NAME_ADTS: "android.media.mediaparser.AdtsParser";
			public static PARSER_NAME_AMR: "android.media.mediaparser.AmrParser";
			public static PARSER_NAME_FLAC: "android.media.mediaparser.FlacParser";
			public static PARSER_NAME_FLV: "android.media.mediaparser.FlvParser";
			public static PARSER_NAME_FMP4: "android.media.mediaparser.FragmentedMp4Parser";
			public static PARSER_NAME_MATROSKA: "android.media.mediaparser.MatroskaParser";
			public static PARSER_NAME_MP3: "android.media.mediaparser.Mp3Parser";
			public static PARSER_NAME_MP4: "android.media.mediaparser.Mp4Parser";
			public static PARSER_NAME_OGG: "android.media.mediaparser.OggParser";
			public static PARSER_NAME_PS: "android.media.mediaparser.PsParser";
			public static PARSER_NAME_TS: "android.media.mediaparser.TsParser";
			public static PARSER_NAME_UNKNOWN: "android.media.mediaparser.UNKNOWN";
			public static PARSER_NAME_WAV: "android.media.mediaparser.WavParser";
			public static SAMPLE_FLAG_DECODE_ONLY: -2147483648;
			public static SAMPLE_FLAG_ENCRYPTED: 1073741824;
			public static SAMPLE_FLAG_HAS_SUPPLEMENTAL_DATA: 268435456;
			public static SAMPLE_FLAG_KEY_FRAME: 1;
			public static SAMPLE_FLAG_LAST_SAMPLE: 536870912;
			public getLogSessionId(): android.media.metrics.LogSessionId;
			public advance(seekableInputReader: android.media.MediaParser.SeekableInputReader): boolean;
			public static createByName(name: string, outputConsumer: android.media.MediaParser.OutputConsumer): android.media.MediaParser;
			public seek(seekPoint: android.media.MediaParser.SeekPoint): void;
			public static create(outputConsumer: android.media.MediaParser.OutputConsumer, parserNames: androidNative.Array<string>): android.media.MediaParser;
			public static getParserNames(mediaFormat: android.media.MediaFormat): java.util.List<string>;
			public supportsParameter(parameterName: string): boolean;
			public getParserName(): string;
			public release(): void;
			public setParameter(parameterName: string, value: any): android.media.MediaParser;
			public setLogSessionId(logSessionId: android.media.metrics.LogSessionId): void;
		}
		export module MediaParser {
			export class InputReader extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaParser.InputReader>;
				/**
				 * Constructs a new instance of the android.media.MediaParser$InputReader interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					read(param0: androidNative.Array<number>, param1: number, param2: number): number;
					getPosition(): number;
					getLength(): number;
				});
				public constructor();
				public getPosition(): number;
				public read(param0: androidNative.Array<number>, param1: number, param2: number): number;
				public getLength(): number;
			}
			export class OutputConsumer extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaParser.OutputConsumer>;
				/**
				 * Constructs a new instance of the android.media.MediaParser$OutputConsumer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSeekMapFound(param0: android.media.MediaParser.SeekMap): void;
					onTrackCountFound(param0: number): void;
					onTrackDataFound(param0: number, param1: android.media.MediaParser.TrackData): void;
					onSampleDataFound(param0: number, param1: android.media.MediaParser.InputReader): void;
					onSampleCompleted(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.media.MediaCodec.CryptoInfo): void;
				});
				public constructor();
				public onSeekMapFound(param0: android.media.MediaParser.SeekMap): void;
				public onSampleDataFound(param0: number, param1: android.media.MediaParser.InputReader): void;
				public onTrackCountFound(param0: number): void;
				public onSampleCompleted(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.media.MediaCodec.CryptoInfo): void;
				public onTrackDataFound(param0: number, param1: android.media.MediaParser.TrackData): void;
			}
			export class ParsingException extends java.io.IOException {
				public static class: java.lang.Class<android.media.MediaParser.ParsingException>;
			}
			export class SeekMap extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaParser.SeekMap>;
				public static UNKNOWN_DURATION: -2147483648;
				public getSeekPoints(timeMicros: number): android.util.Pair<android.media.MediaParser.SeekPoint,android.media.MediaParser.SeekPoint>;
				public isSeekable(): boolean;
				public getDurationMicros(): number;
			}
			export class SeekPoint extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaParser.SeekPoint>;
				public static START: android.media.MediaParser.SeekPoint;
				public position: number;
				public timeMicros: number;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public toString(): string;
			}
			export class SeekableInputReader extends java.lang.Object implements android.media.MediaParser.InputReader {
				public static class: java.lang.Class<android.media.MediaParser.SeekableInputReader>;
				/**
				 * Constructs a new instance of the android.media.MediaParser$SeekableInputReader interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					seekToPosition(param0: number): void;
					read(param0: androidNative.Array<number>, param1: number, param2: number): number;
					getPosition(): number;
					getLength(): number;
				});
				public constructor();
				public seekToPosition(param0: number): void;
				public getPosition(): number;
				public read(param0: androidNative.Array<number>, param1: number, param2: number): number;
				public getLength(): number;
			}
			export class TrackData extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaParser.TrackData>;
				public drmInitData: android.media.DrmInitData;
				public mediaFormat: android.media.MediaFormat;
			}
			export class UnrecognizedInputFormatException extends java.io.IOException {
				public static class: java.lang.Class<android.media.MediaParser.UnrecognizedInputFormatException>;
			}
		}
	}
}

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: -1004;
			public static MEDIA_ERROR_MALFORMED: -1007;
			public static MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK: 200;
			public static MEDIA_ERROR_SERVER_DIED: 100;
			public static MEDIA_ERROR_TIMED_OUT: -110;
			public static MEDIA_ERROR_UNKNOWN: 1;
			public static MEDIA_ERROR_UNSUPPORTED: -1010;
			public static MEDIA_INFO_AUDIO_NOT_PLAYING: 804;
			public static MEDIA_INFO_BAD_INTERLEAVING: 800;
			public static MEDIA_INFO_BUFFERING_END: 702;
			public static MEDIA_INFO_BUFFERING_START: 701;
			public static MEDIA_INFO_METADATA_UPDATE: 802;
			public static MEDIA_INFO_NOT_SEEKABLE: 801;
			public static MEDIA_INFO_STARTED_AS_NEXT: 2;
			public static MEDIA_INFO_SUBTITLE_TIMED_OUT: 902;
			public static MEDIA_INFO_UNKNOWN: 1;
			public static MEDIA_INFO_UNSUPPORTED_SUBTITLE: 901;
			public static MEDIA_INFO_VIDEO_NOT_PLAYING: 805;
			public static MEDIA_INFO_VIDEO_RENDERING_START: 3;
			public static MEDIA_INFO_VIDEO_TRACK_LAGGING: 700;
			public static MEDIA_MIMETYPE_TEXT_SUBRIP: "application/x-subrip";
			public static PREPARE_DRM_STATUS_PREPARATION_ERROR: 3;
			public static PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR: 1;
			public static PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR: 2;
			public static PREPARE_DRM_STATUS_SUCCESS: 0;
			public static SEEK_CLOSEST: 3;
			public static SEEK_CLOSEST_SYNC: 2;
			public static SEEK_NEXT_SYNC: 1;
			public static SEEK_PREVIOUS_SYNC: 0;
			public static VIDEO_SCALING_MODE_SCALE_TO_FIT: 1;
			public static VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING: 2;
			public addTimedTextSource(path: string, mimeType: string): void;
			public prepare(): void;
			public setAudioSessionId(sessionId: number): void;
			public setDataSource(context: android.content.Context, uri: android.net.Uri, headers: java.util.Map<string,string>): void;
			public setOnInfoListener(listener: android.media.MediaPlayer.OnInfoListener): void;
			public setOnSeekCompleteListener(listener: android.media.MediaPlayer.OnSeekCompleteListener): void;
			public setOnMediaTimeDiscontinuityListener(listener: android.media.MediaPlayer.OnMediaTimeDiscontinuityListener, handler: android.os.Handler): void;
			public constructor(context: android.content.Context);
			public setDataSource(afd: android.content.res.AssetFileDescriptor): void;
			public createVolumeShaper(param0: android.media.VolumeShaper.Configuration): android.media.VolumeShaper;
			public setDataSource(context: android.content.Context, uri: android.net.Uri): void;
			/** @deprecated */
			public setAudioStreamType(streamtype: number): void;
			public setOnMediaTimeDiscontinuityListener(listener: android.media.MediaPlayer.OnMediaTimeDiscontinuityListener): void;
			public setOnDrmInfoListener(listener: android.media.MediaPlayer.OnDrmInfoListener, handler: android.os.Handler): void;
			public getDrmPropertyString(propertyName: string): string;
			public getPlaybackParams(): android.media.PlaybackParams;
			public setAudioAttributes(attributes: any): void;
			public getCurrentPosition(): number;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
			public constructor();
			public static create(context: android.content.Context, resid: number): android.media.MediaPlayer;
			public getTimestamp(): android.media.MediaTimestamp;
			public prepareDrm(uuid: java.util.UUID): void;
			public addTimedTextSource(context: android.content.Context, uri: android.net.Uri, mimeType: string): void;
			public setDataSource(fd: java.io.FileDescriptor): void;
			public setOnVideoSizeChangedListener(listener: android.media.MediaPlayer.OnVideoSizeChangedListener): void;
			public provideKeyResponse(keySetId: androidNative.Array<number>, response: androidNative.Array<number>): androidNative.Array<number>;
			public getVideoWidth(): number;
			public restoreKeys(keySetId: androidNative.Array<number>): void;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public getTrackInfo(): androidNative.Array<android.media.MediaPlayer.TrackInfo>;
			public getSyncParams(): android.media.SyncParams;
			public setOnSubtitleDataListener(listener: android.media.MediaPlayer.OnSubtitleDataListener, handler: android.os.Handler): void;
			public clearOnMediaTimeDiscontinuityListener(): void;
			public setVolume(leftVolume: number, rightVolume: number): void;
			public static create(context: android.content.Context, uri: android.net.Uri, holder: android.view.SurfaceHolder): android.media.MediaPlayer;
			public addTimedTextSource(fd: java.io.FileDescriptor, offset: number, length: number, mime: string): void;
			public getAudioSessionId(): number;
			public releaseDrm(): void;
			public setDataSource(fd: java.io.FileDescriptor, offset: number, length: number): void;
			public createVolumeShaper(configuration: android.media.VolumeShaper.Configuration): android.media.VolumeShaper;
			public addTimedTextSource(fd: java.io.FileDescriptor, mimeType: string): void;
			public setDisplay(sh: android.view.SurfaceHolder): void;
			public getMetrics(): any;
			public getKeyRequest(keySetId: androidNative.Array<number>, initData: androidNative.Array<number>, mimeType: string, keyType: number, optionalParameters: java.util.Map<string,string>): android.media.MediaDrm.KeyRequest;
			public seekTo(msec: number, mode: number): void;
			public setLooping(param0: boolean): void;
			public setOnTimedMetaDataAvailableListener(listener: android.media.MediaPlayer.OnTimedMetaDataAvailableListener): void;
			public addOnRoutingChangedListener(listener: android.media.AudioRouting.OnRoutingChangedListener, handler: android.os.Handler): void;
			public setDataSource(dataSource: android.media.MediaDataSource): void;
			public setWakeMode(context: android.content.Context, mode: number): void;
			public setAuxEffectSendLevel(level: number): void;
			public getDrmInfo(): android.media.MediaPlayer.DrmInfo;
			public setNextMediaPlayer(param0: android.media.MediaPlayer): void;
			public setDataSource(context: android.content.Context, uri: android.net.Uri, headers: java.util.Map<string,string>, cookies: java.util.List<java.net.HttpCookie>): void;
			public stop(): void;
			public setOnDrmConfigHelper(listener: android.media.MediaPlayer.OnDrmConfigHelper): void;
			public start(): void;
			public getVideoHeight(): number;
			public setOnTimedTextListener(listener: android.media.MediaPlayer.OnTimedTextListener): void;
			public setSurface(surface: android.view.Surface): void;
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public setOnErrorListener(listener: android.media.MediaPlayer.OnErrorListener): void;
			public setOnDrmPreparedListener(listener: android.media.MediaPlayer.OnDrmPreparedListener): void;
			public getSelectedTrack(trackType: number): number;
			public deselectTrack(index: number): void;
			public isLooping(): boolean;
			public setPlaybackParams(param0: android.media.PlaybackParams): void;
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setOnPreparedListener(listener: android.media.MediaPlayer.OnPreparedListener): void;
			public selectTrack(index: number): void;
			public static create(context: android.content.Context, resid: number, audioAttributes: any, audioSessionId: number): android.media.MediaPlayer;
			public setPreferredDevice(deviceInfo: android.media.AudioDeviceInfo): boolean;
			public setOnSubtitleDataListener(listener: android.media.MediaPlayer.OnSubtitleDataListener): void;
			public getDuration(): number;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			public setDataSource(path: string): void;
			public isPlaying(): boolean;
			public pause(): void;
			public setOnCompletionListener(listener: android.media.MediaPlayer.OnCompletionListener): void;
			public setOnBufferingUpdateListener(listener: android.media.MediaPlayer.OnBufferingUpdateListener): void;
			public attachAuxEffect(param0: number): void;
			public reset(): void;
			public seekTo(msec: number): void;
			public release(): void;
			public finalize(): void;
			public clearOnSubtitleDataListener(): void;
			public static create(context: android.content.Context, uri: android.net.Uri): android.media.MediaPlayer;
			public prepareAsync(): void;
			public setDrmPropertyString(propertyName: string, value: string): void;
			public static create(context: android.content.Context, uri: android.net.Uri, holder: android.view.SurfaceHolder, audioAttributes: any, audioSessionId: number): android.media.MediaPlayer;
			public removeOnRoutingChangedListener(listener: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setOnDrmInfoListener(listener: android.media.MediaPlayer.OnDrmInfoListener): void;
			public setOnDrmPreparedListener(listener: android.media.MediaPlayer.OnDrmPreparedListener, handler: android.os.Handler): void;
			public setVideoScalingMode(mode: number): void;
			public setSyncParams(param0: android.media.SyncParams): void;
			public setScreenOnWhilePlaying(screenOn: boolean): void;
		}
		export module MediaPlayer {
			export class DrmInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.DrmInfo>;
				public getSupportedSchemes(): androidNative.Array<java.util.UUID>;
				public getPssh(): java.util.Map<java.util.UUID,androidNative.Array<number>>;
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.MetricsConstants>;
				public static CODEC_AUDIO: "android.media.mediaplayer.audio.codec";
				public static CODEC_VIDEO: "android.media.mediaplayer.video.codec";
				public static DURATION: "android.media.mediaplayer.durationMs";
				public static ERRORS: "android.media.mediaplayer.err";
				public static ERROR_CODE: "android.media.mediaplayer.errcode";
				public static FRAMES: "android.media.mediaplayer.frames";
				public static FRAMES_DROPPED: "android.media.mediaplayer.dropped";
				public static HEIGHT: "android.media.mediaplayer.height";
				public static MIME_TYPE_AUDIO: "android.media.mediaplayer.audio.mime";
				public static MIME_TYPE_VIDEO: "android.media.mediaplayer.video.mime";
				public static PLAYING: "android.media.mediaplayer.playingMs";
				public static WIDTH: "android.media.mediaplayer.width";
			}
			export class NoDrmSchemeException extends android.media.MediaDrmException {
				public static class: java.lang.Class<android.media.MediaPlayer.NoDrmSchemeException>;
				public constructor(cause: java.lang.Throwable);
				public getOemError(): number;
				public constructor(detailMessage: string);
				public getErrorContext(): number;
				public getVendorError(): number;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
			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(cause: java.lang.Throwable);
				public getOemError(): number;
				public constructor(detailMessage: string);
				public getErrorContext(): number;
				public getVendorError(): number;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
			export class ProvisioningServerErrorException extends android.media.MediaDrmException {
				public static class: java.lang.Class<android.media.MediaPlayer.ProvisioningServerErrorException>;
				public constructor(cause: java.lang.Throwable);
				public getOemError(): number;
				public constructor(detailMessage: string);
				public getErrorContext(): number;
				public getVendorError(): number;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
			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: 2;
				public static MEDIA_TRACK_TYPE_METADATA: 5;
				public static MEDIA_TRACK_TYPE_SUBTITLE: 4;
				public static MEDIA_TRACK_TYPE_TIMEDTEXT: 3;
				public static MEDIA_TRACK_TYPE_UNKNOWN: 0;
				public static MEDIA_TRACK_TYPE_VIDEO: 1;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				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, android.media.AudioRecordingMonitor, android.media.MicrophoneDirection {
			public static class: java.lang.Class<android.media.MediaRecorder>;
			public static MEDIA_ERROR_SERVER_DIED: 100;
			public static MEDIA_RECORDER_ERROR_UNKNOWN: 1;
			public static MEDIA_RECORDER_INFO_MAX_DURATION_REACHED: 800;
			public static MEDIA_RECORDER_INFO_MAX_FILESIZE_APPROACHING: 802;
			public static MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED: 801;
			public static MEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED: 803;
			public static MEDIA_RECORDER_INFO_UNKNOWN: 1;
			public prepare(): void;
			public addOnRoutingChangedListener(listener: android.media.AudioRouting.OnRoutingChangedListener, handler: android.os.Handler): void;
			public setPreferredMicrophoneDirection(direction: number): boolean;
			public setOutputFile(file: java.io.File): void;
			public registerAudioRecordingCallback(param0: java.util.concurrent.Executor, param1: android.media.AudioManager.AudioRecordingCallback): void;
			public constructor(context: android.content.Context);
			/** @deprecated */
			public constructor();
			public setMaxFileSize(param0: number): void;
			public setOutputFile(path: string): void;
			public stop(): void;
			public setNextOutputFile(fd: java.io.FileDescriptor): void;
			public start(): void;
			public setVideoFrameRate(param0: number): void;
			public setVideoEncodingBitRate(bitRate: number): void;
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public getLogSessionId(): android.media.metrics.LogSessionId;
			/** @deprecated */
			public setCamera(param0: android.hardware.Camera): void;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
			public getSurface(): android.view.Surface;
			public static getAudioSourceMax(): number;
			public setInputSurface(surface: android.view.Surface): void;
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public getActiveMicrophones(): java.util.List<android.media.MicrophoneInfo>;
			public setLocation(latitude: number, longitude: number): void;
			public setVideoSource(param0: number): void;
			public setPreviewDisplay(sv: android.view.Surface): void;
			public setVideoSize(param0: number, param1: number): void;
			public setPreferredDevice(deviceInfo: android.media.AudioDeviceInfo): boolean;
			public setOutputFormat(param0: number): void;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			public registerAudioRecordingCallback(executor: java.util.concurrent.Executor, cb: android.media.AudioManager.AudioRecordingCallback): void;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public setAudioChannels(numChannels: number): void;
			public setVideoEncoder(param0: number): void;
			public setPrivacySensitive(param0: boolean): void;
			public setPreferredMicrophoneDirection(param0: number): boolean;
			public setMaxDuration(param0: number): void;
			public setAudioEncodingBitRate(bitRate: number): void;
			public pause(): void;
			public setOnErrorListener(l: android.media.MediaRecorder.OnErrorListener): void;
			public resume(): void;
			public setLogSessionId(id: android.media.metrics.LogSessionId): void;
			public reset(): void;
			public setPreferredMicrophoneFieldDimension(param0: number): boolean;
			public setPreferredMicrophoneFieldDimension(zoom: number): boolean;
			public release(): void;
			public finalize(): void;
			public setAudioSamplingRate(samplingRate: number): void;
			public setAudioSource(param0: number): void;
			public unregisterAudioRecordingCallback(param0: android.media.AudioManager.AudioRecordingCallback): void;
			public setVideoEncodingProfileLevel(profile: number, level: number): void;
			public setProfile(profile: android.media.CamcorderProfile): void;
			public unregisterAudioRecordingCallback(cb: android.media.AudioManager.AudioRecordingCallback): void;
			public setNextOutputFile(file: java.io.File): void;
			public removeOnRoutingChangedListener(listener: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setVideoProfile(profile: android.media.EncoderProfiles.VideoProfile): void;
			public setCaptureRate(fps: number): void;
			public setAudioProfile(profile: android.media.EncoderProfiles.AudioProfile): void;
			public setOrientationHint(degrees: number): void;
			public isPrivacySensitive(): boolean;
			public getMetrics(): any;
			public getMaxAmplitude(): number;
			public getActiveRecordingConfiguration(): android.media.AudioRecordingConfiguration;
			public setOutputFile(fd: java.io.FileDescriptor): void;
			public setAudioEncoder(param0: number): void;
			public setOnInfoListener(listener: android.media.MediaRecorder.OnInfoListener): void;
		}
		export module MediaRecorder {
			export class AudioEncoder extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.AudioEncoder>;
				public static AAC: 3;
				public static AAC_ELD: 5;
				public static AMR_NB: 1;
				public static AMR_WB: 2;
				public static DEFAULT: 0;
				public static HE_AAC: 4;
				public static OPUS: 7;
				public static VORBIS: 6;
			}
			export class AudioSource extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.AudioSource>;
				public static CAMCORDER: 5;
				public static DEFAULT: 0;
				public static MIC: 1;
				public static REMOTE_SUBMIX: 8;
				public static UNPROCESSED: 9;
				public static VOICE_CALL: 4;
				public static VOICE_COMMUNICATION: 7;
				public static VOICE_DOWNLINK: 3;
				public static VOICE_PERFORMANCE: 10;
				public static VOICE_RECOGNITION: 6;
				public static VOICE_UPLINK: 2;
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.MetricsConstants>;
				public static AUDIO_BITRATE: "android.media.mediarecorder.audio-bitrate";
				public static AUDIO_CHANNELS: "android.media.mediarecorder.audio-channels";
				public static AUDIO_SAMPLERATE: "android.media.mediarecorder.audio-samplerate";
				public static AUDIO_TIMESCALE: "android.media.mediarecorder.audio-timescale";
				public static CAPTURE_FPS: "android.media.mediarecorder.capture-fps";
				public static CAPTURE_FPS_ENABLE: "android.media.mediarecorder.capture-fpsenable";
				public static FRAMERATE: "android.media.mediarecorder.frame-rate";
				public static HEIGHT: "android.media.mediarecorder.height";
				public static MOVIE_TIMESCALE: "android.media.mediarecorder.movie-timescale";
				public static ROTATION: "android.media.mediarecorder.rotation";
				public static VIDEO_BITRATE: "android.media.mediarecorder.video-bitrate";
				public static VIDEO_IFRAME_INTERVAL: "android.media.mediarecorder.video-iframe-interval";
				public static VIDEO_LEVEL: "android.media.mediarecorder.video-encoder-level";
				public static VIDEO_PROFILE: "android.media.mediarecorder.video-encoder-profile";
				public static VIDEO_TIMESCALE: "android.media.mediarecorder.video-timescale";
				public static WIDTH: "android.media.mediarecorder.width";
			}
			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: 6;
				public static AMR_NB: 3;
				public static AMR_WB: 4;
				public static DEFAULT: 0;
				public static MPEG_2_TS: 8;
				public static MPEG_4: 2;
				public static OGG: 11;
				public static RAW_AMR: 3;
				public static THREE_GPP: 1;
				public static WEBM: 9;
			}
			export class VideoEncoder extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.VideoEncoder>;
				public static AV1: 8;
				public static DEFAULT: 0;
				public static DOLBY_VISION: 7;
				public static H263: 1;
				public static H264: 2;
				public static HEVC: 5;
				public static MPEG_4_SP: 3;
				public static VP8: 4;
				public static VP9: 6;
			}
			export class VideoSource extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.VideoSource>;
				public static CAMERA: 1;
				public static DEFAULT: 0;
				public static SURFACE: 2;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaRoute2Info extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.MediaRoute2Info>;
			public static CONNECTION_STATE_CONNECTED: 2;
			public static CONNECTION_STATE_CONNECTING: 1;
			public static CONNECTION_STATE_DISCONNECTED: 0;
			public static CREATOR: android.os.Parcelable.Creator<android.media.MediaRoute2Info>;
			public static FEATURE_LIVE_AUDIO: "android.media.route.feature.LIVE_AUDIO";
			public static FEATURE_LIVE_VIDEO: "android.media.route.feature.LIVE_VIDEO";
			public static FEATURE_REMOTE_AUDIO_PLAYBACK: "android.media.route.feature.REMOTE_AUDIO_PLAYBACK";
			public static FEATURE_REMOTE_PLAYBACK: "android.media.route.feature.REMOTE_PLAYBACK";
			public static FEATURE_REMOTE_VIDEO_PLAYBACK: "android.media.route.feature.REMOTE_VIDEO_PLAYBACK";
			public static PLAYBACK_VOLUME_FIXED: 0;
			public static PLAYBACK_VOLUME_VARIABLE: 1;
			public static SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER: 2;
			public static SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER: 0;
			public static SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER: 1;
			public static TYPE_BLE_HEADSET: 26;
			public static TYPE_BLUETOOTH_A2DP: 8;
			public static TYPE_BUILTIN_SPEAKER: 2;
			public static TYPE_DOCK: 13;
			public static TYPE_GROUP: 2000;
			public static TYPE_HDMI: 9;
			public static TYPE_HDMI_ARC: 10;
			public static TYPE_HDMI_EARC: 29;
			public static TYPE_HEARING_AID: 23;
			public static TYPE_REMOTE_AUDIO_VIDEO_RECEIVER: 1003;
			public static TYPE_REMOTE_CAR: 1008;
			public static TYPE_REMOTE_COMPUTER: 1006;
			public static TYPE_REMOTE_GAME_CONSOLE: 1007;
			public static TYPE_REMOTE_SMARTPHONE: 1010;
			public static TYPE_REMOTE_SMARTWATCH: 1009;
			public static TYPE_REMOTE_SPEAKER: 1002;
			public static TYPE_REMOTE_TABLET: 1004;
			public static TYPE_REMOTE_TABLET_DOCKED: 1005;
			public static TYPE_REMOTE_TV: 1001;
			public static TYPE_UNKNOWN: 0;
			public static TYPE_USB_ACCESSORY: 12;
			public static TYPE_USB_DEVICE: 11;
			public static TYPE_USB_HEADSET: 22;
			public static TYPE_WIRED_HEADPHONES: 4;
			public static TYPE_WIRED_HEADSET: 3;
			public getType(): number;
			public getVolumeMax(): number;
			public getConnectionState(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getIconUri(): android.net.Uri;
			public getClientPackageName(): string;
			public getVolume(): number;
			public isSystemRoute(): boolean;
			public getFeatures(): java.util.List<string>;
			public getVolumeHandling(): number;
			public getSuitabilityStatus(): number;
			public getId(): string;
			public toString(): string;
			public getName(): string;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public getDeduplicationIds(): java.util.Set<string>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDescription(): string;
			public getExtras(): android.os.Bundle;
			public hashCode(): number;
		}
		export module MediaRoute2Info {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRoute2Info.Builder>;
				public addFeatures(features: java.util.Collection<string>): android.media.MediaRoute2Info.Builder;
				public setVolumeHandling(volumeHandling: number): android.media.MediaRoute2Info.Builder;
				public setClientPackageName(packageName: string): android.media.MediaRoute2Info.Builder;
				public setVolumeMax(volumeMax: number): android.media.MediaRoute2Info.Builder;
				public setType(type: number): android.media.MediaRoute2Info.Builder;
				public addFeature(feature: string): android.media.MediaRoute2Info.Builder;
				public setIconUri(iconUri: android.net.Uri): android.media.MediaRoute2Info.Builder;
				public constructor(routeInfo: android.media.MediaRoute2Info);
				public build(): android.media.MediaRoute2Info;
				public setDeduplicationIds(id: java.util.Set<string>): android.media.MediaRoute2Info.Builder;
				public setVolume(volume: number): android.media.MediaRoute2Info.Builder;
				public setExtras(extras: android.os.Bundle): android.media.MediaRoute2Info.Builder;
				public setVisibilityPublic(): android.media.MediaRoute2Info.Builder;
				public constructor(id: string, name: string);
				public setConnectionState(connectionState: number): android.media.MediaRoute2Info.Builder;
				public setDescription(description: string): android.media.MediaRoute2Info.Builder;
				public clearFeatures(): android.media.MediaRoute2Info.Builder;
				public setSuitabilityStatus(suitabilityStatus: number): android.media.MediaRoute2Info.Builder;
				public setVisibilityRestricted(allowedPackages: java.util.Set<string>): android.media.MediaRoute2Info.Builder;
			}
		}
	}
}

declare module android {
	export module media {
		export abstract class MediaRoute2ProviderService extends android.app.Service {
			public static class: java.lang.Class<android.media.MediaRoute2ProviderService>;
			public static REASON_INVALID_COMMAND: 4;
			public static REASON_NETWORK_ERROR: 2;
			public static REASON_REJECTED: 1;
			public static REASON_ROUTE_NOT_AVAILABLE: 3;
			public static REASON_UNKNOWN_ERROR: 0;
			public static REQUEST_ID_NONE: 0;
			public static SERVICE_INTERFACE: "android.media.MediaRoute2ProviderService";
			public onSetRouteVolume(param0: number, param1: string, param2: number): void;
			public onReleaseSession(param0: number, param1: string): void;
			public getAllSessionInfo(): java.util.List<android.media.RoutingSessionInfo>;
			public getSessionInfo(sessionId: string): android.media.RoutingSessionInfo;
			public constructor();
			public onSetSessionVolume(param0: number, param1: string, param2: number): void;
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public onCreateSession(param0: number, param1: string, param2: string, param3: android.os.Bundle): void;
			public onTransferToRoute(param0: number, param1: string, param2: string): void;
			public onDiscoveryPreferenceChanged(preference: android.media.RouteDiscoveryPreference): void;
			public onSelectRoute(param0: number, param1: string, param2: string): void;
			public notifyRoutes(routes: java.util.Collection<android.media.MediaRoute2Info>): void;
			public onDeselectRoute(param0: number, param1: string, param2: string): void;
			public onTrimMemory(param0: number): void;
			public notifySessionCreated(requestId: number, sessionInfo: android.media.RoutingSessionInfo): void;
			public notifyRequestFailed(requestId: number, reason: number): void;
			public notifySessionReleased(sessionId: string): void;
			public constructor(base: android.content.Context);
			public notifySessionUpdated(sessionInfo: android.media.RoutingSessionInfo): void;
		}
	}
}

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: 1;
			public static CALLBACK_FLAG_UNFILTERED_EVENTS: 2;
			public static ROUTE_TYPE_LIVE_AUDIO: 1;
			public static ROUTE_TYPE_LIVE_VIDEO: 2;
			public static ROUTE_TYPE_USER: 8388608;
			public removeCallback(cb: android.media.MediaRouter.Callback): void;
			public getDefaultRoute(): android.media.MediaRouter.RouteInfo;
			public clearUserRoutes(): void;
			public getCategoryCount(): number;
			public getRouteCount(): number;
			public addUserRoute(info: android.media.MediaRouter.UserRouteInfo): void;
			public addCallback(types: number, cb: android.media.MediaRouter.Callback): void;
			public selectRoute(types: number, route: android.media.MediaRouter.RouteInfo): void;
			public addCallback(types: number, cb: android.media.MediaRouter.Callback, flags: number): void;
			public createRouteCategory(name: string, isGroupable: boolean): android.media.MediaRouter.RouteCategory;
			public createRouteCategory(nameResId: number, isGroupable: boolean): android.media.MediaRouter.RouteCategory;
			public getCategoryAt(index: number): android.media.MediaRouter.RouteCategory;
			public removeUserRoute(info: android.media.MediaRouter.UserRouteInfo): void;
			public getSelectedRoute(type: number): android.media.MediaRouter.RouteInfo;
			public getRouteAt(index: number): android.media.MediaRouter.RouteInfo;
			public createUserRoute(category: android.media.MediaRouter.RouteCategory): android.media.MediaRouter.UserRouteInfo;
		}
		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 onRoutePresentationDisplayChanged(router: android.media.MediaRouter, info: 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 RouteCategory extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter.RouteCategory>;
				public getName(context: android.content.Context): string;
				public isGroupable(): boolean;
				public getName(): string;
				public getSupportedTypes(): number;
				public toString(): string;
				public getRoutes(out: java.util.List<android.media.MediaRouter.RouteInfo>): java.util.List<android.media.MediaRouter.RouteInfo>;
			}
			export class RouteGroup extends android.media.MediaRouter.RouteInfo {
				public static class: java.lang.Class<android.media.MediaRouter.RouteGroup>;
				public removeRoute(route: android.media.MediaRouter.RouteInfo): void;
				public setIconDrawable(icon: android.graphics.drawable.Drawable): void;
				public getRouteCount(): number;
				public getRouteAt(index: number): android.media.MediaRouter.RouteInfo;
				public addRoute(route: android.media.MediaRouter.RouteInfo, insertAt: number): void;
				public removeRoute(index: number): void;
				public setIconResource(resId: number): void;
				public toString(): string;
				public requestSetVolume(volume: number): void;
				public addRoute(route: android.media.MediaRouter.RouteInfo): void;
				public requestUpdateVolume(direction: number): void;
			}
			export class RouteInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter.RouteInfo>;
				public static DEVICE_TYPE_BLUETOOTH: 3;
				public static DEVICE_TYPE_SPEAKER: 2;
				public static DEVICE_TYPE_TV: 1;
				public static DEVICE_TYPE_UNKNOWN: 0;
				public static PLAYBACK_TYPE_LOCAL: 0;
				public static PLAYBACK_TYPE_REMOTE: 1;
				public static PLAYBACK_VOLUME_FIXED: 0;
				public static PLAYBACK_VOLUME_VARIABLE: 1;
				public getCategory(): android.media.MediaRouter.RouteCategory;
				public getStatus(): string;
				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 setTag(tag: any): void;
				public isConnecting(): boolean;
				public requestSetVolume(volume: number): void;
				public getVolume(): number;
				public getName(context: android.content.Context): string;
				public getGroup(): android.media.MediaRouter.RouteGroup;
				public getDeviceType(): number;
				public getTag(): any;
				public isEnabled(): boolean;
				public getSupportedTypes(): number;
				public requestUpdateVolume(direction: number): void;
				public getVolumeHandling(): number;
			}
			export class SimpleCallback extends android.media.MediaRouter.Callback {
				public static class: java.lang.Class<android.media.MediaRouter.SimpleCallback>;
				public onRouteAdded(router: android.media.MediaRouter, info: android.media.MediaRouter.RouteInfo): void;
				public onRouteSelected(router: android.media.MediaRouter, type: number, info: android.media.MediaRouter.RouteInfo): void;
				public onRouteUnselected(router: android.media.MediaRouter, type: number, info: android.media.MediaRouter.RouteInfo): void;
				public onRouteChanged(router: android.media.MediaRouter, info: android.media.MediaRouter.RouteInfo): void;
				public onRouteRemoved(router: android.media.MediaRouter, info: android.media.MediaRouter.RouteInfo): void;
				public onRouteGrouped(router: android.media.MediaRouter, info: android.media.MediaRouter.RouteInfo, group: android.media.MediaRouter.RouteGroup, index: number): void;
				public onRouteVolumeChanged(router: android.media.MediaRouter, info: android.media.MediaRouter.RouteInfo): void;
				public constructor();
				public onRouteUngrouped(router: android.media.MediaRouter, info: android.media.MediaRouter.RouteInfo, group: android.media.MediaRouter.RouteGroup): void;
			}
			export class UserRouteInfo extends android.media.MediaRouter.RouteInfo {
				public static class: java.lang.Class<android.media.MediaRouter.UserRouteInfo>;
				public setIconDrawable(icon: android.graphics.drawable.Drawable): void;
				public setName(resId: number): void;
				public setVolumeHandling(volumeHandling: number): void;
				public setName(name: string): void;
				public setStatus(status: string): void;
				public getRemoteControlClient(): android.media.RemoteControlClient;
				public setVolume(volume: number): void;
				public requestSetVolume(volume: number): void;
				public setPlaybackStream(stream: number): void;
				public setDescription(description: string): void;
				public setRemoteControlClient(rcc: android.media.RemoteControlClient): void;
				public setVolumeCallback(vcb: android.media.MediaRouter.VolumeCallback): void;
				public setPlaybackType(type: number): void;
				public setIconResource(resId: number): void;
				public setVolumeMax(volumeMax: number): void;
				public requestUpdateVolume(direction: number): 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 MediaRouter2 extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaRouter2>;
			public getController(id: string): android.media.MediaRouter2.RoutingController;
			public setRouteVolume(route: android.media.MediaRoute2Info, volume: number): void;
			public static getInstance(context: android.content.Context, clientPackageName: string, executor: java.util.concurrent.Executor, onInstanceInvalidatedListener: java.lang.Runnable): android.media.MediaRouter2;
			public setOnGetControllerHintsListener(listener: android.media.MediaRouter2.OnGetControllerHintsListener): void;
			public unregisterControllerCallback(callback: android.media.MediaRouter2.ControllerCallback): void;
			public registerRouteCallback(executor: java.util.concurrent.Executor, routeCallback: android.media.MediaRouter2.RouteCallback, preference: android.media.RouteDiscoveryPreference): void;
			public showSystemOutputSwitcher(): boolean;
			public setRouteListingPreference(routeListingPreference: android.media.RouteListingPreference): void;
			public unregisterRouteListingPreferenceUpdatedCallback(callback: any /* any*/): void;
			public static getInstance(context: android.content.Context): android.media.MediaRouter2;
			public registerRouteListingPreferenceUpdatedCallback(executor: java.util.concurrent.Executor, routeListingPreferenceCallback: any /* any*/): void;
			public unregisterTransferCallback(callback: android.media.MediaRouter2.TransferCallback): void;
			public cancelScanRequest(token: android.media.MediaRouter2.ScanToken): void;
			public unregisterRouteCallback(routeCallback: android.media.MediaRouter2.RouteCallback): void;
			public transferTo(route: android.media.MediaRoute2Info): void;
			public getRouteListingPreference(): android.media.RouteListingPreference;
			public requestScan(scanRequest: android.media.MediaRouter2.ScanRequest): android.media.MediaRouter2.ScanToken;
			public registerControllerCallback(executor: java.util.concurrent.Executor, callback: android.media.MediaRouter2.ControllerCallback): void;
			public stop(): void;
			public getRoutes(): java.util.List<android.media.MediaRoute2Info>;
			public registerTransferCallback(executor: java.util.concurrent.Executor, callback: android.media.MediaRouter2.TransferCallback): void;
			public getSystemController(): android.media.MediaRouter2.RoutingController;
			public getControllers(): java.util.List<android.media.MediaRouter2.RoutingController>;
		}
		export module MediaRouter2 {
			export abstract class ControllerCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter2.ControllerCallback>;
				public onControllerUpdated(controller: android.media.MediaRouter2.RoutingController): void;
				public constructor();
			}
			export class OnGetControllerHintsListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter2.OnGetControllerHintsListener>;
				/**
				 * Constructs a new instance of the android.media.MediaRouter2$OnGetControllerHintsListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGetControllerHints(param0: android.media.MediaRoute2Info): android.os.Bundle;
				});
				public constructor();
				public onGetControllerHints(param0: android.media.MediaRoute2Info): android.os.Bundle;
			}
			export abstract class RouteCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter2.RouteCallback>;
				/** @deprecated */
				public onRoutesRemoved(routes: java.util.List<android.media.MediaRoute2Info>): void;
				/** @deprecated */
				public onRoutesAdded(routes: java.util.List<android.media.MediaRoute2Info>): void;
				/** @deprecated */
				public onRoutesChanged(routes: java.util.List<android.media.MediaRoute2Info>): void;
				public constructor();
				public onRoutesUpdated(routes: java.util.List<android.media.MediaRoute2Info>): void;
			}
			export class RoutingController extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter2.RoutingController>;
				public getId(): string;
				public release(): void;
				public getVolumeMax(): number;
				public deselectRoute(route: android.media.MediaRoute2Info): void;
				public getControlHints(): android.os.Bundle;
				public wasTransferInitiatedBySelf(): boolean;
				public isReleased(): boolean;
				public setVolume(volume: number): void;
				public toString(): string;
				public getSelectedRoutes(): java.util.List<android.media.MediaRoute2Info>;
				public getVolume(): number;
				public getSelectableRoutes(): java.util.List<android.media.MediaRoute2Info>;
				public getDeselectableRoutes(): java.util.List<android.media.MediaRoute2Info>;
				public getTransferableRoutes(): java.util.List<android.media.MediaRoute2Info>;
				public getRoutingSessionInfo(): android.media.RoutingSessionInfo;
				public selectRoute(route: android.media.MediaRoute2Info): void;
				public getVolumeHandling(): number;
			}
			export class ScanRequest extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter2.ScanRequest>;
				public isScreenOffScan(): boolean;
			}
			export module ScanRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.MediaRouter2.ScanRequest.Builder>;
					public setScreenOffScan(isScreenOffScan: boolean): android.media.MediaRouter2.ScanRequest.Builder;
					public constructor();
					public build(): android.media.MediaRouter2.ScanRequest;
				}
			}
			export class ScanToken extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter2.ScanToken>;
			}
			export abstract class TransferCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter2.TransferCallback>;
				public onTransferFailure(requestedRoute: android.media.MediaRoute2Info): void;
				public onTransfer(oldController: android.media.MediaRouter2.RoutingController, newController: android.media.MediaRouter2.RoutingController): void;
				public constructor();
				public onStop(controller: android.media.MediaRouter2.RoutingController): void;
			}
		}
	}
}

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 onNullBinding(name: android.content.ComponentName): void;
			public isConnected(): boolean;
			public scanFile(path: string, mimeType: string): void;
			public static scanFile(context: android.content.Context, paths: androidNative.Array<string>, mimeTypes: androidNative.Array<string>, callback: android.media.MediaScannerConnection.OnScanCompletedListener): void;
			public onServiceDisconnected(param0: android.content.ComponentName): void;
			public connect(): void;
			public constructor(context: android.content.Context, client: android.media.MediaScannerConnection.MediaScannerConnectionClient);
			public onBindingDied(name: android.content.ComponentName): void;
			public onServiceDisconnected(className: android.content.ComponentName): void;
			public onServiceConnected(className: android.content.ComponentName, service: android.os.IBinder): 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;
				});
				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 MediaSession2 extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.MediaSession2>;
			public getId(): string;
			public broadcastSessionCommand(command: android.media.Session2Command, args: android.os.Bundle): void;
			public cancelSessionCommand(controller: android.media.MediaSession2.ControllerInfo, token: any): void;
			public getConnectedControllers(): java.util.List<android.media.MediaSession2.ControllerInfo>;
			public getToken(): android.media.Session2Token;
			public close(): void;
			public isPlaybackActive(): boolean;
			public setPlaybackActive(playbackActive: boolean): void;
			public sendSessionCommand(controller: android.media.MediaSession2.ControllerInfo, command: android.media.Session2Command, args: android.os.Bundle): any;
		}
		export module MediaSession2 {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaSession2.Builder>;
				public constructor(context: android.content.Context);
				public setId(id: string): android.media.MediaSession2.Builder;
				public setSessionCallback(executor: java.util.concurrent.Executor, callback: android.media.MediaSession2.SessionCallback): android.media.MediaSession2.Builder;
				public setExtras(extras: android.os.Bundle): android.media.MediaSession2.Builder;
				public setSessionActivity(pi: android.app.PendingIntent): android.media.MediaSession2.Builder;
				public build(): android.media.MediaSession2;
			}
			export class ControllerInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaSession2.ControllerInfo>;
				public equals(obj: any): boolean;
				public getUid(): number;
				public hashCode(): number;
				public getPackageName(): string;
				public getRemoteUserInfo(): any;
				public toString(): string;
				public getConnectionHints(): android.os.Bundle;
			}
			export abstract class SessionCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaSession2.SessionCallback>;
				public onCommandResult(session: android.media.MediaSession2, controller: android.media.MediaSession2.ControllerInfo, token: any, command: android.media.Session2Command, result: android.media.Session2Command.Result): void;
				public onPostConnect(session: android.media.MediaSession2, controller: android.media.MediaSession2.ControllerInfo): void;
				public onSessionCommand(session: android.media.MediaSession2, controller: android.media.MediaSession2.ControllerInfo, command: android.media.Session2Command, args: android.os.Bundle): android.media.Session2Command.Result;
				public onConnect(session: android.media.MediaSession2, controller: android.media.MediaSession2.ControllerInfo): android.media.Session2CommandGroup;
				public onDisconnected(session: android.media.MediaSession2, controller: android.media.MediaSession2.ControllerInfo): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module media {
		export abstract class MediaSession2Service extends android.app.Service {
			public static class: java.lang.Class<android.media.MediaSession2Service>;
			public static SERVICE_INTERFACE: "android.media.MediaSession2Service";
			public onUpdateNotification(param0: android.media.MediaSession2): android.media.MediaSession2Service.MediaNotification;
			public onTrimMemory(param0: number): void;
			public removeSession(session: android.media.MediaSession2): void;
			public onCreate(): void;
			public getSessions(): java.util.List<android.media.MediaSession2>;
			public constructor();
			public onDestroy(): void;
			public constructor(base: android.content.Context);
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public onGetSession(param0: android.media.MediaSession2.ControllerInfo): android.media.MediaSession2;
			public addSession(session: android.media.MediaSession2): void;
		}
		export module MediaSession2Service {
			export class MediaNotification extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaSession2Service.MediaNotification>;
				public constructor(notificationId: number, notification: android.app.Notification);
				public getNotificationId(): number;
				public getNotification(): android.app.Notification;
			}
		}
	}
}

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: 1;
			public static MEDIASYNC_ERROR_SURFACE_FAIL: 2;
			public flush(): void;
			public setSyncParams(params: android.media.SyncParams): void;
			public setSurface(surface: android.view.Surface): void;
			public createInputSurface(): android.view.Surface;
			public constructor();
			public setPlaybackParams(params: android.media.PlaybackParams): void;
			public getTimestamp(): android.media.MediaTimestamp;
			public setCallback(cb: android.media.MediaSync.Callback, handler: android.os.Handler): void;
			public setOnErrorListener(listener: android.media.MediaSync.OnErrorListener, handler: android.os.Handler): void;
			public getSyncParams(): android.media.SyncParams;
			public queueAudio(audioData: java.nio.ByteBuffer, bufferId: number, presentationTimeUs: number): void;
			public getPlaybackParams(): android.media.PlaybackParams;
			public finalize(): void;
			public release(): void;
			public setAudioTrack(audioTrack: android.media.AudioTrack): 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 implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.MediaSyncEvent>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.MediaSyncEvent>;
			public static SYNC_EVENT_NONE: 0;
			public static SYNC_EVENT_PRESENTATION_COMPLETE: 1;
			public getAudioSessionId(): number;
			public getType(): number;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static createEvent(eventType: number): android.media.MediaSyncEvent;
			public setAudioSessionId(audioSessionId: number): android.media.MediaSyncEvent;
			public hashCode(): number;
		}
	}
}

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 constructor(mediaTimeUs: number, nanoTimeNs: number, clockRate: number);
			public toString(): string;
			public equals(obj: any): boolean;
			public getAnchorSystemNanoTime(): number;
			/** @deprecated */
			public getAnchorSytemNanoTime(): number;
			public getMediaClockRate(): number;
		}
	}
}

declare module android {
	export module media {
		export class MicrophoneDirection extends java.lang.Object {
			public static class: java.lang.Class<android.media.MicrophoneDirection>;
			/**
			 * Constructs a new instance of the android.media.MicrophoneDirection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setPreferredMicrophoneDirection(param0: number): boolean;
				setPreferredMicrophoneFieldDimension(param0: number): boolean;
			});
			public constructor();
			public static MIC_DIRECTION_AWAY_FROM_USER: 2;
			public static MIC_DIRECTION_UNSPECIFIED: 0;
			public static MIC_DIRECTION_EXTERNAL: 3;
			public static MIC_DIRECTION_TOWARDS_USER: 1;
			public setPreferredMicrophoneFieldDimension(param0: number): boolean;
			public setPreferredMicrophoneDirection(param0: number): boolean;
		}
	}
}

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: 1;
			public static CHANNEL_MAPPING_PROCESSED: 2;
			public static DIRECTIONALITY_BI_DIRECTIONAL: 2;
			public static DIRECTIONALITY_CARDIOID: 3;
			public static DIRECTIONALITY_HYPER_CARDIOID: 4;
			public static DIRECTIONALITY_OMNI: 1;
			public static DIRECTIONALITY_SUPER_CARDIOID: 5;
			public static DIRECTIONALITY_UNKNOWN: 0;
			public static GROUP_UNKNOWN: -1;
			public static INDEX_IN_THE_GROUP_UNKNOWN: -1;
			public static LOCATION_MAINBODY: 1;
			public static LOCATION_MAINBODY_MOVABLE: 2;
			public static LOCATION_PERIPHERAL: 3;
			public static LOCATION_UNKNOWN: 0;
			public static ORIENTATION_UNKNOWN: android.media.MicrophoneInfo.Coordinate3F;
			public static POSITION_UNKNOWN: android.media.MicrophoneInfo.Coordinate3F;
			public static SENSITIVITY_UNKNOWN: -3.4028235E38;
			public static SPL_UNKNOWN: -3.4028235E38;
			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(obj: 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 getOemError(): number;
			public getVendorError(): number;
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getErrorContext(): number;
		}
	}
}

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: 0;
			public static AUDIO_FALLBACK_MODE_FAIL: 2;
			public static AUDIO_FALLBACK_MODE_MUTE: 1;
			public static CREATOR: android.os.Parcelable.Creator<android.media.PlaybackParams>;
			public allowDefaults(): android.media.PlaybackParams;
			public getPitch(): number;
			public setAudioFallbackMode(audioFallbackMode: number): android.media.PlaybackParams;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSpeed(): number;
			public constructor();
			public setSpeed(speed: number): android.media.PlaybackParams;
			public setPitch(pitch: number): android.media.PlaybackParams;
			public getAudioFallbackMode(): number;
		}
	}
}

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: 3;
			public static RATING_4_STARS: 4;
			public static RATING_5_STARS: 5;
			public static RATING_HEART: 1;
			public static RATING_NONE: 0;
			public static RATING_PERCENTAGE: 6;
			public static RATING_THUMB_UP_DOWN: 2;
			public getRatingStyle(): number;
			public isRated(): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public static newUnratedRating(ratingStyle: number): any;
			public getStarRating(): number;
			public static newPercentageRating(percent: number): any;
			public toString(): string;
			public isThumbUp(): boolean;
			public static newStarRating(starRatingStyle: number, starRating: number): any;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static newHeartRating(hasHeart: boolean): any;
			public hasHeart(): boolean;
			public static newThumbRating(thumbIsUp: boolean): any;
			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: 64;
			public static FLAG_KEY_MEDIA_NEXT: 128;
			public static FLAG_KEY_MEDIA_PAUSE: 16;
			public static FLAG_KEY_MEDIA_PLAY: 4;
			public static FLAG_KEY_MEDIA_PLAY_PAUSE: 8;
			public static FLAG_KEY_MEDIA_POSITION_UPDATE: 256;
			public static FLAG_KEY_MEDIA_PREVIOUS: 1;
			public static FLAG_KEY_MEDIA_RATING: 512;
			public static FLAG_KEY_MEDIA_REWIND: 2;
			public static FLAG_KEY_MEDIA_STOP: 32;
			public static PLAYSTATE_BUFFERING: 8;
			public static PLAYSTATE_ERROR: 9;
			public static PLAYSTATE_FAST_FORWARDING: 4;
			public static PLAYSTATE_PAUSED: 2;
			public static PLAYSTATE_PLAYING: 3;
			public static PLAYSTATE_REWINDING: 5;
			public static PLAYSTATE_SKIPPING_BACKWARDS: 7;
			public static PLAYSTATE_SKIPPING_FORWARDS: 6;
			public static PLAYSTATE_STOPPED: 1;
			/** @deprecated */
			public setMetadataUpdateListener(l: android.media.RemoteControlClient.OnMetadataUpdateListener): void;
			/** @deprecated */
			public setOnGetPlaybackPositionListener(l: android.media.RemoteControlClient.OnGetPlaybackPositionListener): void;
			/** @deprecated */
			public getMediaSession(): any;
			/** @deprecated */
			public setPlaybackState(state: number, timeInMs: number, playbackSpeed: number): void;
			/** @deprecated */
			public setPlaybackPositionUpdateListener(l: android.media.RemoteControlClient.OnPlaybackPositionUpdateListener): void;
			/** @deprecated */
			public constructor(mediaButtonIntent: android.app.PendingIntent, looper: android.os.Looper);
			/** @deprecated */
			public constructor(mediaButtonIntent: android.app.PendingIntent);
			/** @deprecated */
			public setPlaybackState(state: number): void;
			/** @deprecated */
			public editMetadata(startEmpty: boolean): android.media.RemoteControlClient.MetadataEditor;
			/** @deprecated */
			public setTransportControlFlags(transportControlFlags: number): 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: 100;
				/** @deprecated */
				public putString(key: number, value: string): android.media.MediaMetadataEditor;
				/** @deprecated */
				public putBitmap(key: number, bitmap: android.graphics.Bitmap): android.media.RemoteControlClient.MetadataEditor;
				/** @deprecated */
				public putObject(key: number, object: any): android.media.RemoteControlClient.MetadataEditor;
				/** @deprecated */
				public putObject(key: number, value: any): android.media.MediaMetadataEditor;
				/** @deprecated */
				public apply(): void;
				/** @deprecated */
				public clone(): any;
				/** @deprecated */
				public putString(key: number, value: string): android.media.RemoteControlClient.MetadataEditor;
				/** @deprecated */
				public putLong(key: number, value: number): android.media.RemoteControlClient.MetadataEditor;
				/** @deprecated */
				public putBitmap(key: number, bitmap: android.graphics.Bitmap): android.media.MediaMetadataEditor;
				/** @deprecated */
				public clear(): void;
				/** @deprecated */
				public putLong(key: number, value: number): android.media.MediaMetadataEditor;
			}
			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();
				/** @deprecated */
				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();
				/** @deprecated */
				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();
				/** @deprecated */
				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: 1;
			public static POSITION_SYNCHRONIZATION_NONE: 0;
			/** @deprecated */
			public constructor(context: android.content.Context, updateListener: android.media.RemoteController.OnClientUpdateListener);
			/** @deprecated */
			public getEstimatedMediaPosition(): number;
			/** @deprecated */
			public setSynchronizationMode(sync: number): boolean;
			/** @deprecated */
			public editMetadata(): android.media.RemoteController.MetadataEditor;
			/** @deprecated */
			public setArtworkConfiguration(width: number, height: number): boolean;
			/** @deprecated */
			public sendMediaKeyEvent(keyEvent: android.view.KeyEvent): boolean;
			/** @deprecated */
			public clearArtworkConfiguration(): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, updateListener: android.media.RemoteController.OnClientUpdateListener, looper: android.os.Looper);
			/** @deprecated */
			public seekTo(timeMs: number): boolean;
		}
		export module RemoteController {
			export class MetadataEditor extends android.media.MediaMetadataEditor {
				public static class: java.lang.Class<android.media.RemoteController.MetadataEditor>;
				/** @deprecated */
				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();
				/** @deprecated */
				public onClientChange(param0: boolean): void;
				/** @deprecated */
				public onClientPlaybackStateUpdate(param0: number, param1: number, param2: number, param3: number): void;
				/** @deprecated */
				public onClientTransportControlUpdate(param0: number): void;
				/** @deprecated */
				public onClientMetadataUpdate(param0: android.media.RemoteController.MetadataEditor): void;
				/** @deprecated */
				public onClientPlaybackStateUpdate(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 getOemError(): number;
			public getVendorError(): number;
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getErrorContext(): number;
		}
	}
}

declare module android {
	export module media {
		export class Ringtone extends java.lang.Object {
			public static class: java.lang.Class<android.media.Ringtone>;
			public setVolume(volume: number): void;
			/** @deprecated */
			public setStreamType(streamType: number): void;
			public setAudioAttributes(attributes: any): void;
			public getVolume(): number;
			public setLooping(looping: boolean): void;
			public isPlaying(): boolean;
			public getTitle(context: android.content.Context): string;
			/** @deprecated */
			public getStreamType(): number;
			public isLooping(): boolean;
			public setHapticGeneratorEnabled(enabled: boolean): boolean;
			public stop(): void;
			public play(): void;
			public isHapticGeneratorEnabled(): boolean;
			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: "android.intent.action.RINGTONE_PICKER";
			public static EXTRA_RINGTONE_DEFAULT_URI: "android.intent.extra.ringtone.DEFAULT_URI";
			public static EXTRA_RINGTONE_EXISTING_URI: "android.intent.extra.ringtone.EXISTING_URI";
			public static EXTRA_RINGTONE_INCLUDE_DRM: "android.intent.extra.ringtone.INCLUDE_DRM";
			public static EXTRA_RINGTONE_PICKED_URI: "android.intent.extra.ringtone.PICKED_URI";
			public static EXTRA_RINGTONE_SHOW_DEFAULT: "android.intent.extra.ringtone.SHOW_DEFAULT";
			public static EXTRA_RINGTONE_SHOW_SILENT: "android.intent.extra.ringtone.SHOW_SILENT";
			public static EXTRA_RINGTONE_TITLE: "android.intent.extra.ringtone.TITLE";
			public static EXTRA_RINGTONE_TYPE: "android.intent.extra.ringtone.TYPE";
			public static ID_COLUMN_INDEX: 0;
			public static TITLE_COLUMN_INDEX: 1;
			public static TYPE_ALARM: 4;
			public static TYPE_ALL: 7;
			public static TYPE_NOTIFICATION: 2;
			public static TYPE_RINGTONE: 1;
			public static URI_COLUMN_INDEX: 2;
			public inferStreamType(): number;
			public static getActualDefaultRingtoneUri(context: android.content.Context, type: number): android.net.Uri;
			public getRingtoneUri(position: number): android.net.Uri;
			public static getValidRingtoneUri(context: android.content.Context): android.net.Uri;
			public static setActualDefaultRingtoneUri(context: android.content.Context, type: number, ringtoneUri: android.net.Uri): void;
			public static isDefault(ringtoneUri: android.net.Uri): boolean;
			public static openDefaultRingtoneUri(context: android.content.Context, uri: android.net.Uri): android.content.res.AssetFileDescriptor;
			/** @deprecated */
			public getIncludeDrm(): boolean;
			public static getDefaultUri(type: number): android.net.Uri;
			public getRingtonePosition(ringtoneUri: android.net.Uri): number;
			/** @deprecated */
			public setIncludeDrm(includeDrm: boolean): void;
			public constructor(activity: android.app.Activity);
			public setStopPreviousRingtone(stopPreviousRingtone: boolean): void;
			public constructor(context: android.content.Context);
			public static getDefaultType(defaultRingtoneUri: android.net.Uri): number;
			public stopPreviousRingtone(): void;
			public static getRingtone(context: android.content.Context, ringtoneUri: android.net.Uri): android.media.Ringtone;
			public getCursor(): android.database.Cursor;
			public setType(type: number): void;
			public getStopPreviousRingtone(): boolean;
			public static hasHapticChannels(ringtoneUri: android.net.Uri): boolean;
			public static hasHapticChannels(context: android.content.Context, ringtoneUri: android.net.Uri): boolean;
			public getRingtone(position: number): android.media.Ringtone;
			public hasHapticChannels(position: number): boolean;
		}
	}
}

declare module android {
	export module media {
		export class RouteDiscoveryPreference extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.RouteDiscoveryPreference>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.RouteDiscoveryPreference>;
			public toString(): string;
			public shouldPerformActiveScan(): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPreferredFeatures(): java.util.List<string>;
			public hashCode(): number;
		}
		export module RouteDiscoveryPreference {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.RouteDiscoveryPreference.Builder>;
				public constructor(preferredFeatures: java.util.List<string>, activeScan: boolean);
				public setShouldPerformActiveScan(activeScan: boolean): android.media.RouteDiscoveryPreference.Builder;
				public build(): android.media.RouteDiscoveryPreference;
				public constructor(preference: android.media.RouteDiscoveryPreference);
				public setPreferredFeatures(preferredFeatures: java.util.List<string>): android.media.RouteDiscoveryPreference.Builder;
			}
		}
	}
}

declare module android {
	export module media {
		export class RouteListingPreference extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.RouteListingPreference>;
			public static ACTION_TRANSFER_MEDIA: "android.media.action.TRANSFER_MEDIA";
			public static CREATOR: android.os.Parcelable.Creator<android.media.RouteListingPreference>;
			public static EXTRA_ROUTE_ID: "android.media.extra.ROUTE_ID";
			public equals(other: any): boolean;
			public getItems(): java.util.List<android.media.RouteListingPreference.Item>;
			public getUseSystemOrdering(): boolean;
			public getLinkedItemComponentName(): android.content.ComponentName;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module RouteListingPreference {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.RouteListingPreference.Builder>;
				public setLinkedItemComponentName(linkedItemComponentName: android.content.ComponentName): android.media.RouteListingPreference.Builder;
				public setItems(items: java.util.List<android.media.RouteListingPreference.Item>): android.media.RouteListingPreference.Builder;
				public setUseSystemOrdering(useSystemOrdering: boolean): android.media.RouteListingPreference.Builder;
				public build(): android.media.RouteListingPreference;
				public constructor();
			}
			export class Item extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.RouteListingPreference.Item>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.RouteListingPreference.Item>;
				public static FLAG_ONGOING_SESSION: 1;
				public static FLAG_ONGOING_SESSION_MANAGED: 2;
				public static FLAG_SUGGESTED: 4;
				public static SELECTION_BEHAVIOR_GO_TO_APP: 2;
				public static SELECTION_BEHAVIOR_NONE: 0;
				public static SELECTION_BEHAVIOR_TRANSFER: 1;
				public static SUBTEXT_AD_ROUTING_DISALLOWED: 4;
				public static SUBTEXT_CUSTOM: 10000;
				public static SUBTEXT_DEVICE_LOW_POWER: 5;
				public static SUBTEXT_DOWNLOADED_CONTENT_ROUTING_DISALLOWED: 3;
				public static SUBTEXT_ERROR_UNKNOWN: 1;
				public static SUBTEXT_NONE: 0;
				public static SUBTEXT_SUBSCRIPTION_REQUIRED: 2;
				public static SUBTEXT_TRACK_UNSUPPORTED: 7;
				public static SUBTEXT_UNAUTHORIZED: 6;
				public getSubText(): number;
				public getRouteId(): string;
				public equals(other: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getCustomSubtextMessage(): string;
				public describeContents(): number;
				public getSelectionBehavior(): number;
				public getFlags(): number;
			}
			export module Item {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.RouteListingPreference.Item.Builder>;
					public constructor(routeId: string);
					public setSubText(subText: number): android.media.RouteListingPreference.Item.Builder;
					public setCustomSubtextMessage(customSubtextMessage: string): android.media.RouteListingPreference.Item.Builder;
					public setFlags(flags: number): android.media.RouteListingPreference.Item.Builder;
					public build(): android.media.RouteListingPreference.Item;
					public setSelectionBehavior(selectionBehavior: number): android.media.RouteListingPreference.Item.Builder;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export class RoutingSessionInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.RoutingSessionInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.RoutingSessionInfo>;
			public static TRANSFER_REASON_APP: 2;
			public static TRANSFER_REASON_FALLBACK: 0;
			public static TRANSFER_REASON_SYSTEM_REQUEST: 1;
			public getVolumeMax(): number;
			public getTransferableRoutes(): java.util.List<string>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getTransferReason(): number;
			public getClientPackageName(): string;
			public getVolume(): number;
			public getControlHints(): android.os.Bundle;
			public getVolumeHandling(): number;
			public getDeselectableRoutes(): java.util.List<string>;
			public getId(): string;
			public getSelectedRoutes(): java.util.List<string>;
			public getSelectableRoutes(): java.util.List<string>;
			public toString(): string;
			public getName(): string;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module RoutingSessionInfo {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.RoutingSessionInfo.Builder>;
				public setVolumeMax(volumeMax: number): android.media.RoutingSessionInfo.Builder;
				public setControlHints(controlHints: android.os.Bundle): android.media.RoutingSessionInfo.Builder;
				public constructor(id: string, clientPackageName: string);
				public setName(name: string): android.media.RoutingSessionInfo.Builder;
				public removeDeselectableRoute(routeId: string): android.media.RoutingSessionInfo.Builder;
				public addTransferableRoute(routeId: string): android.media.RoutingSessionInfo.Builder;
				public constructor(sessionInfo: android.media.RoutingSessionInfo);
				public clearDeselectableRoutes(): android.media.RoutingSessionInfo.Builder;
				public build(): android.media.RoutingSessionInfo;
				public removeSelectedRoute(routeId: string): android.media.RoutingSessionInfo.Builder;
				public addSelectedRoute(routeId: string): android.media.RoutingSessionInfo.Builder;
				public clearSelectableRoutes(): android.media.RoutingSessionInfo.Builder;
				public setVolume(volume: number): android.media.RoutingSessionInfo.Builder;
				public addDeselectableRoute(routeId: string): android.media.RoutingSessionInfo.Builder;
				public setVolumeHandling(volumeHandling: number): android.media.RoutingSessionInfo.Builder;
				public setTransferReason(transferReason: number): android.media.RoutingSessionInfo.Builder;
				public clearSelectedRoutes(): android.media.RoutingSessionInfo.Builder;
				public setTransferInitiator(transferInitiatorUserHandle: android.os.UserHandle, transferInitiatorPackageName: string): android.media.RoutingSessionInfo.Builder;
				public removeSelectableRoute(routeId: string): android.media.RoutingSessionInfo.Builder;
				public addSelectableRoute(routeId: string): android.media.RoutingSessionInfo.Builder;
				public removeTransferableRoute(routeId: string): android.media.RoutingSessionInfo.Builder;
				public clearTransferableRoutes(): android.media.RoutingSessionInfo.Builder;
			}
		}
	}
}

declare module android {
	export module media {
		export class Session2Command extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.Session2Command>;
			public static COMMAND_CODE_CUSTOM: 0;
			public static CREATOR: android.os.Parcelable.Creator<android.media.Session2Command>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(obj: any): boolean;
			public constructor(action: string, extras: android.os.Bundle);
			public getCommandCode(): number;
			public describeContents(): number;
			public getCustomAction(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCustomExtras(): android.os.Bundle;
			public constructor(commandCode: number);
			public hashCode(): number;
		}
		export module Session2Command {
			export class Result extends java.lang.Object {
				public static class: java.lang.Class<android.media.Session2Command.Result>;
				public static RESULT_ERROR_UNKNOWN_ERROR: -1;
				public static RESULT_INFO_SKIPPED: 1;
				public static RESULT_SUCCESS: 0;
				public constructor(resultCode: number, resultData: android.os.Bundle);
				public getResultData(): android.os.Bundle;
				public getResultCode(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export class Session2CommandGroup extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.Session2CommandGroup>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.Session2CommandGroup>;
			public hasCommand(command: android.media.Session2Command): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getCommands(): java.util.Set<android.media.Session2Command>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasCommand(commandCode: number): boolean;
		}
		export module Session2CommandGroup {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.Session2CommandGroup.Builder>;
				public constructor(commandGroup: android.media.Session2CommandGroup);
				public addCommand(command: android.media.Session2Command): android.media.Session2CommandGroup.Builder;
				public removeCommand(command: android.media.Session2Command): android.media.Session2CommandGroup.Builder;
				public constructor();
				public build(): android.media.Session2CommandGroup;
			}
		}
	}
}

declare module android {
	export module media {
		export class Session2Token extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.Session2Token>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.Session2Token>;
			public static TYPE_SESSION: 0;
			public static TYPE_SESSION_SERVICE: 1;
			public constructor(context: android.content.Context, serviceComponent: android.content.ComponentName);
			public getUid(): number;
			public getType(): number;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public getPackageName(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getServiceName(): string;
			public getExtras(): android.os.Bundle;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module media {
		export class SoundPool extends java.lang.Object {
			public static class: java.lang.Class<android.media.SoundPool>;
			public play(soundID: number, leftVolume: number, rightVolume: number, priority: number, loop: number, rate: number): number;
			public setRate(param0: number, param1: number): void;
			public unload(param0: number): boolean;
			public stop(param0: number): void;
			public setPriority(param0: number, param1: number): void;
			public load(afd: android.content.res.AssetFileDescriptor, priority: number): number;
			public autoPause(): void;
			public setVolume(streamID: number, leftVolume: number, rightVolume: number): void;
			public resume(param0: number): void;
			public setOnLoadCompleteListener(listener: android.media.SoundPool.OnLoadCompleteListener): void;
			public load(context: android.content.Context, resId: number, priority: number): number;
			public pause(param0: number): void;
			public setLoop(param0: number, param1: number): void;
			public autoResume(): void;
			public load(path: string, priority: number): number;
			/** @deprecated */
			public constructor(maxStreams: number, streamType: number, srcQuality: number);
			public release(): void;
			public finalize(): void;
			public load(fd: java.io.FileDescriptor, offset: number, length: number, priority: number): number;
		}
		export module SoundPool {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.SoundPool.Builder>;
				public setContext(context: android.content.Context): android.media.SoundPool.Builder;
				public setAudioSessionId(sessionId: number): android.media.SoundPool.Builder;
				public build(): android.media.SoundPool;
				public setAudioAttributes(attributes: any): android.media.SoundPool.Builder;
				public setMaxStreams(maxStreams: number): android.media.SoundPool.Builder;
				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 Spatializer extends java.lang.Object {
			public static class: java.lang.Class<android.media.Spatializer>;
			public static SPATIALIZER_IMMERSIVE_LEVEL_MULTICHANNEL: 1;
			public static SPATIALIZER_IMMERSIVE_LEVEL_NONE: 0;
			public static SPATIALIZER_IMMERSIVE_LEVEL_OTHER: -1;
			public canBeSpatialized(attributes: any, format: android.media.AudioFormat): boolean;
			public isEnabled(): boolean;
			public addOnHeadTrackerAvailableListener(executor: java.util.concurrent.Executor, listener: android.media.Spatializer.OnHeadTrackerAvailableListener): void;
			public addOnSpatializerStateChangedListener(executor: java.util.concurrent.Executor, listener: android.media.Spatializer.OnSpatializerStateChangedListener): void;
			public isHeadTrackerAvailable(): boolean;
			public removeOnHeadTrackerAvailableListener(listener: android.media.Spatializer.OnHeadTrackerAvailableListener): void;
			public isAvailable(): boolean;
			public getImmersiveAudioLevel(): number;
			public removeOnSpatializerStateChangedListener(listener: android.media.Spatializer.OnSpatializerStateChangedListener): void;
		}
		export module Spatializer {
			export class OnHeadTrackerAvailableListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.Spatializer.OnHeadTrackerAvailableListener>;
				/**
				 * Constructs a new instance of the android.media.Spatializer$OnHeadTrackerAvailableListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onHeadTrackerAvailableChanged(param0: android.media.Spatializer, param1: boolean): void;
				});
				public constructor();
				public onHeadTrackerAvailableChanged(param0: android.media.Spatializer, param1: boolean): void;
			}
			export class OnSpatializerStateChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.Spatializer.OnSpatializerStateChangedListener>;
				/**
				 * Constructs a new instance of the android.media.Spatializer$OnSpatializerStateChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSpatializerEnabledChanged(param0: android.media.Spatializer, param1: boolean): void;
					onSpatializerAvailableChanged(param0: android.media.Spatializer, param1: boolean): void;
				});
				public constructor();
				public onSpatializerAvailableChanged(param0: android.media.Spatializer, param1: boolean): void;
				public onSpatializerEnabledChanged(param0: android.media.Spatializer, param1: boolean): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class SubtitleData extends java.lang.Object {
			public static class: java.lang.Class<android.media.SubtitleData>;
			public getTrackIndex(): number;
			public getStartTimeUs(): number;
			public getData(): androidNative.Array<number>;
			public constructor(trackIndex: number, startTimeUs: number, durationUs: number, data: androidNative.Array<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: 0;
			public static AUDIO_ADJUST_MODE_RESAMPLE: 2;
			public static AUDIO_ADJUST_MODE_STRETCH: 1;
			public static SYNC_SOURCE_AUDIO: 2;
			public static SYNC_SOURCE_DEFAULT: 0;
			public static SYNC_SOURCE_SYSTEM_CLOCK: 1;
			public static SYNC_SOURCE_VSYNC: 3;
			public allowDefaults(): android.media.SyncParams;
			public setAudioAdjustMode(audioAdjustMode: number): android.media.SyncParams;
			public setFrameRate(frameRate: number): android.media.SyncParams;
			public getSyncSource(): number;
			public getAudioAdjustMode(): number;
			public getTolerance(): number;
			public setSyncSource(syncSource: number): android.media.SyncParams;
			public getFrameRate(): number;
			public constructor();
			public setTolerance(tolerance: 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: 2;
			public static createAudioThumbnail(file: java.io.File, size: any, signal: android.os.CancellationSignal): android.graphics.Bitmap;
			public static createImageThumbnail(file: java.io.File, size: any, signal: android.os.CancellationSignal): android.graphics.Bitmap;
			public static extractThumbnail(source: android.graphics.Bitmap, width: number, height: number, options: number): android.graphics.Bitmap;
			public static createVideoThumbnail(file: java.io.File, size: any, signal: android.os.CancellationSignal): android.graphics.Bitmap;
			/** @deprecated */
			public static createAudioThumbnail(filePath: string, kind: number): android.graphics.Bitmap;
			public constructor();
			/** @deprecated */
			public static createImageThumbnail(filePath: string, kind: number): android.graphics.Bitmap;
			/** @deprecated */
			public static createVideoThumbnail(filePath: string, kind: number): android.graphics.Bitmap;
			public static extractThumbnail(source: android.graphics.Bitmap, width: number, height: number): android.graphics.Bitmap;
		}
	}
}

declare module android {
	export module media {
		export class TimedMetaData extends java.lang.Object {
			public static class: java.lang.Class<android.media.TimedMetaData>;
			public getMetaData(): androidNative.Array<number>;
			public getTimestamp(): number;
			public constructor(timestampUs: number, metaData: androidNative.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: 100;
			public static MIN_VOLUME: 0;
			public static TONE_CDMA_ABBR_ALERT: 97;
			public static TONE_CDMA_ABBR_INTERCEPT: 37;
			public static TONE_CDMA_ABBR_REORDER: 39;
			public static TONE_CDMA_ALERT_AUTOREDIAL_LITE: 87;
			public static TONE_CDMA_ALERT_CALL_GUARD: 93;
			public static TONE_CDMA_ALERT_INCALL_LITE: 91;
			public static TONE_CDMA_ALERT_NETWORK_LITE: 86;
			public static TONE_CDMA_ANSWER: 42;
			public static TONE_CDMA_CALLDROP_LITE: 95;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP: 46;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL: 45;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PAT3: 48;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PAT5: 50;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PAT6: 51;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PAT7: 52;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING: 49;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI: 47;
			public static TONE_CDMA_CONFIRM: 41;
			public static TONE_CDMA_DIAL_TONE_LITE: 34;
			public static TONE_CDMA_EMERGENCY_RINGBACK: 92;
			public static TONE_CDMA_HIGH_L: 53;
			public static TONE_CDMA_HIGH_PBX_L: 71;
			public static TONE_CDMA_HIGH_PBX_SLS: 80;
			public static TONE_CDMA_HIGH_PBX_SS: 74;
			public static TONE_CDMA_HIGH_PBX_SSL: 77;
			public static TONE_CDMA_HIGH_PBX_S_X4: 83;
			public static TONE_CDMA_HIGH_SLS: 65;
			public static TONE_CDMA_HIGH_SS: 56;
			public static TONE_CDMA_HIGH_SSL: 59;
			public static TONE_CDMA_HIGH_SS_2: 62;
			public static TONE_CDMA_HIGH_S_X4: 68;
			public static TONE_CDMA_INTERCEPT: 36;
			public static TONE_CDMA_KEYPAD_VOLUME_KEY_LITE: 89;
			public static TONE_CDMA_LOW_L: 55;
			public static TONE_CDMA_LOW_PBX_L: 73;
			public static TONE_CDMA_LOW_PBX_SLS: 82;
			public static TONE_CDMA_LOW_PBX_SS: 76;
			public static TONE_CDMA_LOW_PBX_SSL: 79;
			public static TONE_CDMA_LOW_PBX_S_X4: 85;
			public static TONE_CDMA_LOW_SLS: 67;
			public static TONE_CDMA_LOW_SS: 58;
			public static TONE_CDMA_LOW_SSL: 61;
			public static TONE_CDMA_LOW_SS_2: 64;
			public static TONE_CDMA_LOW_S_X4: 70;
			public static TONE_CDMA_MED_L: 54;
			public static TONE_CDMA_MED_PBX_L: 72;
			public static TONE_CDMA_MED_PBX_SLS: 81;
			public static TONE_CDMA_MED_PBX_SS: 75;
			public static TONE_CDMA_MED_PBX_SSL: 78;
			public static TONE_CDMA_MED_PBX_S_X4: 84;
			public static TONE_CDMA_MED_SLS: 66;
			public static TONE_CDMA_MED_SS: 57;
			public static TONE_CDMA_MED_SSL: 60;
			public static TONE_CDMA_MED_SS_2: 63;
			public static TONE_CDMA_MED_S_X4: 69;
			public static TONE_CDMA_NETWORK_BUSY: 40;
			public static TONE_CDMA_NETWORK_BUSY_ONE_SHOT: 96;
			public static TONE_CDMA_NETWORK_CALLWAITING: 43;
			public static TONE_CDMA_NETWORK_USA_RINGBACK: 35;
			public static TONE_CDMA_ONE_MIN_BEEP: 88;
			public static TONE_CDMA_PIP: 44;
			public static TONE_CDMA_PRESSHOLDKEY_LITE: 90;
			public static TONE_CDMA_REORDER: 38;
			public static TONE_CDMA_SIGNAL_OFF: 98;
			public static TONE_CDMA_SOFT_ERROR_LITE: 94;
			public static TONE_DTMF_0: 0;
			public static TONE_DTMF_1: 1;
			public static TONE_DTMF_2: 2;
			public static TONE_DTMF_3: 3;
			public static TONE_DTMF_4: 4;
			public static TONE_DTMF_5: 5;
			public static TONE_DTMF_6: 6;
			public static TONE_DTMF_7: 7;
			public static TONE_DTMF_8: 8;
			public static TONE_DTMF_9: 9;
			public static TONE_DTMF_A: 12;
			public static TONE_DTMF_B: 13;
			public static TONE_DTMF_C: 14;
			public static TONE_DTMF_D: 15;
			public static TONE_DTMF_P: 11;
			public static TONE_DTMF_S: 10;
			public static TONE_PROP_ACK: 25;
			public static TONE_PROP_BEEP: 24;
			public static TONE_PROP_BEEP2: 28;
			public static TONE_PROP_NACK: 26;
			public static TONE_PROP_PROMPT: 27;
			public static TONE_SUP_BUSY: 17;
			public static TONE_SUP_CALL_WAITING: 22;
			public static TONE_SUP_CONFIRM: 32;
			public static TONE_SUP_CONGESTION: 18;
			public static TONE_SUP_CONGESTION_ABBREV: 31;
			public static TONE_SUP_DIAL: 16;
			public static TONE_SUP_ERROR: 21;
			public static TONE_SUP_INTERCEPT: 29;
			public static TONE_SUP_INTERCEPT_ABBREV: 30;
			public static TONE_SUP_PIP: 33;
			public static TONE_SUP_RADIO_ACK: 19;
			public static TONE_SUP_RADIO_NOTAVAIL: 20;
			public static TONE_SUP_RINGTONE: 23;
			public getAudioSessionId(): number;
			public startTone(toneType: number): boolean;
			public constructor(streamType: number, volume: number);
			public startTone(param0: number, param1: number): boolean;
			public stopTone(): void;
			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 getOemError(): number;
			public getVendorError(): number;
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getErrorContext(): number;
		}
	}
}

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: 2;
			public static VOLUME_CONTROL_FIXED: 0;
			public static VOLUME_CONTROL_RELATIVE: 1;
			public onSetVolumeTo(volume: number): void;
			public onAdjustVolume(direction: number): void;
			public constructor(volumeControl: number, maxVolume: number, currentVolume: number);
			public getVolumeControl(): number;
			public constructor(volumeControl: number, maxVolume: number, currentVolume: number, volumeControlId: string);
			public getMaxVolume(): number;
			public getCurrentVolume(): number;
			public setCurrentVolume(currentVolume: number): void;
			public getVolumeControlId(): string;
		}
	}
}

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(configuration: android.media.VolumeShaper.Configuration, operation: android.media.VolumeShaper.Operation, join: boolean): void;
			public getVolume(): number;
			public close(): void;
			public finalize(): void;
			public apply(operation: android.media.VolumeShaper.Operation): 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: 2;
				public static INTERPOLATOR_TYPE_CUBIC_MONOTONIC: 3;
				public static INTERPOLATOR_TYPE_LINEAR: 1;
				public static INTERPOLATOR_TYPE_STEP: 0;
				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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTimes(): androidNative.Array<number>;
				public getInterpolatorType(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDuration(): number;
				public describeContents(): number;
				public static getMaximumCurvePoints(): number;
				public equals(o: any): boolean;
				public getVolumes(): androidNative.Array<number>;
				public toString(): string;
			}
			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 constructor(configuration: android.media.VolumeShaper.Configuration);
					public setDuration(durationMillis: number): android.media.VolumeShaper.Configuration.Builder;
					public constructor();
					public scaleToEndVolume(volume: number): android.media.VolumeShaper.Configuration.Builder;
					public setCurve(times: androidNative.Array<number>, volumes: androidNative.Array<number>): android.media.VolumeShaper.Configuration.Builder;
					public setInterpolatorType(interpolatorType: number): android.media.VolumeShaper.Configuration.Builder;
					public reflectTimes(): android.media.VolumeShaper.Configuration.Builder;
					public scaleToStartVolume(volume: 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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				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 isAvailable(): boolean;
				public static create(audioSession: number): android.media.audiofx.AcousticEchoCanceler;
			}
		}
	}
}

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: "android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION";
				public static ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL: "android.media.action.DISPLAY_AUDIO_EFFECT_CONTROL_PANEL";
				public static ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION: "android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION";
				public static ALREADY_EXISTS: -2;
				public static CONTENT_TYPE_GAME: 2;
				public static CONTENT_TYPE_MOVIE: 1;
				public static CONTENT_TYPE_MUSIC: 0;
				public static CONTENT_TYPE_VOICE: 3;
				public static EFFECT_AUXILIARY: "Auxiliary";
				public static EFFECT_INSERT: "Insert";
				public static EFFECT_POST_PROCESSING: "Post Processing";
				public static EFFECT_PRE_PROCESSING: "Pre Processing";
				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_HAPTIC_GENERATOR: 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: -1;
				public static ERROR_BAD_VALUE: -4;
				public static ERROR_DEAD_OBJECT: -7;
				public static ERROR_INVALID_OPERATION: -5;
				public static ERROR_NO_INIT: -3;
				public static ERROR_NO_MEMORY: -6;
				public static EXTRA_AUDIO_SESSION: "android.media.extra.AUDIO_SESSION";
				public static EXTRA_CONTENT_TYPE: "android.media.extra.CONTENT_TYPE";
				public static EXTRA_PACKAGE_NAME: "android.media.extra.PACKAGE_NAME";
				public static SUCCESS: 0;
				public release(): void;
				public hasControl(): boolean;
				public setControlStatusListener(listener: android.media.audiofx.AudioEffect.OnControlStatusChangeListener): void;
				public getId(): number;
				public getEnabled(): boolean;
				public finalize(): void;
				public getDescriptor(): android.media.audiofx.AudioEffect.Descriptor;
				public setEnabled(enabled: boolean): number;
				public setEnableStatusListener(listener: android.media.audiofx.AudioEffect.OnEnableStatusChangeListener): void;
				public static queryEffects(): androidNative.Array<android.media.audiofx.AudioEffect.Descriptor>;
			}
			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();
					public hashCode(): number;
					public equals(o: any): boolean;
					public constructor(type: string, uuid: string, connectMode: string, name: string, implementor: string);
				}
				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(audioSession: 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: 1;
				public static PARAM_STRENGTH_SUPPORTED: 0;
				public setProperties(settings: android.media.audiofx.BassBoost.Settings): void;
				public constructor(priority: number, audioSession: number);
				public getProperties(): android.media.audiofx.BassBoost.Settings;
				public getRoundedStrength(): number;
				public setParameterListener(listener: android.media.audiofx.BassBoost.OnParameterChangeListener): void;
				public getStrengthSupported(): boolean;
				public setStrength(strength: number): void;
			}
			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(settings: 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: 0;
				public static VARIANT_FAVOR_TIME_RESOLUTION: 1;
				public setMbcBandByChannelIndex(channelIndex: number, band: number, mbcBand: android.media.audiofx.DynamicsProcessing.MbcBand): void;
				public setAllChannelsTo(channel: android.media.audiofx.DynamicsProcessing.Channel): void;
				public setPostEqBandAllChannelsTo(band: number, postEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
				public getInputGainByChannelIndex(channelIndex: number): number;
				public getPostEqByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Eq;
				public getChannelByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Channel;
				public setMbcByChannelIndex(channelIndex: number, mbc: android.media.audiofx.DynamicsProcessing.Mbc): void;
				public setMbcBandAllChannelsTo(band: number, mbcBand: android.media.audiofx.DynamicsProcessing.MbcBand): void;
				public getPreEqBandByChannelIndex(channelIndex: number, band: number): android.media.audiofx.DynamicsProcessing.EqBand;
				public constructor(priority: number, audioSession: number, cfg: android.media.audiofx.DynamicsProcessing.Config);
				public setPreEqBandByChannelIndex(channelIndex: number, band: number, preEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
				public getLimiterByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Limiter;
				public getConfig(): android.media.audiofx.DynamicsProcessing.Config;
				public setPreEqByChannelIndex(channelIndex: number, preEq: android.media.audiofx.DynamicsProcessing.Eq): void;
				public setPostEqBandByChannelIndex(channelIndex: number, band: number, postEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
				public setPreEqBandAllChannelsTo(band: number, preEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
				public getPostEqBandByChannelIndex(channelIndex: number, band: number): android.media.audiofx.DynamicsProcessing.EqBand;
				public setMbcAllChannelsTo(mbc: android.media.audiofx.DynamicsProcessing.Mbc): void;
				public setInputGainbyChannel(channelIndex: number, inputGain: number): void;
				public setChannelTo(channelIndex: number, channel: android.media.audiofx.DynamicsProcessing.Channel): void;
				public setLimiterByChannelIndex(channelIndex: number, limiter: android.media.audiofx.DynamicsProcessing.Limiter): void;
				public getMbcByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Mbc;
				public setPreEqAllChannelsTo(preEq: android.media.audiofx.DynamicsProcessing.Eq): void;
				public setPostEqAllChannelsTo(postEq: android.media.audiofx.DynamicsProcessing.Eq): void;
				public constructor(audioSession: number);
				public setInputGainAllChannelsTo(inputGain: number): void;
				public getMbcBandByChannelIndex(channelIndex: number, band: number): android.media.audiofx.DynamicsProcessing.MbcBand;
				public setPostEqByChannelIndex(channelIndex: number, postEq: android.media.audiofx.DynamicsProcessing.Eq): void;
				public getChannelCount(): number;
				public setLimiterAllChannelsTo(limiter: android.media.audiofx.DynamicsProcessing.Limiter): void;
				public getPreEqByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Eq;
			}
			export module DynamicsProcessing {
				export class BandBase extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.BandBase>;
					public toString(): string;
					public isEnabled(): boolean;
					public constructor(enabled: boolean, cutoffFrequency: number);
					public getCutoffFrequency(): number;
					public setCutoffFrequency(frequency: number): void;
					public setEnabled(enabled: boolean): void;
				}
				export class BandStage extends android.media.audiofx.DynamicsProcessing.Stage {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.BandStage>;
					public toString(): string;
					public constructor(inUse: boolean, enabled: boolean);
					public constructor(inUse: boolean, enabled: boolean, bandCount: number);
					public getBandCount(): number;
				}
				export class Channel extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Channel>;
					public getPreEq(): android.media.audiofx.DynamicsProcessing.Eq;
					public getMbc(): android.media.audiofx.DynamicsProcessing.Mbc;
					public getPreEqBand(band: number): android.media.audiofx.DynamicsProcessing.EqBand;
					public getLimiter(): android.media.audiofx.DynamicsProcessing.Limiter;
					public getInputGain(): number;
					public setMbcBand(band: number, mbcBand: android.media.audiofx.DynamicsProcessing.MbcBand): void;
					public getMbcBand(band: number): android.media.audiofx.DynamicsProcessing.MbcBand;
					public setMbc(mbc: android.media.audiofx.DynamicsProcessing.Mbc): void;
					public setPreEq(preEq: android.media.audiofx.DynamicsProcessing.Eq): void;
					public constructor(cfg: android.media.audiofx.DynamicsProcessing.Channel);
					public toString(): string;
					public setLimiter(limiter: android.media.audiofx.DynamicsProcessing.Limiter): void;
					public constructor(inputGain: number, preEqInUse: boolean, preEqBandCount: number, mbcInUse: boolean, mbcBandCount: number, postEqInUse: boolean, postEqBandCount: number, limiterInUse: boolean);
					public setPreEqBand(band: number, preEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setPostEqBand(band: number, postEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setInputGain(inputGain: number): void;
					public getPostEq(): android.media.audiofx.DynamicsProcessing.Eq;
					public getPostEqBand(band: number): android.media.audiofx.DynamicsProcessing.EqBand;
					public setPostEq(postEq: android.media.audiofx.DynamicsProcessing.Eq): void;
				}
				export class Config extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Config>;
					public getPreferredFrameDuration(): number;
					public getMbcByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Mbc;
					public setChannelTo(channelIndex: number, channel: android.media.audiofx.DynamicsProcessing.Channel): void;
					public setPreEqBandByChannelIndex(channelIndex: number, band: number, preEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setPreEqByChannelIndex(channelIndex: number, preEq: android.media.audiofx.DynamicsProcessing.Eq): void;
					public setLimiterByChannelIndex(channelIndex: number, limiter: android.media.audiofx.DynamicsProcessing.Limiter): void;
					public isMbcInUse(): boolean;
					public getPostEqBandByChannelIndex(channelIndex: number, band: number): android.media.audiofx.DynamicsProcessing.EqBand;
					public toString(): string;
					public isPostEqInUse(): boolean;
					public setPostEqAllChannelsTo(postEq: android.media.audiofx.DynamicsProcessing.Eq): void;
					public setPostEqByChannelIndex(channelIndex: number, postEq: android.media.audiofx.DynamicsProcessing.Eq): void;
					public setPreEqAllChannelsTo(preEq: android.media.audiofx.DynamicsProcessing.Eq): void;
					public setAllChannelsTo(channel: android.media.audiofx.DynamicsProcessing.Channel): void;
					public getInputGainByChannelIndex(channelIndex: number): number;
					public setInputGainAllChannelsTo(inputGain: number): void;
					public setMbcBandByChannelIndex(channelIndex: number, band: number, mbcBand: android.media.audiofx.DynamicsProcessing.MbcBand): void;
					public setPostEqBandAllChannelsTo(band: number, postEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public getPreEqByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Eq;
					public getChannelByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Channel;
					public getLimiterByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Limiter;
					public isPreEqInUse(): boolean;
					public getPreEqBandByChannelIndex(channelIndex: number, band: number): android.media.audiofx.DynamicsProcessing.EqBand;
					public isLimiterInUse(): boolean;
					public setMbcBandAllChannelsTo(band: number, mbcBand: android.media.audiofx.DynamicsProcessing.MbcBand): void;
					public getPreEqBandCount(): number;
					public setMbcAllChannelsTo(mbc: android.media.audiofx.DynamicsProcessing.Mbc): void;
					public setPostEqBandByChannelIndex(channelIndex: number, band: number, postEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setInputGainByChannelIndex(channelIndex: number, inputGain: number): void;
					public setPreEqBandAllChannelsTo(band: number, preEqBand: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setMbcByChannelIndex(channelIndex: number, mbc: android.media.audiofx.DynamicsProcessing.Mbc): void;
					public getVariant(): number;
					public getPostEqByChannelIndex(channelIndex: number): android.media.audiofx.DynamicsProcessing.Eq;
					public getPostEqBandCount(): number;
					public getMbcBandCount(): number;
					public getMbcBandByChannelIndex(channelIndex: number, band: number): android.media.audiofx.DynamicsProcessing.MbcBand;
					public setLimiterAllChannelsTo(limiter: android.media.audiofx.DynamicsProcessing.Limiter): void;
				}
				export module Config {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Config.Builder>;
						public setChannelTo(channelIndex: number, channel: android.media.audiofx.DynamicsProcessing.Channel): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setAllChannelsTo(channel: android.media.audiofx.DynamicsProcessing.Channel): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setLimiterByChannelIndex(channelIndex: number, limiter: android.media.audiofx.DynamicsProcessing.Limiter): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setLimiterAllChannelsTo(limiter: android.media.audiofx.DynamicsProcessing.Limiter): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setMbcByChannelIndex(channelIndex: number, mbc: android.media.audiofx.DynamicsProcessing.Mbc): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setPreEqAllChannelsTo(preEq: android.media.audiofx.DynamicsProcessing.Eq): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setMbcAllChannelsTo(mbc: android.media.audiofx.DynamicsProcessing.Mbc): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setInputGainByChannelIndex(channelIndex: number, inputGain: number): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public constructor(variant: number, channelCount: number, preEqInUse: boolean, preEqBandCount: number, mbcInUse: boolean, mbcBandCount: number, postEqInUse: boolean, postEqBandCount: number, limiterInUse: boolean);
						public setPostEqAllChannelsTo(postEq: android.media.audiofx.DynamicsProcessing.Eq): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setPreferredFrameDuration(frameDuration: number): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setInputGainAllChannelsTo(inputGain: number): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public build(): android.media.audiofx.DynamicsProcessing.Config;
						public setPostEqByChannelIndex(channelIndex: number, postEq: android.media.audiofx.DynamicsProcessing.Eq): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setPreEqByChannelIndex(channelIndex: number, preEq: 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 toString(): string;
					public constructor(inUse: boolean, enabled: boolean);
					public constructor(inUse: boolean, enabled: boolean, bandCount: number);
					public constructor(cfg: android.media.audiofx.DynamicsProcessing.Eq);
					public getBand(band: number): android.media.audiofx.DynamicsProcessing.EqBand;
					public setBand(band: number, bandCfg: android.media.audiofx.DynamicsProcessing.EqBand): void;
				}
				export class EqBand extends android.media.audiofx.DynamicsProcessing.BandBase {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.EqBand>;
					public getGain(): number;
					public toString(): string;
					public constructor(cfg: android.media.audiofx.DynamicsProcessing.EqBand);
					public setGain(gain: number): void;
					public constructor(enabled: boolean, cutoffFrequency: number);
					public constructor(enabled: boolean, cutoffFrequency: number, gain: number);
				}
				export class Limiter extends android.media.audiofx.DynamicsProcessing.Stage {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Limiter>;
					public setThreshold(threshold: number): void;
					public constructor(inUse: boolean, enabled: boolean, linkGroup: number, attackTime: number, releaseTime: number, ratio: number, threshold: number, postGain: number);
					public constructor(cfg: android.media.audiofx.DynamicsProcessing.Limiter);
					public getReleaseTime(): number;
					public setLinkGroup(linkGroup: number): void;
					public setAttackTime(attackTime: number): void;
					public getRatio(): number;
					public getThreshold(): number;
					public toString(): string;
					public constructor(inUse: boolean, enabled: boolean);
					public getLinkGroup(): number;
					public setPostGain(postGain: number): void;
					public setRatio(ratio: number): void;
					public getPostGain(): number;
					public getAttackTime(): number;
					public setReleaseTime(releaseTime: number): void;
				}
				export class Mbc extends android.media.audiofx.DynamicsProcessing.BandStage {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Mbc>;
					public toString(): string;
					public constructor(cfg: android.media.audiofx.DynamicsProcessing.Mbc);
					public constructor(inUse: boolean, enabled: boolean);
					public constructor(inUse: boolean, enabled: boolean, bandCount: number);
					public getBand(band: number): android.media.audiofx.DynamicsProcessing.MbcBand;
					public setBand(band: number, bandCfg: android.media.audiofx.DynamicsProcessing.MbcBand): void;
				}
				export class MbcBand extends android.media.audiofx.DynamicsProcessing.BandBase {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.MbcBand>;
					public setThreshold(threshold: number): void;
					public setNoiseGateThreshold(noiseGateThreshold: number): void;
					public getPreGain(): number;
					public setPreGain(preGain: number): void;
					public constructor(cfg: android.media.audiofx.DynamicsProcessing.MbcBand);
					public getExpanderRatio(): number;
					public constructor(enabled: boolean, cutoffFrequency: number);
					public getReleaseTime(): number;
					public getKneeWidth(): number;
					public setAttackTime(attackTime: number): void;
					public getRatio(): number;
					public setKneeWidth(kneeWidth: number): void;
					public getThreshold(): number;
					public constructor(enabled: boolean, cutoffFrequency: number, attackTime: number, releaseTime: number, ratio: number, threshold: number, kneeWidth: number, noiseGateThreshold: number, expanderRatio: number, preGain: number, postGain: number);
					public toString(): string;
					public setPostGain(postGain: number): void;
					public setRatio(ratio: number): void;
					public getNoiseGateThreshold(): number;
					public getPostGain(): number;
					public getAttackTime(): number;
					public setReleaseTime(releaseTime: number): void;
					public setExpanderRatio(expanderRatio: number): void;
				}
				export class Stage extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Stage>;
					public isInUse(): boolean;
					public toString(): string;
					public constructor(inUse: boolean, enabled: boolean);
					public isEnabled(): boolean;
					public setEnabled(enabled: boolean): void;
				}
			}
		}
	}
}

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: 3;
				public static PARAM_DECAY_TIME: 2;
				public static PARAM_DENSITY: 9;
				public static PARAM_DIFFUSION: 8;
				public static PARAM_REFLECTIONS_DELAY: 5;
				public static PARAM_REFLECTIONS_LEVEL: 4;
				public static PARAM_REVERB_DELAY: 7;
				public static PARAM_REVERB_LEVEL: 6;
				public static PARAM_ROOM_HF_LEVEL: 1;
				public static PARAM_ROOM_LEVEL: 0;
				public getRoomHFLevel(): number;
				public setDiffusion(diffusion: number): void;
				public setRoomHFLevel(roomHF: number): void;
				public setReverbDelay(reverbDelay: number): void;
				public setRoomLevel(room: number): void;
				public setDecayHFRatio(decayHFRatio: number): void;
				public setParameterListener(listener: android.media.audiofx.EnvironmentalReverb.OnParameterChangeListener): void;
				public getReflectionsLevel(): number;
				public getReflectionsDelay(): number;
				public setReflectionsDelay(reflectionsDelay: number): void;
				public getDensity(): number;
				public getDecayTime(): number;
				public getProperties(): android.media.audiofx.EnvironmentalReverb.Settings;
				public getRoomLevel(): number;
				public setDensity(density: number): void;
				public setProperties(settings: android.media.audiofx.EnvironmentalReverb.Settings): void;
				public setReflectionsLevel(reflectionsLevel: number): void;
				public getDiffusion(): number;
				public constructor(priority: number, audioSession: number);
				public setDecayTime(decayTime: number): void;
				public getReverbLevel(): number;
				public getReverbDelay(): number;
				public setReverbLevel(reverbLevel: number): void;
				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(settings: 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: 4;
				public static PARAM_BAND_LEVEL: 2;
				public static PARAM_CENTER_FREQ: 3;
				public static PARAM_CURRENT_PRESET: 6;
				public static PARAM_GET_BAND: 5;
				public static PARAM_GET_NUM_OF_PRESETS: 7;
				public static PARAM_GET_PRESET_NAME: 8;
				public static PARAM_LEVEL_RANGE: 1;
				public static PARAM_NUM_BANDS: 0;
				public static PARAM_STRING_SIZE_MAX: 32;
				public getBandLevelRange(): androidNative.Array<number>;
				public setBandLevel(band: number, level: number): void;
				public getBand(frequency: number): number;
				public getBandFreqRange(band: number): androidNative.Array<number>;
				public getProperties(): android.media.audiofx.Equalizer.Settings;
				public getNumberOfBands(): number;
				public usePreset(preset: number): void;
				public getNumberOfPresets(): number;
				public getCenterFreq(band: number): number;
				public getPresetName(preset: number): string;
				public getCurrentPreset(): number;
				public constructor(priority: number, audioSession: number);
				public setProperties(settings: android.media.audiofx.Equalizer.Settings): void;
				public getBandLevel(band: number): number;
				public setParameterListener(listener: android.media.audiofx.Equalizer.OnParameterChangeListener): void;
			}
			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: androidNative.Array<number>;
					public curPreset: number;
					public numBands: number;
					public toString(): string;
					public constructor(settings: string);
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class HapticGenerator extends android.media.audiofx.AudioEffect implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.media.audiofx.HapticGenerator>;
				public close(): void;
				public release(): void;
				public static isAvailable(): boolean;
				public setEnabled(enabled: boolean): number;
				public static create(audioSession: number): android.media.audiofx.HapticGenerator;
			}
		}
	}
}

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: 0;
				public getTargetGain(): number;
				public setTargetGain(gainmB: number): void;
				public constructor(audioSession: number);
			}
		}
	}
}

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 isAvailable(): boolean;
				public static create(audioSession: number): android.media.audiofx.NoiseSuppressor;
			}
		}
	}
}

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: 0;
				public static PRESET_LARGEHALL: 5;
				public static PRESET_LARGEROOM: 3;
				public static PRESET_MEDIUMHALL: 4;
				public static PRESET_MEDIUMROOM: 2;
				public static PRESET_NONE: 0;
				public static PRESET_PLATE: 6;
				public static PRESET_SMALLROOM: 1;
				public getPreset(): number;
				public setPreset(preset: number): void;
				public setParameterListener(listener: android.media.audiofx.PresetReverb.OnParameterChangeListener): void;
				public getProperties(): android.media.audiofx.PresetReverb.Settings;
				public constructor(priority: number, audioSession: number);
				public setProperties(settings: 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(settings: 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: 1;
				public static PARAM_STRENGTH_SUPPORTED: 0;
				public static VIRTUALIZATION_MODE_AUTO: 1;
				public static VIRTUALIZATION_MODE_BINAURAL: 2;
				public static VIRTUALIZATION_MODE_OFF: 0;
				public static VIRTUALIZATION_MODE_TRANSAURAL: 3;
				/** @deprecated */
				public getProperties(): android.media.audiofx.Virtualizer.Settings;
				/** @deprecated */
				public getRoundedStrength(): number;
				/** @deprecated */
				public getSpeakerAngles(inputChannelMask: number, virtualizationMode: number, angles: androidNative.Array<number>): boolean;
				/** @deprecated */
				public setProperties(settings: android.media.audiofx.Virtualizer.Settings): void;
				/** @deprecated */
				public constructor(priority: number, audioSession: number);
				/** @deprecated */
				public getVirtualizationMode(): number;
				/** @deprecated */
				public setParameterListener(listener: android.media.audiofx.Virtualizer.OnParameterChangeListener): void;
				/** @deprecated */
				public setStrength(strength: number): void;
				/** @deprecated */
				public forceVirtualizationMode(virtualizationMode: number): boolean;
				/** @deprecated */
				public canVirtualize(inputChannelMask: number, virtualizationMode: number): boolean;
				/** @deprecated */
				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();
					/** @deprecated */
					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;
					/** @deprecated */
					public constructor(settings: string);
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public toString(): string;
				}
			}
		}
	}
}

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: -2;
				public static ERROR: -1;
				public static ERROR_BAD_VALUE: -4;
				public static ERROR_DEAD_OBJECT: -7;
				public static ERROR_INVALID_OPERATION: -5;
				public static ERROR_NO_INIT: -3;
				public static ERROR_NO_MEMORY: -6;
				public static MEASUREMENT_MODE_NONE: 0;
				public static MEASUREMENT_MODE_PEAK_RMS: 1;
				public static SCALING_MODE_AS_PLAYED: 1;
				public static SCALING_MODE_NORMALIZED: 0;
				public static STATE_ENABLED: 2;
				public static STATE_INITIALIZED: 1;
				public static STATE_UNINITIALIZED: 0;
				public static SUCCESS: 0;
				public release(): void;
				public static getMaxCaptureRate(): number;
				public getMeasurementMode(): number;
				public finalize(): void;
				public setMeasurementMode(mode: number): number;
				public setEnabled(enabled: boolean): number;
				public static getCaptureSizeRange(): androidNative.Array<number>;
				public setCaptureSize(size: number): number;
				public getWaveForm(waveform: androidNative.Array<number>): number;
				public constructor(audioSession: number);
				public getScalingMode(): number;
				public getMeasurementPeakRms(measurement: android.media.audiofx.Visualizer.MeasurementPeakRms): number;
				public getSamplingRate(): number;
				public getEnabled(): boolean;
				public setScalingMode(mode: number): number;
				public getCaptureSize(): number;
				public getFft(fft: androidNative.Array<number>): number;
				public setDataCaptureListener(listener: android.media.audiofx.Visualizer.OnDataCaptureListener, rate: number, waveform: boolean, fft: boolean): 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: androidNative.Array<number>, param2: number): void;
						onFftDataCapture(param0: android.media.audiofx.Visualizer, param1: androidNative.Array<number>, param2: number): void;
					});
					public constructor();
					public onWaveFormDataCapture(param0: android.media.audiofx.Visualizer, param1: androidNative.Array<number>, param2: number): void;
					public onFftDataCapture(param0: android.media.audiofx.Visualizer, param1: androidNative.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 apply(param0: number, param1: number, param2: number, param3: number): void;
				public getName(): string;
				public setParameter(param0: string, param1: any): void;
				public constructor();
				public setUpdateListener(listener: android.media.effect.EffectUpdateListener): void;
			}
		}
	}
}

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: "android.media.effect.effects.AutoFixEffect";
				public static EFFECT_BACKDROPPER: "android.media.effect.effects.BackDropperEffect";
				public static EFFECT_BITMAPOVERLAY: "android.media.effect.effects.BitmapOverlayEffect";
				public static EFFECT_BLACKWHITE: "android.media.effect.effects.BlackWhiteEffect";
				public static EFFECT_BRIGHTNESS: "android.media.effect.effects.BrightnessEffect";
				public static EFFECT_CONTRAST: "android.media.effect.effects.ContrastEffect";
				public static EFFECT_CROP: "android.media.effect.effects.CropEffect";
				public static EFFECT_CROSSPROCESS: "android.media.effect.effects.CrossProcessEffect";
				public static EFFECT_DOCUMENTARY: "android.media.effect.effects.DocumentaryEffect";
				public static EFFECT_DUOTONE: "android.media.effect.effects.DuotoneEffect";
				public static EFFECT_FILLLIGHT: "android.media.effect.effects.FillLightEffect";
				public static EFFECT_FISHEYE: "android.media.effect.effects.FisheyeEffect";
				public static EFFECT_FLIP: "android.media.effect.effects.FlipEffect";
				public static EFFECT_GRAIN: "android.media.effect.effects.GrainEffect";
				public static EFFECT_GRAYSCALE: "android.media.effect.effects.GrayscaleEffect";
				public static EFFECT_LOMOISH: "android.media.effect.effects.LomoishEffect";
				public static EFFECT_NEGATIVE: "android.media.effect.effects.NegativeEffect";
				public static EFFECT_POSTERIZE: "android.media.effect.effects.PosterizeEffect";
				public static EFFECT_REDEYE: "android.media.effect.effects.RedEyeEffect";
				public static EFFECT_ROTATE: "android.media.effect.effects.RotateEffect";
				public static EFFECT_SATURATE: "android.media.effect.effects.SaturateEffect";
				public static EFFECT_SEPIA: "android.media.effect.effects.SepiaEffect";
				public static EFFECT_SHARPEN: "android.media.effect.effects.SharpenEffect";
				public static EFFECT_STRAIGHTEN: "android.media.effect.effects.StraightenEffect";
				public static EFFECT_TEMPERATURE: "android.media.effect.effects.ColorTemperatureEffect";
				public static EFFECT_TINT: "android.media.effect.effects.TintEffect";
				public static EFFECT_VIGNETTE: "android.media.effect.effects.VignetteEffect";
				public createEffect(effectName: string): android.media.effect.Effect;
				public static isEffectSupported(effectName: string): boolean;
			}
		}
	}
}

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 metrics {
			export class BundleSession extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.media.metrics.BundleSession>;
				public static KEY_STATSD_ATOM: "bundlesession-statsd-atom";
				public close(): void;
				public getSessionId(): android.media.metrics.LogSessionId;
				public hashCode(): number;
				public equals(o: any): boolean;
				public reportBundleMetrics(metrics: any): void;
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class EditingEndedEvent extends android.media.metrics.Event implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.metrics.EditingEndedEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.metrics.EditingEndedEvent>;
				public static ERROR_CODE_AUDIO_PROCESSING_FAILED: 18;
				public static ERROR_CODE_DECODER_INIT_FAILED: 11;
				public static ERROR_CODE_DECODING_FAILED: 12;
				public static ERROR_CODE_DECODING_FORMAT_UNSUPPORTED: 13;
				public static ERROR_CODE_ENCODER_INIT_FAILED: 14;
				public static ERROR_CODE_ENCODING_FAILED: 15;
				public static ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED: 16;
				public static ERROR_CODE_FAILED_RUNTIME_CHECK: 2;
				public static ERROR_CODE_IO_BAD_HTTP_STATUS: 6;
				public static ERROR_CODE_IO_CLEARTEXT_NOT_PERMITTED: 9;
				public static ERROR_CODE_IO_FILE_NOT_FOUND: 7;
				public static ERROR_CODE_IO_NETWORK_CONNECTION_FAILED: 4;
				public static ERROR_CODE_IO_NETWORK_CONNECTION_TIMEOUT: 5;
				public static ERROR_CODE_IO_NO_PERMISSION: 8;
				public static ERROR_CODE_IO_READ_POSITION_OUT_OF_RANGE: 10;
				public static ERROR_CODE_IO_UNSPECIFIED: 3;
				public static ERROR_CODE_MUXING_FAILED: 19;
				public static ERROR_CODE_NONE: 1;
				public static ERROR_CODE_VIDEO_FRAME_PROCESSING_FAILED: 17;
				public static FINAL_STATE_CANCELED: 2;
				public static FINAL_STATE_ERROR: 3;
				public static FINAL_STATE_SUCCEEDED: 1;
				public static OPERATION_TYPE_AUDIO_EDIT: 8;
				public static OPERATION_TYPE_AUDIO_TRANSCODE: 2;
				public static OPERATION_TYPE_AUDIO_TRANSMUX: 32;
				public static OPERATION_TYPE_PAUSED: 64;
				public static OPERATION_TYPE_RESUMED: 128;
				public static OPERATION_TYPE_VIDEO_EDIT: 4;
				public static OPERATION_TYPE_VIDEO_TRANSCODE: 1;
				public static OPERATION_TYPE_VIDEO_TRANSMUX: 16;
				public static PROGRESS_PERCENT_UNKNOWN: -1;
				public static TIME_SINCE_CREATED_UNKNOWN: -1;
				public getMetricsBundle(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getInputMediaItemInfos(): java.util.List<android.media.metrics.MediaItemInfo>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getErrorCode(): number;
				public toString(): string;
				public getExporterName(): string;
				public getFinalState(): number;
				public getTimeSinceCreatedMillis(): number;
				public getMuxerName(): string;
				public hashCode(): number;
				public describeContents(): number;
				public getFinalProgressPercent(): number;
				public equals(o: any): boolean;
				public getOutputMediaItemInfo(): android.media.metrics.MediaItemInfo;
				public getOperationTypes(): number;
			}
			export module EditingEndedEvent {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.metrics.EditingEndedEvent.Builder>;
					public setTimeSinceCreatedMillis(timeSinceCreatedMillis: number): android.media.metrics.EditingEndedEvent.Builder;
					public build(): android.media.metrics.EditingEndedEvent;
					public setFinalProgressPercent(finalProgressPercent: number): android.media.metrics.EditingEndedEvent.Builder;
					public setErrorCode(value: number): android.media.metrics.EditingEndedEvent.Builder;
					public addOperationType(operationType: number): android.media.metrics.EditingEndedEvent.Builder;
					public setMuxerName(muxerName: string): android.media.metrics.EditingEndedEvent.Builder;
					public addInputMediaItemInfo(mediaItemInfo: android.media.metrics.MediaItemInfo): android.media.metrics.EditingEndedEvent.Builder;
					public setMetricsBundle(metricsBundle: android.os.Bundle): android.media.metrics.EditingEndedEvent.Builder;
					public setExporterName(exporterName: string): android.media.metrics.EditingEndedEvent.Builder;
					public setOutputMediaItemInfo(mediaItemInfo: android.media.metrics.MediaItemInfo): android.media.metrics.EditingEndedEvent.Builder;
					public constructor(finalState: number);
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class EditingSession extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.media.metrics.EditingSession>;
				public close(): void;
				public getSessionId(): android.media.metrics.LogSessionId;
				public reportEditingEndedEvent(editingEndedEvent: android.media.metrics.EditingEndedEvent): void;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export abstract class Event extends java.lang.Object {
				public static class: java.lang.Class<android.media.metrics.Event>;
				public getTimeSinceCreatedMillis(): number;
				public getMetricsBundle(): android.os.Bundle;
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class LogSessionId extends java.lang.Object {
				public static class: java.lang.Class<android.media.metrics.LogSessionId>;
				public static LOG_SESSION_ID_NONE: android.media.metrics.LogSessionId;
				public getStringId(): string;
				public hashCode(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class MediaItemInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.metrics.MediaItemInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.metrics.MediaItemInfo>;
				public static DATA_TYPE_AUDIO: 4;
				public static DATA_TYPE_DEPTH: 16;
				public static DATA_TYPE_GAIN_MAP: 32;
				public static DATA_TYPE_GAPLESS: 256;
				public static DATA_TYPE_HIGH_DYNAMIC_RANGE_VIDEO: 1024;
				public static DATA_TYPE_HIGH_FRAME_RATE: 64;
				public static DATA_TYPE_IMAGE: 1;
				public static DATA_TYPE_METADATA: 8;
				public static DATA_TYPE_SPATIAL_AUDIO: 512;
				public static DATA_TYPE_SPEED_SETTING_CUE_POINTS: 128;
				public static DATA_TYPE_VIDEO: 2;
				public static SOURCE_TYPE_CAMERA: 2;
				public static SOURCE_TYPE_EDITING_SESSION: 3;
				public static SOURCE_TYPE_GALLERY: 1;
				public static SOURCE_TYPE_GENERATED: 7;
				public static SOURCE_TYPE_LOCAL_FILE: 4;
				public static SOURCE_TYPE_REMOTE_FILE: 5;
				public static SOURCE_TYPE_REMOTE_LIVE_STREAM: 6;
				public static SOURCE_TYPE_UNSPECIFIED: 0;
				public static VALUE_UNSPECIFIED: -1;
				public getDurationMillis(): number;
				public getClipDurationMillis(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getContainerMimeType(): string;
				public getVideoSize(): any;
				public toString(): string;
				public getAudioChannelCount(): number;
				public getSourceType(): number;
				public getDataTypes(): number;
				public getVideoDataSpace(): number;
				public getVideoSampleCount(): number;
				public hashCode(): number;
				public getVideoFrameRate(): number;
				public getAudioSampleRateHz(): number;
				public describeContents(): number;
				public getAudioSampleCount(): number;
				public equals(o: any): boolean;
				public getSampleMimeTypes(): java.util.List<string>;
				public getCodecNames(): java.util.List<string>;
			}
			export module MediaItemInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.metrics.MediaItemInfo.Builder>;
					public addCodecName(codecName: string): android.media.metrics.MediaItemInfo.Builder;
					public setVideoSampleCount(videoSampleCount: number): android.media.metrics.MediaItemInfo.Builder;
					public setClipDurationMillis(clipDurationMillis: number): android.media.metrics.MediaItemInfo.Builder;
					public addSampleMimeType(mimeType: string): android.media.metrics.MediaItemInfo.Builder;
					public addDataType(dataType: number): android.media.metrics.MediaItemInfo.Builder;
					public setContainerMimeType(containerMimeType: string): android.media.metrics.MediaItemInfo.Builder;
					public setAudioSampleRateHz(audioSampleRateHz: number): android.media.metrics.MediaItemInfo.Builder;
					public setVideoSize(videoSize: any): android.media.metrics.MediaItemInfo.Builder;
					public setVideoDataSpace(videoDataSpace: number): android.media.metrics.MediaItemInfo.Builder;
					public setAudioChannelCount(audioChannelCount: number): android.media.metrics.MediaItemInfo.Builder;
					public constructor();
					public setAudioSampleCount(audioSampleCount: number): android.media.metrics.MediaItemInfo.Builder;
					public setVideoFrameRate(videoFrameRate: number): android.media.metrics.MediaItemInfo.Builder;
					public build(): android.media.metrics.MediaItemInfo;
					public setSourceType(sourceType: number): android.media.metrics.MediaItemInfo.Builder;
					public setDurationMillis(durationMillis: number): android.media.metrics.MediaItemInfo.Builder;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class MediaMetricsManager extends java.lang.Object {
				public static class: java.lang.Class<android.media.metrics.MediaMetricsManager>;
				public static INVALID_TIMESTAMP: -1;
				public releaseSessionId(sessionId: string): void;
				public createBundleSession(): android.media.metrics.BundleSession;
				public createPlaybackSession(): android.media.metrics.PlaybackSession;
				public createRecordingSession(): android.media.metrics.RecordingSession;
				public createTranscodingSession(): android.media.metrics.TranscodingSession;
				public createEditingSession(): android.media.metrics.EditingSession;
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class NetworkEvent extends android.media.metrics.Event implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.metrics.NetworkEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.metrics.NetworkEvent>;
				public static NETWORK_TYPE_2G: 4;
				public static NETWORK_TYPE_3G: 5;
				public static NETWORK_TYPE_4G: 6;
				public static NETWORK_TYPE_5G_NSA: 7;
				public static NETWORK_TYPE_5G_SA: 8;
				public static NETWORK_TYPE_ETHERNET: 3;
				public static NETWORK_TYPE_OFFLINE: 9;
				public static NETWORK_TYPE_OTHER: 1;
				public static NETWORK_TYPE_UNKNOWN: 0;
				public static NETWORK_TYPE_WIFI: 2;
				public getNetworkType(): number;
				public getTimeSinceCreatedMillis(): number;
				public getMetricsBundle(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
			export module NetworkEvent {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.metrics.NetworkEvent.Builder>;
					public constructor();
					public setTimeSinceCreatedMillis(value: number): android.media.metrics.NetworkEvent.Builder;
					public setNetworkType(value: number): android.media.metrics.NetworkEvent.Builder;
					public setMetricsBundle(metricsBundle: android.os.Bundle): android.media.metrics.NetworkEvent.Builder;
					public build(): android.media.metrics.NetworkEvent;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class PlaybackErrorEvent extends android.media.metrics.Event implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.metrics.PlaybackErrorEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.metrics.PlaybackErrorEvent>;
				public static ERROR_AUDIO_TRACK_INIT_FAILED: 17;
				public static ERROR_AUDIO_TRACK_OTHER: 19;
				public static ERROR_AUDIO_TRACK_WRITE_FAILED: 18;
				public static ERROR_DECODER_INIT_FAILED: 13;
				public static ERROR_DECODING_FAILED: 14;
				public static ERROR_DECODING_FORMAT_EXCEEDS_CAPABILITIES: 15;
				public static ERROR_DECODING_FORMAT_UNSUPPORTED: 35;
				public static ERROR_DECODING_OTHER: 16;
				public static ERROR_DRM_CONTENT_ERROR: 28;
				public static ERROR_DRM_DEVICE_REVOKED: 29;
				public static ERROR_DRM_DISALLOWED_OPERATION: 26;
				public static ERROR_DRM_LICENSE_ACQUISITION_FAILED: 25;
				public static ERROR_DRM_OTHER: 30;
				public static ERROR_DRM_PROVISIONING_FAILED: 24;
				public static ERROR_DRM_SCHEME_UNSUPPORTED: 23;
				public static ERROR_DRM_SYSTEM_ERROR: 27;
				public static ERROR_IO_BAD_HTTP_STATUS: 5;
				public static ERROR_IO_CONNECTION_CLOSED: 8;
				public static ERROR_IO_CONNECTION_TIMEOUT: 7;
				public static ERROR_IO_DNS_FAILED: 6;
				public static ERROR_IO_FILE_NOT_FOUND: 31;
				public static ERROR_IO_NETWORK_CONNECTION_FAILED: 4;
				public static ERROR_IO_NETWORK_UNAVAILABLE: 3;
				public static ERROR_IO_NO_PERMISSION: 32;
				public static ERROR_IO_OTHER: 9;
				public static ERROR_OTHER: 1;
				public static ERROR_PARSING_CONTAINER_MALFORMED: 11;
				public static ERROR_PARSING_CONTAINER_UNSUPPORTED: 34;
				public static ERROR_PARSING_MANIFEST_MALFORMED: 10;
				public static ERROR_PARSING_MANIFEST_UNSUPPORTED: 33;
				public static ERROR_PARSING_OTHER: 12;
				public static ERROR_PLAYER_BEHIND_LIVE_WINDOW: 21;
				public static ERROR_PLAYER_OTHER: 22;
				public static ERROR_PLAYER_REMOTE: 20;
				public static ERROR_RUNTIME: 2;
				public static ERROR_UNKNOWN: 0;
				public getSubErrorCode(): number;
				public getTimeSinceCreatedMillis(): number;
				public getMetricsBundle(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getErrorCode(): number;
				public toString(): string;
			}
			export module PlaybackErrorEvent {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.metrics.PlaybackErrorEvent.Builder>;
					public build(): android.media.metrics.PlaybackErrorEvent;
					public setSubErrorCode(value: number): android.media.metrics.PlaybackErrorEvent.Builder;
					public constructor();
					public setMetricsBundle(metricsBundle: android.os.Bundle): android.media.metrics.PlaybackErrorEvent.Builder;
					public setTimeSinceCreatedMillis(value: number): android.media.metrics.PlaybackErrorEvent.Builder;
					public setException(value: java.lang.Exception): android.media.metrics.PlaybackErrorEvent.Builder;
					public setErrorCode(value: number): android.media.metrics.PlaybackErrorEvent.Builder;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class PlaybackMetrics extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.metrics.PlaybackMetrics>;
				public static CONTENT_TYPE_AD: 2;
				public static CONTENT_TYPE_MAIN: 1;
				public static CONTENT_TYPE_OTHER: 3;
				public static CONTENT_TYPE_UNKNOWN: 0;
				public static CREATOR: android.os.Parcelable.Creator<android.media.metrics.PlaybackMetrics>;
				public static DRM_TYPE_CLEARKEY: 6;
				public static DRM_TYPE_NONE: 0;
				public static DRM_TYPE_OTHER: 1;
				public static DRM_TYPE_PLAY_READY: 2;
				public static DRM_TYPE_WIDEVINE_L1: 3;
				public static DRM_TYPE_WIDEVINE_L3: 4;
				public static DRM_TYPE_WV_L3_FALLBACK: 5;
				public static PLAYBACK_TYPE_LIVE: 2;
				public static PLAYBACK_TYPE_OTHER: 3;
				public static PLAYBACK_TYPE_UNKNOWN: 0;
				public static PLAYBACK_TYPE_VOD: 1;
				public static STREAM_SOURCE_DEVICE: 2;
				public static STREAM_SOURCE_MIXED: 3;
				public static STREAM_SOURCE_NETWORK: 1;
				public static STREAM_SOURCE_UNKNOWN: 0;
				public static STREAM_TYPE_DASH: 3;
				public static STREAM_TYPE_HLS: 4;
				public static STREAM_TYPE_OTHER: 1;
				public static STREAM_TYPE_PROGRESSIVE: 2;
				public static STREAM_TYPE_SS: 5;
				public static STREAM_TYPE_UNKNOWN: 0;
				public getContentType(): number;
				public getExperimentIds(): androidNative.Array<number>;
				public getPlayerName(): string;
				public getMediaDurationMillis(): number;
				public getMetricsBundle(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getNetworkBytesRead(): number;
				public getDrmType(): number;
				public getPlaybackType(): number;
				public getPlayerVersion(): string;
				public toString(): string;
				public getDrmSessionId(): androidNative.Array<number>;
				public getNetworkTransferDurationMillis(): number;
				public getVideoFramesPlayed(): number;
				public getStreamType(): number;
				public hashCode(): number;
				public describeContents(): number;
				public getStreamSource(): number;
				public getAudioUnderrunCount(): number;
				public getLocalBytesRead(): number;
				public equals(o: any): boolean;
				public getVideoFramesDropped(): number;
			}
			export module PlaybackMetrics {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.metrics.PlaybackMetrics.Builder>;
					public setAudioUnderrunCount(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setDrmType(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setContentType(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setDrmSessionId(drmSessionId: androidNative.Array<number>): android.media.metrics.PlaybackMetrics.Builder;
					public setNetworkBytesRead(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setStreamType(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setVideoFramesPlayed(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setPlaybackType(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setStreamSource(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setPlayerVersion(value: string): android.media.metrics.PlaybackMetrics.Builder;
					public setVideoFramesDropped(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public constructor();
					public setNetworkTransferDurationMillis(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setMetricsBundle(metricsBundle: android.os.Bundle): android.media.metrics.PlaybackMetrics.Builder;
					public addExperimentId(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setLocalBytesRead(value: number): android.media.metrics.PlaybackMetrics.Builder;
					public setPlayerName(value: string): android.media.metrics.PlaybackMetrics.Builder;
					public build(): android.media.metrics.PlaybackMetrics;
					public setMediaDurationMillis(value: number): android.media.metrics.PlaybackMetrics.Builder;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class PlaybackSession extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.media.metrics.PlaybackSession>;
				public reportTrackChangeEvent(event: android.media.metrics.TrackChangeEvent): void;
				public reportNetworkEvent(event: android.media.metrics.NetworkEvent): void;
				public close(): void;
				public reportPlaybackMetrics(metrics: android.media.metrics.PlaybackMetrics): void;
				public getSessionId(): android.media.metrics.LogSessionId;
				public reportPlaybackErrorEvent(event: android.media.metrics.PlaybackErrorEvent): void;
				public hashCode(): number;
				public equals(o: any): boolean;
				public reportPlaybackStateEvent(event: android.media.metrics.PlaybackStateEvent): void;
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class PlaybackStateEvent extends android.media.metrics.Event implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.metrics.PlaybackStateEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.metrics.PlaybackStateEvent>;
				public static STATE_ABANDONED: 15;
				public static STATE_BUFFERING: 6;
				public static STATE_ENDED: 11;
				public static STATE_FAILED: 13;
				public static STATE_INTERRUPTED_BY_AD: 14;
				public static STATE_JOINING_BACKGROUND: 1;
				public static STATE_JOINING_FOREGROUND: 2;
				public static STATE_NOT_STARTED: 0;
				public static STATE_PAUSED: 4;
				public static STATE_PAUSED_BUFFERING: 7;
				public static STATE_PLAYING: 3;
				public static STATE_SEEKING: 5;
				public static STATE_STOPPED: 12;
				public static STATE_SUPPRESSED: 9;
				public static STATE_SUPPRESSED_BUFFERING: 10;
				public getTimeSinceCreatedMillis(): number;
				public getMetricsBundle(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getState(): number;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
			export module PlaybackStateEvent {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.metrics.PlaybackStateEvent.Builder>;
					public setTimeSinceCreatedMillis(value: number): android.media.metrics.PlaybackStateEvent.Builder;
					public setMetricsBundle(metricsBundle: android.os.Bundle): android.media.metrics.PlaybackStateEvent.Builder;
					public build(): android.media.metrics.PlaybackStateEvent;
					public constructor();
					public setState(value: number): android.media.metrics.PlaybackStateEvent.Builder;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class RecordingSession extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.media.metrics.RecordingSession>;
				public close(): void;
				public getSessionId(): android.media.metrics.LogSessionId;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class TrackChangeEvent extends android.media.metrics.Event implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.metrics.TrackChangeEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.metrics.TrackChangeEvent>;
				public static TRACK_CHANGE_REASON_ADAPTIVE: 4;
				public static TRACK_CHANGE_REASON_INITIAL: 2;
				public static TRACK_CHANGE_REASON_MANUAL: 3;
				public static TRACK_CHANGE_REASON_OTHER: 1;
				public static TRACK_CHANGE_REASON_UNKNOWN: 0;
				public static TRACK_STATE_OFF: 0;
				public static TRACK_STATE_ON: 1;
				public static TRACK_TYPE_AUDIO: 0;
				public static TRACK_TYPE_TEXT: 2;
				public static TRACK_TYPE_VIDEO: 1;
				public getTrackChangeReason(): number;
				public getHeight(): number;
				public getMetricsBundle(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTrackState(): number;
				public getLanguageRegion(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getCodecName(): string;
				public getContainerMimeType(): string;
				public toString(): string;
				public getBitrate(): number;
				public getChannelCount(): number;
				public getAudioSampleRate(): number;
				public getWidth(): number;
				public getTimeSinceCreatedMillis(): number;
				public getLanguage(): string;
				public hashCode(): number;
				public getTrackType(): number;
				public getVideoFrameRate(): number;
				public getSampleMimeType(): string;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
			export module TrackChangeEvent {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.metrics.TrackChangeEvent.Builder>;
					public setHeight(value: number): android.media.metrics.TrackChangeEvent.Builder;
					public setMetricsBundle(metricsBundle: android.os.Bundle): android.media.metrics.TrackChangeEvent.Builder;
					public setChannelCount(value: number): android.media.metrics.TrackChangeEvent.Builder;
					public setCodecName(value: string): android.media.metrics.TrackChangeEvent.Builder;
					public setTimeSinceCreatedMillis(value: number): android.media.metrics.TrackChangeEvent.Builder;
					public setTrackState(value: number): android.media.metrics.TrackChangeEvent.Builder;
					public setTrackChangeReason(value: number): android.media.metrics.TrackChangeEvent.Builder;
					public setBitrate(value: number): android.media.metrics.TrackChangeEvent.Builder;
					public constructor(type: number);
					public setLanguage(value: string): android.media.metrics.TrackChangeEvent.Builder;
					public build(): android.media.metrics.TrackChangeEvent;
					public setLanguageRegion(value: string): android.media.metrics.TrackChangeEvent.Builder;
					public setAudioSampleRate(value: number): android.media.metrics.TrackChangeEvent.Builder;
					public setVideoFrameRate(value: number): android.media.metrics.TrackChangeEvent.Builder;
					public setSampleMimeType(value: string): android.media.metrics.TrackChangeEvent.Builder;
					public setContainerMimeType(value: string): android.media.metrics.TrackChangeEvent.Builder;
					public setWidth(value: number): android.media.metrics.TrackChangeEvent.Builder;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module metrics {
			export class TranscodingSession extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.media.metrics.TranscodingSession>;
				public close(): void;
				public getSessionId(): android.media.metrics.LogSessionId;
				public hashCode(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

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 openOutputPort(portNumber: number): android.media.midi.MidiOutputPort;
				public close(): void;
				public finalize(): void;
				public getInfo(): android.media.midi.MidiDeviceInfo;
				public openInputPort(portNumber: number): android.media.midi.MidiInputPort;
				public toString(): string;
				public connectPorts(inputPort: android.media.midi.MidiInputPort, outputPortNumber: number): android.media.midi.MidiDevice.MidiConnection;
			}
			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: "bluetooth_device";
				public static PROPERTY_MANUFACTURER: "manufacturer";
				public static PROPERTY_NAME: "name";
				public static PROPERTY_PRODUCT: "product";
				public static PROPERTY_SERIAL_NUMBER: "serial_number";
				public static PROPERTY_USB_DEVICE: "usb_device";
				public static PROPERTY_VERSION: "version";
				public static PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS: 3;
				public static PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS_AND_JRTS: 4;
				public static PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS: 1;
				public static PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS_AND_JRTS: 2;
				public static PROTOCOL_UMP_MIDI_2_0: 17;
				public static PROTOCOL_UMP_MIDI_2_0_AND_JRTS: 18;
				public static PROTOCOL_UMP_USE_MIDI_CI: 0;
				public static PROTOCOL_UNKNOWN: -1;
				public static TYPE_BLUETOOTH: 3;
				public static TYPE_USB: 1;
				public static TYPE_VIRTUAL: 2;
				public getType(): number;
				public getPorts(): androidNative.Array<android.media.midi.MidiDeviceInfo.PortInfo>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public getProperties(): android.os.Bundle;
				public getDefaultProtocol(): number;
				public toString(): string;
				public getInputPortCount(): number;
				public hashCode(): number;
				public describeContents(): number;
				public isPrivate(): boolean;
				public equals(o: any): boolean;
				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: 1;
					public static TYPE_OUTPUT: 2;
					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: "android.media.midi.MidiDeviceService";
				public onDeviceStatusChanged(status: android.media.midi.MidiDeviceStatus): void;
				public onClose(): void;
				public onGetInputPortReceivers(): androidNative.Array<android.media.midi.MidiReceiver>;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onCreate(): void;
				public getOutputPortReceivers(): androidNative.Array<android.media.midi.MidiReceiver>;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				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 isInputPortOpen(portNumber: number): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getOutputPortOpenCount(portNumber: number): number;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public toString(): string;
				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 onSend(msg: androidNative.Array<number>, offset: number, count: number, timestamp: number): void;
				public onFlush(): void;
				public finalize(): 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 static TRANSPORT_MIDI_BYTE_STREAM: 1;
				public static TRANSPORT_UNIVERSAL_MIDI_PACKETS: 2;
				public openBluetoothDevice(bluetoothDevice: android.bluetooth.BluetoothDevice, listener: android.media.midi.MidiManager.OnDeviceOpenedListener, handler: android.os.Handler): void;
				public registerDeviceCallback(transport: number, executor: java.util.concurrent.Executor, callback: android.media.midi.MidiManager.DeviceCallback): void;
				public getDevicesForTransport(transport: number): java.util.Set<android.media.midi.MidiDeviceInfo>;
				/** @deprecated */
				public registerDeviceCallback(callback: android.media.midi.MidiManager.DeviceCallback, handler: android.os.Handler): void;
				public unregisterDeviceCallback(callback: android.media.midi.MidiManager.DeviceCallback): void;
				/** @deprecated */
				public getDevices(): androidNative.Array<android.media.midi.MidiDeviceInfo>;
				public openDevice(deviceInfo: android.media.midi.MidiDeviceInfo, listener: android.media.midi.MidiManager.OnDeviceOpenedListener, handler: android.os.Handler): void;
			}
			export module MidiManager {
				export class DeviceCallback extends java.lang.Object {
					public static class: java.lang.Class<android.media.midi.MidiManager.DeviceCallback>;
					public constructor();
					public onDeviceAdded(device: android.media.midi.MidiDeviceInfo): void;
					public onDeviceRemoved(device: android.media.midi.MidiDeviceInfo): void;
					public onDeviceStatusChanged(status: 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 finalize(): void;
				public onDisconnect(receiver: android.media.midi.MidiReceiver): void;
				public onConnect(receiver: 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 constructor(maxMessageSize: number);
				public getMaxMessageSize(): number;
				public send(msg: androidNative.Array<number>, offset: number, count: number): void;
				public onFlush(): void;
				public send(msg: androidNative.Array<number>, offset: number, count: number, timestamp: number): void;
				public constructor();
				public onSend(param0: androidNative.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 connect(receiver: android.media.midi.MidiReceiver): void;
				public disconnect(receiver: android.media.midi.MidiReceiver): void;
				public onDisconnect(param0: android.media.midi.MidiReceiver): void;
				public onConnect(param0: android.media.midi.MidiReceiver): void;
				public constructor();
			}
		}
	}
}

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

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 unregisterCallback(callback: android.media.projection.MediaProjection.Callback): void;
				public stop(): void;
				public registerCallback(callback: android.media.projection.MediaProjection.Callback, handler: android.os.Handler): void;
				public createVirtualDisplay(name: string, width: number, height: number, dpi: number, flags: number, surface: android.view.Surface, callback: android.hardware.display.VirtualDisplay.Callback, handler: android.os.Handler): android.hardware.display.VirtualDisplay;
			}
			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;
					public onCapturedContentVisibilityChanged(isVisible: boolean): void;
					public onCapturedContentResize(width: number, height: number): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module projection {
			export class MediaProjectionConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.projection.MediaProjectionConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.projection.MediaProjectionConfig>;
				public static createConfigForUserChoice(): android.media.projection.MediaProjectionConfig;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public static createConfigForDefaultDisplay(): android.media.projection.MediaProjectionConfig;
				public toString(): string;
			}
		}
	}
}

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(resultCode: number, resultData: android.content.Intent): android.media.projection.MediaProjection;
				public createScreenCaptureIntent(config: android.media.projection.MediaProjectionConfig): android.content.Intent;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class AdBuffer extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.AdBuffer>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.AdBuffer>;
				public constructor(id: number, mimeType: string, buffer: android.os.SharedMemory, offset: number, length: number, presentationTimeUs: number, flags: number);
				public getOffset(): number;
				public getPresentationTimeUs(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getMimeType(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public describeContents(): number;
				public getFlags(): number;
				public getSharedMemory(): android.os.SharedMemory;
				public getLength(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class AdRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.AdRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.AdRequest>;
				public static REQUEST_TYPE_START: 1;
				public static REQUEST_TYPE_STOP: 2;
				public getFileDescriptor(): android.os.ParcelFileDescriptor;
				public getMetadata(): android.os.Bundle;
				public getStartTimeMillis(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getStopTimeMillis(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(id: number, requestType: number, uri: android.net.Uri, startTime: number, stopTime: number, echoInterval: number, metadata: android.os.Bundle);
				public getId(): number;
				public getMediaFileType(): string;
				public getUri(): android.net.Uri;
				public getEchoIntervalMillis(): number;
				public getRequestType(): number;
				public describeContents(): number;
				public constructor(id: number, requestType: number, fileDescriptor: android.os.ParcelFileDescriptor, startTime: number, stopTime: number, echoInterval: number, mediaFileType: string, metadata: android.os.Bundle);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class AdResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.AdResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.AdResponse>;
				public static RESPONSE_TYPE_BUFFERING: 5;
				public static RESPONSE_TYPE_ERROR: 4;
				public static RESPONSE_TYPE_FINISHED: 2;
				public static RESPONSE_TYPE_PLAYING: 1;
				public static RESPONSE_TYPE_STOPPED: 3;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getElapsedTimeMillis(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public getResponseType(): number;
				public describeContents(): number;
				public constructor(id: number, responseType: number, elapsedTime: number);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class AitInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.AitInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.AitInfo>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public getVersion(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(type: number, version: number);
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export abstract class BroadcastInfoRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.BroadcastInfoRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.BroadcastInfoRequest>;
				public static REQUEST_OPTION_AUTO_UPDATE: 1;
				public static REQUEST_OPTION_REPEAT: 0;
				public getRequestId(): number;
				public getOption(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export abstract class BroadcastInfoResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.BroadcastInfoResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.BroadcastInfoResponse>;
				public static RESPONSE_RESULT_CANCEL: 3;
				public static RESPONSE_RESULT_ERROR: 1;
				public static RESPONSE_RESULT_OK: 2;
				public getRequestId(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public getSequence(): number;
				public getResponseResult(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class CommandRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.CommandRequest>;
				public static ARGUMENT_TYPE_JSON: "json";
				public static ARGUMENT_TYPE_XML: "xml";
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.CommandRequest>;
				public constructor(requestId: number, option: number, namespace: string, name: string, arguments_: string, argumentType: string);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getNamespace(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getName(): string;
				public getArguments(): string;
				public getArgumentType(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class CommandResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.CommandResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.CommandResponse>;
				public static RESPONSE_TYPE_JSON: "json";
				public static RESPONSE_TYPE_XML: "xml";
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getResponse(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(requestId: number, sequence: number, responseResult: number, response: string, responseType: string);
				public getResponseType(): string;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class DsmccRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.DsmccRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.DsmccRequest>;
				public getUri(): android.net.Uri;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(requestId: number, option: number, uri: android.net.Uri);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class DsmccResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.DsmccResponse>;
				public static BIOP_MESSAGE_TYPE_DIRECTORY: "directory";
				public static BIOP_MESSAGE_TYPE_FILE: "file";
				public static BIOP_MESSAGE_TYPE_SERVICE_GATEWAY: "service_gateway";
				public static BIOP_MESSAGE_TYPE_STREAM: "stream";
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.DsmccResponse>;
				public constructor(requestId: number, sequence: number, responseResult: number, file: android.os.ParcelFileDescriptor);
				public getStreamEventNames(): androidNative.Array<string>;
				public constructor(requestId: number, sequence: number, responseResult: number, eventIds: androidNative.Array<number>, eventNames: androidNative.Array<string>);
				public getFile(): android.os.ParcelFileDescriptor;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getChildList(): java.util.List<string>;
				public describeContents(): number;
				public getBiopMessageType(): string;
				public getStreamEventIds(): androidNative.Array<number>;
				public constructor(requestId: number, sequence: number, responseResult: number, isServiceGateway: boolean, childList: java.util.List<string>);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class PesRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.PesRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.PesRequest>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getTsPid(): number;
				public getStreamId(): number;
				public constructor(requestId: number, option: number, tsPid: number, streamId: number);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class PesResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.PesResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.PesResponse>;
				public constructor(requestId: number, sequence: number, responseResult: number, sharedFilterToken: string);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSharedFilterToken(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class SectionRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.SectionRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.SectionRequest>;
				public getTableId(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getVersion(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getTsPid(): number;
				public constructor(requestId: number, option: number, tsPid: number, tableId: number, version: number);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class SectionResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.SectionResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.SectionResponse>;
				public getSessionId(): number;
				public getSessionData(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getVersion(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(requestId: number, sequence: number, responseResult: number, sessionId: number, version: number, sessionData: android.os.Bundle);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class StreamEventRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.StreamEventRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.StreamEventRequest>;
				public getTargetUri(): android.net.Uri;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(requestId: number, option: number, targetUri: android.net.Uri, eventName: string);
				public describeContents(): number;
				public getEventName(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class StreamEventResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.StreamEventResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.StreamEventResponse>;
				public constructor(requestId: number, sequence: number, responseResult: number, eventId: number, nptMillis: number, data: androidNative.Array<number>);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getEventId(): number;
				public getData(): androidNative.Array<number>;
				public describeContents(): number;
				public getNptMillis(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TableRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TableRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TableRequest>;
				public static TABLE_NAME_BAT: 4;
				public static TABLE_NAME_CAT: 2;
				public static TABLE_NAME_EIT: 6;
				public static TABLE_NAME_NIT: 3;
				public static TABLE_NAME_PAT: 0;
				public static TABLE_NAME_PMT: 1;
				public static TABLE_NAME_SDT: 5;
				public static TABLE_NAME_SIT: 9;
				public static TABLE_NAME_TDT: 7;
				public static TABLE_NAME_TOT: 8;
				public getTableId(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getVersion(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getTableName(): number;
				public constructor(requestId: number, option: number, tableId: number, tableName: number, version: number);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TableResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TableResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TableResponse>;
				public getTableSharedMemory(): android.os.SharedMemory;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getVersion(): number;
				public getSize(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public constructor(requestId: number, sequence: number, responseResult: number, tableUri: android.net.Uri, version: number, size: number);
				public describeContents(): number;
				public getTableByteArray(): androidNative.Array<number>;
				public getTableUri(): android.net.Uri;
			}
			export module TableResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TableResponse.Builder>;
					public setTableSharedMemory(sharedMemory: android.os.SharedMemory): android.media.tv.TableResponse.Builder;
					public setTableByteArray(bytes: androidNative.Array<number>): android.media.tv.TableResponse.Builder;
					public constructor(requestId: number, sequence: number, responseResult: number, version: number, size: number);
					public setTableUri(uri: android.net.Uri): android.media.tv.TableResponse.Builder;
					public build(): android.media.tv.TableResponse;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TimelineRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TimelineRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TimelineRequest>;
				public constructor(requestId: number, option: number, intervalMillis: number, selector: string);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getIntervalMillis(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(requestId: number, option: number, intervalMillis: number);
				public describeContents(): number;
				public getSelector(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TimelineResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TimelineResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TimelineResponse>;
				public getSelector(): android.net.Uri;
				public getWallClock(): number;
				public getUnitsPerTick(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getUnitsPerSecond(): number;
				public getTicks(): number;
				public constructor(requestId: number, sequence: number, responseResult: number, selector: string, unitsPerTick: number, unitsPerSecond: number, wallClock: number, ticks: number);
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TsRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TsRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TsRequest>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(requestId: number, option: number, tsPid: number);
				public describeContents(): number;
				public getTsPid(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TsResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TsResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TsResponse>;
				public constructor(requestId: number, sequence: number, responseResult: number, sharedFilterToken: string);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSharedFilterToken(): string;
			}
		}
	}
}

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 getSubRatings(): java.util.List<string>;
				public equals(obj: any): boolean;
				public getRatingSystem(): string;
				public hashCode(): number;
				public contains(rating: android.media.tv.TvContentRating): boolean;
				public static unflattenFromString(ratingString: string): android.media.tv.TvContentRating;
				public getDomain(): string;
				public getMainRating(): string;
				public static createRating(domain: string, ratingSystem: string, rating: string, subRatings: androidNative.Array<string>): android.media.tv.TvContentRating;
				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: "android.media.tv.action.INITIALIZE_PROGRAMS";
				public static ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT: "android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT";
				public static ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED: "android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED";
				public static ACTION_REQUEST_CHANNEL_BROWSABLE: "android.media.tv.action.REQUEST_CHANNEL_BROWSABLE";
				public static ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED: "android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED";
				public static AUTHORITY: "android.media.tv";
				public static EXTRA_CHANNEL_ID: "android.media.tv.extra.CHANNEL_ID";
				public static EXTRA_PREVIEW_PROGRAM_ID: "android.media.tv.extra.PREVIEW_PROGRAM_ID";
				public static EXTRA_WATCH_NEXT_PROGRAM_ID: "android.media.tv.extra.WATCH_NEXT_PROGRAM_ID";
				public static buildProgramsUriForChannel(channelId: number, startTime: number, endTime: number): android.net.Uri;
				public static buildChannelLogoUri(channelId: number): android.net.Uri;
				public static buildPreviewProgramUri(previewProgramId: number): android.net.Uri;
				public static requestChannelBrowsable(context: android.content.Context, channelId: number): void;
				public static buildRecordedProgramUri(recordedProgramId: number): android.net.Uri;
				public static buildProgramUri(programId: number): android.net.Uri;
				public static isChannelUri(uri: android.net.Uri): boolean;
				public static buildChannelLogoUri(channelUri: android.net.Uri): android.net.Uri;
				public static buildProgramsUriForChannel(channelId: number): android.net.Uri;
				public static buildPreviewProgramsUriForChannel(channelId: number): android.net.Uri;
				public static isRecordedProgramUri(uri: android.net.Uri): boolean;
				public static isChannelUriForPassthroughInput(uri: android.net.Uri): boolean;
				public static buildChannelUriForPassthroughInput(inputId: string): android.net.Uri;
				public static buildProgramsUriForChannel(channelUri: android.net.Uri): android.net.Uri;
				public static buildPreviewProgramsUriForChannel(channelUri: android.net.Uri): android.net.Uri;
				public static buildInputId(name: android.content.ComponentName): string;
				public static buildProgramsUriForChannel(channelUri: android.net.Uri, startTime: number, endTime: number): android.net.Uri;
				public static buildChannelUri(channelId: number): android.net.Uri;
				public static isChannelUriForTunerInput(uri: android.net.Uri): boolean;
				public static buildChannelsUriForInput(inputId: string): android.net.Uri;
				public static buildWatchNextProgramUri(watchNextProgramId: number): android.net.Uri;
				public static isProgramUri(uri: android.net.Uri): boolean;
			}
			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 _ID: "_id";
					public static _COUNT: "_count";
					public static COLUMN_PACKAGE_NAME: "package_name";
				}
				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: "app_link_color";
					public static COLUMN_APP_LINK_ICON_URI: "app_link_icon_uri";
					public static COLUMN_APP_LINK_INTENT_URI: "app_link_intent_uri";
					public static COLUMN_APP_LINK_POSTER_ART_URI: "app_link_poster_art_uri";
					public static COLUMN_APP_LINK_TEXT: "app_link_text";
					public static COLUMN_BROADCAST_GENRE: "broadcast_genre";
					public static COLUMN_BROWSABLE: "browsable";
					public static COLUMN_CHANNEL_LIST_ID: "channel_list_id";
					public static COLUMN_DESCRIPTION: "description";
					public static COLUMN_DISPLAY_NAME: "display_name";
					public static COLUMN_DISPLAY_NUMBER: "display_number";
					public static COLUMN_GLOBAL_CONTENT_ID: "global_content_id";
					public static COLUMN_INPUT_ID: "input_id";
					public static COLUMN_INTERNAL_PROVIDER_DATA: "internal_provider_data";
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: "internal_provider_flag1";
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: "internal_provider_flag2";
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: "internal_provider_flag3";
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: "internal_provider_flag4";
					public static COLUMN_INTERNAL_PROVIDER_ID: "internal_provider_id";
					public static COLUMN_LOCKED: "locked";
					public static COLUMN_NETWORK_AFFILIATION: "network_affiliation";
					public static COLUMN_ORIGINAL_NETWORK_ID: "original_network_id";
					public static COLUMN_REMOTE_CONTROL_KEY_PRESET_NUMBER: "remote_control_key_preset_number";
					public static COLUMN_SCRAMBLED: "scrambled";
					public static COLUMN_SEARCHABLE: "searchable";
					public static COLUMN_SERVICE_ID: "service_id";
					public static COLUMN_SERVICE_TYPE: "service_type";
					public static COLUMN_TRANSIENT: "transient";
					public static COLUMN_TRANSPORT_STREAM_ID: "transport_stream_id";
					public static COLUMN_TYPE: "type";
					public static COLUMN_VERSION_NUMBER: "version_number";
					public static COLUMN_VIDEO_FORMAT: "video_format";
					public static COLUMN_VIDEO_RESOLUTION: "video_resolution";
					public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/channel";
					public static CONTENT_TYPE: "vnd.android.cursor.dir/channel";
					public static CONTENT_URI: android.net.Uri;
					public static SERVICE_TYPE_AUDIO: "SERVICE_TYPE_AUDIO";
					public static SERVICE_TYPE_AUDIO_VIDEO: "SERVICE_TYPE_AUDIO_VIDEO";
					public static SERVICE_TYPE_OTHER: "SERVICE_TYPE_OTHER";
					public static TYPE_1SEG: "TYPE_1SEG";
					public static TYPE_ATSC3_T: "TYPE_ATSC3_T";
					public static TYPE_ATSC_C: "TYPE_ATSC_C";
					public static TYPE_ATSC_M_H: "TYPE_ATSC_M_H";
					public static TYPE_ATSC_T: "TYPE_ATSC_T";
					public static TYPE_CMMB: "TYPE_CMMB";
					public static TYPE_DTMB: "TYPE_DTMB";
					public static TYPE_DVB_C: "TYPE_DVB_C";
					public static TYPE_DVB_C2: "TYPE_DVB_C2";
					public static TYPE_DVB_H: "TYPE_DVB_H";
					public static TYPE_DVB_S: "TYPE_DVB_S";
					public static TYPE_DVB_S2: "TYPE_DVB_S2";
					public static TYPE_DVB_SH: "TYPE_DVB_SH";
					public static TYPE_DVB_T: "TYPE_DVB_T";
					public static TYPE_DVB_T2: "TYPE_DVB_T2";
					public static TYPE_ISDB_C: "TYPE_ISDB_C";
					public static TYPE_ISDB_S: "TYPE_ISDB_S";
					public static TYPE_ISDB_S3: "TYPE_ISDB_S3";
					public static TYPE_ISDB_T: "TYPE_ISDB_T";
					public static TYPE_ISDB_TB: "TYPE_ISDB_TB";
					public static TYPE_NTSC: "TYPE_NTSC";
					public static TYPE_OTHER: "TYPE_OTHER";
					public static TYPE_PAL: "TYPE_PAL";
					public static TYPE_PREVIEW: "TYPE_PREVIEW";
					public static TYPE_SECAM: "TYPE_SECAM";
					public static TYPE_S_DMB: "TYPE_S_DMB";
					public static TYPE_T_DMB: "TYPE_T_DMB";
					public static VIDEO_FORMAT_1080I: "VIDEO_FORMAT_1080I";
					public static VIDEO_FORMAT_1080P: "VIDEO_FORMAT_1080P";
					public static VIDEO_FORMAT_2160P: "VIDEO_FORMAT_2160P";
					public static VIDEO_FORMAT_240P: "VIDEO_FORMAT_240P";
					public static VIDEO_FORMAT_360P: "VIDEO_FORMAT_360P";
					public static VIDEO_FORMAT_4320P: "VIDEO_FORMAT_4320P";
					public static VIDEO_FORMAT_480I: "VIDEO_FORMAT_480I";
					public static VIDEO_FORMAT_480P: "VIDEO_FORMAT_480P";
					public static VIDEO_FORMAT_576I: "VIDEO_FORMAT_576I";
					public static VIDEO_FORMAT_576P: "VIDEO_FORMAT_576P";
					public static VIDEO_FORMAT_720P: "VIDEO_FORMAT_720P";
					public static VIDEO_RESOLUTION_ED: "VIDEO_RESOLUTION_ED";
					public static VIDEO_RESOLUTION_FHD: "VIDEO_RESOLUTION_FHD";
					public static VIDEO_RESOLUTION_HD: "VIDEO_RESOLUTION_HD";
					public static VIDEO_RESOLUTION_SD: "VIDEO_RESOLUTION_SD";
					public static VIDEO_RESOLUTION_UHD: "VIDEO_RESOLUTION_UHD";
					public static getVideoResolution(videoFormat: 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: "logo";
					}
				}
				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: 0;
					public static ASPECT_RATIO_1_1: 3;
					public static ASPECT_RATIO_2_3: 4;
					public static ASPECT_RATIO_3_2: 1;
					public static ASPECT_RATIO_4_3: 2;
					public static AVAILABILITY_AVAILABLE: 0;
					public static AVAILABILITY_FREE_WITH_SUBSCRIPTION: 1;
					public static AVAILABILITY_PAID_CONTENT: 2;
					public static COLUMN_AUDIO_LANGUAGE: "audio_language";
					public static COLUMN_AUTHOR: "author";
					public static COLUMN_AVAILABILITY: "availability";
					public static COLUMN_BROWSABLE: "browsable";
					public static COLUMN_CANONICAL_GENRE: "canonical_genre";
					public static COLUMN_CHANNEL_ID: "channel_id";
					public static COLUMN_CONTENT_ID: "content_id";
					public static COLUMN_CONTENT_RATING: "content_rating";
					public static COLUMN_DURATION_MILLIS: "duration_millis";
					public static COLUMN_END_TIME_UTC_MILLIS: "end_time_utc_millis";
					public static COLUMN_EPISODE_DISPLAY_NUMBER: "episode_display_number";
					public static COLUMN_EPISODE_TITLE: "episode_title";
					public static COLUMN_INTENT_URI: "intent_uri";
					public static COLUMN_INTERACTION_COUNT: "interaction_count";
					public static COLUMN_INTERACTION_TYPE: "interaction_type";
					public static COLUMN_INTERNAL_PROVIDER_DATA: "internal_provider_data";
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: "internal_provider_flag1";
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: "internal_provider_flag2";
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: "internal_provider_flag3";
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: "internal_provider_flag4";
					public static COLUMN_INTERNAL_PROVIDER_ID: "internal_provider_id";
					public static COLUMN_ITEM_COUNT: "item_count";
					public static COLUMN_LAST_PLAYBACK_POSITION_MILLIS: "last_playback_position_millis";
					public static COLUMN_LIVE: "live";
					public static COLUMN_LOGO_URI: "logo_uri";
					public static COLUMN_LONG_DESCRIPTION: "long_description";
					public static COLUMN_OFFER_PRICE: "offer_price";
					public static COLUMN_POSTER_ART_ASPECT_RATIO: "poster_art_aspect_ratio";
					public static COLUMN_POSTER_ART_URI: "poster_art_uri";
					public static COLUMN_PREVIEW_VIDEO_URI: "preview_video_uri";
					public static COLUMN_RELEASE_DATE: "release_date";
					public static COLUMN_REVIEW_RATING: "review_rating";
					public static COLUMN_REVIEW_RATING_STYLE: "review_rating_style";
					public static COLUMN_SEARCHABLE: "searchable";
					public static COLUMN_SEASON_DISPLAY_NUMBER: "season_display_number";
					public static COLUMN_SEASON_TITLE: "season_title";
					public static COLUMN_SERIES_ID: "series_id";
					public static COLUMN_SHORT_DESCRIPTION: "short_description";
					public static COLUMN_SPLIT_ID: "split_id";
					public static COLUMN_STARTING_PRICE: "starting_price";
					public static COLUMN_START_TIME_UTC_MILLIS: "start_time_utc_millis";
					public static COLUMN_THUMBNAIL_ASPECT_RATIO: "poster_thumbnail_aspect_ratio";
					public static COLUMN_THUMBNAIL_URI: "thumbnail_uri";
					public static COLUMN_TITLE: "title";
					public static COLUMN_TRANSIENT: "transient";
					public static COLUMN_TYPE: "type";
					public static COLUMN_VERSION_NUMBER: "version_number";
					public static COLUMN_VIDEO_HEIGHT: "video_height";
					public static COLUMN_VIDEO_WIDTH: "video_width";
					public static COLUMN_WEIGHT: "weight";
					public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/preview_program";
					public static CONTENT_TYPE: "vnd.android.cursor.dir/preview_program";
					public static CONTENT_URI: android.net.Uri;
					public static INTERACTION_TYPE_FANS: 3;
					public static INTERACTION_TYPE_FOLLOWERS: 2;
					public static INTERACTION_TYPE_LIKES: 4;
					public static INTERACTION_TYPE_LISTENS: 1;
					public static INTERACTION_TYPE_THUMBS: 5;
					public static INTERACTION_TYPE_VIEWERS: 6;
					public static INTERACTION_TYPE_VIEWS: 0;
					public static REVIEW_RATING_STYLE_PERCENTAGE: 2;
					public static REVIEW_RATING_STYLE_STARS: 0;
					public static REVIEW_RATING_STYLE_THUMBS_UP_DOWN: 1;
					public static TYPE_ALBUM: 8;
					public static TYPE_ARTIST: 9;
					public static TYPE_CHANNEL: 6;
					public static TYPE_CLIP: 4;
					public static TYPE_EVENT: 5;
					public static TYPE_MOVIE: 0;
					public static TYPE_PLAYLIST: 10;
					public static TYPE_STATION: 11;
					public static TYPE_TRACK: 7;
					public static TYPE_TV_EPISODE: 3;
					public static TYPE_TV_SEASON: 2;
					public static TYPE_TV_SERIES: 1;
				}
				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: "audio_language";
					public static COLUMN_BROADCAST_GENRE: "broadcast_genre";
					public static COLUMN_CANONICAL_GENRE: "canonical_genre";
					public static COLUMN_CHANNEL_ID: "channel_id";
					public static COLUMN_CONTENT_RATING: "content_rating";
					public static COLUMN_END_TIME_UTC_MILLIS: "end_time_utc_millis";
					public static COLUMN_EPISODE_DISPLAY_NUMBER: "episode_display_number";
					public static COLUMN_EPISODE_NUMBER: "episode_number";
					public static COLUMN_EPISODE_TITLE: "episode_title";
					public static COLUMN_EVENT_ID: "event_id";
					public static COLUMN_GLOBAL_CONTENT_ID: "global_content_id";
					public static COLUMN_INTERNAL_PROVIDER_DATA: "internal_provider_data";
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: "internal_provider_flag1";
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: "internal_provider_flag2";
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: "internal_provider_flag3";
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: "internal_provider_flag4";
					public static COLUMN_INTERNAL_PROVIDER_ID: "internal_provider_id";
					public static COLUMN_LONG_DESCRIPTION: "long_description";
					public static COLUMN_MULTI_SERIES_ID: "multi_series_id";
					public static COLUMN_POSTER_ART_URI: "poster_art_uri";
					public static COLUMN_RECORDING_PROHIBITED: "recording_prohibited";
					public static COLUMN_REVIEW_RATING: "review_rating";
					public static COLUMN_REVIEW_RATING_STYLE: "review_rating_style";
					public static COLUMN_SCRAMBLED: "scrambled";
					public static COLUMN_SEARCHABLE: "searchable";
					public static COLUMN_SEASON_DISPLAY_NUMBER: "season_display_number";
					public static COLUMN_SEASON_NUMBER: "season_number";
					public static COLUMN_SEASON_TITLE: "season_title";
					public static COLUMN_SERIES_ID: "series_id";
					public static COLUMN_SHORT_DESCRIPTION: "short_description";
					public static COLUMN_SPLIT_ID: "split_id";
					public static COLUMN_START_TIME_UTC_MILLIS: "start_time_utc_millis";
					public static COLUMN_THUMBNAIL_URI: "thumbnail_uri";
					public static COLUMN_TITLE: "title";
					public static COLUMN_VERSION_NUMBER: "version_number";
					public static COLUMN_VIDEO_HEIGHT: "video_height";
					public static COLUMN_VIDEO_WIDTH: "video_width";
					public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/program";
					public static CONTENT_TYPE: "vnd.android.cursor.dir/program";
					public static CONTENT_URI: android.net.Uri;
					public static REVIEW_RATING_STYLE_PERCENTAGE: 2;
					public static REVIEW_RATING_STYLE_STARS: 0;
					public static REVIEW_RATING_STYLE_THUMBS_UP_DOWN: 1;
				}
				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: "ANIMAL_WILDLIFE";
						public static ARTS: "ARTS";
						public static COMEDY: "COMEDY";
						public static DRAMA: "DRAMA";
						public static EDUCATION: "EDUCATION";
						public static ENTERTAINMENT: "ENTERTAINMENT";
						public static FAMILY_KIDS: "FAMILY_KIDS";
						public static GAMING: "GAMING";
						public static LIFE_STYLE: "LIFE_STYLE";
						public static MOVIES: "MOVIES";
						public static MUSIC: "MUSIC";
						public static NEWS: "NEWS";
						public static PREMIER: "PREMIER";
						public static SHOPPING: "SHOPPING";
						public static SPORTS: "SPORTS";
						public static TECH_SCIENCE: "TECH_SCIENCE";
						public static TRAVEL: "TRAVEL";
						public static encode(genres: androidNative.Array<string>): string;
						public static isCanonical(genre: string): boolean;
						public static decode(genres: string): androidNative.Array<string>;
					}
				}
				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: "audio_language";
					public static COLUMN_BROADCAST_GENRE: "broadcast_genre";
					public static COLUMN_CANONICAL_GENRE: "canonical_genre";
					public static COLUMN_CHANNEL_ID: "channel_id";
					public static COLUMN_CONTENT_RATING: "content_rating";
					public static COLUMN_END_TIME_UTC_MILLIS: "end_time_utc_millis";
					public static COLUMN_EPISODE_DISPLAY_NUMBER: "episode_display_number";
					public static COLUMN_EPISODE_TITLE: "episode_title";
					public static COLUMN_INPUT_ID: "input_id";
					public static COLUMN_INTERNAL_PROVIDER_DATA: "internal_provider_data";
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: "internal_provider_flag1";
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: "internal_provider_flag2";
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: "internal_provider_flag3";
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: "internal_provider_flag4";
					public static COLUMN_INTERNAL_PROVIDER_ID: "internal_provider_id";
					public static COLUMN_LONG_DESCRIPTION: "long_description";
					public static COLUMN_MULTI_SERIES_ID: "multi_series_id";
					public static COLUMN_POSTER_ART_URI: "poster_art_uri";
					public static COLUMN_RECORDING_DATA_BYTES: "recording_data_bytes";
					public static COLUMN_RECORDING_DATA_URI: "recording_data_uri";
					public static COLUMN_RECORDING_DURATION_MILLIS: "recording_duration_millis";
					public static COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS: "recording_expire_time_utc_millis";
					public static COLUMN_REVIEW_RATING: "review_rating";
					public static COLUMN_REVIEW_RATING_STYLE: "review_rating_style";
					public static COLUMN_SEARCHABLE: "searchable";
					public static COLUMN_SEASON_DISPLAY_NUMBER: "season_display_number";
					public static COLUMN_SEASON_TITLE: "season_title";
					public static COLUMN_SERIES_ID: "series_id";
					public static COLUMN_SHORT_DESCRIPTION: "short_description";
					public static COLUMN_SPLIT_ID: "split_id";
					public static COLUMN_START_TIME_UTC_MILLIS: "start_time_utc_millis";
					public static COLUMN_THUMBNAIL_URI: "thumbnail_uri";
					public static COLUMN_TITLE: "title";
					public static COLUMN_VERSION_NUMBER: "version_number";
					public static COLUMN_VIDEO_HEIGHT: "video_height";
					public static COLUMN_VIDEO_WIDTH: "video_width";
					public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/recorded_program";
					public static CONTENT_TYPE: "vnd.android.cursor.dir/recorded_program";
					public static CONTENT_URI: android.net.Uri;
					public static REVIEW_RATING_STYLE_PERCENTAGE: 2;
					public static REVIEW_RATING_STYLE_STARS: 0;
					public static REVIEW_RATING_STYLE_THUMBS_UP_DOWN: 1;
				}
				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: 0;
					public static ASPECT_RATIO_1_1: 3;
					public static ASPECT_RATIO_2_3: 4;
					public static ASPECT_RATIO_3_2: 1;
					public static ASPECT_RATIO_4_3: 2;
					public static AVAILABILITY_AVAILABLE: 0;
					public static AVAILABILITY_FREE_WITH_SUBSCRIPTION: 1;
					public static AVAILABILITY_PAID_CONTENT: 2;
					public static COLUMN_AUDIO_LANGUAGE: "audio_language";
					public static COLUMN_AUTHOR: "author";
					public static COLUMN_AVAILABILITY: "availability";
					public static COLUMN_BROWSABLE: "browsable";
					public static COLUMN_CANONICAL_GENRE: "canonical_genre";
					public static COLUMN_CONTENT_ID: "content_id";
					public static COLUMN_CONTENT_RATING: "content_rating";
					public static COLUMN_DURATION_MILLIS: "duration_millis";
					public static COLUMN_END_TIME_UTC_MILLIS: "end_time_utc_millis";
					public static COLUMN_EPISODE_DISPLAY_NUMBER: "episode_display_number";
					public static COLUMN_EPISODE_TITLE: "episode_title";
					public static COLUMN_INTENT_URI: "intent_uri";
					public static COLUMN_INTERACTION_COUNT: "interaction_count";
					public static COLUMN_INTERACTION_TYPE: "interaction_type";
					public static COLUMN_INTERNAL_PROVIDER_DATA: "internal_provider_data";
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: "internal_provider_flag1";
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: "internal_provider_flag2";
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: "internal_provider_flag3";
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: "internal_provider_flag4";
					public static COLUMN_INTERNAL_PROVIDER_ID: "internal_provider_id";
					public static COLUMN_ITEM_COUNT: "item_count";
					public static COLUMN_LAST_ENGAGEMENT_TIME_UTC_MILLIS: "last_engagement_time_utc_millis";
					public static COLUMN_LAST_PLAYBACK_POSITION_MILLIS: "last_playback_position_millis";
					public static COLUMN_LIVE: "live";
					public static COLUMN_LOGO_URI: "logo_uri";
					public static COLUMN_LONG_DESCRIPTION: "long_description";
					public static COLUMN_OFFER_PRICE: "offer_price";
					public static COLUMN_POSTER_ART_ASPECT_RATIO: "poster_art_aspect_ratio";
					public static COLUMN_POSTER_ART_URI: "poster_art_uri";
					public static COLUMN_PREVIEW_VIDEO_URI: "preview_video_uri";
					public static COLUMN_RELEASE_DATE: "release_date";
					public static COLUMN_REVIEW_RATING: "review_rating";
					public static COLUMN_REVIEW_RATING_STYLE: "review_rating_style";
					public static COLUMN_SEARCHABLE: "searchable";
					public static COLUMN_SEASON_DISPLAY_NUMBER: "season_display_number";
					public static COLUMN_SEASON_TITLE: "season_title";
					public static COLUMN_SERIES_ID: "series_id";
					public static COLUMN_SHORT_DESCRIPTION: "short_description";
					public static COLUMN_SPLIT_ID: "split_id";
					public static COLUMN_STARTING_PRICE: "starting_price";
					public static COLUMN_START_TIME_UTC_MILLIS: "start_time_utc_millis";
					public static COLUMN_THUMBNAIL_ASPECT_RATIO: "poster_thumbnail_aspect_ratio";
					public static COLUMN_THUMBNAIL_URI: "thumbnail_uri";
					public static COLUMN_TITLE: "title";
					public static COLUMN_TRANSIENT: "transient";
					public static COLUMN_TYPE: "type";
					public static COLUMN_VERSION_NUMBER: "version_number";
					public static COLUMN_VIDEO_HEIGHT: "video_height";
					public static COLUMN_VIDEO_WIDTH: "video_width";
					public static COLUMN_WATCH_NEXT_TYPE: "watch_next_type";
					public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/watch_next_program";
					public static CONTENT_TYPE: "vnd.android.cursor.dir/watch_next_program";
					public static CONTENT_URI: android.net.Uri;
					public static INTERACTION_TYPE_FANS: 3;
					public static INTERACTION_TYPE_FOLLOWERS: 2;
					public static INTERACTION_TYPE_LIKES: 4;
					public static INTERACTION_TYPE_LISTENS: 1;
					public static INTERACTION_TYPE_THUMBS: 5;
					public static INTERACTION_TYPE_VIEWERS: 6;
					public static INTERACTION_TYPE_VIEWS: 0;
					public static REVIEW_RATING_STYLE_PERCENTAGE: 2;
					public static REVIEW_RATING_STYLE_STARS: 0;
					public static REVIEW_RATING_STYLE_THUMBS_UP_DOWN: 1;
					public static TYPE_ALBUM: 8;
					public static TYPE_ARTIST: 9;
					public static TYPE_CHANNEL: 6;
					public static TYPE_CLIP: 4;
					public static TYPE_EVENT: 5;
					public static TYPE_MOVIE: 0;
					public static TYPE_PLAYLIST: 10;
					public static TYPE_STATION: 11;
					public static TYPE_TRACK: 7;
					public static TYPE_TV_EPISODE: 3;
					public static TYPE_TV_SEASON: 2;
					public static TYPE_TV_SERIES: 1;
					public static WATCH_NEXT_TYPE_CONTINUE: 0;
					public static WATCH_NEXT_TYPE_NEW: 2;
					public static WATCH_NEXT_TYPE_NEXT: 1;
					public static WATCH_NEXT_TYPE_WATCHLIST: 3;
				}
			}
		}
	}
}

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: "android.media.tv.extra.INPUT_ID";
				public static TYPE_COMPONENT: 1004;
				public static TYPE_COMPOSITE: 1001;
				public static TYPE_DISPLAY_PORT: 1008;
				public static TYPE_DVI: 1006;
				public static TYPE_HDMI: 1007;
				public static TYPE_OTHER: 1000;
				public static TYPE_SCART: 1003;
				public static TYPE_SVIDEO: 1002;
				public static TYPE_TUNER: 0;
				public static TYPE_VGA: 1005;
				public getId(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public loadCustomLabel(context: android.content.Context): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTunerCount(): number;
				public getServiceInfo(): android.content.pm.ServiceInfo;
				public toString(): string;
				/** @deprecated */
				public createSettingsIntent(): android.content.Intent;
				public getParentId(): string;
				public createSetupIntent(): android.content.Intent;
				public isPassthroughInput(): boolean;
				public canRecord(): boolean;
				public loadIcon(context: android.content.Context): android.graphics.drawable.Drawable;
				public hashCode(): number;
				public canPauseRecording(): boolean;
				public describeContents(): number;
				public getExtras(): android.os.Bundle;
				public loadLabel(context: android.content.Context): string;
				public equals(o: any): boolean;
				public isHidden(context: android.content.Context): boolean;
			}
			export module TvInputInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvInputInfo.Builder>;
					public setExtras(extras: android.os.Bundle): android.media.tv.TvInputInfo.Builder;
					public setTunerCount(tunerCount: number): android.media.tv.TvInputInfo.Builder;
					public setCanPauseRecording(canPauseRecording: boolean): android.media.tv.TvInputInfo.Builder;
					public constructor(context: android.content.Context, component: android.content.ComponentName);
					public setCanRecord(canRecord: boolean): 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: "android.media.tv.action.BLOCKED_RATINGS_CHANGED";
				public static ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED: "android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED";
				public static ACTION_QUERY_CONTENT_RATING_SYSTEMS: "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS";
				public static ACTION_SETUP_INPUTS: "android.media.tv.action.SETUP_INPUTS";
				public static ACTION_VIEW_RECORDING_SCHEDULES: "android.media.tv.action.VIEW_RECORDING_SCHEDULES";
				public static BROADCAST_INFO_STREAM_EVENT: 5;
				public static BROADCAST_INFO_TYPE_COMMAND: 7;
				public static BROADCAST_INFO_TYPE_DSMCC: 6;
				public static BROADCAST_INFO_TYPE_PES: 4;
				public static BROADCAST_INFO_TYPE_SECTION: 3;
				public static BROADCAST_INFO_TYPE_TABLE: 2;
				public static BROADCAST_INFO_TYPE_TIMELINE: 8;
				public static BROADCAST_INFO_TYPE_TS: 1;
				public static INPUT_STATE_CONNECTED: 0;
				public static INPUT_STATE_CONNECTED_STANDBY: 1;
				public static INPUT_STATE_DISCONNECTED: 2;
				public static META_DATA_CONTENT_RATING_SYSTEMS: "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
				public static RECORDING_ERROR_INSUFFICIENT_SPACE: 1;
				public static RECORDING_ERROR_RESOURCE_BUSY: 2;
				public static RECORDING_ERROR_UNKNOWN: 0;
				public static SIGNAL_STRENGTH_LOST: 1;
				public static SIGNAL_STRENGTH_STRONG: 3;
				public static SIGNAL_STRENGTH_WEAK: 2;
				public static TIME_SHIFT_INVALID_TIME: -9223372036854775808;
				public static TIME_SHIFT_MODE_AUTO: 4;
				public static TIME_SHIFT_MODE_LOCAL: 2;
				public static TIME_SHIFT_MODE_NETWORK: 3;
				public static TIME_SHIFT_MODE_OFF: 1;
				public static TIME_SHIFT_STATUS_AVAILABLE: 3;
				public static TIME_SHIFT_STATUS_UNAVAILABLE: 2;
				public static TIME_SHIFT_STATUS_UNKNOWN: 0;
				public static TIME_SHIFT_STATUS_UNSUPPORTED: 1;
				public static TV_MESSAGE_GROUP_ID_NONE: -1;
				public static TV_MESSAGE_KEY_GROUP_ID: "android.media.tv.TvInputManager.group_id";
				public static TV_MESSAGE_KEY_RAW_DATA: "android.media.tv.TvInputManager.raw_data";
				public static TV_MESSAGE_KEY_STREAM_ID: "android.media.tv.TvInputManager.stream_id";
				public static TV_MESSAGE_KEY_SUBTYPE: "android.media.tv.TvInputManager.subtype";
				public static TV_MESSAGE_SUBTYPE_CC_608E: "CTA 608-E";
				public static TV_MESSAGE_SUBTYPE_WATERMARKING_A335: "ATSC A/335";
				public static TV_MESSAGE_TYPE_CLOSED_CAPTION: 2;
				public static TV_MESSAGE_TYPE_OTHER: 1000;
				public static TV_MESSAGE_TYPE_WATERMARK: 1;
				public static VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY: 4;
				public static VIDEO_UNAVAILABLE_REASON_BUFFERING: 3;
				public static VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT: 16;
				public static VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID: 15;
				public static VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE: 14;
				public static VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION: 7;
				public static VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED: 10;
				public static VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION: 11;
				public static VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING: 12;
				public static VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD: 13;
				public static VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED: 8;
				public static VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING: 17;
				public static VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN: 18;
				public static VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE: 6;
				public static VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED: 5;
				public static VIDEO_UNAVAILABLE_REASON_TUNING: 1;
				public static VIDEO_UNAVAILABLE_REASON_UNKNOWN: 0;
				public static VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL: 2;
				public getInputState(inputId: string): number;
				public isRatingBlocked(rating: android.media.tv.TvContentRating): boolean;
				public getTvInputList(): java.util.List<android.media.tv.TvInputInfo>;
				public getTvInputInfo(inputId: string): android.media.tv.TvInputInfo;
				public updateTvInputInfo(inputInfo: android.media.tv.TvInputInfo): void;
				public registerCallback(callback: android.media.tv.TvInputManager.TvInputCallback, handler: android.os.Handler): void;
				public unregisterCallback(callback: android.media.tv.TvInputManager.TvInputCallback): void;
				public getBlockedRatings(): java.util.List<android.media.tv.TvContentRating>;
				public isParentalControlsEnabled(): boolean;
			}
			export module TvInputManager {
				export abstract class TvInputCallback extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvInputManager.TvInputCallback>;
					public onInputRemoved(inputId: string): void;
					public constructor();
					public onInputAdded(inputId: string): void;
					public onInputStateChanged(inputId: string, state: number): void;
					public onTvInputInfoUpdated(inputInfo: android.media.tv.TvInputInfo): void;
					public onInputUpdated(inputId: string): 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 PRIORITY_HINT_USE_CASE_TYPE_BACKGROUND: 100;
				public static PRIORITY_HINT_USE_CASE_TYPE_LIVE: 400;
				public static PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK: 300;
				public static PRIORITY_HINT_USE_CASE_TYPE_RECORD: 500;
				public static PRIORITY_HINT_USE_CASE_TYPE_SCAN: 200;
				public static SERVICE_INTERFACE: "android.media.tv.TvInputService";
				public static SERVICE_META_DATA: "android.media.tv.input";
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onCreateRecordingSession(inputId: string): android.media.tv.TvInputService.RecordingSession;
				public onCreateSession(inputId: string, sessionId: string): android.media.tv.TvInputService.Session;
				public onTrimMemory(param0: number): void;
				public onCreateSession(inputId: string, sessionId: string, tvAppAttributionSource: android.content.AttributionSource): android.media.tv.TvInputService.Session;
				public onCreateRecordingSession(inputId: string, sessionId: string): android.media.tv.TvInputService.RecordingSession;
				public constructor(base: android.content.Context);
				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 onHardwareVideoAvailable(): void;
					public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
					public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
					public constructor(context: android.content.Context);
					public onSetSurface(surface: android.view.Surface): boolean;
					public getHardwareInputId(): string;
					public onHardwareVideoUnavailable(reason: number): void;
					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 onAppPrivateCommand(action: string, data: android.os.Bundle): void;
					public onStartRecording(programUri: android.net.Uri, params: android.os.Bundle): void;
					public constructor(context: android.content.Context);
					public onStopRecording(): void;
					public notifyError(error: number): void;
					public notifyTuned(channelUri: android.net.Uri): void;
					public onResumeRecording(params: android.os.Bundle): void;
					public onTune(channelUri: android.net.Uri, params: android.os.Bundle): void;
					public onPauseRecording(params: android.os.Bundle): void;
					public notifyRecordingStopped(recordedProgramUri: android.net.Uri): void;
					public onStartRecording(param0: android.net.Uri): 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 notifyAvailableSpeeds(speeds: androidNative.Array<number>): void;
					public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
					public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
					public setOverlayViewEnabled(enable: boolean): void;
					public notifyVideoAvailable(): void;
					public onTvMessage(type: number, data: android.os.Bundle): void;
					public notifyTuned(channelUri: android.net.Uri): void;
					public onSetInteractiveAppNotificationEnabled(enabled: boolean): void;
					public onOverlayViewSizeChanged(width: number, height: number): void;
					public notifyChannelRetuned(channelUri: android.net.Uri): void;
					public notifyTracksChanged(tracks: java.util.List<android.media.tv.TvTrackInfo>): void;
					public onAdBufferReady(buffer: android.media.tv.AdBuffer): void;
					public constructor(context: android.content.Context);
					public onRequestAd(request: android.media.tv.AdRequest): void;
					public onTune(channelUri: android.net.Uri, params: android.os.Bundle): boolean;
					public notifyAudioPresentationChanged(audioPresentations: java.util.List<android.media.AudioPresentation>): void;
					public onSetSurface(param0: android.view.Surface): boolean;
					public onTimeShiftGetStartPosition(): number;
					public layoutSurface(left: number, top: number, right: number, bottom: number): void;
					public onTimeShiftSetMode(mode: number): void;
					public onTimeShiftResume(): void;
					public notifyAitInfoUpdated(aitInfo: android.media.tv.AitInfo): void;
					public onTimeShiftSetPlaybackParams(params: android.media.PlaybackParams): void;
					public notifyTvMessage(type: number, data: android.os.Bundle): void;
					public onRequestBroadcastInfo(request: android.media.tv.BroadcastInfoRequest): void;
					public onRemoveBroadcastInfo(requestId: number): void;
					public notifySignalStrength(strength: number): void;
					public notifyTimeShiftStatusChanged(status: number): void;
					public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
					public notifyAdResponse(response: android.media.tv.AdResponse): void;
					public notifyTimeShiftMode(mode: number): void;
					public onAppPrivateCommand(action: string, data: android.os.Bundle): void;
					public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
					public notifyAdBufferConsumed(buffer: android.media.tv.AdBuffer): void;
					public onKeyMultiple(keyCode: number, count: number, event: android.view.KeyEvent): boolean;
					public onTrackballEvent(event: android.view.MotionEvent): boolean;
					public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
					public onUnblockContent(unblockedRating: android.media.tv.TvContentRating): void;
					public onTimeShiftSeekTo(timeMs: number): void;
					public onKeyLongPress(keyCode: number, event: android.view.KeyEvent): boolean;
					public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
					public onSurfaceChanged(format: number, width: number, height: number): void;
					public onTouchEvent(event: android.view.MotionEvent): boolean;
					public notifyBroadcastInfoResponse(response: android.media.tv.BroadcastInfoResponse): void;
					public notifyCueingMessageAvailability(available: boolean): void;
					public onSelectAudioPresentation(presentationId: number, programId: number): boolean;
					public notifyAudioPresentationSelected(presentationId: number, programId: number): void;
					public onSetTvMessageEnabled(type: number, enabled: boolean): void;
					public onSetCaptionEnabled(param0: boolean): void;
					public notifyContentAllowed(): void;
					public onSetStreamVolume(param0: number): void;
					public onTimeShiftPlay(recordedProgramUri: android.net.Uri): void;
					public onSelectTrack(type: number, trackId: string): boolean;
					public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
					public onTimeShiftPause(): void;
					public onTimeShiftGetCurrentPosition(): number;
					public notifyVideoUnavailable(reason: number): void;
					public onCreateOverlayView(): android.view.View;
					public onRelease(): void;
					public notifyTrackSelected(type: number, trackId: string): void;
					public notifyContentBlocked(rating: android.media.tv.TvContentRating): 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 constructor(context: android.content.Context, tag: string, callback: android.media.tv.TvRecordingClient.RecordingCallback, handler: android.os.Handler);
				public release(): void;
				public sendAppPrivateCommand(action: string, data: android.os.Bundle): void;
				public tune(inputId: string, channelUri: android.net.Uri, params: android.os.Bundle): void;
				public pauseRecording(params: android.os.Bundle): void;
				public resumeRecording(): void;
				public resumeRecording(params: android.os.Bundle): void;
				public startRecording(programUri: android.net.Uri): void;
				public tune(inputId: string, channelUri: android.net.Uri): void;
				public pauseRecording(): void;
				public setTvInteractiveAppView(view: android.media.tv.interactive.TvInteractiveAppView, recordingId: string): void;
				public stopRecording(): void;
				public startRecording(programUri: android.net.Uri, params: android.os.Bundle): 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(inputId: string): void;
					public onError(error: number): void;
					public constructor();
					public onRecordingStopped(recordedProgramUri: android.net.Uri): void;
					public onDisconnected(inputId: string): void;
					public onTuned(channelUri: android.net.Uri): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TvRecordingInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TvRecordingInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TvRecordingInfo>;
				public static FRIDAY: 32;
				public static MONDAY: 2;
				public static RECORDING_ALL: 3;
				public static RECORDING_IN_PROGRESS: 2;
				public static RECORDING_SCHEDULED: 1;
				public static SATURDAY: 64;
				public static SUNDAY: 1;
				public static THURSDAY: 16;
				public static TUESDAY: 4;
				public static WEDNESDAY: 8;
				public getRecordingDurationMillis(): number;
				public getStartPaddingMillis(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setName(name: string): void;
				public getProgramUri(): android.net.Uri;
				public constructor(recordingId: string, startPadding: number, endPadding: number, repeatDays: number, name: string, description: string, scheduledStartTime: number, scheduledDuration: number, channelUri: android.net.Uri, programUri: android.net.Uri, contentRatings: java.util.List<android.media.tv.TvContentRating>, recordingUri: android.net.Uri, recordingStartTime: number, recordingDuration: number);
				public getRecordingUri(): android.net.Uri;
				public getName(): string;
				public getDescription(): string;
				public getChannelUri(): android.net.Uri;
				public getContentRatings(): java.util.List<android.media.tv.TvContentRating>;
				public getScheduledStartTimeMillis(): number;
				public getScheduledDurationMillis(): number;
				public setDescription(description: string): void;
				public getRecordingStartTimeMillis(): number;
				public describeContents(): number;
				public getEndPaddingMillis(): number;
				public getRecordingId(): string;
				public getRepeatDays(): number;
			}
		}
	}
}

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: 0;
				public static TYPE_SUBTITLE: 2;
				public static TYPE_VIDEO: 1;
				public getEncoding(): string;
				public getVideoHeight(): number;
				public getId(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public isHardOfHearing(): boolean;
				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 isAudioDescription(): boolean;
				public equals(o: any): boolean;
				public isSpokenSubtitle(): boolean;
				public getExtra(): android.os.Bundle;
				public isEncrypted(): boolean;
			}
			export module TvTrackInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvTrackInfo.Builder>;
					public setAudioDescription(audioDescription: boolean): android.media.tv.TvTrackInfo.Builder;
					public setDescription(description: string): android.media.tv.TvTrackInfo.Builder;
					public setEncoding(encoding: string): android.media.tv.TvTrackInfo.Builder;
					public setAudioChannelCount(audioChannelCount: number): android.media.tv.TvTrackInfo.Builder;
					public setExtra(extra: android.os.Bundle): android.media.tv.TvTrackInfo.Builder;
					public build(): android.media.tv.TvTrackInfo;
					public setVideoFrameRate(videoFrameRate: number): android.media.tv.TvTrackInfo.Builder;
					public setVideoPixelAspectRatio(videoPixelAspectRatio: number): android.media.tv.TvTrackInfo.Builder;
					public setLanguage(language: string): android.media.tv.TvTrackInfo.Builder;
					public setAudioSampleRate(audioSampleRate: number): android.media.tv.TvTrackInfo.Builder;
					public setVideoWidth(videoWidth: number): android.media.tv.TvTrackInfo.Builder;
					public setEncrypted(encrypted: boolean): android.media.tv.TvTrackInfo.Builder;
					public constructor(type: number, id: string);
					public setHardOfHearing(hardOfHearing: boolean): android.media.tv.TvTrackInfo.Builder;
					public setSpokenSubtitle(spokenSubtitle: boolean): android.media.tv.TvTrackInfo.Builder;
					public setVideoHeight(videoHeight: number): android.media.tv.TvTrackInfo.Builder;
					public setVideoActiveFormatDescription(videoActiveFormatDescription: 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 addView(child: android.view.View, width: number, height: number): void;
				public selectTrack(type: number, trackId: string): void;
				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 setInteractiveAppNotificationEnabled(enabled: 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: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
				public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
				public setCallback(callback: android.media.tv.TvView.TvInputCallback): void;
				public dispatchUnhandledInputEvent(event: android.view.InputEvent): boolean;
				public getTextDirection(): number;
				public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
				public tune(inputId: string, channelUri: android.net.Uri): void;
				public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
				public getAudioPresentations(): java.util.List<android.media.AudioPresentation>;
				public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
				public constructor(context: android.content.Context);
				public setTimeShiftPositionCallback(callback: android.media.tv.TvView.TimeShiftPositionCallback): void;
				public setStreamVolume(volume: number): void;
				public tune(inputId: string, channelUri: android.net.Uri, params: android.os.Bundle): void;
				public timeShiftPlay(inputId: string, recordedProgramUri: android.net.Uri): void;
				public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
				public createContextMenu(param0: android.view.ContextMenu): void;
				public removeView(param0: android.view.View): void;
				public isTextDirectionResolved(): boolean;
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
				/** @deprecated */
				public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
				public isLayoutDirectionResolved(): boolean;
				public sendAppPrivateCommand(action: string, data: android.os.Bundle): void;
				public timeShiftSeekTo(timeMs: number): void;
				public draw(canvas: android.graphics.Canvas): void;
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
				public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
				public showContextMenuForChild(param0: android.view.View): boolean;
				public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
				public dispatchDraw(canvas: android.graphics.Canvas): 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 findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
				public dispatchTrackballEvent(event: android.view.MotionEvent): boolean;
				public getParentForAccessibility(): android.view.ViewParent;
				public addView(child: android.view.View): void;
				public addView(child: android.view.View, index: number): void;
				public bringChildToFront(param0: android.view.View): void;
				public recomputeViewAttributes(param0: android.view.View): void;
				public onAttachedToWindow(): void;
				public clearChildFocus(param0: android.view.View): void;
				public requestDisallowInterceptTouchEvent(param0: boolean): void;
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
				public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
				public timeShiftSetMode(mode: number): void;
				public onVisibilityChanged(changedView: android.view.View, visibility: number): void;
				public setCaptionEnabled(enabled: boolean): void;
				public setTvMessageEnabled(type: number, enabled: 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 getTextAlignment(): number;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public getSelectedTrack(type: number): string;
				public setZOrderMediaOverlay(isMediaOverlay: boolean): void;
				public overrideTvAppAttributionSource(tvAppAttributionSource: android.content.AttributionSource): void;
				public focusSearch(direction: number): android.view.View;
				public focusSearch(param0: android.view.View, param1: number): android.view.View;
				public setZOrderOnTop(onTop: boolean): void;
				public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
				public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				public requestTransparentRegion(param0: android.view.View): void;
				public focusableViewAvailable(param0: android.view.View): void;
				public onDetachedFromWindow(): void;
				public timeShiftSetPlaybackParams(params: android.media.PlaybackParams): void;
				public dispatchWindowFocusChanged(hasFocus: boolean): void;
				public gatherTransparentRegion(region: android.graphics.Region): boolean;
				public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
				public selectAudioPresentation(presentationId: number, programId: number): void;
				public getTracks(type: number): java.util.List<android.media.tv.TvTrackInfo>;
				public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
				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 onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
				public reset(): void;
				public setOnUnhandledInputEventListener(listener: android.media.tv.TvView.OnUnhandledInputEventListener): void;
				public requestLayout(): void;
				public childDrawableStateChanged(param0: android.view.View): void;
				public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
				public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
				public dispatchGenericMotionEvent(event: android.view.MotionEvent): boolean;
				public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
				public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
				public onStopNestedScroll(param0: android.view.View): void;
				public timeShiftResume(): void;
				public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
				public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
				public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
				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 onUnhandledInputEvent(event: android.view.InputEvent): boolean;
				public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
				public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
				public dispatchTouchEvent(event: android.view.MotionEvent): boolean;
				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 onTimeShiftStartPositionChanged(inputId: string, timeMs: number): void;
					public constructor();
					public onTimeShiftCurrentPositionChanged(inputId: string, timeMs: number): void;
				}
				export abstract class TvInputCallback extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvView.TvInputCallback>;
					public onConnectionFailed(inputId: string): void;
					public onCueingMessageAvailability(inputId: string, available: boolean): void;
					public onTvMessage(inputId: string, type: number, data: android.os.Bundle): void;
					public onSignalStrengthUpdated(inputId: string, strength: number): void;
					public onContentBlocked(inputId: string, rating: android.media.tv.TvContentRating): void;
					public onDisconnected(inputId: string): void;
					public onAudioPresentationsChanged(inputId: string, audioPresentations: java.util.List<android.media.AudioPresentation>): void;
					public onAudioPresentationSelected(inputId: string, presentationId: number, programId: number): void;
					public onContentAllowed(inputId: string): void;
					public onTimeShiftStatusChanged(inputId: string, status: number): void;
					public constructor();
					public onVideoAvailable(inputId: string): void;
					public onChannelRetuned(inputId: string, channelUri: android.net.Uri): void;
					public onTracksChanged(inputId: string, tracks: java.util.List<android.media.tv.TvTrackInfo>): void;
					public onTrackSelected(inputId: string, type: number, trackId: string): void;
					public onAvailableSpeeds(inputId: string, speeds: androidNative.Array<number>): void;
					public onVideoUnavailable(inputId: string, reason: number): void;
					public onAitInfoUpdated(inputId: string, aitInfo: android.media.tv.AitInfo): void;
					public onTimeShiftMode(inputId: string, mode: number): void;
					public onTuned(inputId: string, channelUri: android.net.Uri): void;
					public onVideoSizeChanged(inputId: string, width: number, height: number): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export module interactive {
				export class AppLinkInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.media.tv.interactive.AppLinkInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.media.tv.interactive.AppLinkInfo>;
					public constructor(packageName: string, className: string, uriString: string);
					public getComponentName(): android.content.ComponentName;
					public getUri(): android.net.Uri;
					public toString(): string;
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export module interactive {
				export class TvInteractiveAppManager extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.interactive.TvInteractiveAppManager>;
					public static ACTION_APP_LINK_COMMAND: "android.media.tv.interactive.action.APP_LINK_COMMAND";
					public static APP_LINK_KEY_BACK_URI: "back_uri";
					public static APP_LINK_KEY_CLASS_NAME: "class_name";
					public static APP_LINK_KEY_COMMAND_TYPE: "command_type";
					public static APP_LINK_KEY_PACKAGE_NAME: "package_name";
					public static APP_LINK_KEY_SERVICE_ID: "service_id";
					public static ERROR_BLOCKED: 5;
					public static ERROR_ENCRYPTED: 6;
					public static ERROR_NONE: 0;
					public static ERROR_NOT_SUPPORTED: 2;
					public static ERROR_RESOURCE_UNAVAILABLE: 4;
					public static ERROR_UNKNOWN: 1;
					public static ERROR_UNKNOWN_CHANNEL: 7;
					public static ERROR_WEAK_SIGNAL: 3;
					public static INTENT_KEY_BI_INTERACTIVE_APP_TYPE: "bi_interactive_app_type";
					public static INTENT_KEY_BI_INTERACTIVE_APP_URI: "bi_interactive_app_uri";
					public static INTENT_KEY_CHANNEL_URI: "channel_uri";
					public static INTENT_KEY_COMMAND_TYPE: "command_type";
					public static INTENT_KEY_INTERACTIVE_APP_SERVICE_ID: "interactive_app_id";
					public static INTENT_KEY_TV_INPUT_ID: "tv_input_id";
					public static INTERACTIVE_APP_STATE_ERROR: 3;
					public static INTERACTIVE_APP_STATE_RUNNING: 2;
					public static INTERACTIVE_APP_STATE_STOPPED: 1;
					public static SERVICE_STATE_ERROR: 4;
					public static SERVICE_STATE_PREPARING: 2;
					public static SERVICE_STATE_READY: 3;
					public static SERVICE_STATE_UNREALIZED: 1;
					public static TELETEXT_APP_STATE_ERROR: 3;
					public static TELETEXT_APP_STATE_HIDE: 2;
					public static TELETEXT_APP_STATE_SHOW: 1;
					public getTvInteractiveAppServiceList(): java.util.List<android.media.tv.interactive.TvInteractiveAppServiceInfo>;
					public getAppLinkInfoList(): java.util.List<android.media.tv.interactive.AppLinkInfo>;
					public sendAppLinkCommand(tvIAppServiceId: string, command: android.os.Bundle): void;
					public unregisterAppLinkInfo(tvIAppServiceId: string, appLinkInfo: android.media.tv.interactive.AppLinkInfo): void;
					public unregisterCallback(callback: android.media.tv.interactive.TvInteractiveAppManager.TvInteractiveAppCallback): void;
					public registerAppLinkInfo(tvIAppServiceId: string, appLinkInfo: android.media.tv.interactive.AppLinkInfo): void;
					public registerCallback(executor: java.util.concurrent.Executor, callback: android.media.tv.interactive.TvInteractiveAppManager.TvInteractiveAppCallback): void;
				}
				export module TvInteractiveAppManager {
					export abstract class TvInteractiveAppCallback extends java.lang.Object {
						public static class: java.lang.Class<android.media.tv.interactive.TvInteractiveAppManager.TvInteractiveAppCallback>;
						public constructor();
						public onInteractiveAppServiceAdded(iAppServiceId: string): void;
						public onInteractiveAppServiceRemoved(iAppServiceId: string): void;
						public onInteractiveAppServiceUpdated(iAppServiceId: string): void;
						public onTvInteractiveAppServiceStateChanged(iAppServiceId: string, type: number, state: number, err: number): void;
					}
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export module interactive {
				export abstract class TvInteractiveAppService extends android.app.Service {
					public static class: java.lang.Class<android.media.tv.interactive.TvInteractiveAppService>;
					public static COMMAND_PARAMETER_KEY_CHANGE_CHANNEL_QUIETLY: "command_change_channel_quietly";
					public static COMMAND_PARAMETER_KEY_CHANNEL_URI: "command_channel_uri";
					public static COMMAND_PARAMETER_KEY_INPUT_ID: "command_input_id";
					public static COMMAND_PARAMETER_KEY_PLAYBACK_PARAMS: "command_playback_params";
					public static COMMAND_PARAMETER_KEY_PROGRAM_URI: "command_program_uri";
					public static COMMAND_PARAMETER_KEY_STOP_MODE: "command_stop_mode";
					public static COMMAND_PARAMETER_KEY_TIME_POSITION: "command_time_position";
					public static COMMAND_PARAMETER_KEY_TIME_SHIFT_MODE: "command_time_shift_mode";
					public static COMMAND_PARAMETER_KEY_TRACK_ID: "command_track_id";
					public static COMMAND_PARAMETER_KEY_TRACK_TYPE: "command_track_type";
					public static COMMAND_PARAMETER_KEY_VOLUME: "command_volume";
					public static COMMAND_PARAMETER_VALUE_STOP_MODE_BLANK: 1;
					public static COMMAND_PARAMETER_VALUE_STOP_MODE_FREEZE: 2;
					public static PLAYBACK_COMMAND_TYPE_SELECT_TRACK: "select_track";
					public static PLAYBACK_COMMAND_TYPE_SET_STREAM_VOLUME: "set_stream_volume";
					public static PLAYBACK_COMMAND_TYPE_STOP: "stop";
					public static PLAYBACK_COMMAND_TYPE_TUNE: "tune";
					public static PLAYBACK_COMMAND_TYPE_TUNE_NEXT: "tune_next";
					public static PLAYBACK_COMMAND_TYPE_TUNE_PREV: "tune_previous";
					public static SERVICE_INTERFACE: "android.media.tv.interactive.TvInteractiveAppService";
					public static SERVICE_META_DATA: "android.media.tv.interactive.app";
					public static TIME_SHIFT_COMMAND_TYPE_PAUSE: "pause";
					public static TIME_SHIFT_COMMAND_TYPE_PLAY: "play";
					public static TIME_SHIFT_COMMAND_TYPE_RESUME: "resume";
					public static TIME_SHIFT_COMMAND_TYPE_SEEK_TO: "seek_to";
					public static TIME_SHIFT_COMMAND_TYPE_SET_MODE: "set_mode";
					public static TIME_SHIFT_COMMAND_TYPE_SET_PLAYBACK_PARAMS: "set_playback_params";
					public onBind(intent: android.content.Intent): android.os.IBinder;
					public notifyStateChanged(type: number, state: number, error: number): void;
					public onTrimMemory(param0: number): void;
					public constructor();
					public onRegisterAppLinkInfo(appLinkInfo: android.media.tv.interactive.AppLinkInfo): void;
					public onCreateSession(param0: string, param1: number): android.media.tv.interactive.TvInteractiveAppService.Session;
					public onAppLinkCommand(command: android.os.Bundle): void;
					public onUnregisterAppLinkInfo(appLinkInfo: android.media.tv.interactive.AppLinkInfo): void;
					public constructor(base: android.content.Context);
				}
				export module TvInteractiveAppService {
					export abstract class Session extends java.lang.Object implements android.view.KeyEvent.Callback {
						public static class: java.lang.Class<android.media.tv.interactive.TvInteractiveAppService.Session>;
						public onContentAllowed(): void;
						public requestCurrentChannelUri(): void;
						public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
						public requestTimeShiftMode(): void;
						public constructor(context: android.content.Context);
						public onRecordingError(recordingId: string, err: number): void;
						public onCurrentChannelUri(channelUri: android.net.Uri): void;
						public requestCurrentTvInputId(): void;
						public requestTvRecordingInfo(recordingId: string): void;
						public notifyAdBufferReady(buffer: android.media.tv.AdBuffer): void;
						public onCurrentChannelLcn(lcn: number): void;
						public setMediaViewEnabled(enable: boolean): void;
						public onMediaViewSizeChanged(width: number, height: number): void;
						public onRecordingConnectionFailed(recordingId: string, inputId: string): void;
						public onRecordingStarted(recordingId: string, requestId: string): void;
						public onKeyLongPress(keyCode: number, event: android.view.KeyEvent): boolean;
						public onTrackballEvent(event: android.view.MotionEvent): boolean;
						public requestTvRecordingInfoList(type: number): void;
						public onSigningResult(signingId: string, result: androidNative.Array<number>): void;
						public onTrackSelected(type: number, trackId: string): void;
						public onResetInteractiveApp(): void;
						public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
						public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
						public requestAvailableSpeeds(): void;
						public onTimeShiftPlaybackParams(params: android.media.PlaybackParams): void;
						public onStopInteractiveApp(): void;
						public onCreateBiInteractiveAppRequest(biIAppUri: android.net.Uri, params: android.os.Bundle): void;
						public requestScheduleRecording(requestId: string, inputId: string, channelUri: android.net.Uri, startTime: number, duration: number, repeatDays: number, params: android.os.Bundle): void;
						public requestStopRecording(recordingId: string): void;
						public requestTrackInfoList(): void;
						public sendPlaybackCommandRequest(cmdType: string, parameters: android.os.Bundle): void;
						public onSurfaceChanged(format: number, width: number, height: number): void;
						public onStreamVolume(volume: number): void;
						public onCurrentVideoBounds(bounds: android.graphics.Rect): void;
						public onContentBlocked(rating: android.media.tv.TvContentRating): void;
						public onBroadcastInfoResponse(response: android.media.tv.BroadcastInfoResponse): void;
						public requestBroadcastInfo(request: android.media.tv.BroadcastInfoRequest): void;
						public onTrackInfoList(tracks: java.util.List<android.media.tv.TvTrackInfo>): void;
						public onTvRecordingInfo(recordingInfo: android.media.tv.TvRecordingInfo): void;
						public onTimeShiftStatusChanged(inputId: string, status: number): void;
						public onAdResponse(response: android.media.tv.AdResponse): void;
						public requestAd(request: android.media.tv.AdRequest): void;
						public onSetTeletextAppEnabled(enable: boolean): void;
						public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
						public onRecordingStopped(recordingId: string): void;
						public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
						public onCreateMediaView(): android.view.View;
						public requestCurrentVideoBounds(): void;
						public isMediaViewEnabled(): boolean;
						public onAvailableSpeeds(speeds: androidNative.Array<number>): void;
						public onTimeShiftMode(mode: number): void;
						public onTvRecordingInfoList(recordingInfoList: java.util.List<android.media.tv.TvRecordingInfo>): void;
						public notifyBiInteractiveAppCreated(biIAppUri: android.net.Uri, biIAppId: string): void;
						public onRecordingScheduled(recordingId: string, requestId: string): void;
						public onSignalStrength(strength: number): void;
						public requestStartRecording(requestId: string, programUri: android.net.Uri): void;
						public removeBroadcastInfo(requestId: number): void;
						public onCurrentTvInputId(inputId: string): void;
						public onDestroyBiInteractiveAppRequest(biIAppId: string): void;
						public requestCurrentChannelLcn(): void;
						public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
						public onStartInteractiveApp(): void;
						public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
						public onRecordingTuned(recordingId: string, channelUri: android.net.Uri): void;
						public onVideoAvailable(): void;
						public requestSigning(signingId: string, algorithm: string, alias: string, data: androidNative.Array<number>): void;
						public setVideoBounds(rect: android.graphics.Rect): void;
						public sendTimeShiftCommandRequest(cmdType: string, parameters: android.os.Bundle): void;
						public requestStreamVolume(): void;
						public onTimeShiftStartPositionChanged(inputId: string, timeMs: number): void;
						public onAdBufferConsumed(buffer: android.media.tv.AdBuffer): void;
						public onRelease(): void;
						public notifySessionStateChanged(state: number, err: number): void;
						public onRecordingDisconnected(recordingId: string, inputId: string): void;
						public onSetSurface(param0: android.view.Surface): boolean;
						public layoutSurface(left: number, top: number, right: number, bottom: number): void;
						public onError(errMsg: string, params: android.os.Bundle): void;
						public onVideoUnavailable(reason: number): void;
						public onKeyMultiple(keyCode: number, count: number, event: android.view.KeyEvent): boolean;
						public requestScheduleRecording(requestId: string, inputId: string, channelUri: android.net.Uri, programUri: android.net.Uri, params: android.os.Bundle): void;
						public setTvRecordingInfo(recordingId: string, recordingInfo: android.media.tv.TvRecordingInfo): void;
						public onTimeShiftCurrentPositionChanged(inputId: string, timeMs: number): void;
						public onTouchEvent(event: android.view.MotionEvent): boolean;
						public onTracksChanged(tracks: java.util.List<android.media.tv.TvTrackInfo>): void;
						public onTuned(channelUri: android.net.Uri): void;
						public onTvMessage(type: number, data: android.os.Bundle): void;
						public notifyTeletextAppStateChanged(state: number): void;
					}
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export module interactive {
				export class TvInteractiveAppServiceInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.media.tv.interactive.TvInteractiveAppServiceInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.media.tv.interactive.TvInteractiveAppServiceInfo>;
					public static INTERACTIVE_APP_TYPE_ATSC: 2;
					public static INTERACTIVE_APP_TYPE_GINGA: 4;
					public static INTERACTIVE_APP_TYPE_HBBTV: 1;
					public static INTERACTIVE_APP_TYPE_OTHER: -2147483648;
					public static INTERACTIVE_APP_TYPE_TARGETED_AD: 8;
					public getSupportedTypes(): number;
					public getId(): string;
					public constructor(context: android.content.Context, component: android.content.ComponentName);
					public describeContents(): number;
					public getServiceInfo(): android.content.pm.ServiceInfo;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getCustomSupportedTypes(): java.util.List<string>;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export module interactive {
				export class TvInteractiveAppView extends android.view.ViewGroup {
					public static class: java.lang.Class<android.media.tv.interactive.TvInteractiveAppView>;
					public static BI_INTERACTIVE_APP_KEY_ALIAS: "alias";
					public static BI_INTERACTIVE_APP_KEY_CERTIFICATE: "certificate";
					public static BI_INTERACTIVE_APP_KEY_HTTP_ADDITIONAL_HEADERS: "http_additional_headers";
					public static BI_INTERACTIVE_APP_KEY_HTTP_USER_AGENT: "http_user_agent";
					public static BI_INTERACTIVE_APP_KEY_PRIVATE_KEY: "private_key";
					public static ERROR_KEY_METHOD_NAME: "method_name";
					public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
					public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
					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 notifyTimeShiftStatusChanged(inputId: string, status: number): void;
					public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
					public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
					public sendTrackInfoList(tracks: java.util.List<android.media.tv.TvTrackInfo>): void;
					public isTextDirectionResolved(): boolean;
					public showContextMenuForChild(param0: android.view.View): boolean;
					public notifyTimeShiftStartPositionChanged(inputId: string, timeMs: number): void;
					public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
					public sendCurrentChannelLcn(lcn: number): void;
					public addView(child: android.view.View, index: number): void;
					public notifyError(errMsg: string, params: android.os.Bundle): void;
					public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
					public getLayoutDirection(): number;
					public getParentForAccessibility(): android.view.ViewParent;
					public createContextMenu(param0: android.view.ContextMenu): void;
					public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
					public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
					public childDrawableStateChanged(param0: android.view.View): void;
					public startInteractiveApp(): void;
					public onVisibilityChanged(changedView: android.view.View, visibility: number): void;
					public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
					public isTextAlignmentResolved(): boolean;
					public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
					public canResolveTextAlignment(): boolean;
					public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
					public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
					public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
					public dispatchUnhandledInputEvent(event: android.view.InputEvent): boolean;
					public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
					public setCallback(executor: java.util.concurrent.Executor, callback: android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback): void;
					public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
					public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
					public clearCallback(): void;
					public sendAccessibilityEvent(param0: number): void;
					public requestLayout(): void;
					public notifyRecordingStopped(recordingId: string): void;
					public onDetachedFromWindow(): void;
					public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
					public reset(): void;
					public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
					public getTextAlignment(): number;
					public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
					public sendCurrentChannelUri(channelUri: android.net.Uri): void;
					public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
					public focusSearch(param0: android.view.View, param1: number): android.view.View;
					public resetInteractiveApp(): void;
					public notifyRecordingScheduled(recordingId: string, requestId: string): void;
					public createBiInteractiveApp(biIAppUri: android.net.Uri, params: android.os.Bundle): void;
					public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
					public setOnUnhandledInputEventListener(executor: java.util.concurrent.Executor, listener: android.media.tv.interactive.TvInteractiveAppView.OnUnhandledInputEventListener): void;
					public sendTimeShiftMode(mode: number): void;
					public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
					public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
					public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
					public notifyTimeShiftPlaybackParams(params: android.media.PlaybackParams): void;
					public isLayoutRequested(): boolean;
					public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
					public onAttachedToWindow(): void;
					public clearChildFocus(param0: android.view.View): void;
					public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
					public isLayoutDirectionResolved(): boolean;
					public addView(child: android.view.View): void;
					public addView(child: android.view.View, width: number, height: number): void;
					public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
					public sendSigningResult(signingId: string, result: androidNative.Array<number>): void;
					public bringChildToFront(param0: android.view.View): void;
					public constructor(context: android.content.Context);
					public sendTvRecordingInfoList(recordingInfoList: java.util.List<android.media.tv.TvRecordingInfo>): void;
					public getOnUnhandledInputEventListener(): android.media.tv.interactive.TvInteractiveAppView.OnUnhandledInputEventListener;
					public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
					public getTextDirection(): number;
					public notifyTvMessage(type: number, data: android.os.Bundle): void;
					public sendAvailableSpeeds(speeds: androidNative.Array<number>): void;
					public requestFitSystemWindows(): void;
					public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
					public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
					public requestTransparentRegion(param0: android.view.View): void;
					public prepareInteractiveApp(iAppServiceId: string, type: number): void;
					public setTeletextAppEnabled(enable: boolean): void;
					public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
					public stopInteractiveApp(): void;
					public canResolveTextDirection(): boolean;
					public requestDisallowInterceptTouchEvent(param0: boolean): void;
					public destroyBiInteractiveApp(biIAppId: string): void;
					public clearOnUnhandledInputEventListener(): void;
					public setTvView(tvView: android.media.tv.TvView): number;
					public getParent(): android.view.ViewParent;
					public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
					public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
					public sendCurrentTvInputId(inputId: string): void;
					public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
					public sendStreamVolume(volume: number): void;
					public notifyRecordingStarted(recordingId: string, requestId: string): void;
					public onStopNestedScroll(param0: android.view.View): void;
					public sendCurrentVideoBounds(bounds: android.graphics.Rect): void;
					public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
					public canResolveLayoutDirection(): boolean;
					public sendTvRecordingInfo(recordingInfo: android.media.tv.TvRecordingInfo): void;
					public removeView(param0: android.view.View): void;
					public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
					/** @deprecated */
					public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
					/** @deprecated */
					public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
					public recomputeViewAttributes(param0: android.view.View): void;
					public focusableViewAvailable(param0: android.view.View): void;
					public onUnhandledInputEvent(event: android.view.InputEvent): boolean;
					public focusSearch(direction: number): android.view.View;
					public notifyTimeShiftCurrentPositionChanged(inputId: string, timeMs: number): void;
					public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
				}
				export module TvInteractiveAppView {
					export class OnUnhandledInputEventListener extends java.lang.Object {
						public static class: java.lang.Class<android.media.tv.interactive.TvInteractiveAppView.OnUnhandledInputEventListener>;
						/**
						 * Constructs a new instance of the android.media.tv.interactive.TvInteractiveAppView$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 TvInteractiveAppCallback extends java.lang.Object {
						public static class: java.lang.Class<android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback>;
						public constructor();
						public onBiInteractiveAppCreated(iAppServiceId: string, biIAppUri: android.net.Uri, biIAppId: string): void;
						public onStateChanged(iAppServiceId: string, state: number, err: number): void;
						public onRequestCurrentVideoBounds(iAppServiceId: string): void;
						public onPlaybackCommandRequest(iAppServiceId: string, cmdType: string, parameters: android.os.Bundle): void;
						public onRequestStartRecording(iAppServiceId: string, requestId: string, programUri: android.net.Uri): void;
						public onRequestScheduleRecording(iAppServiceId: string, requestId: string, inputId: string, channelUri: android.net.Uri, startTime: number, duration: number, repeatDays: number, params: android.os.Bundle): void;
						public onRequestTvRecordingInfoList(iAppServiceId: string, type: number): void;
						public onTimeShiftCommandRequest(iAppServiceId: string, cmdType: string, parameters: android.os.Bundle): void;
						public onRequestScheduleRecording(iAppServiceId: string, requestId: string, inputId: string, channelUri: android.net.Uri, programUri: android.net.Uri, params: android.os.Bundle): void;
						public onRequestCurrentChannelLcn(iAppServiceId: string): void;
						public onRequestSigning(iAppServiceId: string, signingId: string, algorithm: string, alias: string, data: androidNative.Array<number>): void;
						public onSetTvRecordingInfo(iAppServiceId: string, recordingId: string, recordingInfo: android.media.tv.TvRecordingInfo): void;
						public onRequestTimeShiftMode(iAppServiceId: string): void;
						public onRequestStreamVolume(iAppServiceId: string): void;
						public onRequestTrackInfoList(iAppServiceId: string): void;
						public onRequestAvailableSpeeds(iAppServiceId: string): void;
						public onRequestCurrentChannelUri(iAppServiceId: string): void;
						public onRequestCurrentTvInputId(iAppServiceId: string): void;
						public onRequestStopRecording(iAppServiceId: string, recordingId: string): void;
						public onRequestTvRecordingInfo(iAppServiceId: string, recordingId: string): void;
						public onTeletextAppStateChanged(iAppServiceId: string, state: number): void;
						public onSetVideoBounds(iAppServiceId: string, rect: android.graphics.Rect): 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: 1;
			public static FORMAT_3GP_CONTAINER: 47492;
			public static FORMAT_AAC: 47363;
			public static FORMAT_ABSTRACT_AUDIO_ALBUM: 47619;
			public static FORMAT_ABSTRACT_AUDIO_PLAYLIST: 47625;
			public static FORMAT_ABSTRACT_AV_PLAYLIST: 47621;
			public static FORMAT_ABSTRACT_DOCUMENT: 47745;
			public static FORMAT_ABSTRACT_IMAGE_ALBUM: 47618;
			public static FORMAT_ABSTRACT_MEDIACAST: 47627;
			public static FORMAT_ABSTRACT_MULTIMEDIA_ALBUM: 47617;
			public static FORMAT_ABSTRACT_VIDEO_ALBUM: 47620;
			public static FORMAT_ABSTRACT_VIDEO_PLAYLIST: 47626;
			public static FORMAT_AIFF: 12295;
			public static FORMAT_ASF: 12300;
			public static FORMAT_ASSOCIATION: 12289;
			public static FORMAT_ASX_PLAYLIST: 47635;
			public static FORMAT_AUDIBLE: 47364;
			public static FORMAT_AVI: 12298;
			public static FORMAT_BMP: 14340;
			public static FORMAT_DEFINED: 14336;
			public static FORMAT_DNG: 14353;
			public static FORMAT_DPOF: 12294;
			public static FORMAT_EXECUTABLE: 12291;
			public static FORMAT_EXIF_JPEG: 14337;
			public static FORMAT_FLAC: 47366;
			public static FORMAT_GIF: 14343;
			public static FORMAT_HTML: 12293;
			public static FORMAT_JFIF: 14344;
			public static FORMAT_JP2: 14351;
			public static FORMAT_JPX: 14352;
			public static FORMAT_M3U_PLAYLIST: 47633;
			public static FORMAT_MP2: 47491;
			public static FORMAT_MP3: 12297;
			public static FORMAT_MP4_CONTAINER: 47490;
			public static FORMAT_MPEG: 12299;
			public static FORMAT_MPL_PLAYLIST: 47634;
			public static FORMAT_MS_EXCEL_SPREADSHEET: 47749;
			public static FORMAT_MS_POWERPOINT_PRESENTATION: 47750;
			public static FORMAT_MS_WORD_DOCUMENT: 47747;
			public static FORMAT_OGG: 47362;
			public static FORMAT_PICT: 14346;
			public static FORMAT_PLS_PLAYLIST: 47636;
			public static FORMAT_PNG: 14347;
			public static FORMAT_SCRIPT: 12290;
			public static FORMAT_TEXT: 12292;
			public static FORMAT_TIFF: 14349;
			public static FORMAT_TIFF_EP: 14338;
			public static FORMAT_UNDEFINED: 12288;
			public static FORMAT_UNDEFINED_AUDIO: 47360;
			public static FORMAT_UNDEFINED_COLLECTION: 47616;
			public static FORMAT_UNDEFINED_DOCUMENT: 47744;
			public static FORMAT_UNDEFINED_FIRMWARE: 47106;
			public static FORMAT_UNDEFINED_VIDEO: 47488;
			public static FORMAT_WAV: 12296;
			public static FORMAT_WINDOWS_IMAGE_FORMAT: 47233;
			public static FORMAT_WMA: 47361;
			public static FORMAT_WMV: 47489;
			public static FORMAT_WPL_PLAYLIST: 47632;
			public static FORMAT_XML_DOCUMENT: 47746;
			public static OPERATION_CLOSE_SESSION: 4099;
			public static OPERATION_COPY_OBJECT: 4122;
			public static OPERATION_DELETE_OBJECT: 4107;
			public static OPERATION_FORMAT_STORE: 4111;
			public static OPERATION_GET_DEVICE_INFO: 4097;
			public static OPERATION_GET_DEVICE_PROP_DESC: 4116;
			public static OPERATION_GET_DEVICE_PROP_VALUE: 4117;
			public static OPERATION_GET_NUM_OBJECTS: 4102;
			public static OPERATION_GET_OBJECT: 4105;
			public static OPERATION_GET_OBJECT_HANDLES: 4103;
			public static OPERATION_GET_OBJECT_INFO: 4104;
			public static OPERATION_GET_OBJECT_PROPS_SUPPORTED: 38913;
			public static OPERATION_GET_OBJECT_PROP_DESC: 38914;
			public static OPERATION_GET_OBJECT_PROP_VALUE: 38915;
			public static OPERATION_GET_OBJECT_REFERENCES: 38928;
			public static OPERATION_GET_PARTIAL_OBJECT: 4123;
			public static OPERATION_GET_PARTIAL_OBJECT_64: 38337;
			public static OPERATION_GET_STORAGE_INFO: 4101;
			public static OPERATION_GET_STORAGE_I_DS: 4100;
			public static OPERATION_GET_THUMB: 4106;
			public static OPERATION_INITIATE_CAPTURE: 4110;
			public static OPERATION_INITIATE_OPEN_CAPTURE: 4124;
			public static OPERATION_MOVE_OBJECT: 4121;
			public static OPERATION_OPEN_SESSION: 4098;
			public static OPERATION_POWER_DOWN: 4115;
			public static OPERATION_RESET_DEVICE: 4112;
			public static OPERATION_RESET_DEVICE_PROP_VALUE: 4119;
			public static OPERATION_SELF_TEST: 4113;
			public static OPERATION_SEND_OBJECT: 4109;
			public static OPERATION_SEND_OBJECT_INFO: 4108;
			public static OPERATION_SET_DEVICE_PROP_VALUE: 4118;
			public static OPERATION_SET_OBJECT_PROP_VALUE: 38916;
			public static OPERATION_SET_OBJECT_PROTECTION: 4114;
			public static OPERATION_SET_OBJECT_REFERENCES: 38929;
			public static OPERATION_SKIP: 38944;
			public static OPERATION_TERMINATE_OPEN_CAPTURE: 4120;
			public static PROTECTION_STATUS_NONE: 0;
			public static PROTECTION_STATUS_NON_TRANSFERABLE_DATA: 32771;
			public static PROTECTION_STATUS_READ_ONLY: 32769;
			public static PROTECTION_STATUS_READ_ONLY_DATA: 32770;
			public static isAbstractObject(format: number): boolean;
			public constructor();
		}
	}
}

declare module android {
	export module mtp {
		export class MtpDevice extends java.lang.Object {
			public static class: java.lang.Class<android.mtp.MtpDevice>;
			public getObjectHandles(storageId: number, format: number, objectHandle: number): androidNative.Array<number>;
			public getStorageInfo(storageId: number): android.mtp.MtpStorageInfo;
			public getPartialObject(objectHandle: number, offset: number, size: number, buffer: androidNative.Array<number>): number;
			public getThumbnail(objectHandle: number): androidNative.Array<number>;
			public getDeviceId(): number;
			public sendObject(objectHandle: number, size: number, descriptor: android.os.ParcelFileDescriptor): boolean;
			public constructor(device: android.hardware.usb.UsbDevice);
			public getDeviceInfo(): android.mtp.MtpDeviceInfo;
			public toString(): string;
			public getObjectInfo(objectHandle: number): android.mtp.MtpObjectInfo;
			public readEvent(signal: android.os.CancellationSignal): android.mtp.MtpEvent;
			public getPartialObject64(objectHandle: number, offset: number, size: number, buffer: androidNative.Array<number>): number;
			public deleteObject(objectHandle: number): boolean;
			public open(connection: android.hardware.usb.UsbDeviceConnection): boolean;
			public importFile(objectHandle: number, descriptor: android.os.ParcelFileDescriptor): boolean;
			public sendObjectInfo(info: android.mtp.MtpObjectInfo): android.mtp.MtpObjectInfo;
			public getDeviceName(): string;
			public getStorageIds(): androidNative.Array<number>;
			public getObject(objectHandle: number, objectSize: number): androidNative.Array<number>;
			public getStorageId(objectHandle: number): number;
			public close(): void;
			public importFile(objectHandle: number, destPath: string): boolean;
			public finalize(): void;
			public getParent(objectHandle: number): number;
		}
	}
}

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 getManufacturer(): string;
			public getOperationsSupported(): androidNative.Array<number>;
			public isEventSupported(code: number): boolean;
			public isOperationSupported(code: number): boolean;
			public getVersion(): string;
			public getSerialNumber(): string;
			public getEventsSupported(): androidNative.Array<number>;
		}
	}
}

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: 16385;
			public static EVENT_CAPTURE_COMPLETE: 16397;
			public static EVENT_DEVICE_INFO_CHANGED: 16392;
			public static EVENT_DEVICE_PROP_CHANGED: 16390;
			public static EVENT_DEVICE_RESET: 16395;
			public static EVENT_OBJECT_ADDED: 16386;
			public static EVENT_OBJECT_INFO_CHANGED: 16391;
			public static EVENT_OBJECT_PROP_CHANGED: 51201;
			public static EVENT_OBJECT_PROP_DESC_CHANGED: 51202;
			public static EVENT_OBJECT_REFERENCES_CHANGED: 51203;
			public static EVENT_OBJECT_REMOVED: 16387;
			public static EVENT_REQUEST_OBJECT_TRANSFER: 16393;
			public static EVENT_STORAGE_INFO_CHANGED: 16396;
			public static EVENT_STORE_ADDED: 16388;
			public static EVENT_STORE_FULL: 16394;
			public static EVENT_STORE_REMOVED: 16389;
			public static EVENT_UNDEFINED: 16384;
			public static EVENT_UNREPORTED_STATUS: 16398;
			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 constructor(objectInfo: android.mtp.MtpObjectInfo);
				public setObjectHandle(value: number): android.mtp.MtpObjectInfo.Builder;
				public setProtectionStatus(value: number): android.mtp.MtpObjectInfo.Builder;
				public setParent(value: number): android.mtp.MtpObjectInfo.Builder;
				public setImagePixHeight(value: number): android.mtp.MtpObjectInfo.Builder;
				public setKeywords(value: string): android.mtp.MtpObjectInfo.Builder;
				public setAssociationType(value: number): android.mtp.MtpObjectInfo.Builder;
				public setImagePixDepth(value: number): android.mtp.MtpObjectInfo.Builder;
				public setName(value: string): android.mtp.MtpObjectInfo.Builder;
				public setAssociationDesc(value: number): android.mtp.MtpObjectInfo.Builder;
				public setThumbPixHeight(value: number): android.mtp.MtpObjectInfo.Builder;
				public constructor();
				public setDateCreated(value: number): android.mtp.MtpObjectInfo.Builder;
				public setThumbFormat(value: number): android.mtp.MtpObjectInfo.Builder;
				public build(): android.mtp.MtpObjectInfo;
				public setDateModified(value: number): android.mtp.MtpObjectInfo.Builder;
				public setThumbPixWidth(value: number): android.mtp.MtpObjectInfo.Builder;
				public setStorageId(value: number): android.mtp.MtpObjectInfo.Builder;
				public setThumbCompressedSize(value: number): android.mtp.MtpObjectInfo.Builder;
				public setSequenceNumber(value: number): android.mtp.MtpObjectInfo.Builder;
				public setCompressedSize(value: number): android.mtp.MtpObjectInfo.Builder;
				public setFormat(value: number): android.mtp.MtpObjectInfo.Builder;
				public setImagePixWidth(value: 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(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public reportCaptivePortalDismissed(): void;
		}
	}
}

declare module android {
	export module net {
		export class ConnectivityDiagnosticsManager extends java.lang.Object {
			public static class: java.lang.Class<android.net.ConnectivityDiagnosticsManager>;
			public unregisterConnectivityDiagnosticsCallback(callback: android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback): void;
			public registerConnectivityDiagnosticsCallback(request: android.net.NetworkRequest, e: java.util.concurrent.Executor, callback: android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback): void;
		}
		export module ConnectivityDiagnosticsManager {
			export abstract class ConnectivityDiagnosticsCallback extends java.lang.Object {
				public static class: java.lang.Class<android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback>;
				public onNetworkConnectivityReported(network: android.net.Network, hasConnectivity: boolean): void;
				public onDataStallSuspected(report: android.net.ConnectivityDiagnosticsManager.DataStallReport): void;
				public onConnectivityReportAvailable(report: android.net.ConnectivityDiagnosticsManager.ConnectivityReport): void;
				public constructor();
			}
			export class ConnectivityReport extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.ConnectivityDiagnosticsManager.ConnectivityReport>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.ConnectivityReport>;
				public static KEY_NETWORK_PROBES_ATTEMPTED_BITMASK: "networkProbesAttempted";
				public static KEY_NETWORK_PROBES_SUCCEEDED_BITMASK: "networkProbesSucceeded";
				public static KEY_NETWORK_VALIDATION_RESULT: "networkValidationResult";
				public static NETWORK_PROBE_DNS: 4;
				public static NETWORK_PROBE_FALLBACK: 32;
				public static NETWORK_PROBE_HTTP: 8;
				public static NETWORK_PROBE_HTTPS: 16;
				public static NETWORK_PROBE_PRIVATE_DNS: 64;
				public static NETWORK_VALIDATION_RESULT_INVALID: 0;
				public static NETWORK_VALIDATION_RESULT_PARTIALLY_VALID: 2;
				public static NETWORK_VALIDATION_RESULT_SKIPPED: 3;
				public static NETWORK_VALIDATION_RESULT_VALID: 1;
				public getAdditionalInfo(): any;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getLinkProperties(): android.net.LinkProperties;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getNetworkCapabilities(): android.net.NetworkCapabilities;
				public describeContents(): number;
				public getReportTimestamp(): number;
				public equals(o: any): boolean;
				public getNetwork(): android.net.Network;
				public constructor(network: android.net.Network, reportTimestamp: number, linkProperties: android.net.LinkProperties, networkCapabilities: android.net.NetworkCapabilities, additionalInfo: any);
			}
			export class DataStallReport extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.ConnectivityDiagnosticsManager.DataStallReport>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.DataStallReport>;
				public static DETECTION_METHOD_DNS_EVENTS: 1;
				public static DETECTION_METHOD_TCP_METRICS: 2;
				public static KEY_DNS_CONSECUTIVE_TIMEOUTS: "dnsConsecutiveTimeouts";
				public static KEY_TCP_METRICS_COLLECTION_PERIOD_MILLIS: "tcpMetricsCollectionPeriodMillis";
				public static KEY_TCP_PACKET_FAIL_RATE: "tcpPacketFailRate";
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getLinkProperties(): android.net.LinkProperties;
				public getStallDetails(): any;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(network: android.net.Network, reportTimestamp: number, detectionMethod: number, linkProperties: android.net.LinkProperties, networkCapabilities: android.net.NetworkCapabilities, stallDetails: any);
				public getDetectionMethod(): number;
				public getNetworkCapabilities(): android.net.NetworkCapabilities;
				public describeContents(): number;
				public getReportTimestamp(): number;
				public equals(o: any): boolean;
				public getNetwork(): android.net.Network;
			}
		}
	}
}

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: "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED";
			public static ACTION_CAPTIVE_PORTAL_SIGN_IN: "android.net.conn.CAPTIVE_PORTAL";
			public static ACTION_RESTRICT_BACKGROUND_CHANGED: "android.net.conn.RESTRICT_BACKGROUND_CHANGED";
			public static CONNECTIVITY_ACTION: "android.net.conn.CONNECTIVITY_CHANGE";
			public static DEFAULT_NETWORK_PREFERENCE: 1;
			public static EXTRA_CAPTIVE_PORTAL: "android.net.extra.CAPTIVE_PORTAL";
			public static EXTRA_CAPTIVE_PORTAL_URL: "android.net.extra.CAPTIVE_PORTAL_URL";
			public static EXTRA_EXTRA_INFO: "extraInfo";
			public static EXTRA_IS_FAILOVER: "isFailover";
			public static EXTRA_NETWORK: "android.net.extra.NETWORK";
			public static EXTRA_NETWORK_INFO: "networkInfo";
			public static EXTRA_NETWORK_REQUEST: "android.net.extra.NETWORK_REQUEST";
			public static EXTRA_NETWORK_TYPE: "networkType";
			public static EXTRA_NO_CONNECTIVITY: "noConnectivity";
			public static EXTRA_OTHER_NETWORK_INFO: "otherNetwork";
			public static EXTRA_REASON: "reason";
			public static MULTIPATH_PREFERENCE_HANDOVER: 1;
			public static MULTIPATH_PREFERENCE_PERFORMANCE: 4;
			public static MULTIPATH_PREFERENCE_RELIABILITY: 2;
			public static RESTRICT_BACKGROUND_STATUS_DISABLED: 1;
			public static RESTRICT_BACKGROUND_STATUS_ENABLED: 3;
			public static RESTRICT_BACKGROUND_STATUS_WHITELISTED: 2;
			public static TYPE_BLUETOOTH: 7;
			public static TYPE_DUMMY: 8;
			public static TYPE_ETHERNET: 9;
			public static TYPE_MOBILE: 0;
			public static TYPE_MOBILE_DUN: 4;
			public static TYPE_MOBILE_HIPRI: 5;
			public static TYPE_MOBILE_MMS: 2;
			public static TYPE_MOBILE_SUPL: 3;
			public static TYPE_VPN: 17;
			public static TYPE_WIFI: 1;
			public static TYPE_WIMAX: 6;
			public getRestrictBackgroundStatus(): number;
			public requestNetwork(request: android.net.NetworkRequest, networkCallback: android.net.ConnectivityManager.NetworkCallback, handler: android.os.Handler): void;
			public registerNetworkCallback(request: android.net.NetworkRequest, networkCallback: android.net.ConnectivityManager.NetworkCallback): void;
			public getLinkProperties(network: android.net.Network): android.net.LinkProperties;
			public getDefaultProxy(): android.net.ProxyInfo;
			/** @deprecated */
			public getNetworkPreference(): number;
			public bindProcessToNetwork(network: android.net.Network): boolean;
			public registerBestMatchingNetworkCallback(request: android.net.NetworkRequest, networkCallback: android.net.ConnectivityManager.NetworkCallback, handler: android.os.Handler): void;
			public reportNetworkConnectivity(network: android.net.Network, hasConnectivity: boolean): void;
			public createSocketKeepalive(network: android.net.Network, socket: android.net.IpSecManager.UdpEncapsulationSocket, source: java.net.InetAddress, destination: java.net.InetAddress, executor: java.util.concurrent.Executor, callback: android.net.SocketKeepalive.Callback): android.net.SocketKeepalive;
			public getNetworkCapabilities(network: android.net.Network): android.net.NetworkCapabilities;
			public releaseNetworkRequest(operation: android.app.PendingIntent): void;
			public requestNetwork(request: android.net.NetworkRequest, operation: android.app.PendingIntent): void;
			/** @deprecated */
			public getNetworkInfo(network: android.net.Network): android.net.NetworkInfo;
			/** @deprecated */
			public getActiveNetworkInfo(): android.net.NetworkInfo;
			public unregisterNetworkCallback(operation: android.app.PendingIntent): void;
			/** @deprecated */
			public static setProcessDefaultNetwork(network: android.net.Network): boolean;
			public getNetworkWatchlistConfigHash(): androidNative.Array<number>;
			/** @deprecated */
			public getAllNetworkInfo(): androidNative.Array<android.net.NetworkInfo>;
			public getConnectionOwnerUid(protocol: number, local: java.net.InetSocketAddress, remote: java.net.InetSocketAddress): number;
			public isActiveNetworkMetered(): boolean;
			public registerNetworkCallback(request: android.net.NetworkRequest, networkCallback: android.net.ConnectivityManager.NetworkCallback, handler: android.os.Handler): void;
			public registerNetworkCallback(request: android.net.NetworkRequest, operation: android.app.PendingIntent): void;
			public unregisterNetworkCallback(networkCallback: android.net.ConnectivityManager.NetworkCallback): void;
			/** @deprecated */
			public static isNetworkTypeValid(networkType: number): boolean;
			/** @deprecated */
			public setNetworkPreference(preference: number): void;
			public getActiveNetwork(): android.net.Network;
			public getBoundNetworkForProcess(): android.net.Network;
			/** @deprecated */
			public static getProcessDefaultNetwork(): android.net.Network;
			/** @deprecated */
			public reportBadNetwork(network: android.net.Network): void;
			public registerDefaultNetworkCallback(networkCallback: android.net.ConnectivityManager.NetworkCallback, handler: android.os.Handler): void;
			public requestBandwidthUpdate(network: android.net.Network): boolean;
			public addDefaultNetworkActiveListener(l: android.net.ConnectivityManager.OnNetworkActiveListener): void;
			public requestNetwork(request: android.net.NetworkRequest, networkCallback: android.net.ConnectivityManager.NetworkCallback, handler: android.os.Handler, timeoutMs: number): void;
			public registerDefaultNetworkCallback(networkCallback: android.net.ConnectivityManager.NetworkCallback): void;
			/** @deprecated */
			public getNetworkInfo(networkType: number): android.net.NetworkInfo;
			/** @deprecated */
			public getBackgroundDataSetting(): boolean;
			public isDefaultNetworkActive(): boolean;
			public getMultipathPreference(network: android.net.Network): number;
			/** @deprecated */
			public getAllNetworks(): androidNative.Array<android.net.Network>;
			public removeDefaultNetworkActiveListener(l: android.net.ConnectivityManager.OnNetworkActiveListener): void;
			public requestNetwork(request: android.net.NetworkRequest, networkCallback: android.net.ConnectivityManager.NetworkCallback, timeoutMs: number): void;
			public requestNetwork(request: android.net.NetworkRequest, networkCallback: android.net.ConnectivityManager.NetworkCallback): void;
		}
		export module ConnectivityManager {
			export class NetworkCallback extends java.lang.Object {
				public static class: java.lang.Class<android.net.ConnectivityManager.NetworkCallback>;
				public static FLAG_INCLUDE_LOCATION_INFO: 1;
				public onLosing(network: android.net.Network, maxMsToLive: number): void;
				public onCapabilitiesChanged(network: android.net.Network, networkCapabilities: android.net.NetworkCapabilities): void;
				public constructor(flags: number);
				public onLost(network: android.net.Network): void;
				public onAvailable(network: android.net.Network): void;
				public onUnavailable(): void;
				public onLinkPropertiesChanged(network: android.net.Network, linkProperties: android.net.LinkProperties): void;
				public constructor();
				public onBlockedStatusChanged(network: android.net.Network, blocked: boolean): void;
			}
			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 getUid(): number;
			public getGid(): number;
			public getPid(): number;
			public constructor(pid: number, uid: number, gid: 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 static CREATOR: android.os.Parcelable.Creator<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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
		}
	}
}

declare module android {
	export module net {
		export class DnsResolver extends java.lang.Object {
			public static class: java.lang.Class<android.net.DnsResolver>;
			public static CLASS_IN: 1;
			public static ERROR_PARSE: 0;
			public static ERROR_SYSTEM: 1;
			public static FLAG_EMPTY: 0;
			public static FLAG_NO_CACHE_LOOKUP: 4;
			public static FLAG_NO_CACHE_STORE: 2;
			public static FLAG_NO_RETRY: 1;
			public static TYPE_A: 1;
			public static TYPE_AAAA: 28;
			public static getInstance(): android.net.DnsResolver;
			public query(network: android.net.Network, domain: string, nsType: number, flags: number, executor: java.util.concurrent.Executor, cancellationSignal: android.os.CancellationSignal, callback: android.net.DnsResolver.Callback<any>): void;
			public rawQuery(network: android.net.Network, query: androidNative.Array<number>, flags: number, executor: java.util.concurrent.Executor, cancellationSignal: android.os.CancellationSignal, callback: android.net.DnsResolver.Callback<any>): void;
			public query(network: android.net.Network, domain: string, flags: number, executor: java.util.concurrent.Executor, cancellationSignal: android.os.CancellationSignal, callback: android.net.DnsResolver.Callback<any>): void;
			public rawQuery(network: android.net.Network, domain: string, nsClass: number, nsType: number, flags: number, executor: java.util.concurrent.Executor, cancellationSignal: android.os.CancellationSignal, callback: android.net.DnsResolver.Callback<any>): void;
		}
		export module DnsResolver {
			export class Callback<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.net.DnsResolver.Callback<any>>;
				/**
				 * Constructs a new instance of the android.net.DnsResolver$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAnswer(param0: T, param1: number): void;
					onError(param0: android.net.DnsResolver.DnsException): void;
				});
				public constructor();
				public onAnswer(param0: T, param1: number): void;
				public onError(param0: android.net.DnsResolver.DnsException): void;
			}
			export class DnsException extends java.lang.Exception {
				public static class: java.lang.Class<android.net.DnsResolver.DnsException>;
				public code: number;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(code: number, cause: java.lang.Throwable);
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export class EthernetNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.EthernetNetworkSpecifier>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.EthernetNetworkSpecifier>;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(interfaceName: string);
			public canBeSatisfiedBy(other: android.net.NetworkSpecifier): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
			public getInterfaceName(): string;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class Ikev2VpnProfile extends android.net.PlatformVpnProfile {
			public static class: java.lang.Class<android.net.Ikev2VpnProfile>;
			public getRsaPrivateKey(): java.security.PrivateKey;
			public getUsername(): string;
			public isBypassable(): boolean;
			public getAllowedAlgorithms(): java.util.List<string>;
			public isAutomaticIpVersionSelectionEnabled(): boolean;
			public getProxyInfo(): android.net.ProxyInfo;
			public getIkeTunnelConnectionParams(): android.net.ipsec.ike.IkeTunnelConnectionParams;
			public getUserIdentity(): string;
			public getUserCert(): java.security.cert.X509Certificate;
			public isMetered(): boolean;
			public isAutomaticNattKeepaliveTimerEnabled(): boolean;
			public toString(): string;
			public getServerAddr(): string;
			public equals(obj: any): boolean;
			public getMaxMtu(): number;
			public getPresharedKey(): androidNative.Array<number>;
			public getServerRootCaCert(): java.security.cert.X509Certificate;
			public getPassword(): string;
			public hashCode(): number;
		}
		export module Ikev2VpnProfile {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.Ikev2VpnProfile.Builder>;
				public constructor(ikeTunConnParams: android.net.ipsec.ike.IkeTunnelConnectionParams);
				public setMaxMtu(mtu: number): android.net.Ikev2VpnProfile.Builder;
				public setLocalRoutesExcluded(excludeLocalRoutes: boolean): android.net.Ikev2VpnProfile.Builder;
				public setAuthUsernamePassword(user: string, pass: string, serverRootCa: java.security.cert.X509Certificate): android.net.Ikev2VpnProfile.Builder;
				public setProxy(proxy: android.net.ProxyInfo): android.net.Ikev2VpnProfile.Builder;
				public setAllowedAlgorithms(algorithmNames: java.util.List<string>): android.net.Ikev2VpnProfile.Builder;
				public build(): android.net.Ikev2VpnProfile;
				public setMetered(isMetered: boolean): android.net.Ikev2VpnProfile.Builder;
				public setBypassable(isBypassable: boolean): android.net.Ikev2VpnProfile.Builder;
				public setRequiresInternetValidation(requiresInternetValidation: boolean): android.net.Ikev2VpnProfile.Builder;
				public setAuthDigitalSignature(userCert: java.security.cert.X509Certificate, key: java.security.PrivateKey, serverRootCa: java.security.cert.X509Certificate): android.net.Ikev2VpnProfile.Builder;
				public constructor(serverAddr: string, identity: string);
				public setAutomaticNattKeepaliveTimerEnabled(isEnabled: boolean): android.net.Ikev2VpnProfile.Builder;
				public setAuthPsk(psk: androidNative.Array<number>): android.net.Ikev2VpnProfile.Builder;
				public setAutomaticIpVersionSelectionEnabled(isEnabled: boolean): android.net.Ikev2VpnProfile.Builder;
			}
		}
	}
}

declare module android {
	export module net {
		export class InetAddresses extends java.lang.Object {
			public static class: java.lang.Class<android.net.InetAddresses>;
			public static isNumericAddress(address: string): boolean;
			public static parseNumericAddress(address: string): java.net.InetAddress;
		}
	}
}

declare module android {
	export module net {
		export class IpConfiguration extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.IpConfiguration>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.IpConfiguration>;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getStaticIpConfiguration(): android.net.StaticIpConfiguration;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getHttpProxy(): android.net.ProxyInfo;
			public hashCode(): number;
		}
		export module IpConfiguration {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.IpConfiguration.Builder>;
				public setHttpProxy(proxyInfo: android.net.ProxyInfo): android.net.IpConfiguration.Builder;
				public setStaticIpConfiguration(config: android.net.StaticIpConfiguration): android.net.IpConfiguration.Builder;
				public build(): android.net.IpConfiguration;
				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 contains(address: java.net.InetAddress): boolean;
			public toString(): string;
			public equals(obj: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getRawAddress(): androidNative.Array<number>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPrefixLength(): number;
			public constructor(address: java.net.InetAddress, prefixLength: number);
			public getAddress(): java.net.InetAddress;
			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_AES_CMAC: "cmac(aes)";
			public static AUTH_AES_XCBC: "xcbc(aes)";
			public static AUTH_CRYPT_AES_GCM: "rfc4106(gcm(aes))";
			public static AUTH_CRYPT_CHACHA20_POLY1305: "rfc7539esp(chacha20,poly1305)";
			public static AUTH_HMAC_MD5: "hmac(md5)";
			public static AUTH_HMAC_SHA1: "hmac(sha1)";
			public static AUTH_HMAC_SHA256: "hmac(sha256)";
			public static AUTH_HMAC_SHA384: "hmac(sha384)";
			public static AUTH_HMAC_SHA512: "hmac(sha512)";
			public static CREATOR: android.os.Parcelable.Creator<android.net.IpSecAlgorithm>;
			public static CRYPT_AES_CBC: "cbc(aes)";
			public static CRYPT_AES_CTR: "rfc3686(ctr(aes))";
			public static getSupportedAlgorithms(): java.util.Set<string>;
			public toString(): string;
			public getName(): string;
			public constructor(algorithm: string, key: androidNative.Array<number>, truncLenBits: number);
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getTruncationLengthBits(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(algorithm: string, key: androidNative.Array<number>);
			public getKey(): androidNative.Array<number>;
		}
	}
}

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: 0;
			public static DIRECTION_OUT: 1;
			public removeTransportModeTransforms(socket: java.net.DatagramSocket): void;
			public removeTransportModeTransforms(socket: java.net.Socket): void;
			public openUdpEncapsulationSocket(): android.net.IpSecManager.UdpEncapsulationSocket;
			public removeTransportModeTransforms(socket: java.io.FileDescriptor): void;
			public applyTransportModeTransform(socket: java.io.FileDescriptor, direction: number, transform: android.net.IpSecTransform): void;
			public openUdpEncapsulationSocket(port: number): android.net.IpSecManager.UdpEncapsulationSocket;
			public allocateSecurityParameterIndex(destinationAddress: java.net.InetAddress): android.net.IpSecManager.SecurityParameterIndex;
			public applyTransportModeTransform(socket: java.net.Socket, direction: number, transform: android.net.IpSecTransform): void;
			public applyTransportModeTransform(socket: java.net.DatagramSocket, direction: number, transform: android.net.IpSecTransform): void;
			public allocateSecurityParameterIndex(destinationAddress: java.net.InetAddress, requestedSpi: number): android.net.IpSecManager.SecurityParameterIndex;
		}
		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 equals(other: any): boolean;
			public requestIpSecTransformState(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.net.IpSecTransformState,java.lang.RuntimeException>): void;
			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 buildTransportModeTransform(sourceAddress: java.net.InetAddress, spi: android.net.IpSecManager.SecurityParameterIndex): android.net.IpSecTransform;
				public setEncryption(algo: android.net.IpSecAlgorithm): android.net.IpSecTransform.Builder;
				public setAuthentication(algo: android.net.IpSecAlgorithm): android.net.IpSecTransform.Builder;
				public constructor(context: android.content.Context);
				public setAuthenticatedEncryption(algo: android.net.IpSecAlgorithm): android.net.IpSecTransform.Builder;
				public setIpv4Encapsulation(localSocket: android.net.IpSecManager.UdpEncapsulationSocket, remotePort: number): android.net.IpSecTransform.Builder;
			}
		}
	}
}

declare module android {
	export module net {
		export class IpSecTransformState extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.IpSecTransformState>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.IpSecTransformState>;
			public getRxHighestSequenceNumber(): number;
			public getTimestampMillis(): number;
			public getTxHighestSequenceNumber(): number;
			public getByteCount(): number;
			public getPacketCount(): number;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getReplayBitmap(): androidNative.Array<number>;
		}
		export module IpSecTransformState {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.IpSecTransformState.Builder>;
				public setTxHighestSequenceNumber(seqNum: number): android.net.IpSecTransformState.Builder;
				public build(): android.net.IpSecTransformState;
				public setByteCount(byteCount: number): android.net.IpSecTransformState.Builder;
				public setRxHighestSequenceNumber(seqNum: number): android.net.IpSecTransformState.Builder;
				public setPacketCount(packetCount: number): android.net.IpSecTransformState.Builder;
				public setReplayBitmap(bitMap: androidNative.Array<number>): android.net.IpSecTransformState.Builder;
				public setTimestampMillis(timestamp: number): android.net.IpSecTransformState.Builder;
				public constructor();
			}
		}
	}
}

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 toString(): string;
			public equals(obj: any): boolean;
			public getFlags(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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 setDomains(domains: string): void;
			public getMtu(): number;
			public getNat64Prefix(): android.net.IpPrefix;
			public setDnsServers(dnsServers: java.util.Collection<java.net.InetAddress>): void;
			public setHttpProxy(proxy: android.net.ProxyInfo): void;
			public isWakeOnLanSupported(): boolean;
			public setLinkAddresses(addresses: java.util.Collection<android.net.LinkAddress>): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public clear(): void;
			public addRoute(route: android.net.RouteInfo): boolean;
			public getDomains(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getDhcpServerAddress(): java.net.Inet4Address;
			public constructor();
			public getInterfaceName(): string;
			public getDnsServers(): java.util.List<java.net.InetAddress>;
			public setNat64Prefix(prefix: android.net.IpPrefix): void;
			public setMtu(mtu: number): void;
			public getHttpProxy(): android.net.ProxyInfo;
			public setDhcpServerAddress(serverAddress: java.net.Inet4Address): void;
			public getRoutes(): java.util.List<android.net.RouteInfo>;
			public toString(): string;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public setInterfaceName(iface: string): void;
			public getLinkAddresses(): java.util.List<android.net.LinkAddress>;
			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(name: string);
			public constructor(fd: java.io.FileDescriptor);
			public accept(): android.net.LocalSocket;
			public getFileDescriptor(): java.io.FileDescriptor;
			public close(): void;
		}
	}
}

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: 1;
			public static SOCKET_SEQPACKET: 3;
			public static SOCKET_STREAM: 2;
			public shutdownOutput(): void;
			public isClosed(): boolean;
			public getAncillaryFileDescriptors(): androidNative.Array<java.io.FileDescriptor>;
			public getLocalSocketAddress(): android.net.LocalSocketAddress;
			public isInputShutdown(): boolean;
			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 getReceiveBufferSize(): number;
			public bind(bindpoint: android.net.LocalSocketAddress): void;
			public setSoTimeout(n: number): void;
			public constructor();
			public setFileDescriptorsForSend(fds: androidNative.Array<java.io.FileDescriptor>): void;
			public shutdownInput(): void;
			public toString(): string;
			public getInputStream(): java.io.InputStream;
			public getRemoteSocketAddress(): android.net.LocalSocketAddress;
			public setSendBufferSize(n: number): void;
			public connect(endpoint: android.net.LocalSocketAddress): void;
			public connect(endpoint: android.net.LocalSocketAddress, timeout: number): void;
			public constructor(sockType: number);
			public setReceiveBufferSize(size: number): void;
		}
	}
}

declare module android {
	export module net {
		export class LocalSocketAddress extends java.lang.Object {
			public static class: java.lang.Class<android.net.LocalSocketAddress>;
			public constructor(name: string, namespace: android.net.LocalSocketAddress.Namespace);
			public getName(): string;
			public constructor(name: string);
			public getNamespace(): android.net.LocalSocketAddress.Namespace;
		}
		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 valueOf(name: string): android.net.LocalSocketAddress.Namespace;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<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: 3;
			public static TYPE_MULTICAST: 2;
			public static TYPE_UNICAST: 1;
			public static fromBytes(addr: androidNative.Array<number>): android.net.MacAddress;
			public toOuiString(): string;
			public isLocallyAssigned(): boolean;
			public toByteArray(): androidNative.Array<number>;
			public matches(baseAddress: android.net.MacAddress, mask: android.net.MacAddress): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public static fromString(addr: string): android.net.MacAddress;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getLinkLocalIpv6FromEui48Mac(): java.net.Inet6Address;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			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: "mailto:";
			public getHeaders(): java.util.Map<string,string>;
			public static isMailTo(url: string): boolean;
			public toString(): string;
			public getTo(): string;
			public getSubject(): string;
			public getCc(): string;
			public getBody(): string;
			public static parse(url: string): android.net.MailTo;
		}
	}
}

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 openConnection(url: java.net.URL): java.net.URLConnection;
			public getAllByName(host: string): androidNative.Array<java.net.InetAddress>;
			public getNetworkHandle(): number;
			public openConnection(url: java.net.URL, proxy: java.net.Proxy): java.net.URLConnection;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public bindSocket(socket: java.net.DatagramSocket): void;
			public bindSocket(socket: java.net.Socket): void;
			public static fromNetworkHandle(networkHandle: number): android.net.Network;
			public toString(): string;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public getByName(host: string): java.net.InetAddress;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public bindSocket(fd: java.io.FileDescriptor): 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: 17;
			public static NET_CAPABILITY_CBS: 5;
			public static NET_CAPABILITY_DUN: 2;
			public static NET_CAPABILITY_EIMS: 10;
			public static NET_CAPABILITY_ENTERPRISE: 29;
			public static NET_CAPABILITY_FOREGROUND: 19;
			public static NET_CAPABILITY_FOTA: 3;
			public static NET_CAPABILITY_HEAD_UNIT: 32;
			public static NET_CAPABILITY_IA: 7;
			public static NET_CAPABILITY_IMS: 4;
			public static NET_CAPABILITY_INTERNET: 12;
			public static NET_CAPABILITY_LOCAL_NETWORK: 36;
			public static NET_CAPABILITY_MCX: 23;
			public static NET_CAPABILITY_MMS: 0;
			public static NET_CAPABILITY_MMTEL: 33;
			public static NET_CAPABILITY_NOT_CONGESTED: 20;
			public static NET_CAPABILITY_NOT_METERED: 11;
			public static NET_CAPABILITY_NOT_RESTRICTED: 13;
			public static NET_CAPABILITY_NOT_ROAMING: 18;
			public static NET_CAPABILITY_NOT_SUSPENDED: 21;
			public static NET_CAPABILITY_NOT_VPN: 15;
			public static NET_CAPABILITY_PRIORITIZE_BANDWIDTH: 35;
			public static NET_CAPABILITY_PRIORITIZE_LATENCY: 34;
			public static NET_CAPABILITY_RCS: 8;
			public static NET_CAPABILITY_SUPL: 1;
			public static NET_CAPABILITY_TEMPORARILY_NOT_METERED: 25;
			public static NET_CAPABILITY_TRUSTED: 14;
			public static NET_CAPABILITY_VALIDATED: 16;
			public static NET_CAPABILITY_WIFI_P2P: 6;
			public static NET_CAPABILITY_XCAP: 9;
			public static NET_ENTERPRISE_ID_1: 1;
			public static NET_ENTERPRISE_ID_2: 2;
			public static NET_ENTERPRISE_ID_3: 3;
			public static NET_ENTERPRISE_ID_4: 4;
			public static NET_ENTERPRISE_ID_5: 5;
			public static SIGNAL_STRENGTH_UNSPECIFIED: -2147483648;
			public static TRANSPORT_BLUETOOTH: 2;
			public static TRANSPORT_CELLULAR: 0;
			public static TRANSPORT_ETHERNET: 3;
			public static TRANSPORT_LOWPAN: 6;
			public static TRANSPORT_SATELLITE: 10;
			public static TRANSPORT_THREAD: 9;
			public static TRANSPORT_USB: 8;
			public static TRANSPORT_VPN: 4;
			public static TRANSPORT_WIFI: 1;
			public static TRANSPORT_WIFI_AWARE: 5;
			public getCapabilities(): androidNative.Array<number>;
			public hasCapability(capability: number): boolean;
			public hasTransport(transportType: number): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getSubscriptionIds(): java.util.Set<java.lang.Integer>;
			public getEnterpriseIds(): androidNative.Array<number>;
			public constructor();
			public hasEnterpriseId(enterpriseId: number): boolean;
			public toString(): string;
			public constructor(nc: android.net.NetworkCapabilities);
			public getOwnerUid(): number;
			public getNetworkSpecifier(): android.net.NetworkSpecifier;
			public equals(obj: any): boolean;
			public getLinkUpstreamBandwidthKbps(): number;
			public getSignalStrength(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getTransportInfo(): android.net.TransportInfo;
			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>;
			/** @deprecated */
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			/** @deprecated */
			public getType(): number;
			/** @deprecated */
			public getSubtype(): number;
			/** @deprecated */
			public getExtraInfo(): string;
			/** @deprecated */
			public isFailover(): boolean;
			/** @deprecated */
			public getDetailedState(): android.net.NetworkInfo.DetailedState;
			/** @deprecated */
			public getReason(): string;
			/** @deprecated */
			public isRoaming(): boolean;
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public describeContents(): number;
			/** @deprecated */
			public constructor(type: number, subtype: number, typeName: string, subtypeName: string);
			/** @deprecated */
			public getTypeName(): string;
			/** @deprecated */
			public setDetailedState(detailedState: android.net.NetworkInfo.DetailedState, reason: string, extraInfo: string): void;
			/** @deprecated */
			public isConnectedOrConnecting(): boolean;
			/** @deprecated */
			public isAvailable(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getSubtypeName(): string;
			/** @deprecated */
			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(): androidNative.Array<android.net.NetworkInfo.DetailedState>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: 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(): androidNative.Array<android.net.NetworkInfo.State>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.net.NetworkInfo.State;
			}
		}
	}
}

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 getCapabilities(): androidNative.Array<number>;
			public hasCapability(capability: number): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public hasTransport(transportType: number): boolean;
			public getSubscriptionIds(): java.util.Set<java.lang.Integer>;
			public canBeSatisfiedBy(nc: android.net.NetworkCapabilities): boolean;
			public getTransportTypes(): androidNative.Array<number>;
			public toString(): string;
			public getNetworkSpecifier(): android.net.NetworkSpecifier;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module NetworkRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.NetworkRequest.Builder>;
				public build(): android.net.NetworkRequest;
				public clearCapabilities(): android.net.NetworkRequest.Builder;
				/** @deprecated */
				public setNetworkSpecifier(networkSpecifier: string): android.net.NetworkRequest.Builder;
				public setNetworkSpecifier(networkSpecifier: android.net.NetworkSpecifier): android.net.NetworkRequest.Builder;
				public addTransportType(transportType: number): android.net.NetworkRequest.Builder;
				public removeTransportType(transportType: number): android.net.NetworkRequest.Builder;
				public setIncludeOtherUidNetworks(include: boolean): android.net.NetworkRequest.Builder;
				public addCapability(capability: number): android.net.NetworkRequest.Builder;
				public constructor(request: android.net.NetworkRequest);
				public removeCapability(capability: number): android.net.NetworkRequest.Builder;
				public constructor();
				public setSubscriptionIds(subIds: java.util.Set<java.lang.Integer>): android.net.NetworkRequest.Builder;
			}
		}
	}
}

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

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;
			public constructor(response: string, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(response: string);
		}
	}
}

declare module android {
	export module net {
		export abstract class PlatformVpnProfile extends java.lang.Object {
			public static class: java.lang.Class<android.net.PlatformVpnProfile>;
			public static TYPE_IKEV2_IPSEC_PSK: 7;
			public static TYPE_IKEV2_IPSEC_RSA: 8;
			public static TYPE_IKEV2_IPSEC_USER_PASS: 6;
			public getType(): number;
			public isInternetValidationRequired(): boolean;
			public areLocalRoutesExcluded(): boolean;
			public getTypeString(): 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 PROXY_CHANGE_ACTION: "android.intent.action.PROXY_CHANGE";
			/** @deprecated */
			public static getHost(ctx: android.content.Context): string;
			/** @deprecated */
			public static getDefaultHost(): string;
			/** @deprecated */
			public static getDefaultPort(): number;
			public constructor();
			/** @deprecated */
			public static getPort(ctx: android.content.Context): number;
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getHost(): string;
			public static buildDirectProxy(host: string, port: number, exclList: java.util.List<string>): android.net.ProxyInfo;
			public constructor(source: android.net.ProxyInfo);
			public toString(): string;
			public equals(o: any): boolean;
			public static buildPacProxy(pacUrl: android.net.Uri, port: number): android.net.ProxyInfo;
			public describeContents(): number;
			public static buildDirectProxy(host: string, port: number): android.net.ProxyInfo;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getExclusionList(): androidNative.Array<string>;
			public isValid(): boolean;
			public getPacFileUrl(): android.net.Uri;
			public static buildPacProxy(pacUri: android.net.Uri): android.net.ProxyInfo;
			public getPort(): number;
			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 static RTN_THROW: 9;
			public static RTN_UNICAST: 1;
			public static RTN_UNREACHABLE: 7;
			public getType(): number;
			public isDefaultRoute(): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getDestination(): android.net.IpPrefix;
			public toString(): string;
			public equals(obj: any): boolean;
			public getGateway(): java.net.InetAddress;
			public describeContents(): number;
			public getInterface(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public matches(destination: java.net.InetAddress): boolean;
			public hasGateway(): boolean;
			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>;
			/** @deprecated */
			public getDefaultCipherSuites(): androidNative.Array<string>;
			/** @deprecated */
			public createSocket(host: string, port: number): java.net.Socket;
			/** @deprecated */
			public createSocket(host: string, port: number, localAddr: java.net.InetAddress, localPort: number): java.net.Socket;
			/** @deprecated */
			public getNpnSelectedProtocol(socket: java.net.Socket): androidNative.Array<number>;
			/** @deprecated */
			public createSocket(): java.net.Socket;
			/** @deprecated */
			public setHostname(socket: java.net.Socket, hostName: string): void;
			/** @deprecated */
			public setTrustManagers(trustManager: androidNative.Array<javax.net.ssl.TrustManager>): void;
			/** @deprecated */
			public createSocket(addr: java.net.InetAddress, port: number): java.net.Socket;
			/** @deprecated */
			public constructor(handshakeTimeoutMillis: number);
			/** @deprecated */
			public createSocket(addr: java.net.InetAddress, port: number, localAddr: java.net.InetAddress, localPort: number): java.net.Socket;
			/** @deprecated */
			public setUseSessionTickets(socket: java.net.Socket, useSessionTickets: boolean): void;
			/** @deprecated */
			public getSupportedCipherSuites(): androidNative.Array<string>;
			/** @deprecated */
			public static getDefault(handshakeTimeoutMillis: number): javax.net.SocketFactory;
			/** @deprecated */
			public static getInsecure(handshakeTimeoutMillis: number, cache: android.net.SSLSessionCache): javax.net.ssl.SSLSocketFactory;
			/** @deprecated */
			public setKeyManagers(keyManagers: androidNative.Array<javax.net.ssl.KeyManager>): void;
			public static getDefault(): javax.net.SocketFactory;
			public createSocket(param0: string, param1: number): java.net.Socket;
			public createSocket(param0: java.net.InetAddress, param1: number): java.net.Socket;
			/** @deprecated */
			public createSocket(k: java.net.Socket, host: string, port: number, close: boolean): java.net.Socket;
			public constructor();
			/** @deprecated */
			public setNpnProtocols(npnProtocols: androidNative.Array<androidNative.Array<number>>): void;
			/** @deprecated */
			public static getDefault(handshakeTimeoutMillis: number, cache: android.net.SSLSessionCache): javax.net.ssl.SSLSocketFactory;
			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 android {
	export module net {
		export class SSLSessionCache extends java.lang.Object {
			public static class: java.lang.Class<android.net.SSLSessionCache>;
			public constructor(context: android.content.Context);
			public constructor(dir: java.io.File);
		}
	}
}

declare module android {
	export module net {
		export abstract class SocketKeepalive extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.net.SocketKeepalive>;
			public static ERROR_HARDWARE_ERROR: -31;
			public static ERROR_INSUFFICIENT_RESOURCES: -32;
			public static ERROR_INVALID_INTERVAL: -24;
			public static ERROR_INVALID_IP_ADDRESS: -21;
			public static ERROR_INVALID_LENGTH: -23;
			public static ERROR_INVALID_NETWORK: -20;
			public static ERROR_INVALID_PORT: -22;
			public static ERROR_INVALID_SOCKET: -25;
			public static ERROR_SOCKET_NOT_IDLE: -26;
			public static ERROR_UNSUPPORTED: -30;
			public start(intervalSec: number): void;
			public stop(): void;
			public close(): void;
		}
		export module SocketKeepalive {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.net.SocketKeepalive.Callback>;
				public onDataReceived(): void;
				public onError(error: number): void;
				public onStarted(): void;
				public onStopped(): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export class StaticIpConfiguration extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.StaticIpConfiguration>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.StaticIpConfiguration>;
			public toString(): string;
			public getDomains(): string;
			public equals(obj: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getGateway(): java.net.InetAddress;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getIpAddress(): android.net.LinkAddress;
			public getDnsServers(): java.util.List<java.net.InetAddress>;
			public hashCode(): number;
		}
		export module StaticIpConfiguration {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.StaticIpConfiguration.Builder>;
				public setGateway(gateway: java.net.InetAddress): android.net.StaticIpConfiguration.Builder;
				public setDnsServers(dnsServers: java.lang.Iterable<java.net.InetAddress>): android.net.StaticIpConfiguration.Builder;
				public build(): android.net.StaticIpConfiguration;
				public setDomains(newDomains: string): android.net.StaticIpConfiguration.Builder;
				public setIpAddress(ipAddress: android.net.LinkAddress): android.net.StaticIpConfiguration.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export class TelephonyNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.TelephonyNetworkSpecifier>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.TelephonyNetworkSpecifier>;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(obj: any): boolean;
			public getSubscriptionId(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module TelephonyNetworkSpecifier {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.TelephonyNetworkSpecifier.Builder>;
				public build(): android.net.TelephonyNetworkSpecifier;
				public setSubscriptionId(subId: number): android.net.TelephonyNetworkSpecifier.Builder;
				public constructor();
			}
		}
	}
}

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: -1;
			public static getRxPackets(iface: string): number;
			public static tagFileDescriptor(fd: java.io.FileDescriptor): void;
			public static getTxBytes(iface: string): number;
			/** @deprecated */
			public static getUidTcpRxBytes(uid: number): number;
			/** @deprecated */
			public static getUidTcpRxSegments(uid: number): number;
			/** @deprecated */
			public static getUidUdpRxBytes(uid: number): number;
			public static untagFileDescriptor(fd: java.io.FileDescriptor): void;
			public static tagSocket(socket: java.net.Socket): void;
			public static setThreadStatsTag(tag: number): void;
			public static getAndSetThreadStatsTag(tag: number): number;
			public static getThreadStatsTag(): number;
			public static getTotalRxBytes(): number;
			/** @deprecated */
			public static getUidUdpTxBytes(uid: number): number;
			/** @deprecated */
			public static getUidTcpTxSegments(uid: number): number;
			/** @deprecated */
			public static getUidUdpTxPackets(uid: number): number;
			public static clearThreadStatsTag(): void;
			public static clearThreadStatsUid(): void;
			/** @deprecated */
			public static getUidTcpTxBytes(uid: number): number;
			public static getUidTxBytes(uid: number): number;
			public static getMobileTxPackets(): number;
			public static incrementOperationCount(operationCount: number): void;
			public static tagDatagramSocket(socket: java.net.DatagramSocket): void;
			public static untagSocket(socket: java.net.Socket): void;
			public static getMobileRxBytes(): number;
			public static getUidRxPackets(uid: number): number;
			public static getTotalTxBytes(): number;
			public static setThreadStatsUid(uid: number): void;
			public constructor();
			public static getMobileRxPackets(): number;
			public static getTxPackets(iface: string): number;
			public static getUidTxPackets(uid: number): number;
			/** @deprecated */
			public static getUidUdpRxPackets(uid: number): number;
			public static getMobileTxBytes(): number;
			public static getThreadStatsUid(): number;
			public static incrementOperationCount(tag: number, operationCount: number): void;
			public static getRxBytes(iface: string): number;
			public static getUidRxBytes(uid: number): number;
			public static getTotalRxPackets(): number;
			public static untagDatagramSocket(socket: java.net.DatagramSocket): void;
			public static getTotalTxPackets(): number;
		}
	}
}

declare module android {
	export module net {
		export class TransportInfo extends java.lang.Object {
			public static class: java.lang.Class<android.net.TransportInfo>;
			/**
			 * Constructs a new instance of the android.net.TransportInfo 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 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 getQueryParameters(key: string): java.util.List<string>;
			public getFragment(): string;
			public getEncodedPath(): string;
			public getUserInfo(): string;
			public getHost(): string;
			public getEncodedAuthority(): string;
			public isHierarchical(): boolean;
			public static withAppendedPath(baseUri: android.net.Uri, pathSegment: string): android.net.Uri;
			public static fromFile(file: java.io.File): android.net.Uri;
			public getSchemeSpecificPart(): string;
			public getAuthority(): string;
			public getBooleanQueryParameter(key: string, defaultValue: boolean): boolean;
			public compareTo(other: android.net.Uri): number;
			public getScheme(): string;
			public getEncodedSchemeSpecificPart(): string;
			public buildUpon(): android.net.Uri.Builder;
			public getQueryParameterNames(): java.util.Set<string>;
			public static encode(s: string, allow: string): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getQuery(): string;
			public getQueryParameter(key: string): string;
			public isOpaque(): boolean;
			public static decode(s: string): string;
			public normalizeScheme(): android.net.Uri;
			public static parse(uriString: string): android.net.Uri;
			public getEncodedUserInfo(): string;
			public getEncodedQuery(): string;
			public getPathSegments(): java.util.List<string>;
			public getLastPathSegment(): string;
			public isRelative(): boolean;
			public getEncodedFragment(): string;
			public static encode(s: string): string;
			public static writeToParcel(out: android.os.Parcel, uri: android.net.Uri): void;
			public getPath(): string;
			public toString(): string;
			public equals(o: any): boolean;
			public isAbsolute(): boolean;
			public describeContents(): number;
			public static fromParts(scheme: string, ssp: string, fragment: string): android.net.Uri;
			public getPort(): number;
			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 authority(authority: string): android.net.Uri.Builder;
				public appendEncodedPath(newSegment: string): android.net.Uri.Builder;
				public encodedOpaquePart(opaquePart: string): android.net.Uri.Builder;
				public opaquePart(opaquePart: string): android.net.Uri.Builder;
				public appendQueryParameter(key: string, value: string): android.net.Uri.Builder;
				public query(query: string): android.net.Uri.Builder;
				public path(path: string): android.net.Uri.Builder;
				public toString(): string;
				public encodedQuery(query: string): android.net.Uri.Builder;
				public constructor();
				public appendPath(newSegment: string): android.net.Uri.Builder;
				public fragment(fragment: string): android.net.Uri.Builder;
				public clearQuery(): android.net.Uri.Builder;
				public scheme(scheme: string): android.net.Uri.Builder;
				public encodedPath(path: string): android.net.Uri.Builder;
				public encodedAuthority(authority: string): android.net.Uri.Builder;
				public encodedFragment(fragment: 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 getValueSanitizer(parameter: string): android.net.UrlQuerySanitizer.ValueSanitizer;
			public decodeHexDigit(c: string): number;
			public registerParameter(parameter: string, valueSanitizer: android.net.UrlQuerySanitizer.ValueSanitizer): void;
			public unescape(string: string): string;
			public static getAmpLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public hasParameter(parameter: string): boolean;
			public static getAmpAndSpaceLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public static getSpaceLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public registerParameters(parameters: androidNative.Array<string>, valueSanitizer: android.net.UrlQuerySanitizer.ValueSanitizer): void;
			public getAllowUnregisteredParamaters(): boolean;
			public isHexDigit(c: string): boolean;
			public constructor(url: string);
			public getPreferFirstRepeatedParameter(): boolean;
			public parseQuery(query: string): void;
			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 getEffectiveValueSanitizer(parameter: string): android.net.UrlQuerySanitizer.ValueSanitizer;
			public parseUrl(url: string): void;
			public getParameterList(): java.util.List<android.net.UrlQuerySanitizer.ParameterValuePair>;
			public static getUrlLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public constructor();
			public setAllowUnregisteredParamaters(allowUnregisteredParamaters: boolean): void;
			public addSanitizedEntry(parameter: string, value: string): void;
			public getUnregisteredParameterValueSanitizer(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public static getAllIllegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public setPreferFirstRepeatedParameter(preferFirstRepeatedParameter: boolean): void;
			public parseEntry(parameter: string, value: string): void;
			public getValue(parameter: string): string;
			public getParameterSet(): java.util.Set<string>;
			public setUnregisteredParameterValueSanitizer(sanitizer: android.net.UrlQuerySanitizer.ValueSanitizer): void;
		}
		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: 1439;
				public static ALL_BUT_NUL_LEGAL: 1535;
				public static ALL_BUT_WHITESPACE_LEGAL: 1532;
				public static ALL_ILLEGAL: 0;
				public static ALL_OK: 2047;
				public static ALL_WHITESPACE_OK: 3;
				public static AMP_AND_SPACE_LEGAL: 129;
				public static AMP_LEGAL: 128;
				public static AMP_OK: 128;
				public static DQUOTE_OK: 8;
				public static GT_OK: 64;
				public static LT_OK: 32;
				public static NON_7_BIT_ASCII_OK: 4;
				public static NUL_OK: 512;
				public static OTHER_WHITESPACE_OK: 2;
				public static PCT_OK: 256;
				public static SCRIPT_URL_OK: 1024;
				public static SPACE_LEGAL: 1;
				public static SPACE_OK: 1;
				public static SQUOTE_OK: 16;
				public static URL_AND_SPACE_LEGAL: 405;
				public static URL_LEGAL: 404;
				public sanitize(param0: string): string;
				public constructor(flags: number);
				public sanitize(value: string): string;
			}
			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(this$0: android.net.UrlQuerySanitizer, parameter: string, value: 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 VpnManager extends java.lang.Object {
			public static class: java.lang.Class<android.net.VpnManager>;
			public static ACTION_VPN_MANAGER_EVENT: "android.net.action.VPN_MANAGER_EVENT";
			public static CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED: "android.net.category.EVENT_ALWAYS_ON_STATE_CHANGED";
			public static CATEGORY_EVENT_DEACTIVATED_BY_USER: "android.net.category.EVENT_DEACTIVATED_BY_USER";
			public static CATEGORY_EVENT_IKE_ERROR: "android.net.category.EVENT_IKE_ERROR";
			public static CATEGORY_EVENT_NETWORK_ERROR: "android.net.category.EVENT_NETWORK_ERROR";
			public static ERROR_CLASS_NOT_RECOVERABLE: 1;
			public static ERROR_CLASS_RECOVERABLE: 2;
			public static ERROR_CODE_NETWORK_IO: 3;
			public static ERROR_CODE_NETWORK_LOST: 2;
			public static ERROR_CODE_NETWORK_PROTOCOL_TIMEOUT: 1;
			public static ERROR_CODE_NETWORK_UNKNOWN_HOST: 0;
			public static EXTRA_ERROR_CLASS: "android.net.extra.ERROR_CLASS";
			public static EXTRA_ERROR_CODE: "android.net.extra.ERROR_CODE";
			public static EXTRA_SESSION_KEY: "android.net.extra.SESSION_KEY";
			public static EXTRA_TIMESTAMP_MILLIS: "android.net.extra.TIMESTAMP_MILLIS";
			public static EXTRA_UNDERLYING_LINK_PROPERTIES: "android.net.extra.UNDERLYING_LINK_PROPERTIES";
			public static EXTRA_UNDERLYING_NETWORK: "android.net.extra.UNDERLYING_NETWORK";
			public static EXTRA_UNDERLYING_NETWORK_CAPABILITIES: "android.net.extra.UNDERLYING_NETWORK_CAPABILITIES";
			public static EXTRA_VPN_PROFILE_STATE: "android.net.extra.VPN_PROFILE_STATE";
			public provisionVpnProfile(profile: android.net.PlatformVpnProfile): android.content.Intent;
			public deleteProvisionedVpnProfile(): void;
			public startProvisionedVpnProfileSession(): string;
			/** @deprecated */
			public startProvisionedVpnProfile(): void;
			public stopProvisionedVpnProfile(): void;
			public getProvisionedVpnProfileState(): android.net.VpnProfileState;
		}
	}
}

declare module android {
	export module net {
		export class VpnProfileState extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.VpnProfileState>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.VpnProfileState>;
			public static STATE_CONNECTED: 2;
			public static STATE_CONNECTING: 1;
			public static STATE_DISCONNECTED: 0;
			public static STATE_FAILED: 3;
			public isAlwaysOn(): boolean;
			public toString(): string;
			public equals(obj: any): boolean;
			public constructor(state: number, sessionKey: string, alwaysOn: boolean, lockdown: boolean);
			public isLockdownEnabled(): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSessionId(): string;
			public getState(): number;
			public hashCode(): number;
		}
	}
}

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: "android.net.VpnService";
			public static SERVICE_META_DATA_SUPPORTS_ALWAYS_ON: "android.net.VpnService.SUPPORTS_ALWAYS_ON";
			public isAlwaysOn(): boolean;
			public static prepare(context: android.content.Context): android.content.Intent;
			public protect(socket: number): boolean;
			public onTrimMemory(param0: number): void;
			public protect(socket: java.net.Socket): boolean;
			public protect(socket: java.net.DatagramSocket): boolean;
			public isLockdownEnabled(): boolean;
			public setUnderlyingNetworks(networks: androidNative.Array<android.net.Network>): boolean;
			public onRevoke(): void;
			public constructor();
			public constructor(base: android.content.Context);
			public onBind(intent: android.content.Intent): android.os.IBinder;
		}
		export module VpnService {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.VpnService.Builder>;
				public addSearchDomain(domain: string): android.net.VpnService.Builder;
				public constructor(this$0: android.net.VpnService);
				public addDnsServer(address: java.net.InetAddress): android.net.VpnService.Builder;
				public setUnderlyingNetworks(networks: androidNative.Array<android.net.Network>): android.net.VpnService.Builder;
				public addRoute(address: string, prefixLength: number): android.net.VpnService.Builder;
				public excludeRoute(prefix: android.net.IpPrefix): android.net.VpnService.Builder;
				public allowFamily(family: number): android.net.VpnService.Builder;
				public setBlocking(blocking: boolean): android.net.VpnService.Builder;
				public setMetered(isMetered: boolean): android.net.VpnService.Builder;
				public setConfigureIntent(intent: android.app.PendingIntent): android.net.VpnService.Builder;
				public setSession(session: string): android.net.VpnService.Builder;
				public addAddress(address: java.net.InetAddress, prefixLength: number): android.net.VpnService.Builder;
				public addAddress(address: string, prefixLength: number): android.net.VpnService.Builder;
				public addRoute(prefix: android.net.IpPrefix): android.net.VpnService.Builder;
				public setHttpProxy(proxyInfo: android.net.ProxyInfo): android.net.VpnService.Builder;
				public addDisallowedApplication(packageName: string): android.net.VpnService.Builder;
				public addRoute(address: java.net.InetAddress, prefixLength: number): android.net.VpnService.Builder;
				public allowBypass(): android.net.VpnService.Builder;
				public setMtu(mtu: number): android.net.VpnService.Builder;
				public addDnsServer(address: string): android.net.VpnService.Builder;
				public establish(): android.os.ParcelFileDescriptor;
				public addAllowedApplication(packageName: string): android.net.VpnService.Builder;
			}
		}
	}
}

declare module android {
	export module net {
		export module eap {
			export class EapAkaInfo extends android.net.eap.EapInfo {
				public static class: java.lang.Class<android.net.eap.EapAkaInfo>;
				public getReauthId(): androidNative.Array<number>;
			}
			export module EapAkaInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.eap.EapAkaInfo.Builder>;
					public constructor();
					public setReauthId(reauthId: androidNative.Array<number>): android.net.eap.EapAkaInfo.Builder;
					public build(): android.net.eap.EapAkaInfo;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module eap {
			export abstract class EapInfo extends java.lang.Object {
				public static class: java.lang.Class<android.net.eap.EapInfo>;
				public getEapMethodType(): number;
			}
		}
	}
}

declare module android {
	export module net {
		export module eap {
			export class EapSessionConfig extends java.lang.Object {
				public static class: java.lang.Class<android.net.eap.EapSessionConfig>;
				public getEapTtlsConfig(): android.net.eap.EapSessionConfig.EapTtlsConfig;
				public getEapMsChapV2Config(): android.net.eap.EapSessionConfig.EapMsChapV2Config;
				public getEapSimConfig(): android.net.eap.EapSessionConfig.EapSimConfig;
				public getEapAkaConfig(): android.net.eap.EapSessionConfig.EapAkaConfig;
				public hashCode(): number;
				public getEapIdentity(): androidNative.Array<number>;
				public getEapAkaPrimeConfig(): android.net.eap.EapSessionConfig.EapAkaPrimeConfig;
				public equals(o: any): boolean;
			}
			export module EapSessionConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.eap.EapSessionConfig.Builder>;
					public setEapAkaConfig(subId: number, apptype: number, options: android.net.eap.EapSessionConfig.EapAkaOption): android.net.eap.EapSessionConfig.Builder;
					public setEapAkaPrimeConfig(subId: number, apptype: number, networkName: string, allowMismatchedNetworkNames: boolean): android.net.eap.EapSessionConfig.Builder;
					public build(): android.net.eap.EapSessionConfig;
					public setEapIdentity(eapIdentity: androidNative.Array<number>): android.net.eap.EapSessionConfig.Builder;
					public setEapMsChapV2Config(username: string, password: string): android.net.eap.EapSessionConfig.Builder;
					public constructor();
					public setEapAkaConfig(subId: number, apptype: number): android.net.eap.EapSessionConfig.Builder;
					public setEapTtlsConfig(serverCaCert: java.security.cert.X509Certificate, innerEapSessionConfig: android.net.eap.EapSessionConfig): android.net.eap.EapSessionConfig.Builder;
					public setEapSimConfig(subId: number, apptype: number): android.net.eap.EapSessionConfig.Builder;
				}
				export class EapAkaConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
					public static class: java.lang.Class<android.net.eap.EapSessionConfig.EapAkaConfig>;
					public getAppType(): number;
					public getSubId(): number;
					public getEapAkaOption(): android.net.eap.EapSessionConfig.EapAkaOption;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
				export class EapAkaOption extends java.lang.Object {
					public static class: java.lang.Class<android.net.eap.EapSessionConfig.EapAkaOption>;
					public getReauthId(): androidNative.Array<number>;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
				export module EapAkaOption {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.eap.EapSessionConfig.EapAkaOption.Builder>;
						public constructor();
						public setReauthId(reauthId: androidNative.Array<number>): android.net.eap.EapSessionConfig.EapAkaOption.Builder;
						public build(): android.net.eap.EapSessionConfig.EapAkaOption;
					}
				}
				export class EapAkaPrimeConfig extends android.net.eap.EapSessionConfig.EapAkaConfig {
					public static class: java.lang.Class<android.net.eap.EapSessionConfig.EapAkaPrimeConfig>;
					public getNetworkName(): string;
					public hashCode(): number;
					public equals(o: any): boolean;
					public allowsMismatchedNetworkNames(): boolean;
				}
				export abstract class EapMethodConfig extends java.lang.Object {
					public static class: java.lang.Class<android.net.eap.EapSessionConfig.EapMethodConfig>;
					public static EAP_TYPE_AKA: 23;
					public static EAP_TYPE_AKA_PRIME: 50;
					public static EAP_TYPE_MSCHAP_V2: 26;
					public static EAP_TYPE_SIM: 18;
					public static EAP_TYPE_TTLS: 21;
					public getMethodType(): number;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
				export class EapMsChapV2Config extends android.net.eap.EapSessionConfig.EapMethodConfig {
					public static class: java.lang.Class<android.net.eap.EapSessionConfig.EapMsChapV2Config>;
					public getUsername(): string;
					public getPassword(): string;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
				export class EapSimConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
					public static class: java.lang.Class<android.net.eap.EapSessionConfig.EapSimConfig>;
					public getAppType(): number;
					public getSubId(): number;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
				export class EapTtlsConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
					public static class: java.lang.Class<android.net.eap.EapSessionConfig.EapTtlsConfig>;
					public getInnerEapSessionConfig(): android.net.eap.EapSessionConfig;
					public getServerCaCert(): java.security.cert.X509Certificate;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class BidirectionalStream extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.BidirectionalStream>;
				public static STREAM_PRIORITY_HIGHEST: 4;
				public static STREAM_PRIORITY_IDLE: 0;
				public static STREAM_PRIORITY_LOW: 2;
				public static STREAM_PRIORITY_LOWEST: 1;
				public static STREAM_PRIORITY_MEDIUM: 3;
				public getTrafficStatsUid(): number;
				public hasTrafficStatsTag(): boolean;
				public getPriority(): number;
				public getTrafficStatsTag(): number;
				public hasTrafficStatsUid(): boolean;
				public constructor();
				public flush(): void;
				public isDone(): boolean;
				public isDelayRequestHeadersUntilFirstFlushEnabled(): boolean;
				public start(): void;
				public write(param0: java.nio.ByteBuffer, param1: boolean): void;
				public cancel(): void;
				public read(param0: java.nio.ByteBuffer): void;
				public getHttpMethod(): string;
				public getHeaders(): android.net.http.HeaderBlock;
			}
			export module BidirectionalStream {
				export abstract class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.BidirectionalStream.Builder>;
					public setHttpMethod(param0: string): android.net.http.BidirectionalStream.Builder;
					public constructor();
					public setDelayRequestHeadersUntilFirstFlushEnabled(param0: boolean): android.net.http.BidirectionalStream.Builder;
					public setTrafficStatsTag(param0: number): android.net.http.BidirectionalStream.Builder;
					public build(): android.net.http.BidirectionalStream;
					public setTrafficStatsUid(param0: number): android.net.http.BidirectionalStream.Builder;
					public setPriority(param0: number): android.net.http.BidirectionalStream.Builder;
					public addHeader(param0: string, param1: string): android.net.http.BidirectionalStream.Builder;
				}
				export class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.BidirectionalStream.Callback>;
					/**
					 * Constructs a new instance of the android.net.http.BidirectionalStream$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onStreamReady(param0: android.net.http.BidirectionalStream): void;
						onResponseHeadersReceived(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo): void;
						onReadCompleted(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo, param2: java.nio.ByteBuffer, param3: boolean): void;
						onWriteCompleted(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo, param2: java.nio.ByteBuffer, param3: boolean): void;
						onResponseTrailersReceived(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo, param2: android.net.http.HeaderBlock): void;
						onSucceeded(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo): void;
						onFailed(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo, param2: android.net.http.HttpException): void;
						onCanceled(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo): void;
					});
					public constructor();
					public onFailed(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo, param2: android.net.http.HttpException): void;
					public onCanceled(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo): void;
					public onSucceeded(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo): void;
					public onResponseHeadersReceived(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo): void;
					public onWriteCompleted(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo, param2: java.nio.ByteBuffer, param3: boolean): void;
					public onStreamReady(param0: android.net.http.BidirectionalStream): void;
					public onReadCompleted(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo, param2: java.nio.ByteBuffer, param3: boolean): void;
					public onResponseTrailersReceived(param0: android.net.http.BidirectionalStream, param1: android.net.http.UrlResponseInfo, param2: android.net.http.HeaderBlock): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class CallbackException extends android.net.http.HttpException {
				public static class: java.lang.Class<android.net.http.CallbackException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class ConnectionMigrationOptions extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.ConnectionMigrationOptions>;
				public static MIGRATION_OPTION_DISABLED: 2;
				public static MIGRATION_OPTION_ENABLED: 1;
				public static MIGRATION_OPTION_UNSPECIFIED: 0;
				public getDefaultNetworkMigration(): number;
				public getPathDegradationMigration(): number;
				public getAllowNonDefaultNetworkUsage(): number;
			}
			export module ConnectionMigrationOptions {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.ConnectionMigrationOptions.Builder>;
					public constructor();
					public setDefaultNetworkMigration(state: number): android.net.http.ConnectionMigrationOptions.Builder;
					public build(): android.net.http.ConnectionMigrationOptions;
					public setPathDegradationMigration(state: number): android.net.http.ConnectionMigrationOptions.Builder;
					public setAllowNonDefaultNetworkUsage(state: number): android.net.http.ConnectionMigrationOptions.Builder;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class DnsOptions extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.DnsOptions>;
				public static DNS_OPTION_DISABLED: 2;
				public static DNS_OPTION_ENABLED: 1;
				public static DNS_OPTION_UNSPECIFIED: 0;
				public getPersistHostCachePeriod(): java.time.Duration;
				public getStaleDnsOptions(): android.net.http.DnsOptions.StaleDnsOptions;
				public getUseHttpStackDnsResolver(): number;
				public getPersistHostCache(): number;
				public getStaleDns(): number;
				public getPreestablishConnectionsToStaleDnsResults(): number;
			}
			export module DnsOptions {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.DnsOptions.Builder>;
					public constructor();
					public build(): android.net.http.DnsOptions;
					public setUseHttpStackDnsResolver(state: number): android.net.http.DnsOptions.Builder;
					public setStaleDnsOptions(staleDnsOptions: android.net.http.DnsOptions.StaleDnsOptions): android.net.http.DnsOptions.Builder;
					public setStaleDns(state: number): android.net.http.DnsOptions.Builder;
					public setPersistHostCachePeriod(persistHostCachePeriod: java.time.Duration): android.net.http.DnsOptions.Builder;
					public setPreestablishConnectionsToStaleDnsResults(state: number): android.net.http.DnsOptions.Builder;
					public setPersistHostCache(state: number): android.net.http.DnsOptions.Builder;
				}
				export class StaleDnsOptions extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.DnsOptions.StaleDnsOptions>;
					public getAllowCrossNetworkUsage(): number;
					public getFreshLookupTimeout(): java.time.Duration;
					public getUseStaleOnNameNotResolved(): number;
					public getMaxExpiredDelay(): java.time.Duration;
				}
				export module StaleDnsOptions {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.http.DnsOptions.StaleDnsOptions.Builder>;
						public setAllowCrossNetworkUsage(state: number): android.net.http.DnsOptions.StaleDnsOptions.Builder;
						public constructor();
						public setMaxExpiredDelay(maxExpiredDelay: java.time.Duration): android.net.http.DnsOptions.StaleDnsOptions.Builder;
						public setUseStaleOnNameNotResolved(state: number): android.net.http.DnsOptions.StaleDnsOptions.Builder;
						public setFreshLookupTimeout(freshLookupTimeout: java.time.Duration): android.net.http.DnsOptions.StaleDnsOptions.Builder;
						public build(): android.net.http.DnsOptions.StaleDnsOptions;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class HeaderBlock extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.HeaderBlock>;
				public getAsMap(): java.util.Map<string,java.util.List<string>>;
				public getAsList(): java.util.List<java.util.Map.Entry<string,string>>;
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class HttpEngine extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.HttpEngine>;
				public openConnection(param0: java.net.URL): java.net.URLConnection;
				public static getVersionString(): string;
				public shutdown(): void;
				public createUrlStreamHandlerFactory(): java.net.URLStreamHandlerFactory;
				public newUrlRequestBuilder(param0: string, param1: java.util.concurrent.Executor, param2: android.net.http.UrlRequest.Callback): android.net.http.UrlRequest.Builder;
				public bindToNetwork(network: android.net.Network): void;
				public newBidirectionalStreamBuilder(param0: string, param1: java.util.concurrent.Executor, param2: android.net.http.BidirectionalStream.Callback): android.net.http.BidirectionalStream.Builder;
			}
			export module HttpEngine {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.HttpEngine.Builder>;
					public static HTTP_CACHE_DISABLED: 0;
					public static HTTP_CACHE_DISK: 3;
					public static HTTP_CACHE_DISK_NO_HTTP: 2;
					public static HTTP_CACHE_IN_MEMORY: 1;
					public setStoragePath(value: string): android.net.http.HttpEngine.Builder;
					public setDnsOptions(dnsOptions: android.net.http.DnsOptions): android.net.http.HttpEngine.Builder;
					public constructor(context: android.content.Context);
					public getDefaultUserAgent(): string;
					public addPublicKeyPins(hostName: string, pinsSha256: java.util.Set<androidNative.Array<number>>, includeSubdomains: boolean, expirationInstant: java.time.Instant): android.net.http.HttpEngine.Builder;
					public setQuicOptions(quicOptions: android.net.http.QuicOptions): android.net.http.HttpEngine.Builder;
					public setEnableHttpCache(cacheMode: number, maxSize: number): android.net.http.HttpEngine.Builder;
					public setEnablePublicKeyPinningBypassForLocalTrustAnchors(value: boolean): android.net.http.HttpEngine.Builder;
					public setEnableBrotli(value: boolean): android.net.http.HttpEngine.Builder;
					public setEnableQuic(value: boolean): android.net.http.HttpEngine.Builder;
					public setConnectionMigrationOptions(connectionMigrationOptions: android.net.http.ConnectionMigrationOptions): android.net.http.HttpEngine.Builder;
					public setEnableHttp2(value: boolean): android.net.http.HttpEngine.Builder;
					public addQuicHint(host: string, port: number, alternatePort: number): android.net.http.HttpEngine.Builder;
					public setUserAgent(userAgent: string): android.net.http.HttpEngine.Builder;
					public build(): android.net.http.HttpEngine;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class HttpException extends java.io.IOException {
				public static class: java.lang.Class<android.net.http.HttpException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 getHitCount(): number;
				public get(uri: java.net.URI, requestMethod: string, requestHeaders: java.util.Map<string,java.util.List<string>>): java.net.CacheResponse;
				public close(): void;
				public put(uri: java.net.URI, urlConnection: java.net.URLConnection): java.net.CacheRequest;
				public static getInstalled(): android.net.http.HttpResponseCache;
				public static install(directory: java.io.File, maxSize: number): android.net.http.HttpResponseCache;
				public maxSize(): number;
				public delete(): void;
				public getNetworkCount(): number;
				public size(): number;
				public flush(): void;
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class InlineExecutionProhibitedException extends java.util.concurrent.RejectedExecutionException {
				public static class: java.lang.Class<android.net.http.InlineExecutionProhibitedException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class NetworkException extends android.net.http.HttpException {
				public static class: java.lang.Class<android.net.http.NetworkException>;
				public static ERROR_ADDRESS_UNREACHABLE: 9;
				public static ERROR_CONNECTION_CLOSED: 5;
				public static ERROR_CONNECTION_REFUSED: 7;
				public static ERROR_CONNECTION_RESET: 8;
				public static ERROR_CONNECTION_TIMED_OUT: 6;
				public static ERROR_HOSTNAME_NOT_RESOLVED: 1;
				public static ERROR_INTERNET_DISCONNECTED: 2;
				public static ERROR_NETWORK_CHANGED: 3;
				public static ERROR_OTHER: 11;
				public static ERROR_QUIC_PROTOCOL_FAILED: 10;
				public static ERROR_TIMED_OUT: 4;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getErrorCode(): number;
				public isImmediatelyRetryable(): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class QuicException extends android.net.http.NetworkException {
				public static class: java.lang.Class<android.net.http.QuicException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class QuicOptions extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.QuicOptions>;
				public getIdleConnectionTimeout(): java.time.Duration;
				public getAllowedQuicHosts(): java.util.Set<string>;
				public getInMemoryServerConfigsCacheSize(): number;
				public hasInMemoryServerConfigsCacheSize(): boolean;
				public getHandshakeUserAgent(): string;
			}
			export module QuicOptions {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.QuicOptions.Builder>;
					public setHandshakeUserAgent(handshakeUserAgent: string): android.net.http.QuicOptions.Builder;
					public addAllowedQuicHost(quicHost: string): android.net.http.QuicOptions.Builder;
					public setInMemoryServerConfigsCacheSize(inMemoryServerConfigsCacheSize: number): android.net.http.QuicOptions.Builder;
					public constructor();
					public build(): android.net.http.QuicOptions;
					public setIdleConnectionTimeout(idleConnectionTimeout: java.time.Duration): android.net.http.QuicOptions.Builder;
				}
			}
		}
	}
}

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 static restoreState(bundle: android.os.Bundle): android.net.http.SslCertificate;
				public static saveState(certificate: android.net.http.SslCertificate): android.os.Bundle;
				/** @deprecated */
				public getValidNotAfter(): string;
				public getIssuedBy(): android.net.http.SslCertificate.DName;
				public toString(): string;
				/** @deprecated */
				public constructor(issuedTo: string, issuedBy: string, validNotBefore: java.util.Date, validNotAfter: java.util.Date);
				public constructor(certificate: java.security.cert.X509Certificate);
				/** @deprecated */
				public getValidNotBefore(): string;
				public getValidNotBeforeDate(): java.util.Date;
				public getIssuedTo(): android.net.http.SslCertificate.DName;
				public getValidNotAfterDate(): java.util.Date;
				public getX509Certificate(): java.security.cert.X509Certificate;
				/** @deprecated */
				public constructor(issuedTo: string, issuedBy: string, validNotBefore: string, validNotAfter: 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(this$0: android.net.http.SslCertificate, dName: 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: 4;
				public static SSL_EXPIRED: 1;
				public static SSL_IDMISMATCH: 2;
				public static SSL_INVALID: 5;
				public static SSL_MAX_ERROR: 6;
				public static SSL_NOTYETVALID: 0;
				public static SSL_UNTRUSTED: 3;
				public addError(error: number): boolean;
				/** @deprecated */
				public constructor(error: number, certificate: java.security.cert.X509Certificate);
				public getCertificate(): android.net.http.SslCertificate;
				public getPrimaryError(): number;
				public getUrl(): string;
				public constructor(error: number, certificate: java.security.cert.X509Certificate, url: string);
				public toString(): string;
				public constructor(error: number, certificate: android.net.http.SslCertificate, url: string);
				public hasError(error: number): boolean;
				/** @deprecated */
				public constructor(error: number, certificate: android.net.http.SslCertificate);
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class UploadDataProvider extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.net.http.UploadDataProvider>;
				public close(): void;
				public read(param0: android.net.http.UploadDataSink, param1: java.nio.ByteBuffer): void;
				public rewind(param0: android.net.http.UploadDataSink): void;
				public getLength(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class UploadDataSink extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.UploadDataSink>;
				public onReadError(param0: java.lang.Exception): void;
				public onRewindSucceeded(): void;
				public onReadSucceeded(param0: boolean): void;
				public onRewindError(param0: java.lang.Exception): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class UrlRequest extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.UrlRequest>;
				public static REQUEST_PRIORITY_HIGHEST: 4;
				public static REQUEST_PRIORITY_IDLE: 0;
				public static REQUEST_PRIORITY_LOW: 2;
				public static REQUEST_PRIORITY_LOWEST: 1;
				public static REQUEST_PRIORITY_MEDIUM: 3;
				public followRedirect(): void;
				public getTrafficStatsUid(): number;
				public hasTrafficStatsTag(): boolean;
				public getStatus(param0: android.net.http.UrlRequest.StatusListener): void;
				public getPriority(): number;
				public getTrafficStatsTag(): number;
				public hasTrafficStatsUid(): boolean;
				public isDone(): boolean;
				public isCacheDisabled(): boolean;
				public start(): void;
				public isDirectExecutorAllowed(): boolean;
				public cancel(): void;
				public read(param0: java.nio.ByteBuffer): void;
				public getHttpMethod(): string;
				public getHeaders(): android.net.http.HeaderBlock;
			}
			export module UrlRequest {
				export abstract class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.UrlRequest.Builder>;
					public setTrafficStatsTag(param0: number): android.net.http.UrlRequest.Builder;
					public addHeader(param0: string, param1: string): android.net.http.UrlRequest.Builder;
					public setHttpMethod(param0: string): android.net.http.UrlRequest.Builder;
					public build(): android.net.http.UrlRequest;
					public setUploadDataProvider(param0: android.net.http.UploadDataProvider, param1: java.util.concurrent.Executor): android.net.http.UrlRequest.Builder;
					public setCacheDisabled(param0: boolean): android.net.http.UrlRequest.Builder;
					public setDirectExecutorAllowed(param0: boolean): android.net.http.UrlRequest.Builder;
					public bindToNetwork(param0: android.net.Network): android.net.http.UrlRequest.Builder;
					public setTrafficStatsUid(param0: number): android.net.http.UrlRequest.Builder;
					public setPriority(param0: number): android.net.http.UrlRequest.Builder;
				}
				export class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.UrlRequest.Callback>;
					/**
					 * Constructs a new instance of the android.net.http.UrlRequest$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onRedirectReceived(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo, param2: string): void;
						onResponseStarted(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo): void;
						onReadCompleted(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo, param2: java.nio.ByteBuffer): void;
						onSucceeded(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo): void;
						onFailed(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo, param2: android.net.http.HttpException): void;
						onCanceled(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo): void;
					});
					public constructor();
					public onResponseStarted(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo): void;
					public onReadCompleted(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo, param2: java.nio.ByteBuffer): void;
					public onRedirectReceived(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo, param2: string): void;
					public onCanceled(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo): void;
					public onSucceeded(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo): void;
					public onFailed(param0: android.net.http.UrlRequest, param1: android.net.http.UrlResponseInfo, param2: android.net.http.HttpException): void;
				}
				export class Status extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.UrlRequest.Status>;
					public static CONNECTING: 10;
					public static DOWNLOADING_PAC_FILE: 5;
					public static ESTABLISHING_PROXY_TUNNEL: 8;
					public static IDLE: 0;
					public static INVALID: -1;
					public static READING_RESPONSE: 14;
					public static RESOLVING_HOST: 9;
					public static RESOLVING_HOST_IN_PAC_FILE: 7;
					public static RESOLVING_PROXY_FOR_URL: 6;
					public static SENDING_REQUEST: 12;
					public static SSL_HANDSHAKE: 11;
					public static WAITING_FOR_AVAILABLE_SOCKET: 2;
					public static WAITING_FOR_CACHE: 4;
					public static WAITING_FOR_DELEGATE: 3;
					public static WAITING_FOR_RESPONSE: 13;
					public static WAITING_FOR_STALLED_SOCKET_POOL: 1;
				}
				export class StatusListener extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.UrlRequest.StatusListener>;
					/**
					 * Constructs a new instance of the android.net.http.UrlRequest$StatusListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onStatus(param0: number): void;
					});
					public constructor();
					public onStatus(param0: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export abstract class UrlResponseInfo extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.UrlResponseInfo>;
				public getNegotiatedProtocol(): string;
				public getUrlChain(): java.util.List<string>;
				public getUrl(): string;
				public getHttpStatusCode(): number;
				public getHttpStatusText(): string;
				public getHeaders(): android.net.http.HeaderBlock;
				public wasCached(): boolean;
				public getReceivedByteCount(): number;
				public constructor();
			}
		}
	}
}

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(tm: javax.net.ssl.X509TrustManager);
				public checkServerTrusted(chain: androidNative.Array<java.security.cert.X509Certificate>, authType: string, host: string): java.util.List<java.security.cert.X509Certificate>;
				public isSameTrustConfiguration(hostname1: string, hostname2: string): boolean;
				public isUserAddedCertificate(cert: java.security.cert.X509Certificate): boolean;
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class ChildSaProposal extends android.net.ipsec.ike.SaProposal {
					public static class: java.lang.Class<android.net.ipsec.ike.ChildSaProposal>;
					public static getSupportedIntegrityAlgorithms(): java.util.Set<java.lang.Integer>;
					public static getSupportedEncryptionAlgorithms(): java.util.Set<java.lang.Integer>;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
				export module ChildSaProposal {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.ChildSaProposal.Builder>;
						public constructor();
						public addEncryptionAlgorithm(algorithm: number, keyLength: number): android.net.ipsec.ike.ChildSaProposal.Builder;
						public build(): android.net.ipsec.ike.ChildSaProposal;
						public addIntegrityAlgorithm(algorithm: number): android.net.ipsec.ike.ChildSaProposal.Builder;
						public addDhGroup(dhGroup: number): android.net.ipsec.ike.ChildSaProposal.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class ChildSessionCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.ChildSessionCallback>;
					/**
					 * Constructs a new instance of the android.net.ipsec.ike.ChildSessionCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onOpened(param0: android.net.ipsec.ike.ChildSessionConfiguration): void;
						onClosed(): void;
						onClosedWithException(exception: android.net.ipsec.ike.exceptions.IkeException): void;
						onIpSecTransformCreated(param0: android.net.IpSecTransform, param1: number): void;
						onIpSecTransformDeleted(param0: android.net.IpSecTransform, param1: number): void;
					});
					public constructor();
					public onIpSecTransformDeleted(param0: android.net.IpSecTransform, param1: number): void;
					public onOpened(param0: android.net.ipsec.ike.ChildSessionConfiguration): void;
					public onClosed(): void;
					public onIpSecTransformCreated(param0: android.net.IpSecTransform, param1: number): void;
					public onClosedWithException(exception: android.net.ipsec.ike.exceptions.IkeException): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class ChildSessionConfiguration extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.ChildSessionConfiguration>;
					public getOutboundTrafficSelectors(): java.util.List<android.net.ipsec.ike.IkeTrafficSelector>;
					public getInboundTrafficSelectors(): java.util.List<android.net.ipsec.ike.IkeTrafficSelector>;
				}
				export module ChildSessionConfiguration {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.ChildSessionConfiguration.Builder>;
						public constructor(inTs: java.util.List<android.net.ipsec.ike.IkeTrafficSelector>, outTs: java.util.List<android.net.ipsec.ike.IkeTrafficSelector>);
						public build(): android.net.ipsec.ike.ChildSessionConfiguration;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export abstract class ChildSessionParams extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.ChildSessionParams>;
					public getOutboundTrafficSelectors(): java.util.List<android.net.ipsec.ike.IkeTrafficSelector>;
					public getSoftLifetimeSeconds(): number;
					public getChildSaProposals(): java.util.List<android.net.ipsec.ike.ChildSaProposal>;
					public getHardLifetimeSeconds(): number;
					public getInboundTrafficSelectors(): java.util.List<android.net.ipsec.ike.IkeTrafficSelector>;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeDerAsn1DnIdentification extends android.net.ipsec.ike.IkeIdentification {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeDerAsn1DnIdentification>;
					public derAsn1Dn: javax.security.auth.x500.X500Principal;
					public constructor(derAsn1Dn: javax.security.auth.x500.X500Principal);
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeFqdnIdentification extends android.net.ipsec.ike.IkeIdentification {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeFqdnIdentification>;
					public fqdn: string;
					public constructor(fqdn: string);
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

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

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeIpv4AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeIpv4AddrIdentification>;
					public ipv4Address: java.net.Inet4Address;
					public constructor(address: java.net.Inet4Address);
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeIpv6AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeIpv6AddrIdentification>;
					public ipv6Address: java.net.Inet6Address;
					public constructor(address: java.net.Inet6Address);
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeKeyIdIdentification extends android.net.ipsec.ike.IkeIdentification {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeKeyIdIdentification>;
					public keyId: androidNative.Array<number>;
					public constructor(keyId: androidNative.Array<number>);
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeRfc822AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeRfc822AddrIdentification>;
					public rfc822Name: string;
					public hashCode(): number;
					public equals(o: any): boolean;
					public constructor(rfc822Name: string);
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeSaProposal extends android.net.ipsec.ike.SaProposal {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeSaProposal>;
					public static getSupportedIntegrityAlgorithms(): java.util.Set<java.lang.Integer>;
					public static getSupportedEncryptionAlgorithms(): java.util.Set<java.lang.Integer>;
					public static getSupportedPseudorandomFunctions(): java.util.Set<java.lang.Integer>;
					public getPseudorandomFunctions(): java.util.List<java.lang.Integer>;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
				export module IkeSaProposal {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.IkeSaProposal.Builder>;
						public addEncryptionAlgorithm(algorithm: number, keyLength: number): android.net.ipsec.ike.IkeSaProposal.Builder;
						public addPseudorandomFunction(algorithm: number): android.net.ipsec.ike.IkeSaProposal.Builder;
						public constructor();
						public addIntegrityAlgorithm(algorithm: number): android.net.ipsec.ike.IkeSaProposal.Builder;
						public build(): android.net.ipsec.ike.IkeSaProposal;
						public addDhGroup(dhGroup: number): android.net.ipsec.ike.IkeSaProposal.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeSession extends java.lang.Object implements java.lang.AutoCloseable {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeSession>;
					public openChildSession(childSessionParams: android.net.ipsec.ike.ChildSessionParams, childSessionCallback: android.net.ipsec.ike.ChildSessionCallback): void;
					public finalize(): void;
					public constructor(context: android.content.Context, ikeSessionParams: android.net.ipsec.ike.IkeSessionParams, firstChildSessionParams: android.net.ipsec.ike.ChildSessionParams, userCbExecutor: java.util.concurrent.Executor, ikeSessionCallback: android.net.ipsec.ike.IkeSessionCallback, firstChildSessionCallback: android.net.ipsec.ike.ChildSessionCallback);
					public close(): void;
					public dump(pw: java.io.PrintWriter): void;
					public kill(): void;
					public closeChildSession(childSessionCallback: android.net.ipsec.ike.ChildSessionCallback): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeSessionCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionCallback>;
					/**
					 * Constructs a new instance of the android.net.ipsec.ike.IkeSessionCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onOpened(param0: android.net.ipsec.ike.IkeSessionConfiguration): void;
						onClosed(): void;
						onClosedWithException(exception: android.net.ipsec.ike.exceptions.IkeException): void;
						onError(exception: android.net.ipsec.ike.exceptions.IkeException): void;
					});
					public constructor();
					public onClosed(): void;
					public onError(exception: android.net.ipsec.ike.exceptions.IkeException): void;
					public onOpened(param0: android.net.ipsec.ike.IkeSessionConfiguration): void;
					public onClosedWithException(exception: android.net.ipsec.ike.exceptions.IkeException): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeSessionConfiguration extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionConfiguration>;
					public static EXTENSION_TYPE_FRAGMENTATION: 1;
					public static EXTENSION_TYPE_MOBIKE: 2;
					public getRemoteVendorIds(): java.util.List<androidNative.Array<number>>;
					public isIkeExtensionEnabled(extensionType: number): boolean;
					public getRemoteApplicationVersion(): string;
					public getIkeSessionConnectionInfo(): android.net.ipsec.ike.IkeSessionConnectionInfo;
					public getEapInfo(): android.net.eap.EapInfo;
				}
				export module IkeSessionConfiguration {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionConfiguration.Builder>;
						public clearRemoteApplicationVersion(): android.net.ipsec.ike.IkeSessionConfiguration.Builder;
						public addIkeExtension(extensionType: number): android.net.ipsec.ike.IkeSessionConfiguration.Builder;
						public setRemoteApplicationVersion(remoteApplicationVersion: string): android.net.ipsec.ike.IkeSessionConfiguration.Builder;
						public build(): android.net.ipsec.ike.IkeSessionConfiguration;
						public addRemoteVendorId(remoteVendorId: androidNative.Array<number>): android.net.ipsec.ike.IkeSessionConfiguration.Builder;
						public clearRemoteVendorIds(): android.net.ipsec.ike.IkeSessionConfiguration.Builder;
						public clearIkeExtensions(): android.net.ipsec.ike.IkeSessionConfiguration.Builder;
						public constructor(ikeConnInfo: android.net.ipsec.ike.IkeSessionConnectionInfo);
						public setEapInfo(eapInfo: android.net.eap.EapInfo): android.net.ipsec.ike.IkeSessionConfiguration.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeSessionConnectionInfo extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionConnectionInfo>;
					public getRemoteAddress(): java.net.InetAddress;
					public getNetwork(): android.net.Network;
					public constructor(localAddress: java.net.InetAddress, remoteAddress: java.net.InetAddress, network: android.net.Network);
					public getLocalAddress(): java.net.InetAddress;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeSessionParams extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionParams>;
					public static IKE_DPD_DELAY_SEC_DISABLED: 2147483647;
					public static IKE_OPTION_ACCEPT_ANY_REMOTE_ID: 0;
					public static IKE_OPTION_EAP_ONLY_AUTH: 1;
					public static IKE_OPTION_FORCE_PORT_4500: 3;
					public static IKE_OPTION_INITIAL_CONTACT: 4;
					public static IKE_OPTION_MOBIKE: 2;
					public getDpdDelaySeconds(): number;
					public getIkeOptions(): java.util.Set<java.lang.Integer>;
					public getLocalAuthConfig(): android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig;
					public getSoftLifetimeSeconds(): number;
					public getNetwork(): android.net.Network;
					public getRetransmissionTimeoutsMillis(): androidNative.Array<number>;
					public equals(o: any): boolean;
					public getRemoteAuthConfig(): android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig;
					public getRemoteIdentification(): android.net.ipsec.ike.IkeIdentification;
					public getLocalIdentification(): android.net.ipsec.ike.IkeIdentification;
					public getNattKeepAliveDelaySeconds(): number;
					public hasIkeOption(ikeOption: number): boolean;
					public getServerHostname(): string;
					public getIkeSaProposals(): java.util.List<android.net.ipsec.ike.IkeSaProposal>;
					public getHardLifetimeSeconds(): number;
					public hashCode(): number;
				}
				export module IkeSessionParams {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionParams.Builder>;
						public setDpdDelaySeconds(dpdDelaySeconds: number): android.net.ipsec.ike.IkeSessionParams.Builder;
						public constructor();
						public setServerHostname(serverHostname: string): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setAuthPsk(sharedKey: androidNative.Array<number>): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setAuthDigitalSignature(serverCaCert: java.security.cert.X509Certificate, clientEndCert: java.security.cert.X509Certificate, clientIntermediateCerts: java.util.List<java.security.cert.X509Certificate>, clientPrivateKey: java.security.PrivateKey): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setNetwork(network: android.net.Network): android.net.ipsec.ike.IkeSessionParams.Builder;
						public constructor(ikeSessionParams: android.net.ipsec.ike.IkeSessionParams);
						public addIkeSaProposal(proposal: android.net.ipsec.ike.IkeSaProposal): android.net.ipsec.ike.IkeSessionParams.Builder;
						public build(): android.net.ipsec.ike.IkeSessionParams;
						public addIkeOption(ikeOption: number): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setLocalIdentification(identification: android.net.ipsec.ike.IkeIdentification): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setRetransmissionTimeoutsMillis(retransTimeoutMillisList: androidNative.Array<number>): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setAuthEap(serverCaCert: java.security.cert.X509Certificate, eapConfig: android.net.eap.EapSessionConfig): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setAuthDigitalSignature(serverCaCert: java.security.cert.X509Certificate, clientEndCert: java.security.cert.X509Certificate, clientPrivateKey: java.security.PrivateKey): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setLifetimeSeconds(hardLifetimeSeconds: number, softLifetimeSeconds: number): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setRemoteIdentification(identification: android.net.ipsec.ike.IkeIdentification): android.net.ipsec.ike.IkeSessionParams.Builder;
						public setNattKeepAliveDelaySeconds(nattKeepaliveDelaySeconds: number): android.net.ipsec.ike.IkeSessionParams.Builder;
						public removeIkeOption(ikeOption: number): android.net.ipsec.ike.IkeSessionParams.Builder;
					}
					export abstract class IkeAuthConfig extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig>;
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class IkeAuthDigitalSignLocalConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
						public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionParams.IkeAuthDigitalSignLocalConfig>;
						public getClientEndCertificate(): java.security.cert.X509Certificate;
						public getIntermediateCertificates(): java.util.List<java.security.cert.X509Certificate>;
						public hashCode(): number;
						public getPrivateKey(): java.security.PrivateKey;
						public equals(o: any): boolean;
					}
					export class IkeAuthDigitalSignRemoteConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
						public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionParams.IkeAuthDigitalSignRemoteConfig>;
						public getRemoteCaCert(): java.security.cert.X509Certificate;
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class IkeAuthEapConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
						public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionParams.IkeAuthEapConfig>;
						public getEapConfig(): android.net.eap.EapSessionConfig;
						public hashCode(): number;
						public equals(o: any): boolean;
					}
					export class IkeAuthPskConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
						public static class: java.lang.Class<android.net.ipsec.ike.IkeSessionParams.IkeAuthPskConfig>;
						public getPsk(): androidNative.Array<number>;
						public hashCode(): number;
						public equals(o: any): boolean;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeTrafficSelector extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeTrafficSelector>;
					public endPort: number;
					public endingAddress: java.net.InetAddress;
					public startPort: number;
					public startingAddress: java.net.InetAddress;
					public hashCode(): number;
					public equals(o: any): boolean;
					public constructor(startPort: number, endPort: number, startingAddress: java.net.InetAddress, endingAddress: java.net.InetAddress);
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class IkeTunnelConnectionParams extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.IkeTunnelConnectionParams>;
					public constructor(ikeParams: android.net.ipsec.ike.IkeSessionParams, childParams: android.net.ipsec.ike.TunnelModeChildSessionParams);
					public hashCode(): number;
					public equals(o: any): boolean;
					public getTunnelModeChildSessionParams(): android.net.ipsec.ike.TunnelModeChildSessionParams;
					public getIkeSessionParams(): android.net.ipsec.ike.IkeSessionParams;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export abstract class SaProposal extends java.lang.Object {
					public static class: java.lang.Class<android.net.ipsec.ike.SaProposal>;
					public static DH_GROUP_1024_BIT_MODP: 2;
					public static DH_GROUP_1536_BIT_MODP: 5;
					public static DH_GROUP_2048_BIT_MODP: 14;
					public static DH_GROUP_3072_BIT_MODP: 15;
					public static DH_GROUP_4096_BIT_MODP: 16;
					public static DH_GROUP_CURVE_25519: 31;
					public static DH_GROUP_NONE: 0;
					public static ENCRYPTION_ALGORITHM_3DES: 3;
					public static ENCRYPTION_ALGORITHM_AES_CBC: 12;
					public static ENCRYPTION_ALGORITHM_AES_CTR: 13;
					public static ENCRYPTION_ALGORITHM_AES_GCM_12: 19;
					public static ENCRYPTION_ALGORITHM_AES_GCM_16: 20;
					public static ENCRYPTION_ALGORITHM_AES_GCM_8: 18;
					public static ENCRYPTION_ALGORITHM_CHACHA20_POLY1305: 28;
					public static INTEGRITY_ALGORITHM_AES_CMAC_96: 8;
					public static INTEGRITY_ALGORITHM_AES_XCBC_96: 5;
					public static INTEGRITY_ALGORITHM_HMAC_SHA1_96: 2;
					public static INTEGRITY_ALGORITHM_HMAC_SHA2_256_128: 12;
					public static INTEGRITY_ALGORITHM_HMAC_SHA2_384_192: 13;
					public static INTEGRITY_ALGORITHM_HMAC_SHA2_512_256: 14;
					public static INTEGRITY_ALGORITHM_NONE: 0;
					public static KEY_LEN_AES_128: 128;
					public static KEY_LEN_AES_192: 192;
					public static KEY_LEN_AES_256: 256;
					public static KEY_LEN_UNUSED: 0;
					public static PSEUDORANDOM_FUNCTION_AES128_CMAC: 8;
					public static PSEUDORANDOM_FUNCTION_AES128_XCBC: 4;
					public static PSEUDORANDOM_FUNCTION_HMAC_SHA1: 2;
					public static PSEUDORANDOM_FUNCTION_SHA2_256: 5;
					public static PSEUDORANDOM_FUNCTION_SHA2_384: 6;
					public static PSEUDORANDOM_FUNCTION_SHA2_512: 7;
					public toString(): string;
					public getIntegrityAlgorithms(): java.util.List<java.lang.Integer>;
					public getDhGroups(): java.util.List<java.lang.Integer>;
					public getEncryptionAlgorithms(): java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>>;
					public static getSupportedDhGroups(): java.util.Set<java.lang.Integer>;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class TransportModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
					public static class: java.lang.Class<android.net.ipsec.ike.TransportModeChildSessionParams>;
				}
				export module TransportModeChildSessionParams {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.TransportModeChildSessionParams.Builder>;
						public constructor();
						public setLifetimeSeconds(hardLifetimeSeconds: number, softLifetimeSeconds: number): android.net.ipsec.ike.TransportModeChildSessionParams.Builder;
						public constructor(childParams: android.net.ipsec.ike.TransportModeChildSessionParams);
						public build(): android.net.ipsec.ike.TransportModeChildSessionParams;
						public addInboundTrafficSelectors(trafficSelector: android.net.ipsec.ike.IkeTrafficSelector): android.net.ipsec.ike.TransportModeChildSessionParams.Builder;
						public addChildSaProposal(proposal: android.net.ipsec.ike.ChildSaProposal): android.net.ipsec.ike.TransportModeChildSessionParams.Builder;
						public addOutboundTrafficSelectors(trafficSelector: android.net.ipsec.ike.IkeTrafficSelector): android.net.ipsec.ike.TransportModeChildSessionParams.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export class TunnelModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
					public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams>;
					public getConfigurationRequests(): java.util.List<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest>;
					public hashCode(): number;
					public equals(o: any): boolean;
				}
				export module TunnelModeChildSessionParams {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams.Builder>;
						public addInboundTrafficSelectors(trafficSelector: android.net.ipsec.ike.IkeTrafficSelector): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
						public constructor();
						public addInternalAddressRequest(address: java.net.Inet6Address, prefixLen: number): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
						public addInternalDnsServerRequest(addressFamily: number): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
						public build(): android.net.ipsec.ike.TunnelModeChildSessionParams;
						public addChildSaProposal(proposal: android.net.ipsec.ike.ChildSaProposal): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
						public addInternalAddressRequest(address: java.net.Inet4Address): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
						public addInternalDhcpServerRequest(addressFamily: number): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
						public setLifetimeSeconds(hardLifetimeSeconds: number, softLifetimeSeconds: number): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
						public constructor(childParams: android.net.ipsec.ike.TunnelModeChildSessionParams);
						public addOutboundTrafficSelectors(trafficSelector: android.net.ipsec.ike.IkeTrafficSelector): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
						public addInternalAddressRequest(addressFamily: number): android.net.ipsec.ike.TunnelModeChildSessionParams.Builder;
					}
					export class ConfigRequestIpv4Address extends java.lang.Object implements android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
						public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams.ConfigRequestIpv4Address>;
						/**
						 * Constructs a new instance of the android.net.ipsec.ike.TunnelModeChildSessionParams$ConfigRequestIpv4Address interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							getAddress(): java.net.Inet4Address;
						});
						public constructor();
						public getAddress(): java.net.Inet4Address;
					}
					export class ConfigRequestIpv4DhcpServer extends java.lang.Object implements android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
						public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams.ConfigRequestIpv4DhcpServer>;
						/**
						 * Constructs a new instance of the android.net.ipsec.ike.TunnelModeChildSessionParams$ConfigRequestIpv4DhcpServer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
						});
						public constructor();
					}
					export class ConfigRequestIpv4DnsServer extends java.lang.Object implements android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
						public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams.ConfigRequestIpv4DnsServer>;
						/**
						 * Constructs a new instance of the android.net.ipsec.ike.TunnelModeChildSessionParams$ConfigRequestIpv4DnsServer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
						});
						public constructor();
					}
					export class ConfigRequestIpv4Netmask extends java.lang.Object implements android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
						public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams.ConfigRequestIpv4Netmask>;
						/**
						 * Constructs a new instance of the android.net.ipsec.ike.TunnelModeChildSessionParams$ConfigRequestIpv4Netmask interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
						});
						public constructor();
					}
					export class ConfigRequestIpv6Address extends java.lang.Object implements android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
						public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams.ConfigRequestIpv6Address>;
						/**
						 * Constructs a new instance of the android.net.ipsec.ike.TunnelModeChildSessionParams$ConfigRequestIpv6Address interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							getAddress(): java.net.Inet6Address;
							getPrefixLength(): number;
						});
						public constructor();
						public getPrefixLength(): number;
						public getAddress(): java.net.Inet6Address;
					}
					export class ConfigRequestIpv6DnsServer extends java.lang.Object implements android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
						public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams.ConfigRequestIpv6DnsServer>;
						/**
						 * Constructs a new instance of the android.net.ipsec.ike.TunnelModeChildSessionParams$ConfigRequestIpv6DnsServer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
						});
						public constructor();
					}
					export class TunnelModeChildConfigRequest extends java.lang.Object {
						public static class: java.lang.Class<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest>;
						/**
						 * Constructs a new instance of the android.net.ipsec.ike.TunnelModeChildSessionParams$TunnelModeChildConfigRequest 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 net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export abstract class IkeException extends java.lang.Exception {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.IkeException>;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export class IkeIOException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.IkeIOException>;
						public constructor();
						public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
						public getCause(): java.lang.Throwable;
						public constructor(message: string, cause: java.lang.Throwable);
						public constructor(cause: java.lang.Throwable);
						public constructor(message: string);
						public constructor(cause: java.io.IOException);
						public initCause(cause: java.lang.Throwable): java.lang.Throwable;
						public getCause(): java.io.IOException;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export class IkeInternalException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.IkeInternalException>;
						public constructor();
						public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
						public constructor(message: string, cause: java.lang.Throwable);
						public constructor(cause: java.lang.Throwable);
						public constructor(message: string);
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export class IkeNetworkLostException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.IkeNetworkLostException>;
						public constructor();
						public constructor(network: android.net.Network);
						public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
						public constructor(message: string, cause: java.lang.Throwable);
						public constructor(cause: java.lang.Throwable);
						public constructor(message: string);
						public getNetwork(): android.net.Network;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export abstract class IkeNonProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.IkeNonProtocolException>;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.IkeProtocolException>;
						public static ERROR_TYPE_AUTHENTICATION_FAILED: 24;
						public static ERROR_TYPE_CHILD_SA_NOT_FOUND: 44;
						public static ERROR_TYPE_FAILED_CP_REQUIRED: 37;
						public static ERROR_TYPE_INTERNAL_ADDRESS_FAILURE: 36;
						public static ERROR_TYPE_INVALID_IKE_SPI: 4;
						public static ERROR_TYPE_INVALID_KE_PAYLOAD: 17;
						public static ERROR_TYPE_INVALID_MAJOR_VERSION: 5;
						public static ERROR_TYPE_INVALID_MESSAGE_ID: 9;
						public static ERROR_TYPE_INVALID_SELECTORS: 39;
						public static ERROR_TYPE_INVALID_SYNTAX: 7;
						public static ERROR_TYPE_NO_ADDITIONAL_SAS: 35;
						public static ERROR_TYPE_NO_PROPOSAL_CHOSEN: 14;
						public static ERROR_TYPE_SINGLE_PAIR_REQUIRED: 34;
						public static ERROR_TYPE_TEMPORARY_FAILURE: 43;
						public static ERROR_TYPE_TS_UNACCEPTABLE: 38;
						public static ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD: 1;
						public getErrorType(): number;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export class IkeTimeoutException extends java.io.IOException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.IkeTimeoutException>;
						public constructor();
						public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
						public constructor(message: string, cause: java.lang.Throwable);
						public constructor(cause: java.lang.Throwable);
						public constructor(message: string);
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export class InvalidKeException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.InvalidKeException>;
						public constructor();
						public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
						public constructor(dhGroup: number);
						public constructor(message: string, cause: java.lang.Throwable);
						public constructor(cause: java.lang.Throwable);
						public constructor(message: string);
						public getDhGroup(): number;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export class InvalidMajorVersionException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.InvalidMajorVersionException>;
						public constructor();
						public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
						public getMajorVersion(): number;
						public constructor(version: number);
						public constructor(message: string, cause: java.lang.Throwable);
						public constructor(cause: java.lang.Throwable);
						public constructor(message: string);
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ipsec {
			export module ike {
				export module exceptions {
					export class InvalidSelectorsException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
						public static class: java.lang.Class<android.net.ipsec.ike.exceptions.InvalidSelectorsException>;
						public constructor(spi: number, packetInfo: androidNative.Array<number>);
						public constructor();
						public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
						public constructor(message: string, cause: java.lang.Throwable);
						public constructor(cause: java.lang.Throwable);
						public constructor(message: string);
						public getIpSecPacketInfo(): androidNative.Array<number>;
						public getIpSecSpi(): number;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module nsd {
			export class DiscoveryRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.nsd.DiscoveryRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.nsd.DiscoveryRequest>;
				public equals(other: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getServiceType(): string;
				public getSubtype(): string;
				public toString(): string;
				public getNetwork(): android.net.Network;
			}
			export module DiscoveryRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.nsd.DiscoveryRequest.Builder>;
					public setSubtype(subtype: string): android.net.nsd.DiscoveryRequest.Builder;
					public constructor(serviceType: string);
					public build(): android.net.nsd.DiscoveryRequest;
					public setNetwork(network: android.net.Network): android.net.nsd.DiscoveryRequest.Builder;
				}
			}
		}
	}
}

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: "android.net.nsd.STATE_CHANGED";
				public static EXTRA_NSD_STATE: "nsd_state";
				public static FAILURE_ALREADY_ACTIVE: 3;
				public static FAILURE_BAD_PARAMETERS: 6;
				public static FAILURE_INTERNAL_ERROR: 0;
				public static FAILURE_MAX_LIMIT: 4;
				public static FAILURE_OPERATION_NOT_RUNNING: 5;
				public static NSD_STATE_DISABLED: 1;
				public static NSD_STATE_ENABLED: 2;
				public static PROTOCOL_DNS_SD: 1;
				public registerServiceInfoCallback(serviceInfo: android.net.nsd.NsdServiceInfo, executor: java.util.concurrent.Executor, listener: android.net.nsd.NsdManager.ServiceInfoCallback): void;
				public stopServiceDiscovery(listener: android.net.nsd.NsdManager.DiscoveryListener): void;
				public registerService(serviceInfo: android.net.nsd.NsdServiceInfo, protocolType: number, executor: java.util.concurrent.Executor, listener: android.net.nsd.NsdManager.RegistrationListener): void;
				public unregisterServiceInfoCallback(listener: android.net.nsd.NsdManager.ServiceInfoCallback): void;
				public discoverServices(serviceType: string, protocolType: number, listener: android.net.nsd.NsdManager.DiscoveryListener): void;
				public discoverServices(discoveryRequest: android.net.nsd.DiscoveryRequest, executor: java.util.concurrent.Executor, listener: android.net.nsd.NsdManager.DiscoveryListener): void;
				public registerService(serviceInfo: android.net.nsd.NsdServiceInfo, protocolType: number, listener: android.net.nsd.NsdManager.RegistrationListener): void;
				public stopServiceResolution(listener: android.net.nsd.NsdManager.ResolveListener): void;
				public discoverServices(serviceType: string, protocolType: number, networkRequest: android.net.NetworkRequest, executor: java.util.concurrent.Executor, listener: android.net.nsd.NsdManager.DiscoveryListener): void;
				public discoverServices(serviceType: string, protocolType: number, network: android.net.Network, executor: java.util.concurrent.Executor, listener: android.net.nsd.NsdManager.DiscoveryListener): void;
				/** @deprecated */
				public resolveService(serviceInfo: android.net.nsd.NsdServiceInfo, listener: android.net.nsd.NsdManager.ResolveListener): void;
				/** @deprecated */
				public resolveService(serviceInfo: android.net.nsd.NsdServiceInfo, executor: java.util.concurrent.Executor, listener: android.net.nsd.NsdManager.ResolveListener): void;
				public unregisterService(listener: 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;
						onResolutionStopped(serviceInfo: android.net.nsd.NsdServiceInfo): void;
						onStopResolutionFailed(serviceInfo: android.net.nsd.NsdServiceInfo, errorCode: number): void;
					});
					public constructor();
					public onStopResolutionFailed(serviceInfo: android.net.nsd.NsdServiceInfo, errorCode: number): void;
					public onResolutionStopped(serviceInfo: android.net.nsd.NsdServiceInfo): void;
					public onResolveFailed(param0: android.net.nsd.NsdServiceInfo, param1: number): void;
					public onServiceResolved(param0: android.net.nsd.NsdServiceInfo): void;
				}
				export class ServiceInfoCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.nsd.NsdManager.ServiceInfoCallback>;
					/**
					 * Constructs a new instance of the android.net.nsd.NsdManager$ServiceInfoCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onServiceInfoCallbackRegistrationFailed(param0: number): void;
						onServiceUpdated(param0: android.net.nsd.NsdServiceInfo): void;
						onServiceLost(): void;
						onServiceInfoCallbackUnregistered(): void;
					});
					public constructor();
					public onServiceInfoCallbackUnregistered(): void;
					public onServiceInfoCallbackRegistrationFailed(param0: number): void;
					public onServiceUpdated(param0: android.net.nsd.NsdServiceInfo): void;
					public onServiceLost(): 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 getServiceName(): string;
				public setNetwork(network: android.net.Network): void;
				public removeAttribute(key: string): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public setServiceType(s: string): void;
				public getPort(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public getHost(): java.net.InetAddress;
				public setPort(p: number): void;
				public getAttributes(): java.util.Map<string,androidNative.Array<number>>;
				public setAttribute(key: string, value: string): void;
				public getServiceType(): string;
				public setSubtypes(subtypes: java.util.Set<string>): void;
				public toString(): string;
				public getSubtypes(): java.util.Set<string>;
				public constructor();
				public setServiceName(s: string): void;
				public describeContents(): number;
				/** @deprecated */
				public setHost(s: java.net.InetAddress): void;
				public getHostAddresses(): java.util.List<java.net.InetAddress>;
				public getNetwork(): android.net.Network;
				public setHostAddresses(addresses: java.util.List<java.net.InetAddress>): 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;
				/** @deprecated */
				public static getCodec(type: number, rtpmap: string, fmtp: string): android.net.rtp.AudioCodec;
				/** @deprecated */
				public static getCodecs(): androidNative.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: 3;
				public static MODE_MUTED: 1;
				public static MODE_NORMAL: 2;
				public static MODE_ON_HOLD: 0;
				/** @deprecated */
				public sendDtmf(event: number): void;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public getStreams(): androidNative.Array<android.net.rtp.AudioStream>;
				/** @deprecated */
				public getMode(): number;
				/** @deprecated */
				public constructor(context: android.content.Context);
				/** @deprecated */
				public finalize(): void;
				/** @deprecated */
				public clear(): void;
				/** @deprecated */
				public setMode(mode: number): void;
			}
		}
	}
}

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>;
				/** @deprecated */
				public isBusy(): boolean;
				/** @deprecated */
				public setCodec(codec: android.net.rtp.AudioCodec): void;
				/** @deprecated */
				public setDtmfType(type: number): void;
				/** @deprecated */
				public getGroup(): android.net.rtp.AudioGroup;
				/** @deprecated */
				public getCodec(): android.net.rtp.AudioCodec;
				/** @deprecated */
				public join(group: android.net.rtp.AudioGroup): void;
				/** @deprecated */
				public getDtmfType(): number;
				/** @deprecated */
				public constructor(address: 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: 0;
				public static MODE_RECEIVE_ONLY: 2;
				public static MODE_SEND_ONLY: 1;
				/** @deprecated */
				public getLocalAddress(): java.net.InetAddress;
				/** @deprecated */
				public isBusy(): boolean;
				/** @deprecated */
				public getMode(): number;
				/** @deprecated */
				public getLocalPort(): number;
				/** @deprecated */
				public getRemotePort(): number;
				/** @deprecated */
				public release(): void;
				/** @deprecated */
				public finalize(): void;
				/** @deprecated */
				public getRemoteAddress(): java.net.InetAddress;
				/** @deprecated */
				public associate(address: java.net.InetAddress, port: number): void;
				/** @deprecated */
				public setMode(mode: number): void;
			}
		}
	}
}

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>;
				/** @deprecated */
				public attachCall(session: android.net.sip.SipSession, sessionDescription: string): void;
				/** @deprecated */
				public sendDtmf(code: number, result: android.os.Message): void;
				/** @deprecated */
				public isOnHold(): boolean;
				/** @deprecated */
				public getLocalProfile(): android.net.sip.SipProfile;
				/** @deprecated */
				public setListener(listener: android.net.sip.SipAudioCall.Listener, callbackImmediately: boolean): void;
				/** @deprecated */
				public toggleMute(): void;
				/** @deprecated */
				public getPeerProfile(): android.net.sip.SipProfile;
				/** @deprecated */
				public endCall(): void;
				/** @deprecated */
				public constructor(context: android.content.Context, localProfile: android.net.sip.SipProfile);
				/** @deprecated */
				public makeCall(peerProfile: android.net.sip.SipProfile, sipSession: android.net.sip.SipSession, timeout: number): void;
				/** @deprecated */
				public setListener(listener: android.net.sip.SipAudioCall.Listener): void;
				/** @deprecated */
				public continueCall(timeout: number): void;
				/** @deprecated */
				public isMuted(): boolean;
				/** @deprecated */
				public setSpeakerMode(speakerMode: boolean): void;
				/** @deprecated */
				public sendDtmf(code: number): void;
				/** @deprecated */
				public startAudio(): void;
				/** @deprecated */
				public holdCall(timeout: number): void;
				/** @deprecated */
				public answerCall(timeout: number): void;
				/** @deprecated */
				public isInCall(): boolean;
				/** @deprecated */
				public close(): void;
				/** @deprecated */
				public getState(): number;
			}
			export module SipAudioCall {
				export class Listener extends java.lang.Object {
					public static class: java.lang.Class<android.net.sip.SipAudioCall.Listener>;
					/** @deprecated */
					public onReadyToCall(call: android.net.sip.SipAudioCall): void;
					/** @deprecated */
					public onCallEnded(call: android.net.sip.SipAudioCall): void;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public onRinging(call: android.net.sip.SipAudioCall, caller: android.net.sip.SipProfile): void;
					/** @deprecated */
					public onCallBusy(call: android.net.sip.SipAudioCall): void;
					/** @deprecated */
					public onChanged(call: android.net.sip.SipAudioCall): void;
					/** @deprecated */
					public onCallEstablished(call: android.net.sip.SipAudioCall): void;
					/** @deprecated */
					public onError(call: android.net.sip.SipAudioCall, errorCode: number, errorMessage: string): void;
					/** @deprecated */
					public onCallHeld(call: android.net.sip.SipAudioCall): void;
					/** @deprecated */
					public onCalling(call: android.net.sip.SipAudioCall): void;
					/** @deprecated */
					public onRingingBack(call: 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: -4;
				public static CROSS_DOMAIN_AUTHENTICATION: -11;
				public static DATA_CONNECTION_LOST: -10;
				public static INVALID_CREDENTIALS: -8;
				public static INVALID_REMOTE_URI: -6;
				public static IN_PROGRESS: -9;
				public static NO_ERROR: 0;
				public static PEER_NOT_REACHABLE: -7;
				public static SERVER_ERROR: -2;
				public static SERVER_UNREACHABLE: -12;
				public static SOCKET_ERROR: -1;
				public static TIME_OUT: -5;
				public static TRANSACTION_TERMINTED: -3;
				public toString(): string;
				/** @deprecated */
				public static toString(errorCode: number): 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(cause: java.lang.Throwable);
				/** @deprecated */
				public constructor();
				public constructor(message: string, cause: java.lang.Throwable);
				/** @deprecated */
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				/** @deprecated */
				public constructor(message: string);
			}
		}
	}
}

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: "android:sipCallID";
				public static EXTRA_OFFER_SD: "android:sipOfferSD";
				public static INCOMING_CALL_RESULT_CODE: 101;
				/** @deprecated */
				public open(localProfile: android.net.sip.SipProfile): void;
				/** @deprecated */
				public static getCallId(incomingCallIntent: android.content.Intent): string;
				/** @deprecated */
				public makeAudioCall(localProfileUri: string, peerProfileUri: string, listener: android.net.sip.SipAudioCall.Listener, timeout: number): android.net.sip.SipAudioCall;
				/** @deprecated */
				public takeAudioCall(incomingCallIntent: android.content.Intent, listener: android.net.sip.SipAudioCall.Listener): android.net.sip.SipAudioCall;
				/** @deprecated */
				public getSessionFor(incomingCallIntent: android.content.Intent): android.net.sip.SipSession;
				/** @deprecated */
				public setRegistrationListener(localProfileUri: string, listener: android.net.sip.SipRegistrationListener): void;
				/** @deprecated */
				public makeAudioCall(localProfile: android.net.sip.SipProfile, peerProfile: android.net.sip.SipProfile, listener: android.net.sip.SipAudioCall.Listener, timeout: number): android.net.sip.SipAudioCall;
				/** @deprecated */
				public static isIncomingCallIntent(intent: android.content.Intent): boolean;
				/** @deprecated */
				public isRegistered(localProfileUri: string): boolean;
				/** @deprecated */
				public static isSipWifiOnly(context: android.content.Context): boolean;
				/** @deprecated */
				public unregister(localProfile: android.net.sip.SipProfile, listener: android.net.sip.SipRegistrationListener): void;
				/** @deprecated */
				public register(localProfile: android.net.sip.SipProfile, expiryTime: number, listener: android.net.sip.SipRegistrationListener): void;
				/** @deprecated */
				public isOpened(localProfileUri: string): boolean;
				/** @deprecated */
				public createSipSession(localProfile: android.net.sip.SipProfile, listener: android.net.sip.SipSession.Listener): android.net.sip.SipSession;
				/** @deprecated */
				public static getOfferSessionDescription(incomingCallIntent: android.content.Intent): string;
				/** @deprecated */
				public static isApiSupported(context: android.content.Context): boolean;
				/** @deprecated */
				public static isVoipSupported(context: android.content.Context): boolean;
				/** @deprecated */
				public close(localProfileUri: string): void;
				/** @deprecated */
				public static newInstance(context: android.content.Context): android.net.sip.SipManager;
				/** @deprecated */
				public open(localProfile: android.net.sip.SipProfile, incomingCallPendingIntent: android.app.PendingIntent, listener: 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>;
				/** @deprecated */
				public getSendKeepAlive(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public getDisplayName(): string;
				/** @deprecated */
				public getAutoRegistration(): boolean;
				/** @deprecated */
				public describeContents(): number;
				/** @deprecated */
				public getProfileName(): string;
				/** @deprecated */
				public getPort(): number;
				/** @deprecated */
				public getUserName(): string;
				/** @deprecated */
				public getSipDomain(): string;
				/** @deprecated */
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				/** @deprecated */
				public setCallingUid(uid: number): void;
				/** @deprecated */
				public getProtocol(): string;
				public describeContents(): number;
				/** @deprecated */
				public getUriString(): string;
				/** @deprecated */
				public getAuthUserName(): string;
				/** @deprecated */
				public getProxyAddress(): string;
				/** @deprecated */
				public getPassword(): string;
			}
			export module SipProfile {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.sip.SipProfile.Builder>;
					/** @deprecated */
					public setProtocol(protocol: string): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public setPassword(password: string): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public setOutboundProxy(outboundProxy: string): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public constructor(username: string, serverDomain: string);
					/** @deprecated */
					public setSendKeepAlive(flag: boolean): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public setProfileName(name: string): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public constructor(profile: android.net.sip.SipProfile);
					/** @deprecated */
					public constructor(uriString: string);
					/** @deprecated */
					public setAutoRegistration(flag: boolean): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public setAuthUserName(name: string): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public setPort(port: number): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public setDisplayName(displayName: string): android.net.sip.SipProfile.Builder;
					/** @deprecated */
					public build(): android.net.sip.SipProfile;
				}
			}
		}
	}
}

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();
				/** @deprecated */
				public onRegistrationFailed(param0: string, param1: number, param2: string): void;
				/** @deprecated */
				public onRegistrationDone(param0: string, param1: number): void;
				/** @deprecated */
				public onRegistering(param0: string): 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>;
				/** @deprecated */
				public getCallId(): string;
				/** @deprecated */
				public getLocalProfile(): android.net.sip.SipProfile;
				/** @deprecated */
				public getPeerProfile(): android.net.sip.SipProfile;
				/** @deprecated */
				public endCall(): void;
				/** @deprecated */
				public register(duration: number): void;
				/** @deprecated */
				public makeCall(callee: android.net.sip.SipProfile, sessionDescription: string, timeout: number): void;
				/** @deprecated */
				public answerCall(sessionDescription: string, timeout: number): void;
				/** @deprecated */
				public getLocalIp(): string;
				/** @deprecated */
				public setListener(listener: android.net.sip.SipSession.Listener): void;
				/** @deprecated */
				public unregister(): void;
				/** @deprecated */
				public changeCall(sessionDescription: string, timeout: number): void;
				/** @deprecated */
				public isInCall(): boolean;
				/** @deprecated */
				public getState(): number;
			}
			export module SipSession {
				export class Listener extends java.lang.Object {
					public static class: java.lang.Class<android.net.sip.SipSession.Listener>;
					/** @deprecated */
					public onError(session: android.net.sip.SipSession, errorCode: number, errorMessage: string): void;
					/** @deprecated */
					public onCalling(session: android.net.sip.SipSession): void;
					/** @deprecated */
					public onCallBusy(session: android.net.sip.SipSession): void;
					/** @deprecated */
					public onRegistrationDone(session: android.net.sip.SipSession, duration: number): void;
					/** @deprecated */
					public onRinging(session: android.net.sip.SipSession, caller: android.net.sip.SipProfile, sessionDescription: string): void;
					/** @deprecated */
					public onCallEstablished(session: android.net.sip.SipSession, sessionDescription: string): void;
					/** @deprecated */
					public onRegistering(session: android.net.sip.SipSession): void;
					/** @deprecated */
					public onRegistrationTimeout(session: android.net.sip.SipSession): void;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public onCallChangeFailed(session: android.net.sip.SipSession, errorCode: number, errorMessage: string): void;
					/** @deprecated */
					public onCallEnded(session: android.net.sip.SipSession): void;
					/** @deprecated */
					public onRingingBack(session: android.net.sip.SipSession): void;
					/** @deprecated */
					public onRegistrationFailed(session: android.net.sip.SipSession, errorCode: number, errorMessage: string): void;
				}
				export class State extends java.lang.Object {
					public static class: java.lang.Class<android.net.sip.SipSession.State>;
					public static DEREGISTERING: 2;
					public static INCOMING_CALL: 3;
					public static INCOMING_CALL_ANSWERING: 4;
					public static IN_CALL: 8;
					public static NOT_DEFINED: 101;
					public static OUTGOING_CALL: 5;
					public static OUTGOING_CALL_CANCELING: 7;
					public static OUTGOING_CALL_RING_BACK: 6;
					public static PINGING: 9;
					public static READY_TO_CALL: 0;
					public static REGISTERING: 1;
					public toString(): string;
					/** @deprecated */
					public static toString(state: number): string;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module ssl {
			export class SSLEngines extends java.lang.Object {
				public static class: java.lang.Class<android.net.ssl.SSLEngines>;
				public static setUseSessionTickets(engine: javax.net.ssl.SSLEngine, useSessionTickets: boolean): void;
				public static isSupportedEngine(engine: javax.net.ssl.SSLEngine): boolean;
				public static exportKeyingMaterial(engine: javax.net.ssl.SSLEngine, label: string, context: androidNative.Array<number>, length: number): androidNative.Array<number>;
			}
		}
	}
}

declare module android {
	export module net {
		export module ssl {
			export class SSLSockets extends java.lang.Object {
				public static class: java.lang.Class<android.net.ssl.SSLSockets>;
				public static isSupportedSocket(socket: javax.net.ssl.SSLSocket): boolean;
				public static exportKeyingMaterial(socket: javax.net.ssl.SSLSocket, label: string, context: androidNative.Array<number>, length: number): androidNative.Array<number>;
				public static setUseSessionTickets(socket: javax.net.ssl.SSLSocket, useSessionTickets: boolean): void;
			}
		}
	}
}

declare module android {
	export module net {
		export module vcn {
			export class VcnCellUnderlyingNetworkTemplate extends android.net.vcn.VcnUnderlyingNetworkTemplate {
				public static class: java.lang.Class<android.net.vcn.VcnCellUnderlyingNetworkTemplate>;
				public getIms(): number;
				public getCbs(): number;
				public getInternet(): number;
				public getRcs(): number;
				public equals(other: any): boolean;
				public getMms(): number;
				public getOpportunistic(): number;
				public hashCode(): number;
				public getSimSpecificCarrierIds(): java.util.Set<java.lang.Integer>;
				public getDun(): number;
				public getOperatorPlmnIds(): java.util.Set<string>;
				public getRoaming(): number;
			}
			export module VcnCellUnderlyingNetworkTemplate {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder>;
					public setOperatorPlmnIds(operatorPlmnIds: java.util.Set<string>): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setIms(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setRoaming(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setMinDownstreamBandwidthKbps(minEntryDownstreamBandwidthKbps: number, minExitDownstreamBandwidthKbps: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public build(): android.net.vcn.VcnCellUnderlyingNetworkTemplate;
					public setOpportunistic(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setInternet(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setMinUpstreamBandwidthKbps(minEntryUpstreamBandwidthKbps: number, minExitUpstreamBandwidthKbps: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setRcs(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setMetered(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setMms(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setSimSpecificCarrierIds(simSpecificCarrierIds: java.util.Set<java.lang.Integer>): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public constructor();
					public setCbs(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
					public setDun(matchCriteria: number): android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module vcn {
			export class VcnConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.vcn.VcnConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.vcn.VcnConfig>;
				public equals(other: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getRestrictedUnderlyingNetworkTransports(): java.util.Set<java.lang.Integer>;
				public getGatewayConnectionConfigs(): java.util.Set<android.net.vcn.VcnGatewayConnectionConfig>;
			}
			export module VcnConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.vcn.VcnConfig.Builder>;
					public constructor(context: android.content.Context);
					public setRestrictedUnderlyingNetworkTransports(transports: java.util.Set<java.lang.Integer>): android.net.vcn.VcnConfig.Builder;
					public build(): android.net.vcn.VcnConfig;
					public addGatewayConnectionConfig(gatewayConnectionConfig: android.net.vcn.VcnGatewayConnectionConfig): android.net.vcn.VcnConfig.Builder;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module vcn {
			export class VcnGatewayConnectionConfig extends java.lang.Object {
				public static class: java.lang.Class<android.net.vcn.VcnGatewayConnectionConfig>;
				public static VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY: 0;
				public isSafeModeEnabled(): boolean;
				public getMinUdpPort4500NatTimeoutSeconds(): number;
				public getGatewayConnectionName(): string;
				public equals(other: any): boolean;
				public getVcnUnderlyingNetworkPriorities(): java.util.List<android.net.vcn.VcnUnderlyingNetworkTemplate>;
				public hashCode(): number;
				public getMaxMtu(): number;
				public getExposedCapabilities(): androidNative.Array<number>;
				public getRetryIntervalsMillis(): androidNative.Array<number>;
				public hasGatewayOption(option: number): boolean;
			}
			export module VcnGatewayConnectionConfig {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.vcn.VcnGatewayConnectionConfig.Builder>;
					public removeExposedCapability(exposedCapability: number): android.net.vcn.VcnGatewayConnectionConfig.Builder;
					public addExposedCapability(exposedCapability: number): android.net.vcn.VcnGatewayConnectionConfig.Builder;
					public setVcnUnderlyingNetworkPriorities(underlyingNetworkTemplates: java.util.List<android.net.vcn.VcnUnderlyingNetworkTemplate>): android.net.vcn.VcnGatewayConnectionConfig.Builder;
					public setMaxMtu(maxMtu: number): android.net.vcn.VcnGatewayConnectionConfig.Builder;
					public setSafeModeEnabled(enabled: boolean): android.net.vcn.VcnGatewayConnectionConfig.Builder;
					public constructor(gatewayConnectionName: string, tunnelConnectionParams: android.net.ipsec.ike.IkeTunnelConnectionParams);
					public build(): android.net.vcn.VcnGatewayConnectionConfig;
					public setMinUdpPort4500NatTimeoutSeconds(minUdpPort4500NatTimeoutSeconds: number): android.net.vcn.VcnGatewayConnectionConfig.Builder;
					public setRetryIntervalsMillis(retryIntervalsMs: androidNative.Array<number>): android.net.vcn.VcnGatewayConnectionConfig.Builder;
					public removeGatewayOption(option: number): android.net.vcn.VcnGatewayConnectionConfig.Builder;
					public addGatewayOption(option: number): android.net.vcn.VcnGatewayConnectionConfig.Builder;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module vcn {
			export class VcnManager extends java.lang.Object {
				public static class: java.lang.Class<android.net.vcn.VcnManager>;
				public static VCN_ERROR_CODE_CONFIG_ERROR: 1;
				public static VCN_ERROR_CODE_INTERNAL_ERROR: 0;
				public static VCN_ERROR_CODE_NETWORK_ERROR: 2;
				public static VCN_STATUS_CODE_ACTIVE: 2;
				public static VCN_STATUS_CODE_INACTIVE: 1;
				public static VCN_STATUS_CODE_NOT_CONFIGURED: 0;
				public static VCN_STATUS_CODE_SAFE_MODE: 3;
				public clearVcnConfig(subscriptionGroup: android.os.ParcelUuid): void;
				public registerVcnStatusCallback(subscriptionGroup: android.os.ParcelUuid, executor: java.util.concurrent.Executor, callback: android.net.vcn.VcnManager.VcnStatusCallback): void;
				public unregisterVcnStatusCallback(callback: android.net.vcn.VcnManager.VcnStatusCallback): void;
				public setVcnConfig(subscriptionGroup: android.os.ParcelUuid, config: android.net.vcn.VcnConfig): void;
				public getConfiguredSubscriptionGroups(): java.util.List<android.os.ParcelUuid>;
			}
			export module VcnManager {
				export abstract class VcnStatusCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.vcn.VcnManager.VcnStatusCallback>;
					public onStatusChanged(param0: number): void;
					public constructor();
					public onGatewayConnectionError(param0: string, param1: number, param2: java.lang.Throwable): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module vcn {
			export abstract class VcnUnderlyingNetworkTemplate extends java.lang.Object {
				public static class: java.lang.Class<android.net.vcn.VcnUnderlyingNetworkTemplate>;
				public static MATCH_ANY: 0;
				public static MATCH_FORBIDDEN: 2;
				public static MATCH_REQUIRED: 1;
				public equals(other: any): boolean;
				public getMetered(): number;
				public hashCode(): number;
				public getMinExitUpstreamBandwidthKbps(): number;
				public getMinEntryDownstreamBandwidthKbps(): number;
				public getMinExitDownstreamBandwidthKbps(): number;
				public getMinEntryUpstreamBandwidthKbps(): number;
			}
		}
	}
}

declare module android {
	export module net {
		export module vcn {
			export class VcnWifiUnderlyingNetworkTemplate extends android.net.vcn.VcnUnderlyingNetworkTemplate {
				public static class: java.lang.Class<android.net.vcn.VcnWifiUnderlyingNetworkTemplate>;
				public getSsids(): java.util.Set<string>;
				public equals(other: any): boolean;
				public hashCode(): number;
			}
			export module VcnWifiUnderlyingNetworkTemplate {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.vcn.VcnWifiUnderlyingNetworkTemplate.Builder>;
					public setMinDownstreamBandwidthKbps(minEntryDownstreamBandwidthKbps: number, minExitDownstreamBandwidthKbps: number): android.net.vcn.VcnWifiUnderlyingNetworkTemplate.Builder;
					public setMinUpstreamBandwidthKbps(minEntryUpstreamBandwidthKbps: number, minExitUpstreamBandwidthKbps: number): android.net.vcn.VcnWifiUnderlyingNetworkTemplate.Builder;
					public constructor();
					public setMetered(matchCriteria: number): android.net.vcn.VcnWifiUnderlyingNetworkTemplate.Builder;
					public setSsids(ssids: java.util.Set<string>): android.net.vcn.VcnWifiUnderlyingNetworkTemplate.Builder;
					public build(): android.net.vcn.VcnWifiUnderlyingNetworkTemplate;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export abstract class EasyConnectStatusCallback extends java.lang.Object {
				public static class: java.lang.Class<android.net.wifi.EasyConnectStatusCallback>;
				public static EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION: -2;
				public static EASY_CONNECT_EVENT_FAILURE_BUSY: -5;
				public static EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK: -10;
				public static EASY_CONNECT_EVENT_FAILURE_CONFIGURATION: -4;
				public static EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION: -11;
				public static EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL: -14;
				public static EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION: -12;
				public static EASY_CONNECT_EVENT_FAILURE_GENERIC: -7;
				public static EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK: -9;
				public static EASY_CONNECT_EVENT_FAILURE_INVALID_URI: -1;
				public static EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE: -3;
				public static EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED: -8;
				public static EASY_CONNECT_EVENT_FAILURE_TIMEOUT: -6;
				public static EASY_CONNECT_EVENT_FAILURE_URI_GENERATION: -13;
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class MloLink extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.MloLink>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.MloLink>;
				public static INVALID_MLO_LINK_ID: -1;
				public static MLO_LINK_STATE_ACTIVE: 3;
				public static MLO_LINK_STATE_IDLE: 2;
				public static MLO_LINK_STATE_INVALID: 0;
				public static MLO_LINK_STATE_UNASSOCIATED: 1;
				public getApMacAddress(): android.net.MacAddress;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTxLinkSpeedMbps(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getStaMacAddress(): android.net.MacAddress;
				public getRssi(): number;
				public getLinkId(): number;
				public getChannel(): number;
				public toString(): string;
				public constructor();
				public getBand(): number;
				public getRxLinkSpeedMbps(): number;
				public hashCode(): number;
				public getState(): number;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
		}
	}
}

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: 3;
				public static CHANNEL_WIDTH_20MHZ: 0;
				public static CHANNEL_WIDTH_320MHZ: 5;
				public static CHANNEL_WIDTH_40MHZ: 1;
				public static CHANNEL_WIDTH_80MHZ: 2;
				public static CHANNEL_WIDTH_80MHZ_PLUS_MHZ: 4;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.ScanResult>;
				public static PREAMBLE_EHT: 4;
				public static PREAMBLE_HE: 3;
				public static PREAMBLE_HT: 1;
				public static PREAMBLE_LEGACY: 0;
				public static PREAMBLE_VHT: 2;
				public SSID: string;
				public static UNSPECIFIED: -1;
				public static WIFI_BAND_24_GHZ: 1;
				public static WIFI_BAND_5_GHZ: 2;
				public static WIFI_BAND_60_GHZ: 16;
				public static WIFI_BAND_6_GHZ: 8;
				public static WIFI_STANDARD_11AC: 5;
				public static WIFI_STANDARD_11AD: 7;
				public static WIFI_STANDARD_11AX: 6;
				public static WIFI_STANDARD_11BE: 8;
				public static WIFI_STANDARD_11N: 4;
				public static WIFI_STANDARD_LEGACY: 1;
				public static WIFI_STANDARD_UNKNOWN: 0;
				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 getApMloLinkId(): number;
				public is80211azNtbResponder(): boolean;
				public isPasspointNetwork(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getWifiStandard(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getAffiliatedMloLinks(): java.util.List<android.net.wifi.MloLink>;
				public toString(): string;
				public static convertFrequencyMhzToChannelIfSupported(freqMhz: number): number;
				public getApMldMacAddress(): android.net.MacAddress;
				public constructor();
				public is80211mcResponder(): boolean;
				public getWifiSsid(): android.net.wifi.WifiSsid;
				public static convertChannelToFrequencyMhzIfSupported(channel: number, band: number): number;
				public getInformationElements(): java.util.List<android.net.wifi.ScanResult.InformationElement>;
				public constructor(source: android.net.wifi.ScanResult);
				public getSecurityTypes(): androidNative.Array<number>;
				public isTwtResponder(): boolean;
				public describeContents(): number;
			}
			export module ScanResult {
				export class InformationElement extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.ScanResult.InformationElement>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.ScanResult.InformationElement>;
					public getBytes(): java.nio.ByteBuffer;
					public getId(): number;
					public describeContents(): number;
					public getIdExt(): number;
					public constructor(rhs: android.net.wifi.ScanResult.InformationElement);
					public hashCode(): number;
					public equals(that: any): boolean;
					public constructor(id: number, idExt: number, bytes: androidNative.Array<number>);
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class SoftApConfiguration extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.SoftApConfiguration>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration>;
				public static SECURITY_TYPE_OPEN: 0;
				public static SECURITY_TYPE_WPA2_PSK: 1;
				public static SECURITY_TYPE_WPA3_OWE: 5;
				public static SECURITY_TYPE_WPA3_OWE_TRANSITION: 4;
				public static SECURITY_TYPE_WPA3_SAE: 3;
				public static SECURITY_TYPE_WPA3_SAE_TRANSITION: 2;
				/** @deprecated */
				public getSsid(): string;
				public getBssid(): android.net.MacAddress;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getWifiSsid(): android.net.wifi.WifiSsid;
				public hashCode(): number;
				public getPassphrase(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSecurityType(): number;
				public toString(): string;
				public equals(otherObj: any): boolean;
				public isHiddenSsid(): 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(dest: android.os.Parcel, flags: number): void;
				public static isValidState(state: android.net.wifi.SupplicantState): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public describeContents(): number;
				public static values(): androidNative.Array<android.net.wifi.SupplicantState>;
				public static valueOf(name: string): android.net.wifi.SupplicantState;
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiAvailableChannel extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WifiAvailableChannel>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel>;
				public static OP_MODE_SAP: 2;
				public static OP_MODE_STA: 1;
				public static OP_MODE_TDLS: 32;
				public static OP_MODE_WIFI_AWARE: 16;
				public static OP_MODE_WIFI_DIRECT_CLI: 4;
				public static OP_MODE_WIFI_DIRECT_GO: 8;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getOperationalModes(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getFrequencyMhz(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public constructor(freq: number, opModes: number);
			}
		}
	}
}

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 static RANDOMIZATION_AUTO: 3;
				public static RANDOMIZATION_NONE: 0;
				public static RANDOMIZATION_NON_PERSISTENT: 2;
				public static RANDOMIZATION_PERSISTENT: 1;
				public static SECURITY_TYPE_DPP: 13;
				public static SECURITY_TYPE_EAP: 3;
				public static SECURITY_TYPE_EAP_SUITE_B: 5;
				public static SECURITY_TYPE_EAP_WPA3_ENTERPRISE: 9;
				public static SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT: 5;
				public static SECURITY_TYPE_OPEN: 0;
				public static SECURITY_TYPE_OWE: 6;
				public static SECURITY_TYPE_PSK: 2;
				public static SECURITY_TYPE_SAE: 4;
				public static SECURITY_TYPE_WAPI_CERT: 8;
				public static SECURITY_TYPE_WAPI_PSK: 7;
				public static SECURITY_TYPE_WEP: 1;
				public SSID: string;
				public allowedAuthAlgorithms: java.util.BitSet;
				public allowedGroupCiphers: java.util.BitSet;
				public allowedGroupManagementCiphers: java.util.BitSet;
				public allowedKeyManagement: java.util.BitSet;
				public allowedPairwiseCiphers: java.util.BitSet;
				public allowedProtocols: java.util.BitSet;
				public allowedSuiteBCiphers: 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: androidNative.Array<number>;
				public status: number;
				public wepKeys: androidNative.Array<string>;
				public wepTxKeyIndex: number;
				/** @deprecated */
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				/** @deprecated */
				public getRandomizedMacAddress(): android.net.MacAddress;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public getMacRandomizationSetting(): number;
				/** @deprecated */
				public constructor(source: android.net.wifi.WifiConfiguration);
				/** @deprecated */
				public describeContents(): number;
				/** @deprecated */
				public setMacRandomizationSetting(macRandomizationSetting: number): void;
				/** @deprecated */
				public setHttpProxy(httpProxy: android.net.ProxyInfo): void;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public isDppConfigurator(): boolean;
				public describeContents(): number;
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public setIpConfiguration(ipConfiguration: android.net.IpConfiguration): void;
				/** @deprecated */
				public getHttpProxy(): android.net.ProxyInfo;
				/** @deprecated */
				public setSecurityParams(securityType: number): void;
				/** @deprecated */
				public isPasspoint(): boolean;
				/** @deprecated */
				public getKey(): string;
			}
			export module WifiConfiguration {
				export class AuthAlgorithm extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.AuthAlgorithm>;
					public static LEAP: 2;
					public static OPEN: 0;
					public static SAE: 3;
					public static SHARED: 1;
					public static strings: androidNative.Array<string>;
					public static varName: "auth_alg";
				}
				export class GroupCipher extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.GroupCipher>;
					public static CCMP: 3;
					public static GCMP_128: 7;
					public static GCMP_256: 5;
					public static SMS4: 6;
					public static TKIP: 2;
					public static WEP104: 1;
					public static WEP40: 0;
					public static strings: androidNative.Array<string>;
					public static varName: "group";
				}
				export class GroupMgmtCipher extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.GroupMgmtCipher>;
					public static BIP_CMAC_256: 0;
					public static BIP_GMAC_128: 1;
					public static BIP_GMAC_256: 2;
				}
				export class KeyMgmt extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.KeyMgmt>;
					public static DPP: 17;
					public static FILS_SHA256: 15;
					public static FILS_SHA384: 16;
					public static FT_EAP: 7;
					public static FT_PSK: 6;
					public static IEEE8021X: 3;
					public static NONE: 0;
					public static OSEN: 5;
					public static OWE: 9;
					public static SAE: 8;
					public static SUITE_B_192: 10;
					public static WAPI_CERT: 14;
					public static WAPI_PSK: 13;
					public static WPA2_PSK: 4;
					public static WPA_EAP: 2;
					public static WPA_EAP_SHA256: 12;
					public static WPA_PSK: 1;
					public static WPA_PSK_SHA256: 11;
					public static strings: androidNative.Array<string>;
					public static varName: "key_mgmt";
				}
				export class PairwiseCipher extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.PairwiseCipher>;
					public static CCMP: 2;
					public static GCMP_128: 5;
					public static GCMP_256: 3;
					public static NONE: 0;
					public static SMS4: 4;
					public static TKIP: 1;
					public static strings: androidNative.Array<string>;
					public static varName: "pairwise";
				}
				export class Protocol extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.Protocol>;
					public static RSN: 1;
					public static WAPI: 3;
					public static WPA: 0;
					public static strings: androidNative.Array<string>;
					public static varName: "proto";
				}
				export class Status extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.Status>;
					public static CURRENT: 0;
					public static DISABLED: 1;
					public static ENABLED: 2;
					public static strings: androidNative.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 static EXTRA_WAPI_AS_CERTIFICATE_DATA: "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA";
				public static EXTRA_WAPI_AS_CERTIFICATE_NAME: "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME";
				public static EXTRA_WAPI_USER_CERTIFICATE_DATA: "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA";
				public static EXTRA_WAPI_USER_CERTIFICATE_NAME: "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME";
				public static TLS_V1_0: 0;
				public static TLS_V1_1: 1;
				public static TLS_V1_2: 2;
				public static TLS_V1_3: 3;
				public static WAPI_AS_CERTIFICATE: "WAPIAS_";
				public static WAPI_USER_CERTIFICATE: "WAPIUSR_";
				public setEapMethod(eapMethod: number): void;
				/** @deprecated */
				public getSubjectMatch(): string;
				public enableTrustOnFirstUse(enable: boolean): void;
				public getClientKeyPairAlias(): string;
				public setRealm(realm: string): void;
				public setPassword(password: string): void;
				public setMinimumTlsVersion(tlsVersion: number): void;
				public constructor();
				public isEapMethodServerCertUsed(): boolean;
				public setPhase2Method(phase2Method: number): void;
				public getCaCertificates(): androidNative.Array<java.security.cert.X509Certificate>;
				/** @deprecated */
				public setSubjectMatch(subjectMatch: string): void;
				public constructor(source: android.net.wifi.WifiEnterpriseConfig);
				public setClientKeyEntry(privateKey: java.security.PrivateKey, clientCertificate: java.security.cert.X509Certificate): void;
				public setClientKeyEntryWithCertificateChain(privateKey: java.security.PrivateKey, clientCertificateChain: androidNative.Array<java.security.cert.X509Certificate>): void;
				public getRealm(): string;
				public getAnonymousIdentity(): string;
				public setCaCertificate(cert: java.security.cert.X509Certificate): void;
				public getClientCertificate(): java.security.cert.X509Certificate;
				public getClientPrivateKey(): java.security.PrivateKey;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hasCaCertificate(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setAltSubjectMatch(altSubjectMatch: string): void;
				public getClientCertificateChain(): androidNative.Array<java.security.cert.X509Certificate>;
				public isTrustOnFirstUseEnabled(): boolean;
				public setDomainSuffixMatch(domain: string): void;
				public getDomainSuffixMatch(): string;
				public toString(): string;
				public getDecoratedIdentityPrefix(): string;
				public setClientKeyPairAlias(alias: string): void;
				public setIdentity(identity: string): void;
				public setPlmn(plmn: string): void;
				public getIdentity(): string;
				public getPlmn(): string;
				public describeContents(): number;
				public isServerCertValidationEnabled(): boolean;
				public getEapMethod(): number;
				public getPassword(): string;
				public getCaCertificate(): java.security.cert.X509Certificate;
				public setAnonymousIdentity(anonymousIdentity: string): void;
				public isAuthenticationSimBased(): boolean;
				public getMinimumTlsVersion(): number;
				public setDecoratedIdentityPrefix(decoratedIdentityPrefix: string): void;
				public getPhase2Method(): number;
				public setCaCertificates(certs: androidNative.Array<java.security.cert.X509Certificate>): void;
				public getAltSubjectMatch(): string;
			}
			export module WifiEnterpriseConfig {
				export class Eap extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiEnterpriseConfig.Eap>;
					public static AKA: 5;
					public static AKA_PRIME: 6;
					public static NONE: -1;
					public static PEAP: 0;
					public static PWD: 3;
					public static SIM: 4;
					public static TLS: 1;
					public static TTLS: 2;
					public static UNAUTH_TLS: 7;
					public static WAPI_CERT: 8;
				}
				export class Phase2 extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiEnterpriseConfig.Phase2>;
					public static AKA: 6;
					public static AKA_PRIME: 7;
					public static GTC: 4;
					public static MSCHAP: 2;
					public static MSCHAPV2: 3;
					public static NONE: 0;
					public static PAP: 1;
					public static SIM: 5;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiInfo extends java.lang.Object implements android.net.TransportInfo, android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WifiInfo>;
				public static FREQUENCY_UNITS: "MHz";
				public static LINK_SPEED_UNITS: "Mbps";
				public static LINK_SPEED_UNKNOWN: -1;
				public static SECURITY_TYPE_DPP: 13;
				public static SECURITY_TYPE_EAP: 3;
				public static SECURITY_TYPE_EAP_WPA3_ENTERPRISE: 9;
				public static SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT: 5;
				public static SECURITY_TYPE_OPEN: 0;
				public static SECURITY_TYPE_OSEN: 10;
				public static SECURITY_TYPE_OWE: 6;
				public static SECURITY_TYPE_PASSPOINT_R1_R2: 11;
				public static SECURITY_TYPE_PASSPOINT_R3: 12;
				public static SECURITY_TYPE_PSK: 2;
				public static SECURITY_TYPE_SAE: 4;
				public static SECURITY_TYPE_UNKNOWN: -1;
				public static SECURITY_TYPE_WAPI_CERT: 8;
				public static SECURITY_TYPE_WAPI_PSK: 7;
				public static SECURITY_TYPE_WEP: 1;
				public getApMloLinkId(): number;
				public getSSID(): string;
				public getMaxSupportedRxLinkSpeedMbps(): number;
				public getMacAddress(): string;
				public getSupplicantState(): android.net.wifi.SupplicantState;
				public getBSSID(): string;
				public getWifiStandard(): number;
				public getTxLinkSpeedMbps(): number;
				/** @deprecated */
				public getIpAddress(): number;
				public getPasspointProviderFriendlyName(): string;
				public getApMldMacAddress(): android.net.MacAddress;
				public getFrequency(): number;
				public getNetworkId(): number;
				public equals(that: any): boolean;
				public getPasspointUniqueId(): string;
				public makeCopy(redactions: number): android.net.wifi.WifiInfo;
				public getRxLinkSpeedMbps(): number;
				public getMaxSupportedTxLinkSpeedMbps(): number;
				public getInformationElements(): java.util.List<android.net.wifi.ScanResult.InformationElement>;
				public getPasspointFqdn(): string;
				public hashCode(): number;
				public isRestricted(): boolean;
				public static getDetailedStateOf(suppState: android.net.wifi.SupplicantState): android.net.NetworkInfo.DetailedState;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRssi(): number;
				public getCurrentSecurityType(): number;
				public getAffiliatedMloLinks(): java.util.List<android.net.wifi.MloLink>;
				public toString(): string;
				public getSubscriptionId(): number;
				public getAssociatedMloLinks(): java.util.List<android.net.wifi.MloLink>;
				public getLinkSpeed(): number;
				public getHiddenSSID(): boolean;
				public describeContents(): number;
				public getApplicableRedactions(): number;
			}
			export module WifiInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiInfo.Builder>;
					public setRssi(rssi: number): android.net.wifi.WifiInfo.Builder;
					public setNetworkId(networkId: number): android.net.wifi.WifiInfo.Builder;
					public build(): android.net.wifi.WifiInfo;
					public constructor();
					public setSsid(ssid: androidNative.Array<number>): android.net.wifi.WifiInfo.Builder;
					public setCurrentSecurityType(securityType: number): android.net.wifi.WifiInfo.Builder;
					public setBssid(bssid: string): android.net.wifi.WifiInfo.Builder;
					public setSubscriptionId(subId: number): android.net.wifi.WifiInfo.Builder;
				}
			}
		}
	}
}

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: "android.net.wifi.PICK_WIFI_NETWORK";
				public static ACTION_REMOVE_SUGGESTION_DISCONNECT: 2;
				public static ACTION_REMOVE_SUGGESTION_LINGER: 1;
				public static ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE: "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
				public static ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION: "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION";
				public static ACTION_WIFI_SCAN_AVAILABILITY_CHANGED: "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED";
				public static CHANNEL_DATA_KEY_FREQUENCY_MHZ: "CHANNEL_DATA_KEY_FREQUENCY_MHZ";
				public static CHANNEL_DATA_KEY_NUM_AP: "CHANNEL_DATA_KEY_NUM_AP";
				public static ERROR_AUTHENTICATING: 1;
				public static EXTRA_BSSID: "bssid";
				public static EXTRA_NETWORK_INFO: "networkInfo";
				public static EXTRA_NETWORK_SUGGESTION: "android.net.wifi.extra.NETWORK_SUGGESTION";
				public static EXTRA_NEW_RSSI: "newRssi";
				public static EXTRA_NEW_STATE: "newState";
				public static EXTRA_PREVIOUS_WIFI_STATE: "previous_wifi_state";
				public static EXTRA_RESULTS_UPDATED: "resultsUpdated";
				public static EXTRA_SCAN_AVAILABLE: "android.net.wifi.extra.SCAN_AVAILABLE";
				public static EXTRA_SUPPLICANT_CONNECTED: "connected";
				public static EXTRA_SUPPLICANT_ERROR: "supplicantError";
				public static EXTRA_WIFI_INFO: "wifiInfo";
				public static EXTRA_WIFI_STATE: "wifi_state";
				public static FLAG_SEND_DHCP_HOSTNAME_RESTRICTION_OPEN: 1;
				public static FLAG_SEND_DHCP_HOSTNAME_RESTRICTION_SECURE: 2;
				public static NETWORK_IDS_CHANGED_ACTION: "android.net.wifi.NETWORK_IDS_CHANGED";
				public static NETWORK_STATE_CHANGED_ACTION: "android.net.wifi.STATE_CHANGE";
				public static ROAMING_MODE_AGGRESSIVE: 2;
				public static ROAMING_MODE_NONE: 0;
				public static ROAMING_MODE_NORMAL: 1;
				public static RSSI_CHANGED_ACTION: "android.net.wifi.RSSI_CHANGED";
				public static SCAN_RESULTS_AVAILABLE_ACTION: "android.net.wifi.SCAN_RESULTS";
				public static STATUS_LOCAL_ONLY_CONNECTION_FAILURE_ASSOCIATION: 1;
				public static STATUS_LOCAL_ONLY_CONNECTION_FAILURE_AUTHENTICATION: 2;
				public static STATUS_LOCAL_ONLY_CONNECTION_FAILURE_IP_PROVISIONING: 3;
				public static STATUS_LOCAL_ONLY_CONNECTION_FAILURE_NOT_FOUND: 4;
				public static STATUS_LOCAL_ONLY_CONNECTION_FAILURE_NO_RESPONSE: 5;
				public static STATUS_LOCAL_ONLY_CONNECTION_FAILURE_UNKNOWN: 0;
				public static STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE: 3;
				public static STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP: 4;
				public static STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID: 7;
				public static STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED: 6;
				public static STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED: 2;
				public static STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL: 1;
				public static STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID: 5;
				public static STATUS_NETWORK_SUGGESTIONS_ERROR_RESTRICTED_BY_ADMIN: 8;
				public static STATUS_NETWORK_SUGGESTIONS_SUCCESS: 0;
				public static STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE: 4;
				public static STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER: 2;
				public static STATUS_SUGGESTION_APPROVAL_PENDING: 1;
				public static STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER: 3;
				public static STATUS_SUGGESTION_APPROVAL_UNKNOWN: 0;
				public static STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION: 1;
				public static STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION: 2;
				public static STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING: 3;
				public static STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN: 0;
				public static SUPPLICANT_CONNECTION_CHANGE_ACTION: "android.net.wifi.supplicant.CONNECTION_CHANGE";
				public static SUPPLICANT_STATE_CHANGED_ACTION: "android.net.wifi.supplicant.STATE_CHANGE";
				public static UNKNOWN_SSID: "<unknown ssid>";
				public static WIFI_INTERFACE_TYPE_AP: 1;
				public static WIFI_INTERFACE_TYPE_AWARE: 2;
				public static WIFI_INTERFACE_TYPE_DIRECT: 3;
				public static WIFI_INTERFACE_TYPE_STA: 0;
				public static WIFI_MODE_FULL: 1;
				public static WIFI_MODE_FULL_HIGH_PERF: 3;
				public static WIFI_MODE_FULL_LOW_LATENCY: 4;
				public static WIFI_MODE_SCAN_ONLY: 2;
				public static WIFI_MULTI_INTERNET_MODE_DBS_AP: 1;
				public static WIFI_MULTI_INTERNET_MODE_DISABLED: 0;
				public static WIFI_MULTI_INTERNET_MODE_MULTI_AP: 2;
				public static WIFI_STATE_CHANGED_ACTION: "android.net.wifi.WIFI_STATE_CHANGED";
				public static WIFI_STATE_DISABLED: 1;
				public static WIFI_STATE_DISABLING: 0;
				public static WIFI_STATE_ENABLED: 3;
				public static WIFI_STATE_ENABLING: 2;
				public static WIFI_STATE_UNKNOWN: 4;
				public static WPS_AUTH_FAILURE: 6;
				public static WPS_OVERLAP_ERROR: 3;
				public static WPS_TIMED_OUT: 7;
				public static WPS_TKIP_ONLY_PROHIBITED: 5;
				public static WPS_WEP_PROHIBITED: 4;
				/** @deprecated */
				public reconnect(): boolean;
				public getMaxNumberOfNetworkSuggestionsPerApp(): number;
				public setTdlsEnabled(remoteIPAddress: java.net.InetAddress, enable: boolean, executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				public getUsableChannels(band: number, mode: number): java.util.List<android.net.wifi.WifiAvailableChannel>;
				/** @deprecated */
				public setWifiEnabled(enabled: boolean): boolean;
				public isTidToLinkMappingNegotiationSupported(): boolean;
				public removeNetworkSuggestions(networkSuggestions: java.util.List<android.net.wifi.WifiNetworkSuggestion>): number;
				public isD2dSupportedWhenInfraStaDisabled(): boolean;
				public isTdlsOperationCurrentlyAvailable(executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				public isAggressiveRoamingModeSupported(): boolean;
				public removeSuggestionConnectionStatusListener(listener: android.net.wifi.WifiManager.SuggestionConnectionStatusListener): void;
				public getNetworkSuggestions(): java.util.List<android.net.wifi.WifiNetworkSuggestion>;
				public registerScanResultsCallback(executor: java.util.concurrent.Executor, callback: android.net.wifi.WifiManager.ScanResultsCallback): void;
				public isStaConcurrencyForMultiInternetSupported(): boolean;
				public addNetworkSuggestions(networkSuggestions: java.util.List<android.net.wifi.WifiNetworkSuggestion>): number;
				public isWpa3SaeH2eSupported(): boolean;
				public removeNetworkSuggestions(networkSuggestions: java.util.List<android.net.wifi.WifiNetworkSuggestion>, action: number): number;
				public isWpaPersonalSupported(): boolean;
				/** @deprecated */
				public getDhcpInfo(): android.net.DhcpInfo;
				public isP2pSupported(): boolean;
				/** @deprecated */
				public saveConfiguration(): boolean;
				public isTdlsSupported(): boolean;
				public getPerSsidRoamingModes(executor: java.util.concurrent.Executor, resultsCallback: any /* any<java.util.Map<string,java.lang.Integer>>*/): void;
				/** @deprecated */
				public updateNetwork(config: android.net.wifi.WifiConfiguration): number;
				public isTlsMinimumVersionSupported(): boolean;
				public createWifiLock(lockType: number, tag: string): android.net.wifi.WifiManager.WifiLock;
				public setPerSsidRoamingMode(ssid: android.net.wifi.WifiSsid, roamingMode: number): void;
				public removeSuggestionUserApprovalStatusListener(listener: android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener): void;
				public registerSubsystemRestartTrackingCallback(executor: java.util.concurrent.Executor, callback: android.net.wifi.WifiManager.SubsystemRestartTrackingCallback): void;
				/** @deprecated */
				public getConnectionInfo(): android.net.wifi.WifiInfo;
				public isPreferredNetworkOffloadSupported(): boolean;
				public isStaConcurrencyForLocalOnlyConnectionsSupported(): boolean;
				/** @deprecated */
				public isScanAlwaysAvailable(): boolean;
				public is6GHzBandSupported(): boolean;
				public setTdlsEnabledWithMacAddress(remoteMacAddress: string, enable: boolean, executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				public getMaxNumberOfChannelsPerNetworkSpecifierRequest(): number;
				/** @deprecated */
				public enableNetwork(netId: number, attemptConnect: boolean): boolean;
				/** @deprecated */
				public reassociate(): boolean;
				public isEnhancedOpenSupported(): boolean;
				/** @deprecated */
				public disconnect(): boolean;
				public unregisterSubsystemRestartTrackingCallback(callback: android.net.wifi.WifiManager.SubsystemRestartTrackingCallback): void;
				public removeLocalOnlyConnectionFailureListener(listener: android.net.wifi.WifiManager.LocalOnlyConnectionFailureListener): void;
				public addNetworkPrivileged(config: android.net.wifi.WifiConfiguration): android.net.wifi.WifiManager.AddNetworkResult;
				/** @deprecated */
				public startScan(): boolean;
				public setSendDhcpHostnameRestriction(restriction: number): void;
				public getStaConcurrencyForMultiInternetMode(): number;
				public getMaxSignalLevel(): number;
				public setTdlsEnabledWithMacAddress(remoteMacAddress: string, enable: boolean): void;
				/** @deprecated */
				public disableNetwork(netId: number): boolean;
				public isWpa3SaePublicKeySupported(): boolean;
				/** @deprecated */
				public static calculateSignalLevel(rssi: number, numLevels: number): number;
				public isDecoratedIdentitySupported(): boolean;
				public queryAutojoinGlobal(executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				public is5GHzBandSupported(): boolean;
				public getNumberOfEnabledTdlsSessions(executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				public isScanThrottleEnabled(): boolean;
				public isStaApConcurrencySupported(): boolean;
				/** @deprecated */
				public isDeviceToApRttSupported(): boolean;
				public getChannelData(executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				/** @deprecated */
				public getConfiguredNetworks(): java.util.List<android.net.wifi.WifiConfiguration>;
				/** @deprecated */
				public createWifiLock(tag: string): android.net.wifi.WifiManager.WifiLock;
				public allowAutojoinGlobal(allowAutojoin: boolean): void;
				/** @deprecated */
				public startWps(config: android.net.wifi.WpsInfo, listener: android.net.wifi.WifiManager.WpsCallback): void;
				public isTlsV13Supported(): boolean;
				public isMakeBeforeBreakWifiSwitchingSupported(): boolean;
				public isDualBandSimultaneousSupported(): boolean;
				public static compareSignalLevel(rssiA: number, rssiB: number): number;
				public isWpa3SuiteBSupported(): boolean;
				/** @deprecated */
				public addNetwork(config: android.net.wifi.WifiConfiguration): number;
				public removePerSsidRoamingMode(ssid: android.net.wifi.WifiSsid): void;
				public addSuggestionUserApprovalStatusListener(executor: java.util.concurrent.Executor, listener: android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener): void;
				public isEasyConnectDppAkmSupported(): boolean;
				public querySendDhcpHostnameRestriction(executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				public createMulticastLock(tag: string): android.net.wifi.WifiManager.MulticastLock;
				public getAllowedChannels(band: number, mode: number): java.util.List<android.net.wifi.WifiAvailableChannel>;
				public isWepSupported(): boolean;
				public validateSoftApConfiguration(config: android.net.wifi.SoftApConfiguration): boolean;
				public isStaBridgedApConcurrencySupported(): boolean;
				public removeNonCallerConfiguredNetworks(): boolean;
				public getCallerConfiguredNetworks(): java.util.List<android.net.wifi.WifiConfiguration>;
				public addSuggestionConnectionStatusListener(executor: java.util.concurrent.Executor, listener: android.net.wifi.WifiManager.SuggestionConnectionStatusListener): void;
				/** @deprecated */
				public cancelWps(listener: android.net.wifi.WifiManager.WpsCallback): void;
				public isWifiStandardSupported(standard: number): boolean;
				public isWapiSupported(): boolean;
				public getMaxSupportedConcurrentTdlsSessions(executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				public isWpa3SaeSupported(): boolean;
				public isWifiPasspointEnabled(): boolean;
				public calculateSignalLevel(rssi: number): number;
				/** @deprecated */
				public pingSupplicant(): boolean;
				public isCarrierNetworkOffloadEnabled(subscriptionId: number, merged: boolean): boolean;
				public addOrUpdatePasspointConfiguration(config: android.net.wifi.hotspot2.PasspointConfiguration): void;
				public getScanResults(): java.util.List<android.net.wifi.ScanResult>;
				public isBridgedApConcurrencySupported(): boolean;
				public startLocalOnlyHotspot(callback: android.net.wifi.WifiManager.LocalOnlyHotspotCallback, handler: android.os.Handler): void;
				public isWifiDisplayR2Supported(): boolean;
				public isTrustOnFirstUseSupported(): boolean;
				public unregisterScanResultsCallback(callback: android.net.wifi.WifiManager.ScanResultsCallback): void;
				public isPasspointTermsAndConditionsSupported(): boolean;
				public addLocalOnlyConnectionFailureListener(executor: java.util.concurrent.Executor, listener: android.net.wifi.WifiManager.LocalOnlyConnectionFailureListener): void;
				public flushPasspointAnqpCache(): void;
				/** @deprecated */
				public removePasspointConfiguration(fqdn: string): void;
				public isEasyConnectEnrolleeResponderModeSupported(): boolean;
				public is24GHzBandSupported(): boolean;
				public isEnhancedPowerReportingSupported(): boolean;
				public isEasyConnectSupported(): boolean;
				public isAutoWakeupEnabled(): boolean;
				public is60GHzBandSupported(): boolean;
				public reportCreateInterfaceImpact(interfaceType: number, requireNewInterface: boolean, executor: java.util.concurrent.Executor, resultCallback: any /* any<java.lang.Boolean,java.util.Set<android.net.wifi.WifiManager.InterfaceCreationImpact>>*/): void;
				public setTdlsEnabled(remoteIPAddress: java.net.InetAddress, enable: boolean): void;
				/** @deprecated */
				public getPasspointConfigurations(): java.util.List<android.net.wifi.hotspot2.PasspointConfiguration>;
				/** @deprecated */
				public removeNetwork(netId: number): boolean;
				public isWifiEnabled(): boolean;
				public getWifiState(): number;
			}
			export module WifiManager {
				export class AddNetworkResult extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.WifiManager.AddNetworkResult>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.WifiManager.AddNetworkResult>;
					public static STATUS_ADD_PASSPOINT_FAILURE: 3;
					public static STATUS_ADD_WIFI_CONFIG_FAILURE: 4;
					public static STATUS_FAILURE_UNKNOWN: 1;
					public static STATUS_FAILURE_UPDATE_NETWORK_KEYS: 9;
					public static STATUS_INVALID_CONFIGURATION: 5;
					public static STATUS_INVALID_CONFIGURATION_ENTERPRISE: 10;
					public static STATUS_NO_PERMISSION: 2;
					public static STATUS_NO_PERMISSION_MODIFY_CONFIG: 6;
					public static STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION: 8;
					public static STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING: 7;
					public static STATUS_SUCCESS: 0;
					public networkId: number;
					public statusCode: number;
					public describeContents(): number;
					public constructor(statusCode: number, networkId: number);
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export class InterfaceCreationImpact extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.InterfaceCreationImpact>;
					public getInterfaceType(): number;
					public constructor(interfaceType: number, packages: java.util.Set<string>);
					public hashCode(): number;
					public getPackages(): java.util.Set<string>;
					public equals(that: any): boolean;
				}
				export class LocalOnlyConnectionFailureListener extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.LocalOnlyConnectionFailureListener>;
					/**
					 * Constructs a new instance of the android.net.wifi.WifiManager$LocalOnlyConnectionFailureListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onConnectionFailed(param0: android.net.wifi.WifiNetworkSpecifier, param1: number): void;
					});
					public constructor();
					public onConnectionFailed(param0: android.net.wifi.WifiNetworkSpecifier, param1: number): void;
				}
				export class LocalOnlyHotspotCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.LocalOnlyHotspotCallback>;
					public static ERROR_GENERIC: 2;
					public static ERROR_INCOMPATIBLE_MODE: 3;
					public static ERROR_NO_CHANNEL: 1;
					public static ERROR_TETHERING_DISALLOWED: 4;
					public onStopped(): void;
					public constructor();
					public onStarted(reservation: android.net.wifi.WifiManager.LocalOnlyHotspotReservation): void;
					public onFailed(reason: number): void;
				}
				export class LocalOnlyHotspotReservation extends java.lang.Object implements java.lang.AutoCloseable {
					public static class: java.lang.Class<android.net.wifi.WifiManager.LocalOnlyHotspotReservation>;
					/** @deprecated */
					public getWifiConfiguration(): android.net.wifi.WifiConfiguration;
					public finalize(): void;
					public close(): void;
					public getSoftApConfiguration(): android.net.wifi.SoftApConfiguration;
				}
				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(refCounted: boolean): void;
				}
				export abstract class ScanResultsCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.ScanResultsCallback>;
					public constructor();
					public onScanResultsAvailable(): void;
				}
				export abstract class SubsystemRestartTrackingCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.SubsystemRestartTrackingCallback>;
					public onSubsystemRestarting(): void;
					public onSubsystemRestarted(): void;
					public constructor();
				}
				export class SuggestionConnectionStatusListener extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.SuggestionConnectionStatusListener>;
					/**
					 * Constructs a new instance of the android.net.wifi.WifiManager$SuggestionConnectionStatusListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onConnectionStatus(param0: android.net.wifi.WifiNetworkSuggestion, param1: number): void;
					});
					public constructor();
					public onConnectionStatus(param0: android.net.wifi.WifiNetworkSuggestion, param1: number): void;
				}
				export class SuggestionUserApprovalStatusListener extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener>;
					/**
					 * Constructs a new instance of the android.net.wifi.WifiManager$SuggestionUserApprovalStatusListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onUserApprovalStatusChange(param0: number): void;
					});
					public constructor();
					public onUserApprovalStatusChange(param0: number): 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 finalize(): void;
					public setWorkSource(ws: android.os.WorkSource): void;
					public acquire(): void;
					public release(): void;
					public setReferenceCounted(refCounted: 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;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public onStarted(param0: string): void;
					/** @deprecated */
					public onSucceeded(): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WifiNetworkSpecifier>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier>;
				public getBand(): number;
				public getPreferredChannelFrequenciesMhz(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public canBeSatisfiedBy(other: android.net.NetworkSpecifier): boolean;
				public describeContents(): number;
				public toString(): string;
				public redact(): android.net.NetworkSpecifier;
			}
			export module WifiNetworkSpecifier {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiNetworkSpecifier.Builder>;
					public setWpa3EnterpriseStandardModeConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setBand(band: number): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setIsEnhancedOpen(isEnhancedOpen: boolean): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setSsidPattern(ssidPattern: android.os.PatternMatcher): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setIsHiddenSsid(isHiddenSsid: boolean): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setWpa3Enterprise192BitModeConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setPreferredChannelsFrequenciesMhz(channelFreqs: androidNative.Array<number>): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setBssidPattern(baseAddress: android.net.MacAddress, mask: android.net.MacAddress): android.net.wifi.WifiNetworkSpecifier.Builder;
					public constructor();
					public setBssid(bssid: android.net.MacAddress): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setWpa3Passphrase(passphrase: string): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setWpa2EnterpriseConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSpecifier.Builder;
					/** @deprecated */
					public setWpa3EnterpriseConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSpecifier.Builder;
					public build(): android.net.wifi.WifiNetworkSpecifier;
					public setSsid(ssid: string): android.net.wifi.WifiNetworkSpecifier.Builder;
					public setWpa2Passphrase(passphrase: string): android.net.wifi.WifiNetworkSpecifier.Builder;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiNetworkSuggestion extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WifiNetworkSuggestion>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion>;
				public static RANDOMIZATION_NON_PERSISTENT: 1;
				public static RANDOMIZATION_PERSISTENT: 0;
				public isUntrusted(): boolean;
				public getPassphrase(): string;
				public isAppInteractionRequired(): boolean;
				public isMetered(): boolean;
				public getEnterpriseConfig(): android.net.wifi.WifiEnterpriseConfig;
				public isWifi7Enabled(): boolean;
				public isCredentialSharedWithUser(): boolean;
				public getSubscriptionGroup(): android.os.ParcelUuid;
				public getBssid(): android.net.MacAddress;
				public getWifiSsid(): android.net.wifi.WifiSsid;
				public hashCode(): number;
				public isEnhancedOpen(): boolean;
				public isRestricted(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public isCarrierMerged(): boolean;
				public getPriority(): number;
				public toString(): string;
				public isInitialAutojoinEnabled(): boolean;
				public isUserInteractionRequired(): boolean;
				public getMacRandomizationSetting(): number;
				public equals(obj: any): boolean;
				public getSubscriptionId(): number;
				public getPasspointConfig(): android.net.wifi.hotspot2.PasspointConfiguration;
				public describeContents(): number;
				public getPriorityGroup(): number;
				public isHiddenSsid(): boolean;
				public getSsid(): string;
			}
			export module WifiNetworkSuggestion {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiNetworkSuggestion.Builder>;
					public build(): android.net.wifi.WifiNetworkSuggestion;
					public setBssid(bssid: android.net.MacAddress): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWpa2Passphrase(passphrase: string): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setIsUserInteractionRequired(isUserInteractionRequired: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					/** @deprecated */
					public setWpa3EnterpriseConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWpa2EnterpriseConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWpa3EnterpriseStandardModeConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setIsMetered(isMetered: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setSubscriptionGroup(groupUuid: android.os.ParcelUuid): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setPriorityGroup(priorityGroup: number): android.net.wifi.WifiNetworkSuggestion.Builder;
					public constructor();
					public setPasspointConfig(passpointConfig: android.net.wifi.hotspot2.PasspointConfiguration): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setIsAppInteractionRequired(isAppInteractionRequired: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setIsWpa3SaeH2eOnlyModeEnabled(enable: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWpa3Passphrase(passphrase: string): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWpa3Enterprise192BitModeConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setSsid(ssid: string): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setMacRandomizationSetting(macRandomizationSetting: number): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWifi7Enabled(enabled: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setCredentialSharedWithUser(isShared: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setSubscriptionId(subscriptionId: number): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWifiSsid(wifiSsid: android.net.wifi.WifiSsid): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWapiEnterpriseConfig(enterpriseConfig: android.net.wifi.WifiEnterpriseConfig): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setUntrusted(isUntrusted: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setRestricted(isRestricted: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setCarrierMerged(isCarrierMerged: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setWapiPassphrase(passphrase: string): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setPriority(priority: number): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setIsHiddenSsid(isHiddenSsid: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setIsEnhancedOpen(isEnhancedOpen: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
					public setIsInitialAutojoinEnabled(enabled: boolean): android.net.wifi.WifiNetworkSuggestion.Builder;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiSsid extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WifiSsid>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.WifiSsid>;
				public static fromBytes(bytes: androidNative.Array<number>): android.net.wifi.WifiSsid;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public equals(thatObject: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getBytes(): androidNative.Array<number>;
				public toString(): string;
			}
		}
	}
}

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: 1;
				public static INVALID: 4;
				public static KEYPAD: 2;
				public static LABEL: 3;
				public static PBC: 0;
				public pin: string;
				public setup: number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(source: android.net.wifi.WpsInfo);
				public describeContents(): number;
				public toString(): string;
				public constructor();
			}
		}
	}
}

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 constructor();
					public onAwareSessionTerminated(): void;
					public onAttachFailed(): void;
					public onAttached(session: android.net.wifi.aware.WifiAwareSession): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class AwarePairingConfig extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.AwarePairingConfig>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.AwarePairingConfig>;
					public static PAIRING_BOOTSTRAPPING_NFC_READER: 256;
					public static PAIRING_BOOTSTRAPPING_NFC_TAG: 16;
					public static PAIRING_BOOTSTRAPPING_OPPORTUNISTIC: 1;
					public static PAIRING_BOOTSTRAPPING_PASSPHRASE_DISPLAY: 4;
					public static PAIRING_BOOTSTRAPPING_PASSPHRASE_KEYPAD: 64;
					public static PAIRING_BOOTSTRAPPING_PIN_CODE_DISPLAY: 2;
					public static PAIRING_BOOTSTRAPPING_PIN_CODE_KEYPAD: 32;
					public static PAIRING_BOOTSTRAPPING_QR_DISPLAY: 8;
					public static PAIRING_BOOTSTRAPPING_QR_SCAN: 128;
					public isPairingSetupEnabled(): boolean;
					public getBootstrappingMethods(): number;
					public describeContents(): number;
					public isPairingCacheEnabled(): boolean;
					public isPairingVerificationEnabled(): boolean;
					public equals(o: any): boolean;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module AwarePairingConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.aware.AwarePairingConfig.Builder>;
						public setPairingCacheEnabled(enabled: boolean): android.net.wifi.aware.AwarePairingConfig.Builder;
						public constructor();
						public build(): android.net.wifi.aware.AwarePairingConfig;
						public setPairingSetupEnabled(enabled: boolean): android.net.wifi.aware.AwarePairingConfig.Builder;
						public setBootstrappingMethods(methods: number): android.net.wifi.aware.AwarePairingConfig.Builder;
						public setPairingVerificationEnabled(enabled: boolean): android.net.wifi.aware.AwarePairingConfig.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class AwareResources extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.AwareResources>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.AwareResources>;
					public getAvailablePublishSessionsCount(): number;
					public getAvailableDataPathsCount(): number;
					public constructor(availableDataPathsCount: number, availablePublishSessionsCount: number, availableSubscribeSessionsCount: number);
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getAvailableSubscribeSessionsCount(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): 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 static WIFI_AWARE_CIPHER_SUITE_NCS_PK_128: 4;
					public static WIFI_AWARE_CIPHER_SUITE_NCS_PK_256: 8;
					public static WIFI_AWARE_CIPHER_SUITE_NCS_PK_PASN_128: 16;
					public static WIFI_AWARE_CIPHER_SUITE_NCS_PK_PASN_256: 32;
					public static WIFI_AWARE_CIPHER_SUITE_NCS_SK_128: 1;
					public static WIFI_AWARE_CIPHER_SUITE_NCS_SK_256: 2;
					public static WIFI_AWARE_CIPHER_SUITE_NONE: 0;
					public getMaxServiceSpecificInfoLength(): number;
					public getNumberOfSupportedDataInterfaces(): number;
					public isAwarePairingSupported(): boolean;
					public describeContents(): number;
					public getMaxMatchFilterLength(): number;
					public getNumberOfSupportedPublishSessions(): number;
					public getNumberOfSupportedDataPaths(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public isSuspensionSupported(): boolean;
					public getSupportedPairingCipherSuites(): number;
					public getNumberOfSupportedSubscribeSessions(): number;
					public isInstantCommunicationModeSupported(): boolean;
					public getSupportedCipherSuites(): 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>;
					/** @deprecated */
					public createNetworkSpecifierPassphrase(peerHandle: android.net.wifi.aware.PeerHandle, passphrase: string): android.net.NetworkSpecifier;
					public initiatePairingRequest(peerHandle: android.net.wifi.aware.PeerHandle, peerDeviceAlias: string, cipherSuite: number, password: string): void;
					/** @deprecated */
					public createNetworkSpecifierOpen(peerHandle: android.net.wifi.aware.PeerHandle): android.net.NetworkSpecifier;
					public finalize(): void;
					public close(): void;
					public acceptPairingRequest(requestId: number, peerHandle: android.net.wifi.aware.PeerHandle, peerDeviceAlias: string, cipherSuite: number, password: string): void;
					public sendMessage(peerHandle: android.net.wifi.aware.PeerHandle, messageId: number, message: androidNative.Array<number>): void;
					public rejectPairingRequest(requestId: number, peerHandle: android.net.wifi.aware.PeerHandle): void;
					public initiateBootstrappingRequest(peerHandle: android.net.wifi.aware.PeerHandle, method: number): 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 onServiceDiscoveredWithinRange(info: android.net.wifi.aware.ServiceDiscoveryInfo, distanceMm: number): void;
					public onBootstrappingFailed(peerHandle: android.net.wifi.aware.PeerHandle): void;
					public onMessageReceived(peerHandle: android.net.wifi.aware.PeerHandle, message: androidNative.Array<number>): void;
					public onPairingVerificationSucceed(peerHandle: android.net.wifi.aware.PeerHandle, alias: string): void;
					public onPairingVerificationFailed(peerHandle: android.net.wifi.aware.PeerHandle): void;
					public onMessageSendFailed(messageId: number): void;
					public onPublishStarted(session: android.net.wifi.aware.PublishDiscoverySession): void;
					public onMessageSendSucceeded(messageId: number): void;
					public onPairingSetupSucceeded(peerHandle: android.net.wifi.aware.PeerHandle, alias: string): void;
					public onSubscribeStarted(session: android.net.wifi.aware.SubscribeDiscoverySession): void;
					public onSessionTerminated(): void;
					public onServiceDiscovered(peerHandle: android.net.wifi.aware.PeerHandle, serviceSpecificInfo: androidNative.Array<number>, matchFilter: java.util.List<androidNative.Array<number>>): void;
					public onServiceDiscovered(info: android.net.wifi.aware.ServiceDiscoveryInfo): void;
					public onPairingSetupRequestReceived(peerHandle: android.net.wifi.aware.PeerHandle, requestId: number): void;
					public onPairingSetupFailed(peerHandle: android.net.wifi.aware.PeerHandle): void;
					public constructor();
					public onServiceDiscoveredWithinRange(peerHandle: android.net.wifi.aware.PeerHandle, serviceSpecificInfo: androidNative.Array<number>, matchFilter: java.util.List<androidNative.Array<number>>, distanceMm: number): void;
					public onBootstrappingSucceeded(peerHandle: android.net.wifi.aware.PeerHandle, method: number): void;
					public onSessionConfigUpdated(): void;
					public onSessionConfigFailed(): void;
					public onServiceLost(peerHandle: android.net.wifi.aware.PeerHandle, reason: number): 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 static CLUSTER_CHANGE_EVENT_JOINED: 1;
					public static CLUSTER_CHANGE_EVENT_STARTED: 0;
					public onClusterIdChanged(clusterEventType: number, clusterId: android.net.MacAddress): void;
					public onIdentityChanged(mac: androidNative.Array<number>): void;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.ParcelablePeerHandle>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle>;
					public constructor(peerHandle: android.net.wifi.aware.PeerHandle);
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: 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(o: 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: 1;
					public static PUBLISH_TYPE_UNSOLICITED: 0;
					public toString(): string;
					public getPairingConfig(): android.net.wifi.aware.AwarePairingConfig;
					public describeContents(): number;
					public isInstantCommunicationModeEnabled(): boolean;
					public getInstantCommunicationBand(): number;
					public getSecurityConfig(): android.net.wifi.aware.WifiAwareDataPathSecurityConfig;
					public equals(o: any): boolean;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					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 setInstantCommunicationModeEnabled(enabled: boolean, band: number): android.net.wifi.aware.PublishConfig.Builder;
						public constructor();
						public setServiceSpecificInfo(serviceSpecificInfo: androidNative.Array<number>): android.net.wifi.aware.PublishConfig.Builder;
						public setMatchFilter(matchFilter: java.util.List<androidNative.Array<number>>): android.net.wifi.aware.PublishConfig.Builder;
						public build(): android.net.wifi.aware.PublishConfig;
						public setPublishType(publishType: number): android.net.wifi.aware.PublishConfig.Builder;
						public setServiceName(serviceName: string): android.net.wifi.aware.PublishConfig.Builder;
						public setPairingConfig(config: android.net.wifi.aware.AwarePairingConfig): android.net.wifi.aware.PublishConfig.Builder;
						public setTtlSec(ttlSec: number): android.net.wifi.aware.PublishConfig.Builder;
						public setTerminateNotificationEnabled(enable: boolean): android.net.wifi.aware.PublishConfig.Builder;
						public setDataPathSecurityConfig(securityConfig: android.net.wifi.aware.WifiAwareDataPathSecurityConfig): android.net.wifi.aware.PublishConfig.Builder;
						public setRangingEnabled(enable: boolean): 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 close(): void;
					public updatePublish(publishConfig: android.net.wifi.aware.PublishConfig): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class ServiceDiscoveryInfo extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.aware.ServiceDiscoveryInfo>;
					public getServiceSpecificInfo(): androidNative.Array<number>;
					public getMatchFilters(): java.util.List<androidNative.Array<number>>;
					public getScid(): androidNative.Array<number>;
					public getPairingConfig(): android.net.wifi.aware.AwarePairingConfig;
					public getPeerHandle(): android.net.wifi.aware.PeerHandle;
					public getPeerCipherSuite(): number;
					public getPairedAlias(): string;
				}
			}
		}
	}
}

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: 1;
					public static SUBSCRIBE_TYPE_PASSIVE: 0;
					public toString(): string;
					public getPairingConfig(): android.net.wifi.aware.AwarePairingConfig;
					public describeContents(): number;
					public isInstantCommunicationModeEnabled(): boolean;
					public getInstantCommunicationBand(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					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 setMaxDistanceMm(maxDistanceMm: number): android.net.wifi.aware.SubscribeConfig.Builder;
						public constructor();
						public setMatchFilter(matchFilter: java.util.List<androidNative.Array<number>>): android.net.wifi.aware.SubscribeConfig.Builder;
						public setTtlSec(ttlSec: number): android.net.wifi.aware.SubscribeConfig.Builder;
						public setMinDistanceMm(minDistanceMm: number): android.net.wifi.aware.SubscribeConfig.Builder;
						public setInstantCommunicationModeEnabled(enabled: boolean, band: number): android.net.wifi.aware.SubscribeConfig.Builder;
						public setSubscribeType(subscribeType: number): android.net.wifi.aware.SubscribeConfig.Builder;
						public build(): android.net.wifi.aware.SubscribeConfig;
						public setPairingConfig(config: android.net.wifi.aware.AwarePairingConfig): android.net.wifi.aware.SubscribeConfig.Builder;
						public setServiceName(serviceName: string): android.net.wifi.aware.SubscribeConfig.Builder;
						public setServiceSpecificInfo(serviceSpecificInfo: androidNative.Array<number>): android.net.wifi.aware.SubscribeConfig.Builder;
						public setTerminateNotificationEnabled(enable: boolean): 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(subscribeConfig: android.net.wifi.aware.SubscribeConfig): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class WifiAwareChannelInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.WifiAwareChannelInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareChannelInfo>;
					public toString(): string;
					public equals(obj: any): boolean;
					public getChannelFrequencyMhz(): number;
					public describeContents(): number;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getChannelBandwidth(): number;
					public getSpatialStreamCount(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class WifiAwareDataPathSecurityConfig extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.WifiAwareDataPathSecurityConfig>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareDataPathSecurityConfig>;
					public equals(obj: any): boolean;
					public toString(): string;
					public getPskPassphrase(): string;
					public describeContents(): number;
					public getCipherSuite(): number;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public getPmk(): androidNative.Array<number>;
					public getPmkId(): androidNative.Array<number>;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module WifiAwareDataPathSecurityConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder>;
						public constructor(cipherSuite: number);
						public setPmk(pmk: androidNative.Array<number>): android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder;
						public build(): android.net.wifi.aware.WifiAwareDataPathSecurityConfig;
						public setPskPassphrase(pskPassphrase: string): android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder;
						public setPmkId(pmkId: androidNative.Array<number>): android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder;
					}
				}
			}
		}
	}
}

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_RESOURCE_CHANGED: "android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED";
					public static ACTION_WIFI_AWARE_STATE_CHANGED: "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED";
					public static EXTRA_AWARE_RESOURCES: "android.net.wifi.aware.extra.AWARE_RESOURCES";
					public static WIFI_AWARE_DATA_PATH_ROLE_INITIATOR: 0;
					public static WIFI_AWARE_DATA_PATH_ROLE_RESPONDER: 1;
					public static WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE: 1;
					public static WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN: 0;
					public attach(attachCallback: android.net.wifi.aware.AttachCallback, identityChangedListener: android.net.wifi.aware.IdentityChangedListener, handler: android.os.Handler): void;
					public isSetChannelOnDataPathSupported(): boolean;
					public isInstantCommunicationModeEnabled(): boolean;
					public removePairedDevice(alias: string): void;
					public getCharacteristics(): android.net.wifi.aware.Characteristics;
					public getAvailableAwareResources(): android.net.wifi.aware.AwareResources;
					public attach(attachCallback: android.net.wifi.aware.AttachCallback, handler: android.os.Handler): void;
					public isOpportunisticModeEnabled(executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
					public resetPairedDevices(): void;
					public setOpportunisticModeEnabled(enabled: boolean): void;
					public isAvailable(): boolean;
					public isDeviceAttached(): boolean;
					public getPairedDevices(executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class WifiAwareNetworkInfo extends java.lang.Object implements android.net.TransportInfo, android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.WifiAwareNetworkInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo>;
					public getPort(): number;
					public toString(): string;
					public equals(obj: any): boolean;
					public describeContents(): number;
					public getChannelInfoList(): java.util.List<android.net.wifi.aware.WifiAwareChannelInfo>;
					public getTransportProtocol(): number;
					public hashCode(): number;
					public getPeerIpv6Addr(): java.net.Inet6Address;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.WifiAwareNetworkSpecifier>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier>;
					public equals(obj: any): boolean;
					public toString(): string;
					public getChannelFrequencyMhz(): number;
					public isChannelRequired(): boolean;
					public describeContents(): number;
					public getWifiAwareDataPathSecurityConfig(): android.net.wifi.aware.WifiAwareDataPathSecurityConfig;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public canBeSatisfiedBy(other: android.net.NetworkSpecifier): boolean;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module WifiAwareNetworkSpecifier {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder>;
						public constructor(discoverySession: android.net.wifi.aware.DiscoverySession, peerHandle: android.net.wifi.aware.PeerHandle);
						public build(): android.net.wifi.aware.WifiAwareNetworkSpecifier;
						public setPskPassphrase(pskPassphrase: string): android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder;
						public setPmk(pmk: androidNative.Array<number>): android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder;
						public setChannelFrequencyMhz(channelInMhz: number, required: boolean): android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder;
						public setDataPathSecurityConfig(securityConfig: android.net.wifi.aware.WifiAwareDataPathSecurityConfig): android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder;
						public constructor(publishDiscoverySession: android.net.wifi.aware.PublishDiscoverySession);
						public setTransportProtocol(transportProtocol: number): android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder;
						public setPort(port: number): android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder;
					}
				}
			}
		}
	}
}

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>;
					/** @deprecated */
					public createNetworkSpecifierPassphrase(role: number, peer: androidNative.Array<number>, passphrase: string): android.net.NetworkSpecifier;
					/** @deprecated */
					public createNetworkSpecifierOpen(role: number, peer: androidNative.Array<number>): android.net.NetworkSpecifier;
					public finalize(): void;
					public close(): void;
					public publish(publishConfig: android.net.wifi.aware.PublishConfig, callback: android.net.wifi.aware.DiscoverySessionCallback, handler: android.os.Handler): void;
					public subscribe(subscribeConfig: android.net.wifi.aware.SubscribeConfig, callback: android.net.wifi.aware.DiscoverySessionCallback, handler: android.os.Handler): void;
				}
			}
		}
	}
}

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(mimeType: string, data: androidNative.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 setDecoratedIdentityPrefix(decoratedIdentityPrefix: string): void;
					public getUniqueId(): string;
					public describeContents(): number;
					public getDecoratedIdentityPrefix(): string;
					public getCredential(): android.net.wifi.hotspot2.pps.Credential;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public setHomeSp(homeSp: android.net.wifi.hotspot2.pps.HomeSp): void;
					public toString(): string;
					public getHomeSp(): android.net.wifi.hotspot2.pps.HomeSp;
					public equals(thatObject: any): boolean;
					public constructor();
					public setSubscriptionExpirationTimeInMillis(subscriptionExpirationTimeInMillis: number): void;
					public setCredential(credential: android.net.wifi.hotspot2.pps.Credential): void;
					public isOsuProvisioned(): boolean;
					public hashCode(): number;
					public constructor(source: android.net.wifi.hotspot2.PasspointConfiguration);
					public getSubscriptionExpirationTimeMillis(): 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(xmlString: 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 setCaCertificate(caCertificate: java.security.cert.X509Certificate): void;
						public describeContents(): number;
						public getSimCredential(): android.net.wifi.hotspot2.pps.Credential.SimCredential;
						public setMinimumTlsVersion(tlsVersion: number): void;
						public setCertCredential(certCredential: android.net.wifi.hotspot2.pps.Credential.CertificateCredential): void;
						public getCaCertificate(): java.security.cert.X509Certificate;
						public getClientPrivateKey(): java.security.PrivateKey;
						public hashCode(): number;
						public equals(thatObject: any): boolean;
						public setClientPrivateKey(clientPrivateKey: java.security.PrivateKey): void;
						public getUserCredential(): android.net.wifi.hotspot2.pps.Credential.UserCredential;
						public toString(): string;
						public constructor(source: android.net.wifi.hotspot2.pps.Credential);
						public setSimCredential(simCredential: android.net.wifi.hotspot2.pps.Credential.SimCredential): void;
						public setClientCertificateChain(certificateChain: androidNative.Array<java.security.cert.X509Certificate>): void;
						public writeToParcel(dest: android.os.Parcel, flags: number): void;
						public getClientCertificateChain(): androidNative.Array<java.security.cert.X509Certificate>;
						public setRealm(realm: string): void;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public getRealm(): string;
						public getCertCredential(): android.net.wifi.hotspot2.pps.Credential.CertificateCredential;
						public setUserCredential(userCredential: android.net.wifi.hotspot2.pps.Credential.UserCredential): void;
						public getMinimumTlsVersion(): number;
					}
					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(certSha256Fingerprint: androidNative.Array<number>): void;
							public constructor(source: android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
							public writeToParcel(dest: android.os.Parcel, flags: number): void;
							public hashCode(): number;
							public setCertType(certType: string): void;
							public equals(thatObject: any): boolean;
							public getCertSha256Fingerprint(): androidNative.Array<number>;
							public describeContents(): number;
							public getCertType(): string;
							public toString(): string;
							public writeToParcel(param0: android.os.Parcel, param1: number): void;
						}
						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 writeToParcel(dest: android.os.Parcel, flags: number): void;
							public hashCode(): number;
							public equals(thatObject: any): boolean;
							public describeContents(): number;
							public constructor(source: android.net.wifi.hotspot2.pps.Credential.SimCredential);
							public getEapType(): number;
							public setImsi(imsi: string): void;
							public getImsi(): string;
							public toString(): string;
							public writeToParcel(param0: android.os.Parcel, param1: number): void;
							public setEapType(eapType: number): 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(password: string): void;
							public setEapType(eapType: number): void;
							public setUsername(username: string): void;
							public writeToParcel(dest: android.os.Parcel, flags: number): void;
							public equals(thatObject: any): boolean;
							public describeContents(): number;
							public constructor(source: android.net.wifi.hotspot2.pps.Credential.UserCredential);
							public setNonEapInnerMethod(nonEapInnerMethod: string): void;
						}
					}
				}
			}
		}
	}
}

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 setFriendlyName(friendlyName: string): void;
						public constructor();
						public setFqdn(fqdn: string): void;
						public describeContents(): number;
						public getOtherHomePartnersList(): java.util.Collection<string>;
						public hashCode(): number;
						public equals(thatObject: any): boolean;
						public constructor(source: android.net.wifi.hotspot2.pps.HomeSp);
						public getFriendlyName(): string;
						public getRoamingConsortiumOis(): androidNative.Array<number>;
						public toString(): string;
						public setMatchAnyOis(matchAnyOis: androidNative.Array<number>): void;
						public setMatchAllOis(matchAllOis: androidNative.Array<number>): void;
						public writeToParcel(dest: android.os.Parcel, flags: number): void;
						public setOtherHomePartnersList(otherHomePartners: java.util.Collection<string>): void;
						public getFqdn(): string;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public getMatchAllOis(): androidNative.Array<number>;
						public setRoamingConsortiumOis(roamingConsortiumOis: androidNative.Array<number>): void;
						public getMatchAnyOis(): androidNative.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 static GROUP_CLIENT_IP_PROVISIONING_MODE_IPV4_DHCP: 0;
					public static GROUP_CLIENT_IP_PROVISIONING_MODE_IPV6_LINK_LOCAL: 1;
					public static GROUP_OWNER_BAND_2GHZ: 1;
					public static GROUP_OWNER_BAND_5GHZ: 2;
					public static GROUP_OWNER_BAND_AUTO: 0;
					public static GROUP_OWNER_INTENT_AUTO: -1;
					public static GROUP_OWNER_INTENT_MAX: 15;
					public static GROUP_OWNER_INTENT_MIN: 0;
					public deviceAddress: string;
					public groupOwnerIntent: number;
					public wps: android.net.wifi.WpsInfo;
					public getNetworkName(): string;
					public toString(): string;
					public constructor(source: android.net.wifi.p2p.WifiP2pConfig);
					public getPassphrase(): string;
					public constructor();
					public getNetworkId(): number;
					public getGroupClientIpProvisioningMode(): number;
					public describeContents(): number;
					public getGroupOwnerBand(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module WifiP2pConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pConfig.Builder>;
						public setNetworkName(networkName: string): android.net.wifi.p2p.WifiP2pConfig.Builder;
						public constructor();
						public setGroupOperatingBand(band: number): android.net.wifi.p2p.WifiP2pConfig.Builder;
						public setGroupClientIpProvisioningMode(groupClientIpProvisioningMode: number): android.net.wifi.p2p.WifiP2pConfig.Builder;
						public setPassphrase(passphrase: string): android.net.wifi.p2p.WifiP2pConfig.Builder;
						public setDeviceAddress(deviceAddress: android.net.MacAddress): android.net.wifi.p2p.WifiP2pConfig.Builder;
						public setGroupOperatingFrequency(frequency: number): android.net.wifi.p2p.WifiP2pConfig.Builder;
						public build(): android.net.wifi.p2p.WifiP2pConfig;
						public enablePersistentMode(persistent: boolean): android.net.wifi.p2p.WifiP2pConfig.Builder;
					}
				}
			}
		}
	}
}

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: 3;
					public static CONNECTED: 0;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice>;
					public static FAILED: 2;
					public static INVITED: 1;
					public static UNAVAILABLE: 4;
					public deviceAddress: string;
					public deviceName: string;
					public primaryDeviceType: string;
					public secondaryDeviceType: string;
					public status: number;
					public wpsPbcSupported(): boolean;
					public equals(obj: any): boolean;
					public wpsKeypadSupported(): boolean;
					public isServiceDiscoveryCapable(): boolean;
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public isGroupOwner(): boolean;
					public update(device: android.net.wifi.p2p.WifiP2pDevice): void;
					public toString(): string;
					public constructor();
					public constructor(source: android.net.wifi.p2p.WifiP2pDevice);
					public getIpAddress(): java.net.InetAddress;
					public wpsDisplaySupported(): boolean;
					public getVendorElements(): java.util.List<android.net.wifi.ScanResult.InformationElement>;
					public hashCode(): number;
					public getWfdInfo(): android.net.wifi.p2p.WifiP2pWfdInfo;
					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(source: android.net.wifi.p2p.WifiP2pDeviceList);
					public constructor();
					public describeContents(): number;
					public get(deviceAddress: string): android.net.wifi.p2p.WifiP2pDevice;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export class WifiP2pDiscoveryConfig extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pDiscoveryConfig>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDiscoveryConfig>;
					public toString(): string;
					public getScanType(): number;
					public getFrequencyMhz(): number;
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module WifiP2pDiscoveryConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pDiscoveryConfig.Builder>;
						public build(): android.net.wifi.p2p.WifiP2pDiscoveryConfig;
						public constructor(scanType: number);
						public setFrequencyMhz(frequencyMhz: number): android.net.wifi.p2p.WifiP2pDiscoveryConfig.Builder;
					}
				}
			}
		}
	}
}

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 static NETWORK_ID_PERSISTENT: -2;
					public static NETWORK_ID_TEMPORARY: -1;
					public getPassphrase(): string;
					public getNetworkId(): number;
					public describeContents(): number;
					public getFrequency(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public isGroupOwner(): boolean;
					public getNetworkName(): string;
					public toString(): string;
					public constructor();
					public getInterface(): string;
					public getClientList(): java.util.Collection<android.net.wifi.p2p.WifiP2pDevice>;
					public getOwner(): android.net.wifi.p2p.WifiP2pDevice;
					public constructor(source: android.net.wifi.p2p.WifiP2pGroup);
					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 toString(): string;
					public constructor();
					public describeContents(): number;
					public constructor(source: android.net.wifi.p2p.WifiP2pInfo);
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					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 ACTION_WIFI_P2P_LISTEN_STATE_CHANGED: "android.net.wifi.p2p.action.WIFI_P2P_LISTEN_STATE_CHANGED";
					public static ACTION_WIFI_P2P_REQUEST_RESPONSE_CHANGED: "android.net.wifi.p2p.action.WIFI_P2P_REQUEST_RESPONSE_CHANGED";
					public static BUSY: 2;
					public static CONNECTION_REQUEST_ACCEPT: 0;
					public static CONNECTION_REQUEST_DEFER_SHOW_PIN_TO_SERVICE: 3;
					public static CONNECTION_REQUEST_DEFER_TO_SERVICE: 2;
					public static CONNECTION_REQUEST_REJECT: 1;
					public static ERROR: 0;
					public static EXTRA_DISCOVERY_STATE: "discoveryState";
					public static EXTRA_LISTEN_STATE: "android.net.wifi.p2p.extra.LISTEN_STATE";
					public static EXTRA_NETWORK_INFO: "networkInfo";
					public static EXTRA_P2P_DEVICE_LIST: "wifiP2pDeviceList";
					public static EXTRA_REQUEST_CONFIG: "android.net.wifi.p2p.extra.REQUEST_CONFIG";
					public static EXTRA_REQUEST_RESPONSE: "android.net.wifi.p2p.extra.REQUEST_RESPONSE";
					public static EXTRA_WIFI_P2P_DEVICE: "wifiP2pDevice";
					public static EXTRA_WIFI_P2P_GROUP: "p2pGroupInfo";
					public static EXTRA_WIFI_P2P_INFO: "wifiP2pInfo";
					public static EXTRA_WIFI_STATE: "wifi_p2p_state";
					public static GROUP_CREATION_FAILURE_REASON_CONNECTION_CANCELLED: 0;
					public static GROUP_CREATION_FAILURE_REASON_GROUP_REMOVED: 4;
					public static GROUP_CREATION_FAILURE_REASON_INVITATION_FAILED: 5;
					public static GROUP_CREATION_FAILURE_REASON_PROVISION_DISCOVERY_FAILED: 3;
					public static GROUP_CREATION_FAILURE_REASON_TIMED_OUT: 1;
					public static GROUP_CREATION_FAILURE_REASON_USER_REJECTED: 2;
					public static NO_SERVICE_REQUESTS: 3;
					public static P2P_UNSUPPORTED: 1;
					public static WIFI_P2P_CONNECTION_CHANGED_ACTION: "android.net.wifi.p2p.CONNECTION_STATE_CHANGE";
					public static WIFI_P2P_DISCOVERY_CHANGED_ACTION: "android.net.wifi.p2p.DISCOVERY_STATE_CHANGE";
					public static WIFI_P2P_DISCOVERY_STARTED: 2;
					public static WIFI_P2P_DISCOVERY_STOPPED: 1;
					public static WIFI_P2P_LISTEN_STARTED: 2;
					public static WIFI_P2P_LISTEN_STOPPED: 1;
					public static WIFI_P2P_PEERS_CHANGED_ACTION: "android.net.wifi.p2p.PEERS_CHANGED";
					public static WIFI_P2P_SCAN_FULL: 0;
					public static WIFI_P2P_SCAN_SINGLE_FREQ: 2;
					public static WIFI_P2P_SCAN_SOCIAL: 1;
					public static WIFI_P2P_STATE_CHANGED_ACTION: "android.net.wifi.p2p.STATE_CHANGED";
					public static WIFI_P2P_STATE_DISABLED: 1;
					public static WIFI_P2P_STATE_ENABLED: 2;
					public static WIFI_P2P_THIS_DEVICE_CHANGED_ACTION: "android.net.wifi.p2p.THIS_DEVICE_CHANGED";
					public registerWifiP2pListener(executor: java.util.concurrent.Executor, listener: android.net.wifi.p2p.WifiP2pManager.WifiP2pListener): void;
					public static getP2pMaxAllowedVendorElementsLengthBytes(): number;
					public requestConnectionInfo(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener): void;
					public removeExternalApprover(c: android.net.wifi.p2p.WifiP2pManager.Channel, deviceAddress: android.net.MacAddress, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public requestPeers(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.PeerListListener): void;
					public setConnectionRequestResult(c: android.net.wifi.p2p.WifiP2pManager.Channel, deviceAddress: android.net.MacAddress, result: number, pin: string, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public setUpnpServiceResponseListener(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener): void;
					public requestDiscoveryState(c: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener): void;
					public unregisterWifiP2pListener(listener: android.net.wifi.p2p.WifiP2pManager.WifiP2pListener): void;
					public createGroup(channel: android.net.wifi.p2p.WifiP2pManager.Channel, config: android.net.wifi.p2p.WifiP2pConfig, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public requestNetworkInfo(c: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener): void;
					public getListenState(c: android.net.wifi.p2p.WifiP2pManager.Channel, executor: java.util.concurrent.Executor, resultsCallback: any /* any*/): void;
					public discoverPeersOnSocialChannels(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public createGroup(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public addServiceRequest(channel: android.net.wifi.p2p.WifiP2pManager.Channel, req: android.net.wifi.p2p.nsd.WifiP2pServiceRequest, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public discoverPeersOnSpecificFrequency(channel: android.net.wifi.p2p.WifiP2pManager.Channel, frequencyMhz: number, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public removeGroup(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public requestP2pState(c: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.P2pStateListener): void;
					public isSetVendorElementsSupported(): boolean;
					public isGroupOwnerIPv6LinkLocalAddressProvided(): boolean;
					public removeClient(channel: android.net.wifi.p2p.WifiP2pManager.Channel, peerAddress: android.net.MacAddress, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public stopListening(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public cancelConnect(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public discoverPeers(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public removeLocalService(channel: android.net.wifi.p2p.WifiP2pManager.Channel, servInfo: android.net.wifi.p2p.nsd.WifiP2pServiceInfo, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public addExternalApprover(c: android.net.wifi.p2p.WifiP2pManager.Channel, deviceAddress: android.net.MacAddress, listener: android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener): void;
					public removeServiceRequest(channel: android.net.wifi.p2p.WifiP2pManager.Channel, req: android.net.wifi.p2p.nsd.WifiP2pServiceRequest, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public connect(channel: android.net.wifi.p2p.WifiP2pManager.Channel, config: android.net.wifi.p2p.WifiP2pConfig, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public isGroupClientRemovalSupported(): boolean;
					public requestDeviceInfo(c: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener): void;
					public clearLocalServices(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public startPeerDiscovery(channel: android.net.wifi.p2p.WifiP2pManager.Channel, config: android.net.wifi.p2p.WifiP2pDiscoveryConfig, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public setWfdInfo(channel: android.net.wifi.p2p.WifiP2pManager.Channel, wfdInfo: android.net.wifi.p2p.WifiP2pWfdInfo, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public setServiceResponseListener(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener): void;
					public stopPeerDiscovery(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public discoverServices(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public clearServiceRequests(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public isChannelConstrainedDiscoverySupported(): boolean;
					public setConnectionRequestResult(c: android.net.wifi.p2p.WifiP2pManager.Channel, deviceAddress: android.net.MacAddress, result: number, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public requestGroupInfo(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.GroupInfoListener): void;
					public startListening(channel: android.net.wifi.p2p.WifiP2pManager.Channel, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public initialize(srcContext: android.content.Context, srcLooper: android.os.Looper, listener: android.net.wifi.p2p.WifiP2pManager.ChannelListener): android.net.wifi.p2p.WifiP2pManager.Channel;
					public addLocalService(channel: android.net.wifi.p2p.WifiP2pManager.Channel, servInfo: android.net.wifi.p2p.nsd.WifiP2pServiceInfo, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public setVendorElements(c: android.net.wifi.p2p.WifiP2pManager.Channel, vendorElements: java.util.List<android.net.wifi.ScanResult.InformationElement>, listener: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public setDnsSdResponseListeners(channel: android.net.wifi.p2p.WifiP2pManager.Channel, servListener: android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, txtListener: android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener): 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 DeviceInfoListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$DeviceInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onDeviceInfoAvailable(param0: android.net.wifi.p2p.WifiP2pDevice): void;
						});
						public constructor();
						public onDeviceInfoAvailable(param0: android.net.wifi.p2p.WifiP2pDevice): void;
					}
					export class DiscoveryStateListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$DiscoveryStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onDiscoveryStateAvailable(param0: number): void;
						});
						public constructor();
						public onDiscoveryStateAvailable(param0: number): 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 ExternalApproverRequestListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$ExternalApproverRequestListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onAttached(param0: android.net.MacAddress): void;
							onDetached(param0: android.net.MacAddress, param1: number): void;
							onConnectionRequested(param0: number, param1: android.net.wifi.p2p.WifiP2pConfig, param2: android.net.wifi.p2p.WifiP2pDevice): void;
							onPinGenerated(param0: android.net.MacAddress, param1: string): void;
						});
						public constructor();
						public static REQUEST_TYPE_NEGOTIATION: 0;
						public static APPROVER_DETACH_REASON_CLOSE: 3;
						public static APPROVER_DETACH_REASON_REPLACE: 2;
						public static APPROVER_DETACH_REASON_FAILURE: 1;
						public static REQUEST_TYPE_INVITATION: 1;
						public static APPROVER_DETACH_REASON_REMOVE: 0;
						public static REQUEST_TYPE_JOIN: 2;
						public onConnectionRequested(param0: number, param1: android.net.wifi.p2p.WifiP2pConfig, param2: android.net.wifi.p2p.WifiP2pDevice): void;
						public onDetached(param0: android.net.MacAddress, param1: number): void;
						public onAttached(param0: android.net.MacAddress): void;
						public onPinGenerated(param0: android.net.MacAddress, param1: string): 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 NetworkInfoListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$NetworkInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onNetworkInfoAvailable(param0: android.net.NetworkInfo): void;
						});
						public constructor();
						public onNetworkInfoAvailable(param0: android.net.NetworkInfo): void;
					}
					export class P2pStateListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.P2pStateListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$P2pStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onP2pStateAvailable(param0: number): void;
						});
						public constructor();
						public onP2pStateAvailable(param0: number): 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: androidNative.Array<number>, param2: android.net.wifi.p2p.WifiP2pDevice): void;
						});
						public constructor();
						public onServiceAvailable(param0: number, param1: androidNative.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;
					}
					export class WifiP2pListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.WifiP2pListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$WifiP2pListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onP2pStateChanged(state: number): void;
							onDiscoveryStateChanged(state: number): void;
							onListenStateChanged(state: number): void;
							onDeviceConfigurationChanged(p2pDevice: android.net.wifi.p2p.WifiP2pDevice): void;
							onPeerListChanged(p2pDeviceList: android.net.wifi.p2p.WifiP2pDeviceList): void;
							onGroupCreating(): void;
							onGroupNegotiationRejectedByUser(): void;
							onGroupCreationFailed(reason: number): void;
							onGroupCreated(p2pInfo: android.net.wifi.p2p.WifiP2pInfo, p2pGroup: android.net.wifi.p2p.WifiP2pGroup): void;
							onPeerClientJoined(p2pInfo: android.net.wifi.p2p.WifiP2pInfo, p2pGroup: android.net.wifi.p2p.WifiP2pGroup): void;
							onPeerClientDisconnected(p2pInfo: android.net.wifi.p2p.WifiP2pInfo, p2pGroup: android.net.wifi.p2p.WifiP2pGroup): void;
							onFrequencyChanged(p2pInfo: android.net.wifi.p2p.WifiP2pInfo, p2pGroup: android.net.wifi.p2p.WifiP2pGroup): void;
							onGroupRemoved(): void;
						});
						public constructor();
						public onListenStateChanged(state: number): void;
						public onGroupCreating(): void;
						public onFrequencyChanged(p2pInfo: android.net.wifi.p2p.WifiP2pInfo, p2pGroup: android.net.wifi.p2p.WifiP2pGroup): void;
						public onPeerClientDisconnected(p2pInfo: android.net.wifi.p2p.WifiP2pInfo, p2pGroup: android.net.wifi.p2p.WifiP2pGroup): void;
						public onDeviceConfigurationChanged(p2pDevice: android.net.wifi.p2p.WifiP2pDevice): void;
						public onPeerListChanged(p2pDeviceList: android.net.wifi.p2p.WifiP2pDeviceList): void;
						public onP2pStateChanged(state: number): void;
						public onGroupNegotiationRejectedByUser(): void;
						public onPeerClientJoined(p2pInfo: android.net.wifi.p2p.WifiP2pInfo, p2pGroup: android.net.wifi.p2p.WifiP2pGroup): void;
						public onGroupCreated(p2pInfo: android.net.wifi.p2p.WifiP2pInfo, p2pGroup: android.net.wifi.p2p.WifiP2pGroup): void;
						public onGroupCreationFailed(reason: number): void;
						public onGroupRemoved(): void;
						public onDiscoveryStateChanged(state: number): void;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export class WifiP2pWfdInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pWfdInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo>;
					public static DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE: 2048;
					public static DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK: 1024;
					public static DEVICE_INFO_CONTENT_PROTECTION_SUPPORT: 256;
					public static DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK: 8;
					public static DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE: 4;
					public static DEVICE_INFO_DEVICE_TYPE_MASK: 3;
					public static DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK: 128;
					public static DEVICE_INFO_SESSION_AVAILABLE_MASK: 48;
					public static DEVICE_INFO_TDLS_PERSISTENT_GROUP: 4096;
					public static DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE: 8192;
					public static DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT: 512;
					public static DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT: 64;
					public static DEVICE_TYPE_PRIMARY_SINK: 1;
					public static DEVICE_TYPE_SECONDARY_SINK: 2;
					public static DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK: 3;
					public static DEVICE_TYPE_WFD_SOURCE: 0;
					public static PREFERRED_CONNECTIVITY_P2P: 0;
					public static PREFERRED_CONNECTIVITY_TDLS: 1;
					public constructor(source: android.net.wifi.p2p.WifiP2pWfdInfo);
					public setR2DeviceType(deviceType: number): boolean;
					public setMaxThroughput(maxThroughput: number): void;
					public setSessionAvailable(enabled: boolean): void;
					public getR2DeviceInfo(): number;
					public getDeviceType(): number;
					public toString(): string;
					public constructor();
					public setContentProtectionSupported(enabled: boolean): void;
					public isCoupledSinkSupportedAtSource(): boolean;
					public isEnabled(): boolean;
					public setCoupledSinkSupportAtSource(enabled: boolean): void;
					public isR2Supported(): boolean;
					public setDeviceType(deviceType: number): boolean;
					public getMaxThroughput(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
					public getDeviceInfo(): number;
					public isCoupledSinkSupportedAtSink(): boolean;
					public getR2DeviceType(): number;
					public isContentProtectionSupported(): boolean;
					public describeContents(): number;
					public isSessionAvailable(): boolean;
					public getControlPort(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public setEnabled(enabled: boolean): void;
					public setCoupledSinkSupportAtSink(enabled: boolean): void;
					public setControlPort(port: number): 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(instanceName: string, serviceType: string, txtMap: 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(instanceName: string, serviceType: string): android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest;
						public static newInstance(serviceType: string): android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public static newInstance(protocolType: number): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
						public static newInstance(protocolType: number, queryData: string): 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: 0;
						public static SERVICE_TYPE_BONJOUR: 1;
						public static SERVICE_TYPE_UPNP: 2;
						public static SERVICE_TYPE_VENDOR_SPECIFIC: 255;
						public writeToParcel(dest: android.os.Parcel, flags: number): void;
						public describeContents(): number;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public hashCode(): number;
						public equals(o: any): boolean;
					}
				}
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
						public describeContents(): number;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public hashCode(): number;
						public equals(o: any): boolean;
						public static newInstance(protocolType: number): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
						public static newInstance(protocolType: number, queryData: string): 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(uuid: string, device: string, services: 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 static newInstance(st: string): android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public static newInstance(protocolType: number): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
						public static newInstance(protocolType: number, queryData: string): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module rtt {
				export class CivicLocationKeys extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.rtt.CivicLocationKeys>;
					public static ADDITIONAL_CODE: 32;
					public static APT: 26;
					public static BOROUGH: 4;
					public static BRANCH_ROAD_NAME: 36;
					public static BUILDING: 25;
					public static CITY: 3;
					public static COUNTY: 2;
					public static DESK: 33;
					public static FLOOR: 27;
					public static GROUP_OF_STREETS: 6;
					public static HNO: 19;
					public static HNS: 20;
					public static LANGUAGE: 0;
					public static LMK: 21;
					public static LOC: 22;
					public static NAM: 23;
					public static NEIGHBORHOOD: 5;
					public static PCN: 30;
					public static POD: 17;
					public static POSTAL_CODE: 24;
					public static PO_BOX: 31;
					public static PRD: 16;
					public static PRIMARY_ROAD_NAME: 34;
					public static ROAD_SECTION: 35;
					public static ROOM: 28;
					public static SCRIPT: 128;
					public static STATE: 1;
					public static STREET_NAME_POST_MODIFIER: 39;
					public static STREET_NAME_PRE_MODIFIER: 38;
					public static STS: 18;
					public static SUBBRANCH_ROAD_NAME: 37;
					public static TYPE_OF_PLACE: 29;
				}
			}
		}
	}
}

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 toString(): string;
					public static getMaxPeers(): number;
					public getRttBurstSize(): number;
					public describeContents(): number;
					public static getDefaultRttBurstSize(): number;
					public static getMaxRttBurstSize(): number;
					public static getMinRttBurstSize(): number;
					public equals(o: any): boolean;
					public hashCode(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					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(peerMacAddress: android.net.MacAddress): android.net.wifi.rtt.RangingRequest.Builder;
						public constructor();
						public addAccessPoint(apInfo: android.net.wifi.ScanResult): android.net.wifi.rtt.RangingRequest.Builder;
						public build(): android.net.wifi.rtt.RangingRequest;
						public addWifiAwarePeer(peerHandle: android.net.wifi.aware.PeerHandle): android.net.wifi.rtt.RangingRequest.Builder;
						public addNon80211mcCapableAccessPoints(apInfos: java.util.List<android.net.wifi.ScanResult>): android.net.wifi.rtt.RangingRequest.Builder;
						public addNon80211mcCapableAccessPoint(apInfo: android.net.wifi.ScanResult): android.net.wifi.rtt.RangingRequest.Builder;
						public addResponders(responders: java.util.List<android.net.wifi.rtt.ResponderConfig>): android.net.wifi.rtt.RangingRequest.Builder;
						public addAccessPoints(apInfos: java.util.List<android.net.wifi.ScanResult>): android.net.wifi.rtt.RangingRequest.Builder;
						public addResponder(responder: android.net.wifi.rtt.ResponderConfig): android.net.wifi.rtt.RangingRequest.Builder;
						public setRttBurstSize(rttBurstSize: number): 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: 1;
					public static STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC: 2;
					public static STATUS_SUCCESS: 0;
					public static UNSPECIFIED: -1;
					public getMeasurementBandwidth(): number;
					public getDistanceStdDevMm(): number;
					public getMeasurementChannelFrequencyMHz(): number;
					public getMacAddress(): android.net.MacAddress;
					public getNumAttemptedMeasurements(): number;
					public equals(o: any): boolean;
					public getDistanceMm(): number;
					public toString(): string;
					public get80211azNumberOfRxSpatialStreams(): number;
					public hashCode(): number;
					public getNumSuccessfulMeasurements(): number;
					public getStatus(): number;
					public get80211azResponderTxLtfRepetitionsCount(): number;
					public get80211azInitiatorTxLtfRepetitionsCount(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
					public getUnverifiedResponderLocation(): android.net.wifi.rtt.ResponderLocation;
					public getLci(): androidNative.Array<number>;
					public getRssi(): number;
					public getMinTimeBetweenNtbMeasurementsMicros(): number;
					public getPeerHandle(): android.net.wifi.aware.PeerHandle;
					public describeContents(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public is80211azNtbMeasurement(): boolean;
					public get80211azNumberOfTxSpatialStreams(): number;
					public getRangingTimestampMillis(): number;
					public getMaxTimeBetweenNtbMeasurementsMicros(): number;
					public getLcr(): androidNative.Array<number>;
					public is80211mcMeasurement(): boolean;
				}
				export module RangingResult {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.rtt.RangingResult.Builder>;
						public setStatus(status: number): android.net.wifi.rtt.RangingResult.Builder;
						public setMeasurementBandwidth(measurementBandwidth: number): android.net.wifi.rtt.RangingResult.Builder;
						public constructor();
						public setMacAddress(macAddress: android.net.MacAddress): android.net.wifi.rtt.RangingResult.Builder;
						public setNumAttemptedMeasurements(numAttemptedMeasurements: number): android.net.wifi.rtt.RangingResult.Builder;
						public set80211azNumberOfTxSpatialStreams(numTxSpatialStreams: number): android.net.wifi.rtt.RangingResult.Builder;
						public setUnverifiedResponderLocation(responderLocation: android.net.wifi.rtt.ResponderLocation): android.net.wifi.rtt.RangingResult.Builder;
						public set80211mcMeasurement(is80211mcMeasurement: boolean): android.net.wifi.rtt.RangingResult.Builder;
						public setMinTimeBetweenNtbMeasurementsMicros(ntbMinMeasurementTime: number): android.net.wifi.rtt.RangingResult.Builder;
						public setRssi(rssi: number): android.net.wifi.rtt.RangingResult.Builder;
						public setLci(lci: androidNative.Array<number>): android.net.wifi.rtt.RangingResult.Builder;
						public build(): android.net.wifi.rtt.RangingResult;
						public setMeasurementChannelFrequencyMHz(frequencyMHz: number): android.net.wifi.rtt.RangingResult.Builder;
						public setMaxTimeBetweenNtbMeasurementsMicros(ntbMaxMeasurementTime: number): android.net.wifi.rtt.RangingResult.Builder;
						public set80211azNumberOfRxSpatialStreams(numRxSpatialStreams: number): android.net.wifi.rtt.RangingResult.Builder;
						public setNumSuccessfulMeasurements(numSuccessfulMeasurements: number): android.net.wifi.rtt.RangingResult.Builder;
						public setDistanceStdDevMm(distanceStdDevMm: number): android.net.wifi.rtt.RangingResult.Builder;
						public set80211azResponderTxLtfRepetitionsCount(r2iTxLtfRepetitions: number): android.net.wifi.rtt.RangingResult.Builder;
						public setDistanceMm(distanceMm: number): android.net.wifi.rtt.RangingResult.Builder;
						public setPeerHandle(peerHandle: android.net.wifi.aware.PeerHandle): android.net.wifi.rtt.RangingResult.Builder;
						public setRangingTimestampMillis(timestamp: number): android.net.wifi.rtt.RangingResult.Builder;
						public set80211azInitiatorTxLtfRepetitionsCount(i2rTxLtfRepetitions: number): android.net.wifi.rtt.RangingResult.Builder;
						public setLcr(lcr: androidNative.Array<number>): android.net.wifi.rtt.RangingResult.Builder;
						public set80211azNtbMeasurement(is80211azNtbMeasurement: boolean): android.net.wifi.rtt.RangingResult.Builder;
					}
				}
			}
		}
	}
}

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: 1;
					public static STATUS_CODE_FAIL_RTT_NOT_AVAILABLE: 2;
					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 ResponderConfig extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.rtt.ResponderConfig>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig>;
					public static RESPONDER_AP: 0;
					public static RESPONDER_STA: 1;
					public is80211azNtbSupported(): boolean;
					public getCenterFreq0Mhz(): number;
					public getFrequencyMhz(): number;
					public describeContents(): number;
					public getMacAddress(): android.net.MacAddress;
					public getResponderType(): number;
					public is80211mcSupported(): boolean;
					public equals(o: any): boolean;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public toString(): string;
					public getCenterFreq1Mhz(): number;
					public static fromScanResult(scanResult: android.net.wifi.ScanResult): android.net.wifi.rtt.ResponderConfig;
					public getChannelWidth(): number;
					public getPreamble(): number;
					public hashCode(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module ResponderConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.rtt.ResponderConfig.Builder>;
						public constructor();
						public build(): android.net.wifi.rtt.ResponderConfig;
						public setMacAddress(macAddress: android.net.MacAddress): android.net.wifi.rtt.ResponderConfig.Builder;
						public setFrequencyMhz(frequency: number): android.net.wifi.rtt.ResponderConfig.Builder;
						public setResponderType(responderType: number): android.net.wifi.rtt.ResponderConfig.Builder;
						public set80211azNtbSupported(supports80211azNtb: boolean): android.net.wifi.rtt.ResponderConfig.Builder;
						public setCenterFreq1Mhz(centerFreq1: number): android.net.wifi.rtt.ResponderConfig.Builder;
						public set80211mcSupported(supports80211mc: boolean): android.net.wifi.rtt.ResponderConfig.Builder;
						public setChannelWidth(channelWidth: number): android.net.wifi.rtt.ResponderConfig.Builder;
						public setCenterFreq0Mhz(centerFreq0: number): android.net.wifi.rtt.ResponderConfig.Builder;
						public setPreamble(preamble: number): android.net.wifi.rtt.ResponderConfig.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module rtt {
				export class ResponderLocation extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.rtt.ResponderLocation>;
					public static ALTITUDE_FLOORS: 2;
					public static ALTITUDE_METERS: 1;
					public static ALTITUDE_UNDEFINED: 0;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation>;
					public static DATUM_NAD83_MLLW: 3;
					public static DATUM_NAD83_NAV88: 2;
					public static DATUM_UNDEFINED: 0;
					public static DATUM_WGS84: 1;
					public static LCI_VERSION_1: 1;
					public static LOCATION_FIXED: 0;
					public static LOCATION_MOVEMENT_UNKNOWN: 2;
					public static LOCATION_RESERVED: 3;
					public static LOCATION_VARIABLE: 1;
					public equals(obj: any): boolean;
					public getLatitude(): number;
					public getLongitude(): number;
					public getHeightAboveFloorMeters(): number;
					public getLciVersion(): number;
					public toCivicLocationAddress(): android.location.Address;
					public getDatum(): number;
					public isZaxisSubelementValid(): boolean;
					public getRegisteredLocationAgreementIndication(): boolean;
					public getLongitudeUncertainty(): number;
					public getMapImageUri(): android.net.Uri;
					public toCivicLocationSparseArray(): android.util.SparseArray<string>;
					public hashCode(): number;
					public isLciSubelementValid(): boolean;
					public getExpectedToMove(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
					public getHeightAboveFloorUncertaintyMeters(): number;
					public getAltitude(): number;
					public describeContents(): number;
					public getLatitudeUncertainty(): number;
					public getFloorNumber(): number;
					public getAltitudeType(): number;
					public getMapImageMimeType(): string;
					public getColocatedBssids(): java.util.List<android.net.MacAddress>;
					public toLocation(): android.location.Location;
					public getAltitudeUncertainty(): number;
					public writeToParcel(parcel: android.os.Parcel, flags: 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: "android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED";
					public static CHARACTERISTICS_KEY_BOOLEAN_LCI: "key_lci";
					public static CHARACTERISTICS_KEY_BOOLEAN_LCR: "key_lcr";
					public static CHARACTERISTICS_KEY_BOOLEAN_NTB_INITIATOR: "key_ntb_initiator";
					public static CHARACTERISTICS_KEY_BOOLEAN_ONE_SIDED_RTT: "key_one_sided_rtt";
					public static CHARACTERISTICS_KEY_BOOLEAN_STA_RESPONDER: "key_sta_responder";
					public startRanging(request: android.net.wifi.rtt.RangingRequest, executor: java.util.concurrent.Executor, callback: android.net.wifi.rtt.RangingResultCallback): void;
					public getRttCharacteristics(): android.os.Bundle;
					public isAvailable(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module nfc {
		export class AvailableNfcAntenna extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.nfc.AvailableNfcAntenna>;
			public static CREATOR: android.os.Parcelable.Creator<android.nfc.AvailableNfcAntenna>;
			public getLocationX(): number;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(locationX: number, locationY: number);
			public getLocationY(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module nfc {
		export class FormatException extends java.lang.Exception {
			public static class: java.lang.Class<android.nfc.FormatException>;
			public constructor(message: string);
			public constructor(message: string, e: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(record: android.nfc.NdefRecord, records: androidNative.Array<android.nfc.NdefRecord>);
			public constructor(records: androidNative.Array<android.nfc.NdefRecord>);
			public constructor(data: androidNative.Array<number>);
			public getByteArrayLength(): number;
			public toByteArray(): androidNative.Array<number>;
			public getRecords(): androidNative.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: androidNative.Array<number>;
			public static RTD_HANDOVER_CARRIER: androidNative.Array<number>;
			public static RTD_HANDOVER_REQUEST: androidNative.Array<number>;
			public static RTD_HANDOVER_SELECT: androidNative.Array<number>;
			public static RTD_SMART_POSTER: androidNative.Array<number>;
			public static RTD_TEXT: androidNative.Array<number>;
			public static RTD_URI: androidNative.Array<number>;
			public static TNF_ABSOLUTE_URI: 3;
			public static TNF_EMPTY: 0;
			public static TNF_EXTERNAL_TYPE: 4;
			public static TNF_MIME_MEDIA: 2;
			public static TNF_UNCHANGED: 6;
			public static TNF_UNKNOWN: 5;
			public static TNF_WELL_KNOWN: 1;
			/** @deprecated */
			public toByteArray(): androidNative.Array<number>;
			public getPayload(): androidNative.Array<number>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			/** @deprecated */
			public constructor(data: androidNative.Array<number>);
			public static createMime(mimeType: string, mimeData: androidNative.Array<number>): android.nfc.NdefRecord;
			public static createUri(uri: android.net.Uri): android.nfc.NdefRecord;
			public static createExternal(domain: string, type: string, data: androidNative.Array<number>): android.nfc.NdefRecord;
			public getTnf(): number;
			public getType(): androidNative.Array<number>;
			public static createTextRecord(languageCode: string, text: string): android.nfc.NdefRecord;
			public toString(): string;
			public equals(obj: any): boolean;
			public toUri(): android.net.Uri;
			public describeContents(): number;
			public constructor(tnf: number, type: androidNative.Array<number>, id: androidNative.Array<number>, payload: androidNative.Array<number>);
			public static createUri(uriString: string): android.nfc.NdefRecord;
			public toMimeType(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getId(): androidNative.Array<number>;
			public static createApplicationRecord(packageName: string): android.nfc.NdefRecord;
			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: "android.nfc.action.ADAPTER_STATE_CHANGED";
			public static ACTION_NDEF_DISCOVERED: "android.nfc.action.NDEF_DISCOVERED";
			public static ACTION_PREFERRED_PAYMENT_CHANGED: "android.nfc.action.PREFERRED_PAYMENT_CHANGED";
			public static ACTION_TAG_DISCOVERED: "android.nfc.action.TAG_DISCOVERED";
			public static ACTION_TECH_DISCOVERED: "android.nfc.action.TECH_DISCOVERED";
			public static ACTION_TRANSACTION_DETECTED: "android.nfc.action.TRANSACTION_DETECTED";
			public static EXTRA_ADAPTER_STATE: "android.nfc.extra.ADAPTER_STATE";
			public static EXTRA_AID: "android.nfc.extra.AID";
			public static EXTRA_DATA: "android.nfc.extra.DATA";
			public static EXTRA_ID: "android.nfc.extra.ID";
			public static EXTRA_NDEF_MESSAGES: "android.nfc.extra.NDEF_MESSAGES";
			public static EXTRA_PREFERRED_PAYMENT_CHANGED_REASON: "android.nfc.extra.PREFERRED_PAYMENT_CHANGED_REASON";
			public static EXTRA_READER_PRESENCE_CHECK_DELAY: "presence";
			public static EXTRA_SECURE_ELEMENT_NAME: "android.nfc.extra.SECURE_ELEMENT_NAME";
			public static EXTRA_TAG: "android.nfc.extra.TAG";
			public static FLAG_LISTEN_DISABLE: 0;
			public static FLAG_LISTEN_KEEP: -2147483648;
			public static FLAG_LISTEN_NFC_PASSIVE_A: 1;
			public static FLAG_LISTEN_NFC_PASSIVE_B: 2;
			public static FLAG_LISTEN_NFC_PASSIVE_F: 4;
			public static FLAG_READER_DISABLE: 0;
			public static FLAG_READER_KEEP: -2147483648;
			public static FLAG_READER_NFC_A: 1;
			public static FLAG_READER_NFC_B: 2;
			public static FLAG_READER_NFC_BARCODE: 16;
			public static FLAG_READER_NFC_F: 4;
			public static FLAG_READER_NFC_V: 8;
			public static FLAG_READER_NO_PLATFORM_SOUNDS: 256;
			public static FLAG_READER_SKIP_NDEF_CHECK: 128;
			public static PREFERRED_PAYMENT_CHANGED: 2;
			public static PREFERRED_PAYMENT_LOADED: 1;
			public static PREFERRED_PAYMENT_UPDATED: 3;
			public static STATE_OFF: 1;
			public static STATE_ON: 3;
			public static STATE_TURNING_OFF: 4;
			public static STATE_TURNING_ON: 2;
			public isObserveModeEnabled(): boolean;
			public isSecureNfcSupported(): boolean;
			public isReaderOptionSupported(): boolean;
			public disableForegroundDispatch(activity: android.app.Activity): void;
			public enableForegroundDispatch(activity: android.app.Activity, intent: android.app.PendingIntent, filters: androidNative.Array<android.content.IntentFilter>, techLists: androidNative.Array<androidNative.Array<string>>): void;
			public disableReaderMode(activity: android.app.Activity): void;
			public static getDefaultAdapter(context: android.content.Context): android.nfc.NfcAdapter;
			public isEnabled(): boolean;
			public resetDiscoveryTechnology(activity: android.app.Activity): void;
			public ignore(tag: android.nfc.Tag, debounceMs: number, tagRemovedListener: android.nfc.NfcAdapter.OnTagRemovedListener, handler: android.os.Handler): boolean;
			public getNfcAntennaInfo(): android.nfc.NfcAntennaInfo;
			public isReaderOptionEnabled(): boolean;
			public setObserveModeEnabled(enabled: boolean): boolean;
			public setDiscoveryTechnology(activity: android.app.Activity, pollTechnology: number, listenTechnology: number): void;
			public isObserveModeSupported(): boolean;
			public enableReaderMode(activity: android.app.Activity, callback: android.nfc.NfcAdapter.ReaderCallback, flags: number, extras: android.os.Bundle): void;
			public isSecureNfcEnabled(): boolean;
		}
		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): androidNative.Array<android.net.Uri>;
				});
				public constructor();
				/** @deprecated */
				public createBeamUris(param0: android.nfc.NfcEvent): androidNative.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();
				/** @deprecated */
				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();
				/** @deprecated */
				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 NfcAntennaInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.nfc.NfcAntennaInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.nfc.NfcAntennaInfo>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getDeviceWidth(): number;
			public describeContents(): number;
			public getAvailableNfcAntennas(): java.util.List<android.nfc.AvailableNfcAntenna>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDeviceHeight(): number;
			public isDeviceFoldable(): boolean;
			public constructor(deviceWidth: number, deviceHeight: number, deviceFoldable: boolean, availableNfcAntennas: java.util.List<android.nfc.AvailableNfcAntenna>);
		}
	}
}

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 toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getTechList(): androidNative.Array<string>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getId(): androidNative.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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: "android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT";
				public static CATEGORY_OTHER: "other";
				public static CATEGORY_PAYMENT: "payment";
				public static EXTRA_CATEGORY: "category";
				public static EXTRA_SERVICE_COMPONENT: "component";
				public static SELECTION_MODE_ALWAYS_ASK: 1;
				public static SELECTION_MODE_ASK_IF_CONFLICT: 2;
				public static SELECTION_MODE_PREFER_DEFAULT: 0;
				public getSelectionModeForCategory(category: string): number;
				public supportsAidPrefixRegistration(): boolean;
				public setPreferredService(activity: android.app.Activity, service: android.content.ComponentName): boolean;
				public isDefaultServiceForAid(service: android.content.ComponentName, aid: string): boolean;
				public unsetPreferredService(activity: android.app.Activity): boolean;
				public removePollingLoopPatternFilterForService(service: android.content.ComponentName, pollingLoopPatternFilter: string): boolean;
				public registerAidsForService(service: android.content.ComponentName, category: string, aids: java.util.List<string>): boolean;
				public unsetOffHostForService(service: android.content.ComponentName): boolean;
				public isDefaultServiceForCategory(service: android.content.ComponentName, category: string): boolean;
				public removePollingLoopFilterForService(service: android.content.ComponentName, pollingLoopFilter: string): boolean;
				public removeAidsForService(service: android.content.ComponentName, category: string): boolean;
				public getAidsForPreferredPaymentService(): java.util.List<string>;
				public registerPollingLoopPatternFilterForService(service: android.content.ComponentName, pollingLoopPatternFilter: string, autoTransact: boolean): boolean;
				public static getInstance(adapter: android.nfc.NfcAdapter): android.nfc.cardemulation.CardEmulation;
				public getRouteDestinationForPreferredPaymentService(): string;
				public setOffHostForService(service: android.content.ComponentName, offHostSecureElement: string): boolean;
				public categoryAllowsForegroundPreference(category: string): boolean;
				public getDescriptionForPreferredPaymentService(): string;
				public getAidsForService(service: android.content.ComponentName, category: string): java.util.List<string>;
				public setShouldDefaultToObserveModeForService(service: android.content.ComponentName, enable: boolean): boolean;
				public registerPollingLoopFilterForService(service: android.content.ComponentName, pollingLoopFilter: string, autoTransact: boolean): 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: 1;
				public static DEACTIVATION_LINK_LOSS: 0;
				public static SERVICE_INTERFACE: "android.nfc.cardemulation.action.HOST_APDU_SERVICE";
				public static SERVICE_META_DATA: "android.nfc.cardemulation.host_apdu_service";
				public processPollingFrames(frame: java.util.List<android.nfc.cardemulation.PollingFrame>): void;
				public onDeactivated(param0: number): void;
				public sendResponseApdu(responseApdu: androidNative.Array<number>): void;
				public notifyUnhandled(): void;
				public processCommandApdu(param0: androidNative.Array<number>, param1: android.os.Bundle): androidNative.Array<number>;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				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: 0;
				public static SERVICE_INTERFACE: "android.nfc.cardemulation.action.HOST_NFCF_SERVICE";
				public static SERVICE_META_DATA: "android.nfc.cardemulation.host_nfcf_service";
				public sendResponsePacket(responsePacket: androidNative.Array<number>): void;
				public onDeactivated(param0: number): void;
				public processNfcFPacket(param0: androidNative.Array<number>, param1: android.os.Bundle): androidNative.Array<number>;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				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 registerSystemCodeForService(service: android.content.ComponentName, systemCode: string): boolean;
				public getNfcid2ForService(service: android.content.ComponentName): string;
				public disableService(activity: android.app.Activity): boolean;
				public unregisterSystemCodeForService(service: android.content.ComponentName): boolean;
				public getSystemCodeForService(service: android.content.ComponentName): string;
				public setNfcid2ForService(service: android.content.ComponentName, nfcid2: string): boolean;
				public enableService(activity: android.app.Activity, service: android.content.ComponentName): boolean;
				public static getInstance(adapter: 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: "android.nfc.cardemulation.action.OFF_HOST_APDU_SERVICE";
				public static SERVICE_META_DATA: "android.nfc.cardemulation.off_host_apdu_service";
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				public constructor();
			}
		}
	}
}

declare module android {
	export module nfc {
		export module cardemulation {
			export class PollingFrame extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.nfc.cardemulation.PollingFrame>;
				public static CREATOR: android.os.Parcelable.Creator<android.nfc.cardemulation.PollingFrame>;
				public static POLLING_LOOP_TYPE_A: 65;
				public static POLLING_LOOP_TYPE_B: 66;
				public static POLLING_LOOP_TYPE_F: 70;
				public static POLLING_LOOP_TYPE_OFF: 88;
				public static POLLING_LOOP_TYPE_ON: 79;
				public static POLLING_LOOP_TYPE_UNKNOWN: 85;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTriggeredAutoTransact(): boolean;
				public getData(): androidNative.Array<number>;
				public describeContents(): number;
				public getVendorSpecificGain(): number;
				public toString(): string;
				public getTimestamp(): number;
			}
		}
	}
}

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 isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public static get(tag: android.nfc.Tag): android.nfc.tech.IsoDep;
				public getTimeout(): number;
				public transceive(data: androidNative.Array<number>): androidNative.Array<number>;
				public setTimeout(timeout: number): void;
				public getHistoricalBytes(): androidNative.Array<number>;
				public getMaxTransceiveLength(): number;
				public isExtendedLengthApduSupported(): boolean;
				public getTag(): android.nfc.Tag;
				public getHiLayerResponse(): androidNative.Array<number>;
			}
		}
	}
}

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: 16;
				public static KEY_DEFAULT: androidNative.Array<number>;
				public static KEY_MIFARE_APPLICATION_DIRECTORY: androidNative.Array<number>;
				public static KEY_NFC_FORUM: androidNative.Array<number>;
				public static SIZE_1K: 1024;
				public static SIZE_2K: 2048;
				public static SIZE_4K: 4096;
				public static SIZE_MINI: 320;
				public static TYPE_CLASSIC: 0;
				public static TYPE_PLUS: 1;
				public static TYPE_PRO: 2;
				public static TYPE_UNKNOWN: -1;
				public close(): void;
				public getBlockCountInSector(sectorIndex: number): number;
				public getType(): number;
				public getSectorCount(): number;
				public static get(tag: android.nfc.Tag): android.nfc.tech.MifareClassic;
				public getBlockCount(): number;
				public restore(blockIndex: number): void;
				public transceive(data: androidNative.Array<number>): androidNative.Array<number>;
				public getTimeout(): number;
				public getMaxTransceiveLength(): number;
				public setTimeout(timeout: number): void;
				public authenticateSectorWithKeyA(sectorIndex: number, key: androidNative.Array<number>): boolean;
				public writeBlock(blockIndex: number, data: androidNative.Array<number>): void;
				public sectorToBlock(sectorIndex: number): number;
				public transfer(blockIndex: number): void;
				public isConnected(): boolean;
				public connect(): void;
				public decrement(blockIndex: number, value: number): void;
				public getSize(): number;
				public blockToSector(blockIndex: number): number;
				public readBlock(blockIndex: number): androidNative.Array<number>;
				public getTag(): android.nfc.Tag;
				public authenticateSectorWithKeyB(sectorIndex: number, key: androidNative.Array<number>): boolean;
				public increment(blockIndex: number, value: number): void;
			}
		}
	}
}

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: 4;
				public static TYPE_ULTRALIGHT: 1;
				public static TYPE_ULTRALIGHT_C: 2;
				public static TYPE_UNKNOWN: -1;
				public readPages(pageOffset: number): androidNative.Array<number>;
				public isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public getType(): number;
				public writePage(pageOffset: number, data: androidNative.Array<number>): void;
				public transceive(data: androidNative.Array<number>): androidNative.Array<number>;
				public getTimeout(): number;
				public getMaxTransceiveLength(): number;
				public setTimeout(timeout: number): void;
				public getTag(): android.nfc.Tag;
				public static get(tag: android.nfc.Tag): android.nfc.tech.MifareUltralight;
			}
		}
	}
}

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: "com.nxp.ndef.mifareclassic";
				public static NFC_FORUM_TYPE_1: "org.nfcforum.ndef.type1";
				public static NFC_FORUM_TYPE_2: "org.nfcforum.ndef.type2";
				public static NFC_FORUM_TYPE_3: "org.nfcforum.ndef.type3";
				public static NFC_FORUM_TYPE_4: "org.nfcforum.ndef.type4";
				public getType(): string;
				public getCachedNdefMessage(): android.nfc.NdefMessage;
				public close(): void;
				public writeNdefMessage(msg: android.nfc.NdefMessage): void;
				public static get(tag: android.nfc.Tag): android.nfc.tech.Ndef;
				public makeReadOnly(): boolean;
				public isConnected(): boolean;
				public connect(): 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(firstMessage: android.nfc.NdefMessage): void;
				public isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public formatReadOnly(firstMessage: android.nfc.NdefMessage): void;
				public getTag(): android.nfc.Tag;
				public static get(tag: android.nfc.Tag): android.nfc.tech.NdefFormatable;
			}
		}
	}
}

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 isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public getAtqa(): androidNative.Array<number>;
				public getSak(): number;
				public transceive(data: androidNative.Array<number>): androidNative.Array<number>;
				public getTimeout(): number;
				public getMaxTransceiveLength(): number;
				public setTimeout(timeout: number): void;
				public getTag(): android.nfc.Tag;
				public static get(tag: android.nfc.Tag): android.nfc.tech.NfcA;
			}
		}
	}
}

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 isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public transceive(data: androidNative.Array<number>): androidNative.Array<number>;
				public getApplicationData(): androidNative.Array<number>;
				public getMaxTransceiveLength(): number;
				public getTag(): android.nfc.Tag;
				public getProtocolInfo(): androidNative.Array<number>;
				public static get(tag: android.nfc.Tag): android.nfc.tech.NfcB;
			}
		}
	}
}

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: 1;
				public static TYPE_UNKNOWN: -1;
				public static get(tag: android.nfc.Tag): android.nfc.tech.NfcBarcode;
				public isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public getType(): number;
				public getTag(): android.nfc.Tag;
				public getBarcode(): androidNative.Array<number>;
			}
		}
	}
}

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 static get(tag: android.nfc.Tag): android.nfc.tech.NfcF;
				public isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public transceive(data: androidNative.Array<number>): androidNative.Array<number>;
				public getTimeout(): number;
				public getMaxTransceiveLength(): number;
				public setTimeout(timeout: number): void;
				public getTag(): android.nfc.Tag;
				public getManufacturer(): androidNative.Array<number>;
				public getSystemCode(): androidNative.Array<number>;
			}
		}
	}
}

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 static get(tag: android.nfc.Tag): android.nfc.tech.NfcV;
				public isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public getResponseFlags(): number;
				public transceive(data: androidNative.Array<number>): androidNative.Array<number>;
				public getMaxTransceiveLength(): number;
				public getTag(): android.nfc.Tag;
			}
		}
	}
}

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: 12350;
			public static EGL_ALPHA_SIZE: 12321;
			public static EGL_BACK_BUFFER: 12420;
			public static EGL_BAD_ACCESS: 12290;
			public static EGL_BAD_ALLOC: 12291;
			public static EGL_BAD_ATTRIBUTE: 12292;
			public static EGL_BAD_CONFIG: 12293;
			public static EGL_BAD_CONTEXT: 12294;
			public static EGL_BAD_CURRENT_SURFACE: 12295;
			public static EGL_BAD_DISPLAY: 12296;
			public static EGL_BAD_MATCH: 12297;
			public static EGL_BAD_NATIVE_PIXMAP: 12298;
			public static EGL_BAD_NATIVE_WINDOW: 12299;
			public static EGL_BAD_PARAMETER: 12300;
			public static EGL_BAD_SURFACE: 12301;
			public static EGL_BIND_TO_TEXTURE_RGB: 12345;
			public static EGL_BIND_TO_TEXTURE_RGBA: 12346;
			public static EGL_BLUE_SIZE: 12322;
			public static EGL_BUFFER_DESTROYED: 12437;
			public static EGL_BUFFER_PRESERVED: 12436;
			public static EGL_BUFFER_SIZE: 12320;
			public static EGL_CLIENT_APIS: 12429;
			public static EGL_COLOR_BUFFER_TYPE: 12351;
			public static EGL_CONFIG_CAVEAT: 12327;
			public static EGL_CONFIG_ID: 12328;
			public static EGL_CONFORMANT: 12354;
			public static EGL_CONTEXT_CLIENT_TYPE: 12439;
			public static EGL_CONTEXT_CLIENT_VERSION: 12440;
			public static EGL_CONTEXT_LOST: 12302;
			public static EGL_CORE_NATIVE_ENGINE: 12379;
			public static EGL_DEFAULT_DISPLAY: 0;
			public static EGL_DEPTH_SIZE: 12325;
			public static EGL_DISPLAY_SCALING: 10000;
			public static EGL_DRAW: 12377;
			public static EGL_EXTENSIONS: 12373;
			public static EGL_FALSE: 0;
			public static EGL_GREEN_SIZE: 12323;
			public static EGL_HEIGHT: 12374;
			public static EGL_HORIZONTAL_RESOLUTION: 12432;
			public static EGL_LARGEST_PBUFFER: 12376;
			public static EGL_LEVEL: 12329;
			public static EGL_LUMINANCE_BUFFER: 12431;
			public static EGL_LUMINANCE_SIZE: 12349;
			public static EGL_MATCH_NATIVE_PIXMAP: 12353;
			public static EGL_MAX_PBUFFER_HEIGHT: 12330;
			public static EGL_MAX_PBUFFER_PIXELS: 12331;
			public static EGL_MAX_PBUFFER_WIDTH: 12332;
			public static EGL_MAX_SWAP_INTERVAL: 12348;
			public static EGL_MIN_SWAP_INTERVAL: 12347;
			public static EGL_MIPMAP_LEVEL: 12419;
			public static EGL_MIPMAP_TEXTURE: 12418;
			public static EGL_MULTISAMPLE_RESOLVE: 12441;
			public static EGL_MULTISAMPLE_RESOLVE_BOX: 12443;
			public static EGL_MULTISAMPLE_RESOLVE_BOX_BIT: 512;
			public static EGL_MULTISAMPLE_RESOLVE_DEFAULT: 12442;
			public static EGL_NATIVE_RENDERABLE: 12333;
			public static EGL_NATIVE_VISUAL_ID: 12334;
			public static EGL_NATIVE_VISUAL_TYPE: 12335;
			public static EGL_NONE: 12344;
			public static EGL_NON_CONFORMANT_CONFIG: 12369;
			public static EGL_NOT_INITIALIZED: 12289;
			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: 12380;
			public static EGL_OPENGL_API: 12450;
			public static EGL_OPENGL_BIT: 8;
			public static EGL_OPENGL_ES2_BIT: 4;
			public static EGL_OPENGL_ES_API: 12448;
			public static EGL_OPENGL_ES_BIT: 1;
			public static EGL_OPENVG_API: 12449;
			public static EGL_OPENVG_BIT: 2;
			public static EGL_OPENVG_IMAGE: 12438;
			public static EGL_PBUFFER_BIT: 1;
			public static EGL_PIXEL_ASPECT_RATIO: 12434;
			public static EGL_PIXMAP_BIT: 2;
			public static EGL_READ: 12378;
			public static EGL_RED_SIZE: 12324;
			public static EGL_RENDERABLE_TYPE: 12352;
			public static EGL_RENDER_BUFFER: 12422;
			public static EGL_RGB_BUFFER: 12430;
			public static EGL_SAMPLES: 12337;
			public static EGL_SAMPLE_BUFFERS: 12338;
			public static EGL_SINGLE_BUFFER: 12421;
			public static EGL_SLOW_CONFIG: 12368;
			public static EGL_STENCIL_SIZE: 12326;
			public static EGL_SUCCESS: 12288;
			public static EGL_SURFACE_TYPE: 12339;
			public static EGL_SWAP_BEHAVIOR: 12435;
			public static EGL_SWAP_BEHAVIOR_PRESERVED_BIT: 1024;
			public static EGL_TEXTURE_2D: 12383;
			public static EGL_TEXTURE_FORMAT: 12416;
			public static EGL_TEXTURE_RGB: 12381;
			public static EGL_TEXTURE_RGBA: 12382;
			public static EGL_TEXTURE_TARGET: 12417;
			public static EGL_TRANSPARENT_BLUE_VALUE: 12341;
			public static EGL_TRANSPARENT_GREEN_VALUE: 12342;
			public static EGL_TRANSPARENT_RED_VALUE: 12343;
			public static EGL_TRANSPARENT_RGB: 12370;
			public static EGL_TRANSPARENT_TYPE: 12340;
			public static EGL_TRUE: 1;
			public static EGL_VENDOR: 12371;
			public static EGL_VERSION: 12372;
			public static EGL_VERTICAL_RESOLUTION: 12433;
			public static EGL_VG_ALPHA_FORMAT: 12424;
			public static EGL_VG_ALPHA_FORMAT_NONPRE: 12427;
			public static EGL_VG_ALPHA_FORMAT_PRE: 12428;
			public static EGL_VG_ALPHA_FORMAT_PRE_BIT: 64;
			public static EGL_VG_COLORSPACE: 12423;
			public static EGL_VG_COLORSPACE_LINEAR: 12426;
			public static EGL_VG_COLORSPACE_LINEAR_BIT: 32;
			public static EGL_VG_COLORSPACE_sRGB: 12425;
			public static EGL_WIDTH: 12375;
			public static EGL_WINDOW_BIT: 4;
			public static eglReleaseTexImage(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number): boolean;
			public static eglTerminate(param0: android.opengl.EGLDisplay): boolean;
			public static eglCreateWindowSurface(dpy: android.opengl.EGLDisplay, config: android.opengl.EGLConfig, win: any, attrib_list: androidNative.Array<number>, offset: number): android.opengl.EGLSurface;
			public static eglQuerySurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number, param3: androidNative.Array<number>, param4: number): boolean;
			public static eglCreatePbufferFromClientBuffer(param0: android.opengl.EGLDisplay, param1: number, param2: number, param3: android.opengl.EGLConfig, param4: androidNative.Array<number>, param5: number): android.opengl.EGLSurface;
			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 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 eglCreatePbufferSurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: androidNative.Array<number>, param3: number): android.opengl.EGLSurface;
			public static eglSwapBuffers(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface): boolean;
			public static eglChooseConfig(param0: android.opengl.EGLDisplay, param1: androidNative.Array<number>, param2: number, param3: androidNative.Array<android.opengl.EGLConfig>, param4: number, param5: number, param6: androidNative.Array<number>, param7: number): 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 eglQueryContext(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLContext, param2: number, param3: androidNative.Array<number>, param4: number): boolean;
			public static eglGetConfigs(param0: android.opengl.EGLDisplay, param1: androidNative.Array<android.opengl.EGLConfig>, param2: number, param3: number, param4: androidNative.Array<number>, param5: number): boolean;
			public static eglQueryString(param0: android.opengl.EGLDisplay, param1: number): string;
			public static eglWaitNative(param0: number): boolean;
			public constructor();
			public static eglBindAPI(param0: number): boolean;
			public static eglGetError(): number;
			public static eglGetConfigAttrib(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: number, param3: androidNative.Array<number>, param4: number): boolean;
			public static eglReleaseThread(): boolean;
			public static eglBindTexImage(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number): boolean;
			public static eglCreateContext(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: android.opengl.EGLContext, param3: androidNative.Array<number>, param4: number): android.opengl.EGLContext;
			public static eglCopyBuffers(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number): boolean;
			/** @deprecated */
			public static eglCreatePixmapSurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: number, param3: androidNative.Array<number>, param4: number): android.opengl.EGLSurface;
			public static eglInitialize(param0: android.opengl.EGLDisplay, param1: androidNative.Array<number>, param2: number, param3: androidNative.Array<number>, param4: number): boolean;
			public static eglDestroyContext(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLContext): boolean;
			public static eglGetCurrentDisplay(): android.opengl.EGLDisplay;
		}
	}
}

declare module android {
	export module opengl {
		export class EGL15 extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.EGL15>;
			public static EGL_CL_EVENT_HANDLE: 12444;
			public static EGL_CONDITION_SATISFIED: 12534;
			public static EGL_CONTEXT_MAJOR_VERSION: 12440;
			public static EGL_CONTEXT_MINOR_VERSION: 12539;
			public static EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT: 2;
			public static EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT: 1;
			public static EGL_CONTEXT_OPENGL_DEBUG: 12720;
			public static EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE: 12721;
			public static EGL_CONTEXT_OPENGL_PROFILE_MASK: 12541;
			public static EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY: 12733;
			public static EGL_CONTEXT_OPENGL_ROBUST_ACCESS: 12722;
			public static EGL_FOREVER: -1;
			public static EGL_GL_COLORSPACE: 12445;
			public static EGL_GL_COLORSPACE_LINEAR: 12426;
			public static EGL_GL_COLORSPACE_SRGB: 12425;
			public static EGL_GL_RENDERBUFFER: 12473;
			public static EGL_GL_TEXTURE_2D: 12465;
			public static EGL_GL_TEXTURE_3D: 12466;
			public static EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X: 12468;
			public static EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: 12470;
			public static EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: 12472;
			public static EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X: 12467;
			public static EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y: 12469;
			public static EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z: 12471;
			public static EGL_GL_TEXTURE_LEVEL: 12476;
			public static EGL_GL_TEXTURE_ZOFFSET: 12477;
			public static EGL_IMAGE_PRESERVED: 12498;
			public static EGL_LOSE_CONTEXT_ON_RESET: 12735;
			public static EGL_NO_CONTEXT: android.opengl.EGLContext;
			public static EGL_NO_DISPLAY: android.opengl.EGLDisplay;
			public static EGL_NO_IMAGE: android.opengl.EGLImage;
			public static EGL_NO_RESET_NOTIFICATION: 12734;
			public static EGL_NO_SURFACE: android.opengl.EGLSurface;
			public static EGL_NO_SYNC: android.opengl.EGLSync;
			public static EGL_OPENGL_ES3_BIT: 64;
			public static EGL_PLATFORM_ANDROID_KHR: 12609;
			public static EGL_SIGNALED: 12530;
			public static EGL_SYNC_CL_EVENT: 12542;
			public static EGL_SYNC_CL_EVENT_COMPLETE: 12543;
			public static EGL_SYNC_CONDITION: 12536;
			public static EGL_SYNC_FENCE: 12537;
			public static EGL_SYNC_FLUSH_COMMANDS_BIT: 1;
			public static EGL_SYNC_PRIOR_COMMANDS_COMPLETE: 12528;
			public static EGL_SYNC_STATUS: 12529;
			public static EGL_SYNC_TYPE: 12535;
			public static EGL_TIMEOUT_EXPIRED: 12533;
			public static EGL_UNSIGNALED: 12531;
			public static eglCreatePlatformWindowSurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: java.nio.Buffer, param3: androidNative.Array<number>, param4: number): android.opengl.EGLSurface;
			public static eglDestroyImage(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLImage): boolean;
			public static eglDestroySync(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSync): boolean;
			public static eglGetPlatformDisplay(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): android.opengl.EGLDisplay;
			public static eglCreatePlatformPixmapSurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: java.nio.Buffer, param3: androidNative.Array<number>, param4: number): android.opengl.EGLSurface;
			public static eglCreateSync(param0: android.opengl.EGLDisplay, param1: number, param2: androidNative.Array<number>, param3: number): android.opengl.EGLSync;
			public static eglGetSyncAttrib(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSync, param2: number, param3: androidNative.Array<number>, param4: number): boolean;
			public static eglCreateImage(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLContext, param2: number, param3: number, param4: androidNative.Array<number>, param5: number): android.opengl.EGLImage;
			public static eglWaitSync(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSync, param2: number): boolean;
			public static eglClientWaitSync(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSync, param2: number, param3: number): number;
		}
	}
}

declare module android {
	export module opengl {
		export class EGLConfig extends android.opengl.EGLObjectHandle {
			public static class: java.lang.Class<android.opengl.EGLConfig>;
			public equals(o: 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(o: 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(o: 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: 12540;
			public static EGL_CONTEXT_MAJOR_VERSION_KHR: 12440;
			public static EGL_CONTEXT_MINOR_VERSION_KHR: 12539;
			public static EGL_NO_NATIVE_FENCE_FD_ANDROID: -1;
			public static EGL_OPENGL_ES3_BIT_KHR: 64;
			public static EGL_RECORDABLE_ANDROID: 12610;
			public static EGL_SYNC_NATIVE_FENCE_ANDROID: 12612;
			public static EGL_SYNC_NATIVE_FENCE_FD_ANDROID: 12613;
			public static EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID: 12614;
			public static eglDupNativeFenceFDANDROID(display: android.opengl.EGLDisplay, sync: android.opengl.EGLSync): android.hardware.SyncFence;
			public static eglPresentationTimeANDROID(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number): boolean;
			public constructor();
		}
	}
}

declare module android {
	export module opengl {
		export class EGLImage extends android.opengl.EGLObjectHandle {
			public static class: java.lang.Class<android.opengl.EGLImage>;
			public equals(o: any): boolean;
		}
	}
}

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(handle: number);
			public constructor(handle: 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(o: any): boolean;
		}
	}
}

declare module android {
	export module opengl {
		export class EGLSync extends android.opengl.EGLObjectHandle {
			public static class: java.lang.Class<android.opengl.EGLSync>;
			public equals(o: 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: 48;
			public static ENCODED_BLOCK_SIZE: 8;
			public static ETC1_RGB8_OES: 36196;
			public static ETC_PKM_HEADER_SIZE: 16;
			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 writeTexture(texture: android.opengl.ETC1Util.ETC1Texture, output: java.io.OutputStream): void;
			public static loadTexture(target: number, level: number, border: number, fallbackFormat: number, fallbackType: number, input: java.io.InputStream): void;
			public constructor();
			public static createTexture(input: java.io.InputStream): android.opengl.ETC1Util.ETC1Texture;
			public static compressTexture(input: java.nio.Buffer, width: number, height: number, pixelSize: number, stride: number): android.opengl.ETC1Util.ETC1Texture;
			public static loadTexture(target: number, level: number, border: number, fallbackFormat: number, fallbackType: number, texture: android.opengl.ETC1Util.ETC1Texture): 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(width: number, height: number, data: 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: 1;
			public static CONFIG_CHECK_THREAD: 2;
			public static CONFIG_LOG_ARGUMENT_NAMES: 4;
			public static ERROR_WRONG_THREAD: 28672;
			public static wrap(gl: javax.microedition.khronos.opengles.GL, configFlags: number, log: java.io.Writer): javax.microedition.khronos.opengles.GL;
			public static wrap(egl: javax.microedition.khronos.egl.EGL, configFlags: number, log: java.io.Writer): javax.microedition.khronos.egl.EGL;
			public constructor();
		}
	}
}

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: 260;
			public static GL_ALIASED_LINE_WIDTH_RANGE: 33902;
			public static GL_ALIASED_POINT_SIZE_RANGE: 33901;
			public static GL_ALPHA: 6406;
			public static GL_ALPHA_BITS: 3413;
			public static GL_ALPHA_TEST: 3008;
			public static GL_ALWAYS: 519;
			public static GL_AMBIENT: 4608;
			public static GL_AMBIENT_AND_DIFFUSE: 5634;
			public static GL_AND: 5377;
			public static GL_AND_INVERTED: 5380;
			public static GL_AND_REVERSE: 5378;
			public static GL_BACK: 1029;
			public static GL_BLEND: 3042;
			public static GL_BLUE_BITS: 3412;
			public static GL_BYTE: 5120;
			public static GL_CCW: 2305;
			public static GL_CLAMP_TO_EDGE: 33071;
			public static GL_CLEAR: 5376;
			public static GL_COLOR_ARRAY: 32886;
			public static GL_COLOR_BUFFER_BIT: 16384;
			public static GL_COLOR_LOGIC_OP: 3058;
			public static GL_COLOR_MATERIAL: 2903;
			public static GL_COMPRESSED_TEXTURE_FORMATS: 34467;
			public static GL_CONSTANT_ATTENUATION: 4615;
			public static GL_COPY: 5379;
			public static GL_COPY_INVERTED: 5388;
			public static GL_CULL_FACE: 2884;
			public static GL_CW: 2304;
			public static GL_DECAL: 8449;
			public static GL_DECR: 7683;
			public static GL_DEPTH_BITS: 3414;
			public static GL_DEPTH_BUFFER_BIT: 256;
			public static GL_DEPTH_TEST: 2929;
			public static GL_DIFFUSE: 4609;
			public static GL_DITHER: 3024;
			public static GL_DONT_CARE: 4352;
			public static GL_DST_ALPHA: 772;
			public static GL_DST_COLOR: 774;
			public static GL_EMISSION: 5632;
			public static GL_EQUAL: 514;
			public static GL_EQUIV: 5385;
			public static GL_EXP: 2048;
			public static GL_EXP2: 2049;
			public static GL_EXTENSIONS: 7939;
			public static GL_FALSE: 0;
			public static GL_FASTEST: 4353;
			public static GL_FIXED: 5132;
			public static GL_FLAT: 7424;
			public static GL_FLOAT: 5126;
			public static GL_FOG: 2912;
			public static GL_FOG_COLOR: 2918;
			public static GL_FOG_DENSITY: 2914;
			public static GL_FOG_END: 2916;
			public static GL_FOG_HINT: 3156;
			public static GL_FOG_MODE: 2917;
			public static GL_FOG_START: 2915;
			public static GL_FRONT: 1028;
			public static GL_FRONT_AND_BACK: 1032;
			public static GL_GEQUAL: 518;
			public static GL_GREATER: 516;
			public static GL_GREEN_BITS: 3411;
			public static GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 35739;
			public static GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 35738;
			public static GL_INCR: 7682;
			public static GL_INVALID_ENUM: 1280;
			public static GL_INVALID_OPERATION: 1282;
			public static GL_INVALID_VALUE: 1281;
			public static GL_INVERT: 5386;
			public static GL_KEEP: 7680;
			public static GL_LEQUAL: 515;
			public static GL_LESS: 513;
			public static GL_LIGHT0: 16384;
			public static GL_LIGHT1: 16385;
			public static GL_LIGHT2: 16386;
			public static GL_LIGHT3: 16387;
			public static GL_LIGHT4: 16388;
			public static GL_LIGHT5: 16389;
			public static GL_LIGHT6: 16390;
			public static GL_LIGHT7: 16391;
			public static GL_LIGHTING: 2896;
			public static GL_LIGHT_MODEL_AMBIENT: 2899;
			public static GL_LIGHT_MODEL_TWO_SIDE: 2898;
			public static GL_LINEAR: 9729;
			public static GL_LINEAR_ATTENUATION: 4616;
			public static GL_LINEAR_MIPMAP_LINEAR: 9987;
			public static GL_LINEAR_MIPMAP_NEAREST: 9985;
			public static GL_LINES: 1;
			public static GL_LINE_LOOP: 2;
			public static GL_LINE_SMOOTH: 2848;
			public static GL_LINE_SMOOTH_HINT: 3154;
			public static GL_LINE_STRIP: 3;
			public static GL_LUMINANCE: 6409;
			public static GL_LUMINANCE_ALPHA: 6410;
			public static GL_MAX_ELEMENTS_INDICES: 33001;
			public static GL_MAX_ELEMENTS_VERTICES: 33000;
			public static GL_MAX_LIGHTS: 3377;
			public static GL_MAX_MODELVIEW_STACK_DEPTH: 3382;
			public static GL_MAX_PROJECTION_STACK_DEPTH: 3384;
			public static GL_MAX_TEXTURE_SIZE: 3379;
			public static GL_MAX_TEXTURE_STACK_DEPTH: 3385;
			public static GL_MAX_TEXTURE_UNITS: 34018;
			public static GL_MAX_VIEWPORT_DIMS: 3386;
			public static GL_MODELVIEW: 5888;
			public static GL_MODULATE: 8448;
			public static GL_MULTISAMPLE: 32925;
			public static GL_NAND: 5390;
			public static GL_NEAREST: 9728;
			public static GL_NEAREST_MIPMAP_LINEAR: 9986;
			public static GL_NEAREST_MIPMAP_NEAREST: 9984;
			public static GL_NEVER: 512;
			public static GL_NICEST: 4354;
			public static GL_NOOP: 5381;
			public static GL_NOR: 5384;
			public static GL_NORMALIZE: 2977;
			public static GL_NORMAL_ARRAY: 32885;
			public static GL_NOTEQUAL: 517;
			public static GL_NO_ERROR: 0;
			public static GL_NUM_COMPRESSED_TEXTURE_FORMATS: 34466;
			public static GL_ONE: 1;
			public static GL_ONE_MINUS_DST_ALPHA: 773;
			public static GL_ONE_MINUS_DST_COLOR: 775;
			public static GL_ONE_MINUS_SRC_ALPHA: 771;
			public static GL_ONE_MINUS_SRC_COLOR: 769;
			public static GL_OR: 5383;
			public static GL_OR_INVERTED: 5389;
			public static GL_OR_REVERSE: 5387;
			public static GL_OUT_OF_MEMORY: 1285;
			public static GL_PACK_ALIGNMENT: 3333;
			public static GL_PALETTE4_R5_G6_B5_OES: 35730;
			public static GL_PALETTE4_RGB5_A1_OES: 35732;
			public static GL_PALETTE4_RGB8_OES: 35728;
			public static GL_PALETTE4_RGBA4_OES: 35731;
			public static GL_PALETTE4_RGBA8_OES: 35729;
			public static GL_PALETTE8_R5_G6_B5_OES: 35735;
			public static GL_PALETTE8_RGB5_A1_OES: 35737;
			public static GL_PALETTE8_RGB8_OES: 35733;
			public static GL_PALETTE8_RGBA4_OES: 35736;
			public static GL_PALETTE8_RGBA8_OES: 35734;
			public static GL_PERSPECTIVE_CORRECTION_HINT: 3152;
			public static GL_POINTS: 0;
			public static GL_POINT_FADE_THRESHOLD_SIZE: 33064;
			public static GL_POINT_SIZE: 2833;
			public static GL_POINT_SMOOTH: 2832;
			public static GL_POINT_SMOOTH_HINT: 3153;
			public static GL_POLYGON_OFFSET_FILL: 32823;
			public static GL_POLYGON_SMOOTH_HINT: 3155;
			public static GL_POSITION: 4611;
			public static GL_PROJECTION: 5889;
			public static GL_QUADRATIC_ATTENUATION: 4617;
			public static GL_RED_BITS: 3410;
			public static GL_RENDERER: 7937;
			public static GL_REPEAT: 10497;
			public static GL_REPLACE: 7681;
			public static GL_RESCALE_NORMAL: 32826;
			public static GL_RGB: 6407;
			public static GL_RGBA: 6408;
			public static GL_SAMPLE_ALPHA_TO_COVERAGE: 32926;
			public static GL_SAMPLE_ALPHA_TO_ONE: 32927;
			public static GL_SAMPLE_COVERAGE: 32928;
			public static GL_SCISSOR_TEST: 3089;
			public static GL_SET: 5391;
			public static GL_SHININESS: 5633;
			public static GL_SHORT: 5122;
			public static GL_SMOOTH: 7425;
			public static GL_SMOOTH_LINE_WIDTH_RANGE: 2850;
			public static GL_SMOOTH_POINT_SIZE_RANGE: 2834;
			public static GL_SPECULAR: 4610;
			public static GL_SPOT_CUTOFF: 4614;
			public static GL_SPOT_DIRECTION: 4612;
			public static GL_SPOT_EXPONENT: 4613;
			public static GL_SRC_ALPHA: 770;
			public static GL_SRC_ALPHA_SATURATE: 776;
			public static GL_SRC_COLOR: 768;
			public static GL_STACK_OVERFLOW: 1283;
			public static GL_STACK_UNDERFLOW: 1284;
			public static GL_STENCIL_BITS: 3415;
			public static GL_STENCIL_BUFFER_BIT: 1024;
			public static GL_STENCIL_TEST: 2960;
			public static GL_SUBPIXEL_BITS: 3408;
			public static GL_TEXTURE: 5890;
			public static GL_TEXTURE0: 33984;
			public static GL_TEXTURE1: 33985;
			public static GL_TEXTURE10: 33994;
			public static GL_TEXTURE11: 33995;
			public static GL_TEXTURE12: 33996;
			public static GL_TEXTURE13: 33997;
			public static GL_TEXTURE14: 33998;
			public static GL_TEXTURE15: 33999;
			public static GL_TEXTURE16: 34000;
			public static GL_TEXTURE17: 34001;
			public static GL_TEXTURE18: 34002;
			public static GL_TEXTURE19: 34003;
			public static GL_TEXTURE2: 33986;
			public static GL_TEXTURE20: 34004;
			public static GL_TEXTURE21: 34005;
			public static GL_TEXTURE22: 34006;
			public static GL_TEXTURE23: 34007;
			public static GL_TEXTURE24: 34008;
			public static GL_TEXTURE25: 34009;
			public static GL_TEXTURE26: 34010;
			public static GL_TEXTURE27: 34011;
			public static GL_TEXTURE28: 34012;
			public static GL_TEXTURE29: 34013;
			public static GL_TEXTURE3: 33987;
			public static GL_TEXTURE30: 34014;
			public static GL_TEXTURE31: 34015;
			public static GL_TEXTURE4: 33988;
			public static GL_TEXTURE5: 33989;
			public static GL_TEXTURE6: 33990;
			public static GL_TEXTURE7: 33991;
			public static GL_TEXTURE8: 33992;
			public static GL_TEXTURE9: 33993;
			public static GL_TEXTURE_2D: 3553;
			public static GL_TEXTURE_COORD_ARRAY: 32888;
			public static GL_TEXTURE_ENV: 8960;
			public static GL_TEXTURE_ENV_COLOR: 8705;
			public static GL_TEXTURE_ENV_MODE: 8704;
			public static GL_TEXTURE_MAG_FILTER: 10240;
			public static GL_TEXTURE_MIN_FILTER: 10241;
			public static GL_TEXTURE_WRAP_S: 10242;
			public static GL_TEXTURE_WRAP_T: 10243;
			public static GL_TRIANGLES: 4;
			public static GL_TRIANGLE_FAN: 6;
			public static GL_TRIANGLE_STRIP: 5;
			public static GL_TRUE: 1;
			public static GL_UNPACK_ALIGNMENT: 3317;
			public static GL_UNSIGNED_BYTE: 5121;
			public static GL_UNSIGNED_SHORT: 5123;
			public static GL_UNSIGNED_SHORT_4_4_4_4: 32819;
			public static GL_UNSIGNED_SHORT_5_5_5_1: 32820;
			public static GL_UNSIGNED_SHORT_5_6_5: 33635;
			public static GL_VENDOR: 7936;
			public static GL_VERSION: 7938;
			public static GL_VERTEX_ARRAY: 32884;
			public static GL_XOR: 5382;
			public static GL_ZERO: 0;
			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 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 glNormalPointer(type: number, stride: number, pointer: java.nio.Buffer): 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 glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
			public static glMaterialxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glMultMatrixx(param0: java.nio.IntBuffer): void;
			public static glMultMatrixf(param0: androidNative.Array<number>, param1: number): 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 glGetIntegerv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glRotatex(param0: number, param1: number, param2: number, param3: number): void;
			public static glDepthFunc(param0: 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 glDeleteTextures(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glLightxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glLoadMatrixx(param0: androidNative.Array<number>, param1: number): void;
			public static glPointSize(param0: number): void;
			public static glGenTextures(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glMultMatrixx(param0: androidNative.Array<number>, param1: number): void;
			public static glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glDisable(param0: number): void;
			public static glTexEnvxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glLightModelxv(param0: number, param1: androidNative.Array<number>, param2: 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 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 glMaterialx(param0: number, param1: number, param2: number): void;
			public static glGenTextures(param0: number, param1: java.nio.IntBuffer): 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 glFogxv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glViewport(param0: number, param1: number, param2: number, param3: number): 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 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: 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 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 glLightfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glColorPointer(size: number, type: number, stride: number, pointer: java.nio.Buffer): 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 glTexCoordPointer(size: number, type: number, stride: number, pointer: java.nio.Buffer): 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 glMaterialfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 glLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): 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 glLoadMatrixf(param0: androidNative.Array<number>, param1: number): void;
			public static glTexEnvfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glLightModelfv(param0: number, param1: androidNative.Array<number>, param2: 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 glTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
			public static glVertexPointer(size: number, type: number, stride: number, pointer: java.nio.Buffer): 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 glFogfv(param0: number, param1: androidNative.Array<number>, param2: number): 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 static glQueryMatrixxOES(param0: androidNative.Array<number>, param1: number, param2: androidNative.Array<number>, param3: number): number;
			public constructor();
		}
	}
}

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: 34016;
			public static GL_ADD_SIGNED: 34164;
			public static GL_ALPHA_SCALE: 3356;
			public static GL_ALPHA_TEST_FUNC: 3009;
			public static GL_ALPHA_TEST_REF: 3010;
			public static GL_ARRAY_BUFFER: 34962;
			public static GL_ARRAY_BUFFER_BINDING: 34964;
			public static GL_BLEND_DST: 3040;
			public static GL_BLEND_SRC: 3041;
			public static GL_BUFFER_ACCESS: 35003;
			public static GL_BUFFER_SIZE: 34660;
			public static GL_BUFFER_USAGE: 34661;
			public static GL_CLIENT_ACTIVE_TEXTURE: 34017;
			public static GL_CLIP_PLANE0: 12288;
			public static GL_CLIP_PLANE1: 12289;
			public static GL_CLIP_PLANE2: 12290;
			public static GL_CLIP_PLANE3: 12291;
			public static GL_CLIP_PLANE4: 12292;
			public static GL_CLIP_PLANE5: 12293;
			public static GL_COLOR_ARRAY_BUFFER_BINDING: 34968;
			public static GL_COLOR_ARRAY_POINTER: 32912;
			public static GL_COLOR_ARRAY_SIZE: 32897;
			public static GL_COLOR_ARRAY_STRIDE: 32899;
			public static GL_COLOR_ARRAY_TYPE: 32898;
			public static GL_COLOR_CLEAR_VALUE: 3106;
			public static GL_COLOR_WRITEMASK: 3107;
			public static GL_COMBINE: 34160;
			public static GL_COMBINE_ALPHA: 34162;
			public static GL_COMBINE_RGB: 34161;
			public static GL_CONSTANT: 34166;
			public static GL_COORD_REPLACE_OES: 34914;
			public static GL_CULL_FACE_MODE: 2885;
			public static GL_CURRENT_COLOR: 2816;
			public static GL_CURRENT_NORMAL: 2818;
			public static GL_CURRENT_TEXTURE_COORDS: 2819;
			public static GL_DEPTH_CLEAR_VALUE: 2931;
			public static GL_DEPTH_FUNC: 2932;
			public static GL_DEPTH_RANGE: 2928;
			public static GL_DEPTH_WRITEMASK: 2930;
			public static GL_DOT3_RGB: 34478;
			public static GL_DOT3_RGBA: 34479;
			public static GL_DYNAMIC_DRAW: 35048;
			public static GL_ELEMENT_ARRAY_BUFFER: 34963;
			public static GL_ELEMENT_ARRAY_BUFFER_BINDING: 34965;
			public static GL_FRONT_FACE: 2886;
			public static GL_GENERATE_MIPMAP: 33169;
			public static GL_GENERATE_MIPMAP_HINT: 33170;
			public static GL_INTERPOLATE: 34165;
			public static GL_LINE_WIDTH: 2849;
			public static GL_LOGIC_OP_MODE: 3056;
			public static GL_MATRIX_MODE: 2976;
			public static GL_MAX_CLIP_PLANES: 3378;
			public static GL_MODELVIEW_MATRIX: 2982;
			public static GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 35213;
			public static GL_MODELVIEW_STACK_DEPTH: 2979;
			public static GL_NORMAL_ARRAY_BUFFER_BINDING: 34967;
			public static GL_NORMAL_ARRAY_POINTER: 32911;
			public static GL_NORMAL_ARRAY_STRIDE: 32895;
			public static GL_NORMAL_ARRAY_TYPE: 32894;
			public static GL_OPERAND0_ALPHA: 34200;
			public static GL_OPERAND0_RGB: 34192;
			public static GL_OPERAND1_ALPHA: 34201;
			public static GL_OPERAND1_RGB: 34193;
			public static GL_OPERAND2_ALPHA: 34202;
			public static GL_OPERAND2_RGB: 34194;
			public static GL_POINT_DISTANCE_ATTENUATION: 33065;
			public static GL_POINT_FADE_THRESHOLD_SIZE: 33064;
			public static GL_POINT_SIZE: 2833;
			public static GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 35743;
			public static GL_POINT_SIZE_ARRAY_OES: 35740;
			public static GL_POINT_SIZE_ARRAY_POINTER_OES: 35212;
			public static GL_POINT_SIZE_ARRAY_STRIDE_OES: 35211;
			public static GL_POINT_SIZE_ARRAY_TYPE_OES: 35210;
			public static GL_POINT_SIZE_MAX: 33063;
			public static GL_POINT_SIZE_MIN: 33062;
			public static GL_POINT_SPRITE_OES: 34913;
			public static GL_POLYGON_OFFSET_FACTOR: 32824;
			public static GL_POLYGON_OFFSET_UNITS: 10752;
			public static GL_PREVIOUS: 34168;
			public static GL_PRIMARY_COLOR: 34167;
			public static GL_PROJECTION_MATRIX: 2983;
			public static GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 35214;
			public static GL_PROJECTION_STACK_DEPTH: 2980;
			public static GL_RGB_SCALE: 34163;
			public static GL_SAMPLES: 32937;
			public static GL_SAMPLE_BUFFERS: 32936;
			public static GL_SAMPLE_COVERAGE_INVERT: 32939;
			public static GL_SAMPLE_COVERAGE_VALUE: 32938;
			public static GL_SCISSOR_BOX: 3088;
			public static GL_SHADE_MODEL: 2900;
			public static GL_SRC0_ALPHA: 34184;
			public static GL_SRC0_RGB: 34176;
			public static GL_SRC1_ALPHA: 34185;
			public static GL_SRC1_RGB: 34177;
			public static GL_SRC2_ALPHA: 34186;
			public static GL_SRC2_RGB: 34178;
			public static GL_STATIC_DRAW: 35044;
			public static GL_STENCIL_CLEAR_VALUE: 2961;
			public static GL_STENCIL_FAIL: 2964;
			public static GL_STENCIL_FUNC: 2962;
			public static GL_STENCIL_PASS_DEPTH_FAIL: 2965;
			public static GL_STENCIL_PASS_DEPTH_PASS: 2966;
			public static GL_STENCIL_REF: 2967;
			public static GL_STENCIL_VALUE_MASK: 2963;
			public static GL_STENCIL_WRITEMASK: 2968;
			public static GL_SUBTRACT: 34023;
			public static GL_TEXTURE_BINDING_2D: 32873;
			public static GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 34970;
			public static GL_TEXTURE_COORD_ARRAY_POINTER: 32914;
			public static GL_TEXTURE_COORD_ARRAY_SIZE: 32904;
			public static GL_TEXTURE_COORD_ARRAY_STRIDE: 32906;
			public static GL_TEXTURE_COORD_ARRAY_TYPE: 32905;
			public static GL_TEXTURE_MATRIX: 2984;
			public static GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 35215;
			public static GL_TEXTURE_STACK_DEPTH: 2981;
			public static GL_VERTEX_ARRAY_BUFFER_BINDING: 34966;
			public static GL_VERTEX_ARRAY_POINTER: 32910;
			public static GL_VERTEX_ARRAY_SIZE: 32890;
			public static GL_VERTEX_ARRAY_STRIDE: 32892;
			public static GL_VERTEX_ARRAY_TYPE: 32891;
			public static GL_VIEWPORT: 2978;
			public static GL_WRITE_ONLY: 35001;
			public static glGetMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glGetFloatv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetLightxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glIsTexture(param0: number): boolean;
			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 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 glGetTexParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glIsBuffer(param0: number): boolean;
			public static glGetTexEnviv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glNormalPointer(type: number, stride: number, pointer: java.nio.Buffer): void;
			public static glPointParameterf(param0: number, param1: number): void;
			public static glPointSizePointerOES(type: number, stride: number, pointer: java.nio.Buffer): void;
			public static glTexEnvi(param0: number, param1: number, param2: number): void;
			public static glGetMaterialxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glTexParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGenBuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glGenBuffers(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glBufferData(param0: number, param1: number, param2: java.nio.Buffer, param3: number): void;
			public static glGetTexParameterxv(param0: number, param1: number, param2: androidNative.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 glGetClipPlanex(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glTexParameterxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public constructor();
			public static glNormalPointer(param0: number, param1: number, param2: number): void;
			public static glColorPointer(size: number, type: number, stride: number, pointer: java.nio.Buffer): void;
			public static glGetTexEnvfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glTexParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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: androidNative.Array<number>, param3: number): void;
			public static glTexCoordPointer(size: number, type: number, stride: number, pointer: java.nio.Buffer): void;
			public static glGetBooleanv(param0: number, param1: androidNative.Array<boolean>, param2: number): void;
			public static glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetClipPlanex(param0: number, param1: java.nio.IntBuffer): 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 glTexEnviv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glBindBuffer(param0: number, param1: number): void;
			public static glGetFixedv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetFixedv(param0: number, param1: java.nio.IntBuffer): void;
			public static glDeleteBuffers(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glPointParameterfv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glClipPlanef(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glPointParameterxv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glPointParameterx(param0: number, param1: number): 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 glTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetBufferParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetClipPlanef(param0: number, param1: androidNative.Array<number>, param2: number): 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 glGetMaterialfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glIsEnabled(param0: number): boolean;
			public static glVertexPointer(size: number, type: number, stride: number, pointer: java.nio.Buffer): void;
			public static glGetBufferParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glClipPlanex(param0: number, param1: java.nio.IntBuffer): void;
			public static glDeleteBuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glClipPlanex(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetLightfv(param0: number, param1: number, param2: androidNative.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;
			public static glGetTexEnvxv(param0: number, param1: number, param2: androidNative.Array<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: 34810;
			public static GL_3DC_X_AMD: 34809;
			public static GL_ATC_RGBA_EXPLICIT_ALPHA_AMD: 35987;
			public static GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD: 34798;
			public static GL_ATC_RGB_AMD: 35986;
			public static GL_BGRA: 32993;
			public static GL_BLEND_DST_ALPHA_OES: 32970;
			public static GL_BLEND_DST_RGB_OES: 32968;
			public static GL_BLEND_EQUATION_ALPHA_OES: 34877;
			public static GL_BLEND_EQUATION_OES: 32777;
			public static GL_BLEND_EQUATION_RGB_OES: 32777;
			public static GL_BLEND_SRC_ALPHA_OES: 32971;
			public static GL_BLEND_SRC_RGB_OES: 32969;
			public static GL_BUFFER_ACCESS_OES: 35003;
			public static GL_BUFFER_MAPPED_OES: 35004;
			public static GL_BUFFER_MAP_POINTER_OES: 35005;
			public static GL_COLOR_ATTACHMENT0_OES: 36064;
			public static GL_CURRENT_PALETTE_MATRIX_OES: 34883;
			public static GL_DECR_WRAP_OES: 34056;
			public static GL_DEPTH24_STENCIL8_OES: 35056;
			public static GL_DEPTH_ATTACHMENT_OES: 36096;
			public static GL_DEPTH_COMPONENT16_OES: 33189;
			public static GL_DEPTH_COMPONENT24_OES: 33190;
			public static GL_DEPTH_COMPONENT32_OES: 33191;
			public static GL_DEPTH_STENCIL_OES: 34041;
			public static GL_ETC1_RGB8_OES: 36196;
			public static GL_FIXED_OES: 5132;
			public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES: 36049;
			public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES: 36048;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES: 36051;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES: 36050;
			public static GL_FRAMEBUFFER_BINDING_OES: 36006;
			public static GL_FRAMEBUFFER_COMPLETE_OES: 36053;
			public static GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES: 36054;
			public static GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES: 36057;
			public static GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES: 36058;
			public static GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES: 36055;
			public static GL_FRAMEBUFFER_OES: 36160;
			public static GL_FRAMEBUFFER_UNSUPPORTED_OES: 36061;
			public static GL_FUNC_ADD_OES: 32774;
			public static GL_FUNC_REVERSE_SUBTRACT_OES: 32779;
			public static GL_FUNC_SUBTRACT_OES: 32778;
			public static GL_INCR_WRAP_OES: 34055;
			public static GL_INVALID_FRAMEBUFFER_OPERATION_OES: 1286;
			public static GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 35742;
			public static GL_MATRIX_INDEX_ARRAY_OES: 34884;
			public static GL_MATRIX_INDEX_ARRAY_POINTER_OES: 34889;
			public static GL_MATRIX_INDEX_ARRAY_SIZE_OES: 34886;
			public static GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 34888;
			public static GL_MATRIX_INDEX_ARRAY_TYPE_OES: 34887;
			public static GL_MATRIX_PALETTE_OES: 34880;
			public static GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES: 34076;
			public static GL_MAX_PALETTE_MATRICES_OES: 34882;
			public static GL_MAX_RENDERBUFFER_SIZE_OES: 34024;
			public static GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: 34047;
			public static GL_MAX_VERTEX_UNITS_OES: 34468;
			public static GL_MIRRORED_REPEAT_OES: 33648;
			public static GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 35213;
			public static GL_NONE_OES: 0;
			public static GL_NORMAL_MAP_OES: 34065;
			public static GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 35214;
			public static GL_REFLECTION_MAP_OES: 34066;
			public static GL_RENDERBUFFER_ALPHA_SIZE_OES: 36179;
			public static GL_RENDERBUFFER_BINDING_OES: 36007;
			public static GL_RENDERBUFFER_BLUE_SIZE_OES: 36178;
			public static GL_RENDERBUFFER_DEPTH_SIZE_OES: 36180;
			public static GL_RENDERBUFFER_GREEN_SIZE_OES: 36177;
			public static GL_RENDERBUFFER_HEIGHT_OES: 36163;
			public static GL_RENDERBUFFER_INTERNAL_FORMAT_OES: 36164;
			public static GL_RENDERBUFFER_OES: 36161;
			public static GL_RENDERBUFFER_RED_SIZE_OES: 36176;
			public static GL_RENDERBUFFER_STENCIL_SIZE_OES: 36181;
			public static GL_RENDERBUFFER_WIDTH_OES: 36162;
			public static GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES: 36200;
			public static GL_RGB565_OES: 36194;
			public static GL_RGB5_A1_OES: 32855;
			public static GL_RGB8_OES: 32849;
			public static GL_RGBA4_OES: 32854;
			public static GL_RGBA8_OES: 32856;
			public static GL_SAMPLER_EXTERNAL_OES: 36198;
			public static GL_STENCIL_ATTACHMENT_OES: 36128;
			public static GL_STENCIL_INDEX1_OES: 36166;
			public static GL_STENCIL_INDEX4_OES: 36167;
			public static GL_STENCIL_INDEX8_OES: 36168;
			public static GL_TEXTURE_BINDING_CUBE_MAP_OES: 34068;
			public static GL_TEXTURE_BINDING_EXTERNAL_OES: 36199;
			public static GL_TEXTURE_CROP_RECT_OES: 35741;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES: 34070;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES: 34072;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES: 34074;
			public static GL_TEXTURE_CUBE_MAP_OES: 34067;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES: 34069;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES: 34071;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES: 34073;
			public static GL_TEXTURE_EXTERNAL_OES: 36197;
			public static GL_TEXTURE_GEN_MODE_OES: 9472;
			public static GL_TEXTURE_GEN_STR_OES: 36192;
			public static GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 35215;
			public static GL_TEXTURE_MAX_ANISOTROPY_EXT: 34046;
			public static GL_UNSIGNED_INT_24_8_OES: 34042;
			public static GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 34974;
			public static GL_WEIGHT_ARRAY_OES: 34477;
			public static GL_WEIGHT_ARRAY_POINTER_OES: 34476;
			public static GL_WEIGHT_ARRAY_SIZE_OES: 34475;
			public static GL_WEIGHT_ARRAY_STRIDE_OES: 34474;
			public static GL_WEIGHT_ARRAY_TYPE_OES: 34473;
			public static GL_WRITE_ONLY_OES: 35001;
			public static glDrawTexsOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetTexGenfvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 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 glPointParameterxvOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glTexEnvxOES(param0: number, param1: number, param2: 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 glDrawTexxOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glDrawTexfvOES(param0: java.nio.FloatBuffer): void;
			public static glGetRenderbufferParameterivOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetTexGenfvOES(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glGetTexGenxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glScalexOES(param0: number, param1: number, param2: number): void;
			public static glDrawTexsvOES(param0: androidNative.Array<number>, param1: number): void;
			public static glMaterialxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 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 glTexEnvxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glIsRenderbufferOES(param0: number): boolean;
			public static glGetClipPlanefOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glEGLImageTargetTexture2DOES(param0: number, param1: java.nio.Buffer): void;
			public static glDeleteRenderbuffersOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetTexEnvxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glCheckFramebufferStatusOES(param0: number): number;
			public static glTexGenfOES(param0: number, param1: number, param2: number): void;
			public static glGetTexParameterxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 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 glBlendEquationOES(param0: number): void;
			public static glGetTexGenivOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glLoadMatrixxOES(param0: androidNative.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 glClipPlanexOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glPointParameterxvOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glDrawTexfvOES(param0: androidNative.Array<number>, param1: number): void;
			public static glGetLightxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetMaterialxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexGenfvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glClearColorxOES(param0: number, param1: number, param2: number, param3: number): void;
			public static glTexParameterxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glMultiTexCoord4xOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glTexGenxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDrawTexsvOES(param0: java.nio.ShortBuffer): void;
			public static glNormal3xOES(param0: number, param1: number, param2: number): void;
			public static glDeleteFramebuffersOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glMultMatrixxOES(param0: androidNative.Array<number>, param1: number): void;
			public static glGetTexGenivOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glLightxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glTexGenxOES(param0: number, param1: number, param2: number): void;
			public static glClipPlanefOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glDrawTexfOES(param0: number, param1: number, param2: number, param3: number, param4: 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 glGetClipPlanexOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glLightxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glClearDepthxOES(param0: number): void;
			public static glDrawTexivOES(param0: androidNative.Array<number>, param1: 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 glTexGenxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetLightxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetTexEnvxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGenFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetFixedvOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glWeightPointerOES(size: number, type: number, stride: number, pointer: java.nio.Buffer): 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 glFogxvOES(param0: number, param1: androidNative.Array<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 glGenFramebuffersOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glClipPlanefOES(param0: number, param1: java.nio.FloatBuffer): void;
			public static glTexGenivOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetTexGenxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glCurrentPaletteMatrixOES(param0: number): void;
			public static glPolygonOffsetxOES(param0: number, param1: number): void;
			public static glGetMaterialxvOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glPointSizexOES(param0: number): void;
			public static glRenderbufferStorageOES(param0: number, param1: number, param2: number, param3: number): void;
			public static glLightModelxvOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glDrawTexxvOES(param0: androidNative.Array<number>, param1: number): void;
			public static glGenRenderbuffersOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glClearDepthfOES(param0: number): void;
			public static glBlendEquationSeparateOES(param0: number, param1: number): void;
			public static glMatrixIndexPointerOES(size: number, type: number, stride: number, pointer: java.nio.Buffer): void;
			public static glGetClipPlanexOES(param0: number, param1: java.nio.IntBuffer): 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: 35721;
			public static GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: 35722;
			public static GL_ACTIVE_TEXTURE: 34016;
			public static GL_ACTIVE_UNIFORMS: 35718;
			public static GL_ACTIVE_UNIFORM_MAX_LENGTH: 35719;
			public static GL_ALIASED_LINE_WIDTH_RANGE: 33902;
			public static GL_ALIASED_POINT_SIZE_RANGE: 33901;
			public static GL_ALPHA: 6406;
			public static GL_ALPHA_BITS: 3413;
			public static GL_ALWAYS: 519;
			public static GL_ARRAY_BUFFER: 34962;
			public static GL_ARRAY_BUFFER_BINDING: 34964;
			public static GL_ATTACHED_SHADERS: 35717;
			public static GL_BACK: 1029;
			public static GL_BLEND: 3042;
			public static GL_BLEND_COLOR: 32773;
			public static GL_BLEND_DST_ALPHA: 32970;
			public static GL_BLEND_DST_RGB: 32968;
			public static GL_BLEND_EQUATION: 32777;
			public static GL_BLEND_EQUATION_ALPHA: 34877;
			public static GL_BLEND_EQUATION_RGB: 32777;
			public static GL_BLEND_SRC_ALPHA: 32971;
			public static GL_BLEND_SRC_RGB: 32969;
			public static GL_BLUE_BITS: 3412;
			public static GL_BOOL: 35670;
			public static GL_BOOL_VEC2: 35671;
			public static GL_BOOL_VEC3: 35672;
			public static GL_BOOL_VEC4: 35673;
			public static GL_BUFFER_SIZE: 34660;
			public static GL_BUFFER_USAGE: 34661;
			public static GL_BYTE: 5120;
			public static GL_CCW: 2305;
			public static GL_CLAMP_TO_EDGE: 33071;
			public static GL_COLOR_ATTACHMENT0: 36064;
			public static GL_COLOR_BUFFER_BIT: 16384;
			public static GL_COLOR_CLEAR_VALUE: 3106;
			public static GL_COLOR_WRITEMASK: 3107;
			public static GL_COMPILE_STATUS: 35713;
			public static GL_COMPRESSED_TEXTURE_FORMATS: 34467;
			public static GL_CONSTANT_ALPHA: 32771;
			public static GL_CONSTANT_COLOR: 32769;
			public static GL_CULL_FACE: 2884;
			public static GL_CULL_FACE_MODE: 2885;
			public static GL_CURRENT_PROGRAM: 35725;
			public static GL_CURRENT_VERTEX_ATTRIB: 34342;
			public static GL_CW: 2304;
			public static GL_DECR: 7683;
			public static GL_DECR_WRAP: 34056;
			public static GL_DELETE_STATUS: 35712;
			public static GL_DEPTH_ATTACHMENT: 36096;
			public static GL_DEPTH_BITS: 3414;
			public static GL_DEPTH_BUFFER_BIT: 256;
			public static GL_DEPTH_CLEAR_VALUE: 2931;
			public static GL_DEPTH_COMPONENT: 6402;
			public static GL_DEPTH_COMPONENT16: 33189;
			public static GL_DEPTH_FUNC: 2932;
			public static GL_DEPTH_RANGE: 2928;
			public static GL_DEPTH_TEST: 2929;
			public static GL_DEPTH_WRITEMASK: 2930;
			public static GL_DITHER: 3024;
			public static GL_DONT_CARE: 4352;
			public static GL_DST_ALPHA: 772;
			public static GL_DST_COLOR: 774;
			public static GL_DYNAMIC_DRAW: 35048;
			public static GL_ELEMENT_ARRAY_BUFFER: 34963;
			public static GL_ELEMENT_ARRAY_BUFFER_BINDING: 34965;
			public static GL_EQUAL: 514;
			public static GL_EXTENSIONS: 7939;
			public static GL_FALSE: 0;
			public static GL_FASTEST: 4353;
			public static GL_FIXED: 5132;
			public static GL_FLOAT: 5126;
			public static GL_FLOAT_MAT2: 35674;
			public static GL_FLOAT_MAT3: 35675;
			public static GL_FLOAT_MAT4: 35676;
			public static GL_FLOAT_VEC2: 35664;
			public static GL_FLOAT_VEC3: 35665;
			public static GL_FLOAT_VEC4: 35666;
			public static GL_FRAGMENT_SHADER: 35632;
			public static GL_FRAMEBUFFER: 36160;
			public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: 36049;
			public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: 36048;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: 36051;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: 36050;
			public static GL_FRAMEBUFFER_BINDING: 36006;
			public static GL_FRAMEBUFFER_COMPLETE: 36053;
			public static GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 36054;
			public static GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 36057;
			public static GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 36055;
			public static GL_FRAMEBUFFER_UNSUPPORTED: 36061;
			public static GL_FRONT: 1028;
			public static GL_FRONT_AND_BACK: 1032;
			public static GL_FRONT_FACE: 2886;
			public static GL_FUNC_ADD: 32774;
			public static GL_FUNC_REVERSE_SUBTRACT: 32779;
			public static GL_FUNC_SUBTRACT: 32778;
			public static GL_GENERATE_MIPMAP_HINT: 33170;
			public static GL_GEQUAL: 518;
			public static GL_GREATER: 516;
			public static GL_GREEN_BITS: 3411;
			public static GL_HIGH_FLOAT: 36338;
			public static GL_HIGH_INT: 36341;
			public static GL_IMPLEMENTATION_COLOR_READ_FORMAT: 35739;
			public static GL_IMPLEMENTATION_COLOR_READ_TYPE: 35738;
			public static GL_INCR: 7682;
			public static GL_INCR_WRAP: 34055;
			public static GL_INFO_LOG_LENGTH: 35716;
			public static GL_INT: 5124;
			public static GL_INT_VEC2: 35667;
			public static GL_INT_VEC3: 35668;
			public static GL_INT_VEC4: 35669;
			public static GL_INVALID_ENUM: 1280;
			public static GL_INVALID_FRAMEBUFFER_OPERATION: 1286;
			public static GL_INVALID_OPERATION: 1282;
			public static GL_INVALID_VALUE: 1281;
			public static GL_INVERT: 5386;
			public static GL_KEEP: 7680;
			public static GL_LEQUAL: 515;
			public static GL_LESS: 513;
			public static GL_LINEAR: 9729;
			public static GL_LINEAR_MIPMAP_LINEAR: 9987;
			public static GL_LINEAR_MIPMAP_NEAREST: 9985;
			public static GL_LINES: 1;
			public static GL_LINE_LOOP: 2;
			public static GL_LINE_STRIP: 3;
			public static GL_LINE_WIDTH: 2849;
			public static GL_LINK_STATUS: 35714;
			public static GL_LOW_FLOAT: 36336;
			public static GL_LOW_INT: 36339;
			public static GL_LUMINANCE: 6409;
			public static GL_LUMINANCE_ALPHA: 6410;
			public static GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 35661;
			public static GL_MAX_CUBE_MAP_TEXTURE_SIZE: 34076;
			public static GL_MAX_FRAGMENT_UNIFORM_VECTORS: 36349;
			public static GL_MAX_RENDERBUFFER_SIZE: 34024;
			public static GL_MAX_TEXTURE_IMAGE_UNITS: 34930;
			public static GL_MAX_TEXTURE_SIZE: 3379;
			public static GL_MAX_VARYING_VECTORS: 36348;
			public static GL_MAX_VERTEX_ATTRIBS: 34921;
			public static GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: 35660;
			public static GL_MAX_VERTEX_UNIFORM_VECTORS: 36347;
			public static GL_MAX_VIEWPORT_DIMS: 3386;
			public static GL_MEDIUM_FLOAT: 36337;
			public static GL_MEDIUM_INT: 36340;
			public static GL_MIRRORED_REPEAT: 33648;
			public static GL_NEAREST: 9728;
			public static GL_NEAREST_MIPMAP_LINEAR: 9986;
			public static GL_NEAREST_MIPMAP_NEAREST: 9984;
			public static GL_NEVER: 512;
			public static GL_NICEST: 4354;
			public static GL_NONE: 0;
			public static GL_NOTEQUAL: 517;
			public static GL_NO_ERROR: 0;
			public static GL_NUM_COMPRESSED_TEXTURE_FORMATS: 34466;
			public static GL_NUM_SHADER_BINARY_FORMATS: 36345;
			public static GL_ONE: 1;
			public static GL_ONE_MINUS_CONSTANT_ALPHA: 32772;
			public static GL_ONE_MINUS_CONSTANT_COLOR: 32770;
			public static GL_ONE_MINUS_DST_ALPHA: 773;
			public static GL_ONE_MINUS_DST_COLOR: 775;
			public static GL_ONE_MINUS_SRC_ALPHA: 771;
			public static GL_ONE_MINUS_SRC_COLOR: 769;
			public static GL_OUT_OF_MEMORY: 1285;
			public static GL_PACK_ALIGNMENT: 3333;
			public static GL_POINTS: 0;
			public static GL_POLYGON_OFFSET_FACTOR: 32824;
			public static GL_POLYGON_OFFSET_FILL: 32823;
			public static GL_POLYGON_OFFSET_UNITS: 10752;
			public static GL_RED_BITS: 3410;
			public static GL_RENDERBUFFER: 36161;
			public static GL_RENDERBUFFER_ALPHA_SIZE: 36179;
			public static GL_RENDERBUFFER_BINDING: 36007;
			public static GL_RENDERBUFFER_BLUE_SIZE: 36178;
			public static GL_RENDERBUFFER_DEPTH_SIZE: 36180;
			public static GL_RENDERBUFFER_GREEN_SIZE: 36177;
			public static GL_RENDERBUFFER_HEIGHT: 36163;
			public static GL_RENDERBUFFER_INTERNAL_FORMAT: 36164;
			public static GL_RENDERBUFFER_RED_SIZE: 36176;
			public static GL_RENDERBUFFER_STENCIL_SIZE: 36181;
			public static GL_RENDERBUFFER_WIDTH: 36162;
			public static GL_RENDERER: 7937;
			public static GL_REPEAT: 10497;
			public static GL_REPLACE: 7681;
			public static GL_RGB: 6407;
			public static GL_RGB565: 36194;
			public static GL_RGB5_A1: 32855;
			public static GL_RGBA: 6408;
			public static GL_RGBA4: 32854;
			public static GL_SAMPLER_2D: 35678;
			public static GL_SAMPLER_CUBE: 35680;
			public static GL_SAMPLES: 32937;
			public static GL_SAMPLE_ALPHA_TO_COVERAGE: 32926;
			public static GL_SAMPLE_BUFFERS: 32936;
			public static GL_SAMPLE_COVERAGE: 32928;
			public static GL_SAMPLE_COVERAGE_INVERT: 32939;
			public static GL_SAMPLE_COVERAGE_VALUE: 32938;
			public static GL_SCISSOR_BOX: 3088;
			public static GL_SCISSOR_TEST: 3089;
			public static GL_SHADER_BINARY_FORMATS: 36344;
			public static GL_SHADER_COMPILER: 36346;
			public static GL_SHADER_SOURCE_LENGTH: 35720;
			public static GL_SHADER_TYPE: 35663;
			public static GL_SHADING_LANGUAGE_VERSION: 35724;
			public static GL_SHORT: 5122;
			public static GL_SRC_ALPHA: 770;
			public static GL_SRC_ALPHA_SATURATE: 776;
			public static GL_SRC_COLOR: 768;
			public static GL_STATIC_DRAW: 35044;
			public static GL_STENCIL_ATTACHMENT: 36128;
			public static GL_STENCIL_BACK_FAIL: 34817;
			public static GL_STENCIL_BACK_FUNC: 34816;
			public static GL_STENCIL_BACK_PASS_DEPTH_FAIL: 34818;
			public static GL_STENCIL_BACK_PASS_DEPTH_PASS: 34819;
			public static GL_STENCIL_BACK_REF: 36003;
			public static GL_STENCIL_BACK_VALUE_MASK: 36004;
			public static GL_STENCIL_BACK_WRITEMASK: 36005;
			public static GL_STENCIL_BITS: 3415;
			public static GL_STENCIL_BUFFER_BIT: 1024;
			public static GL_STENCIL_CLEAR_VALUE: 2961;
			public static GL_STENCIL_FAIL: 2964;
			public static GL_STENCIL_FUNC: 2962;
			public static GL_STENCIL_INDEX: 6401;
			public static GL_STENCIL_INDEX8: 36168;
			public static GL_STENCIL_PASS_DEPTH_FAIL: 2965;
			public static GL_STENCIL_PASS_DEPTH_PASS: 2966;
			public static GL_STENCIL_REF: 2967;
			public static GL_STENCIL_TEST: 2960;
			public static GL_STENCIL_VALUE_MASK: 2963;
			public static GL_STENCIL_WRITEMASK: 2968;
			public static GL_STREAM_DRAW: 35040;
			public static GL_SUBPIXEL_BITS: 3408;
			public static GL_TEXTURE: 5890;
			public static GL_TEXTURE0: 33984;
			public static GL_TEXTURE1: 33985;
			public static GL_TEXTURE10: 33994;
			public static GL_TEXTURE11: 33995;
			public static GL_TEXTURE12: 33996;
			public static GL_TEXTURE13: 33997;
			public static GL_TEXTURE14: 33998;
			public static GL_TEXTURE15: 33999;
			public static GL_TEXTURE16: 34000;
			public static GL_TEXTURE17: 34001;
			public static GL_TEXTURE18: 34002;
			public static GL_TEXTURE19: 34003;
			public static GL_TEXTURE2: 33986;
			public static GL_TEXTURE20: 34004;
			public static GL_TEXTURE21: 34005;
			public static GL_TEXTURE22: 34006;
			public static GL_TEXTURE23: 34007;
			public static GL_TEXTURE24: 34008;
			public static GL_TEXTURE25: 34009;
			public static GL_TEXTURE26: 34010;
			public static GL_TEXTURE27: 34011;
			public static GL_TEXTURE28: 34012;
			public static GL_TEXTURE29: 34013;
			public static GL_TEXTURE3: 33987;
			public static GL_TEXTURE30: 34014;
			public static GL_TEXTURE31: 34015;
			public static GL_TEXTURE4: 33988;
			public static GL_TEXTURE5: 33989;
			public static GL_TEXTURE6: 33990;
			public static GL_TEXTURE7: 33991;
			public static GL_TEXTURE8: 33992;
			public static GL_TEXTURE9: 33993;
			public static GL_TEXTURE_2D: 3553;
			public static GL_TEXTURE_BINDING_2D: 32873;
			public static GL_TEXTURE_BINDING_CUBE_MAP: 34068;
			public static GL_TEXTURE_CUBE_MAP: 34067;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_X: 34070;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_X: 34069;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_Y: 34071;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_Z: 34073;
			public static GL_TEXTURE_MAG_FILTER: 10240;
			public static GL_TEXTURE_MIN_FILTER: 10241;
			public static GL_TEXTURE_WRAP_S: 10242;
			public static GL_TEXTURE_WRAP_T: 10243;
			public static GL_TRIANGLES: 4;
			public static GL_TRIANGLE_FAN: 6;
			public static GL_TRIANGLE_STRIP: 5;
			public static GL_TRUE: 1;
			public static GL_UNPACK_ALIGNMENT: 3317;
			public static GL_UNSIGNED_BYTE: 5121;
			public static GL_UNSIGNED_INT: 5125;
			public static GL_UNSIGNED_SHORT: 5123;
			public static GL_UNSIGNED_SHORT_4_4_4_4: 32819;
			public static GL_UNSIGNED_SHORT_5_5_5_1: 32820;
			public static GL_UNSIGNED_SHORT_5_6_5: 33635;
			public static GL_VALIDATE_STATUS: 35715;
			public static GL_VENDOR: 7936;
			public static GL_VERSION: 7938;
			public static GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: 34975;
			public static GL_VERTEX_ATTRIB_ARRAY_ENABLED: 34338;
			public static GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: 34922;
			public static GL_VERTEX_ATTRIB_ARRAY_POINTER: 34373;
			public static GL_VERTEX_ATTRIB_ARRAY_SIZE: 34339;
			public static GL_VERTEX_ATTRIB_ARRAY_STRIDE: 34340;
			public static GL_VERTEX_ATTRIB_ARRAY_TYPE: 34341;
			public static GL_VERTEX_SHADER: 35633;
			public static GL_VIEWPORT: 2978;
			public static GL_ZERO: 0;
			public static glUniform3i(param0: number, param1: number, param2: number, param3: 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 glShaderBinary(param0: number, param1: java.nio.IntBuffer, param2: number, param3: java.nio.Buffer, param4: number): void;
			public static glBufferSubData(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetString(param0: number): string;
			public static glGetActiveAttrib(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number, param5: androidNative.Array<number>, param6: number, param7: androidNative.Array<number>, param8: number, param9: androidNative.Array<number>, param10: number): void;
			public static glGetUniformiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glTexParameteri(param0: number, param1: number, param2: 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 glGetShaderSource(param0: number): string;
			public static glGetError(): number;
			public static glStencilOp(param0: number, param1: number, param2: number): void;
			public static glUseProgram(param0: number): void;
			public static glTexParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glStencilFunc(param0: number, param1: number, param2: number): void;
			public static glGenBuffers(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glUniformMatrix3fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: 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 constructor();
			public static glUniform1iv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexAttribPointer(indx: number, size: number, type: number, normalized: boolean, stride: number, ptr: java.nio.Buffer): 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 glUniformMatrix4fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: number): void;
			public static glGenFramebuffers(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glDisableVertexAttribArray(param0: number): void;
			public static glClearColor(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetIntegerv(param0: number, param1: androidNative.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 glGetTexParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetBooleanv(param0: number, param1: androidNative.Array<boolean>, param2: number): void;
			public static glUniform1iv(param0: number, param1: number, param2: androidNative.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 glDeleteRenderbuffers(param0: number, param1: androidNative.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 glShaderBinary(param0: number, param1: androidNative.Array<number>, param2: number, param3: number, param4: java.nio.Buffer, param5: 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 glUniform3iv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glBlendColor(param0: number, param1: number, param2: number, param3: number): void;
			public static glBindBuffer(param0: number, param1: number): void;
			public static glDeleteTextures(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glVertexAttribPointer(param0: number, param1: number, param2: number, param3: boolean, param4: number, param5: number): void;
			public static glGenTextures(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetAttachedShaders(param0: number, param1: number, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer): void;
			public static glVertexAttrib1fv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glDisable(param0: number): void;
			public static glGetShaderInfoLog(param0: number): string;
			public static glIsProgram(param0: number): boolean;
			public static glDeleteBuffers(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glDepthRangef(param0: number, param1: number): void;
			public static glUniform1fv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glDrawArrays(param0: number, param1: number, param2: number): void;
			public static glGetUniformLocation(param0: number, param1: string): number;
			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 glBlendFunc(param0: number, param1: number): void;
			public static glSampleCoverage(param0: number, param1: boolean): void;
			public static glUniform3fv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGenTextures(param0: number, param1: java.nio.IntBuffer): 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 glGetShaderSource(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number): void;
			public static glGetBufferParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetProgramiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glDeleteBuffers(param0: number, param1: java.nio.IntBuffer): 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 glGetActiveUniform(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number, param5: androidNative.Array<number>, param6: number, param7: androidNative.Array<number>, param8: number, param9: androidNative.Array<number>, param10: 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 glGetFloatv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetShaderiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexAttrib3fv(param0: number, param1: androidNative.Array<number>, param2: number): 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 glGetUniformfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glStencilOpSeparate(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetRenderbufferParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetShaderPrecisionFormat(param0: number, param1: number, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer): void;
			public static glGetTexParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 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 glDeleteFramebuffers(param0: number, param1: androidNative.Array<number>, param2: 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 glVertexAttrib4fv(param0: number, param1: androidNative.Array<number>, param2: 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 glIsShader(param0: number): boolean;
			public static glVertexAttrib2fv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetShaderiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glUniform4iv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetFramebufferAttachmentParameteriv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glValidateProgram(param0: number): void;
			public static glBindTexture(param0: number, param1: number): void;
			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 glTexParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetShaderPrecisionFormat(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number): 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 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 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 glGenRenderbuffers(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetVertexAttribiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glUniform1i(param0: number, param1: number): void;
			public static glUniform4iv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glFinish(): 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 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 glGetAttachedShaders(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number): void;
			public static glUniform2fv(param0: number, param1: number, param2: androidNative.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 glUniformMatrix2fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: number): void;
			public static glGetProgramInfoLog(param0: number): string;
			public static glTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): 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 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 glGetVertexAttribfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glUniform4fv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetActiveUniform(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number): string;
			public static glGetActiveAttrib(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number): string;
			public static glScissor(param0: number, param1: number, param2: number, param3: number): void;
			public static glUniform2iv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glDeleteShader(param0: 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: 35382;
			public static GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: 35381;
			public static GL_ALREADY_SIGNALED: 37146;
			public static GL_ANY_SAMPLES_PASSED: 35887;
			public static GL_ANY_SAMPLES_PASSED_CONSERVATIVE: 36202;
			public static GL_BLUE: 6405;
			public static GL_BUFFER_ACCESS_FLAGS: 37151;
			public static GL_BUFFER_MAPPED: 35004;
			public static GL_BUFFER_MAP_LENGTH: 37152;
			public static GL_BUFFER_MAP_OFFSET: 37153;
			public static GL_BUFFER_MAP_POINTER: 35005;
			public static GL_COLOR: 6144;
			public static GL_COLOR_ATTACHMENT1: 36065;
			public static GL_COLOR_ATTACHMENT10: 36074;
			public static GL_COLOR_ATTACHMENT11: 36075;
			public static GL_COLOR_ATTACHMENT12: 36076;
			public static GL_COLOR_ATTACHMENT13: 36077;
			public static GL_COLOR_ATTACHMENT14: 36078;
			public static GL_COLOR_ATTACHMENT15: 36079;
			public static GL_COLOR_ATTACHMENT2: 36066;
			public static GL_COLOR_ATTACHMENT3: 36067;
			public static GL_COLOR_ATTACHMENT4: 36068;
			public static GL_COLOR_ATTACHMENT5: 36069;
			public static GL_COLOR_ATTACHMENT6: 36070;
			public static GL_COLOR_ATTACHMENT7: 36071;
			public static GL_COLOR_ATTACHMENT8: 36072;
			public static GL_COLOR_ATTACHMENT9: 36073;
			public static GL_COMPARE_REF_TO_TEXTURE: 34894;
			public static GL_COMPRESSED_R11_EAC: 37488;
			public static GL_COMPRESSED_RG11_EAC: 37490;
			public static GL_COMPRESSED_RGB8_ETC2: 37492;
			public static GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37494;
			public static GL_COMPRESSED_RGBA8_ETC2_EAC: 37496;
			public static GL_COMPRESSED_SIGNED_R11_EAC: 37489;
			public static GL_COMPRESSED_SIGNED_RG11_EAC: 37491;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37497;
			public static GL_COMPRESSED_SRGB8_ETC2: 37493;
			public static GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37495;
			public static GL_CONDITION_SATISFIED: 37148;
			public static GL_COPY_READ_BUFFER: 36662;
			public static GL_COPY_READ_BUFFER_BINDING: 36662;
			public static GL_COPY_WRITE_BUFFER: 36663;
			public static GL_COPY_WRITE_BUFFER_BINDING: 36663;
			public static GL_CURRENT_QUERY: 34917;
			public static GL_DEPTH: 6145;
			public static GL_DEPTH24_STENCIL8: 35056;
			public static GL_DEPTH32F_STENCIL8: 36013;
			public static GL_DEPTH_COMPONENT24: 33190;
			public static GL_DEPTH_COMPONENT32F: 36012;
			public static GL_DEPTH_STENCIL: 34041;
			public static GL_DEPTH_STENCIL_ATTACHMENT: 33306;
			public static GL_DRAW_BUFFER0: 34853;
			public static GL_DRAW_BUFFER1: 34854;
			public static GL_DRAW_BUFFER10: 34863;
			public static GL_DRAW_BUFFER11: 34864;
			public static GL_DRAW_BUFFER12: 34865;
			public static GL_DRAW_BUFFER13: 34866;
			public static GL_DRAW_BUFFER14: 34867;
			public static GL_DRAW_BUFFER15: 34868;
			public static GL_DRAW_BUFFER2: 34855;
			public static GL_DRAW_BUFFER3: 34856;
			public static GL_DRAW_BUFFER4: 34857;
			public static GL_DRAW_BUFFER5: 34858;
			public static GL_DRAW_BUFFER6: 34859;
			public static GL_DRAW_BUFFER7: 34860;
			public static GL_DRAW_BUFFER8: 34861;
			public static GL_DRAW_BUFFER9: 34862;
			public static GL_DRAW_FRAMEBUFFER: 36009;
			public static GL_DRAW_FRAMEBUFFER_BINDING: 36006;
			public static GL_DYNAMIC_COPY: 35050;
			public static GL_DYNAMIC_READ: 35049;
			public static GL_FLOAT_32_UNSIGNED_INT_24_8_REV: 36269;
			public static GL_FLOAT_MAT2x3: 35685;
			public static GL_FLOAT_MAT2x4: 35686;
			public static GL_FLOAT_MAT3x2: 35687;
			public static GL_FLOAT_MAT3x4: 35688;
			public static GL_FLOAT_MAT4x2: 35689;
			public static GL_FLOAT_MAT4x3: 35690;
			public static GL_FRAGMENT_SHADER_DERIVATIVE_HINT: 35723;
			public static GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: 33301;
			public static GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: 33300;
			public static GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: 33296;
			public static GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: 33297;
			public static GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: 33302;
			public static GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: 33299;
			public static GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: 33298;
			public static GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: 33303;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: 36052;
			public static GL_FRAMEBUFFER_DEFAULT: 33304;
			public static GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 36182;
			public static GL_FRAMEBUFFER_UNDEFINED: 33305;
			public static GL_GREEN: 6404;
			public static GL_HALF_FLOAT: 5131;
			public static GL_INTERLEAVED_ATTRIBS: 35980;
			public static GL_INT_2_10_10_10_REV: 36255;
			public static GL_INT_SAMPLER_2D: 36298;
			public static GL_INT_SAMPLER_2D_ARRAY: 36303;
			public static GL_INT_SAMPLER_3D: 36299;
			public static GL_INT_SAMPLER_CUBE: 36300;
			public static GL_INVALID_INDEX: -1;
			public static GL_MAJOR_VERSION: 33307;
			public static GL_MAP_FLUSH_EXPLICIT_BIT: 16;
			public static GL_MAP_INVALIDATE_BUFFER_BIT: 8;
			public static GL_MAP_INVALIDATE_RANGE_BIT: 4;
			public static GL_MAP_READ_BIT: 1;
			public static GL_MAP_UNSYNCHRONIZED_BIT: 32;
			public static GL_MAP_WRITE_BIT: 2;
			public static GL_MAX: 32776;
			public static GL_MAX_3D_TEXTURE_SIZE: 32883;
			public static GL_MAX_ARRAY_TEXTURE_LAYERS: 35071;
			public static GL_MAX_COLOR_ATTACHMENTS: 36063;
			public static GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 35379;
			public static GL_MAX_COMBINED_UNIFORM_BLOCKS: 35374;
			public static GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 35377;
			public static GL_MAX_DRAW_BUFFERS: 34852;
			public static GL_MAX_ELEMENTS_INDICES: 33001;
			public static GL_MAX_ELEMENTS_VERTICES: 33000;
			public static GL_MAX_ELEMENT_INDEX: 36203;
			public static GL_MAX_FRAGMENT_INPUT_COMPONENTS: 37157;
			public static GL_MAX_FRAGMENT_UNIFORM_BLOCKS: 35373;
			public static GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: 35657;
			public static GL_MAX_PROGRAM_TEXEL_OFFSET: 35077;
			public static GL_MAX_SAMPLES: 36183;
			public static GL_MAX_SERVER_WAIT_TIMEOUT: 37137;
			public static GL_MAX_TEXTURE_LOD_BIAS: 34045;
			public static GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 35978;
			public static GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 35979;
			public static GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 35968;
			public static GL_MAX_UNIFORM_BLOCK_SIZE: 35376;
			public static GL_MAX_UNIFORM_BUFFER_BINDINGS: 35375;
			public static GL_MAX_VARYING_COMPONENTS: 35659;
			public static GL_MAX_VERTEX_OUTPUT_COMPONENTS: 37154;
			public static GL_MAX_VERTEX_UNIFORM_BLOCKS: 35371;
			public static GL_MAX_VERTEX_UNIFORM_COMPONENTS: 35658;
			public static GL_MIN: 32775;
			public static GL_MINOR_VERSION: 33308;
			public static GL_MIN_PROGRAM_TEXEL_OFFSET: 35076;
			public static GL_NUM_EXTENSIONS: 33309;
			public static GL_NUM_PROGRAM_BINARY_FORMATS: 34814;
			public static GL_NUM_SAMPLE_COUNTS: 37760;
			public static GL_OBJECT_TYPE: 37138;
			public static GL_PACK_ROW_LENGTH: 3330;
			public static GL_PACK_SKIP_PIXELS: 3332;
			public static GL_PACK_SKIP_ROWS: 3331;
			public static GL_PIXEL_PACK_BUFFER: 35051;
			public static GL_PIXEL_PACK_BUFFER_BINDING: 35053;
			public static GL_PIXEL_UNPACK_BUFFER: 35052;
			public static GL_PIXEL_UNPACK_BUFFER_BINDING: 35055;
			public static GL_PRIMITIVE_RESTART_FIXED_INDEX: 36201;
			public static GL_PROGRAM_BINARY_FORMATS: 34815;
			public static GL_PROGRAM_BINARY_LENGTH: 34625;
			public static GL_PROGRAM_BINARY_RETRIEVABLE_HINT: 33367;
			public static GL_QUERY_RESULT: 34918;
			public static GL_QUERY_RESULT_AVAILABLE: 34919;
			public static GL_R11F_G11F_B10F: 35898;
			public static GL_R16F: 33325;
			public static GL_R16I: 33331;
			public static GL_R16UI: 33332;
			public static GL_R32F: 33326;
			public static GL_R32I: 33333;
			public static GL_R32UI: 33334;
			public static GL_R8: 33321;
			public static GL_R8I: 33329;
			public static GL_R8UI: 33330;
			public static GL_R8_SNORM: 36756;
			public static GL_RASTERIZER_DISCARD: 35977;
			public static GL_READ_BUFFER: 3074;
			public static GL_READ_FRAMEBUFFER: 36008;
			public static GL_READ_FRAMEBUFFER_BINDING: 36010;
			public static GL_RED: 6403;
			public static GL_RED_INTEGER: 36244;
			public static GL_RENDERBUFFER_SAMPLES: 36011;
			public static GL_RG: 33319;
			public static GL_RG16F: 33327;
			public static GL_RG16I: 33337;
			public static GL_RG16UI: 33338;
			public static GL_RG32F: 33328;
			public static GL_RG32I: 33339;
			public static GL_RG32UI: 33340;
			public static GL_RG8: 33323;
			public static GL_RG8I: 33335;
			public static GL_RG8UI: 33336;
			public static GL_RG8_SNORM: 36757;
			public static GL_RGB10_A2: 32857;
			public static GL_RGB10_A2UI: 36975;
			public static GL_RGB16F: 34843;
			public static GL_RGB16I: 36233;
			public static GL_RGB16UI: 36215;
			public static GL_RGB32F: 34837;
			public static GL_RGB32I: 36227;
			public static GL_RGB32UI: 36209;
			public static GL_RGB8: 32849;
			public static GL_RGB8I: 36239;
			public static GL_RGB8UI: 36221;
			public static GL_RGB8_SNORM: 36758;
			public static GL_RGB9_E5: 35901;
			public static GL_RGBA16F: 34842;
			public static GL_RGBA16I: 36232;
			public static GL_RGBA16UI: 36214;
			public static GL_RGBA32F: 34836;
			public static GL_RGBA32I: 36226;
			public static GL_RGBA32UI: 36208;
			public static GL_RGBA8: 32856;
			public static GL_RGBA8I: 36238;
			public static GL_RGBA8UI: 36220;
			public static GL_RGBA8_SNORM: 36759;
			public static GL_RGBA_INTEGER: 36249;
			public static GL_RGB_INTEGER: 36248;
			public static GL_RG_INTEGER: 33320;
			public static GL_SAMPLER_2D_ARRAY: 36289;
			public static GL_SAMPLER_2D_ARRAY_SHADOW: 36292;
			public static GL_SAMPLER_2D_SHADOW: 35682;
			public static GL_SAMPLER_3D: 35679;
			public static GL_SAMPLER_BINDING: 35097;
			public static GL_SAMPLER_CUBE_SHADOW: 36293;
			public static GL_SEPARATE_ATTRIBS: 35981;
			public static GL_SIGNALED: 37145;
			public static GL_SIGNED_NORMALIZED: 36764;
			public static GL_SRGB: 35904;
			public static GL_SRGB8: 35905;
			public static GL_SRGB8_ALPHA8: 35907;
			public static GL_STATIC_COPY: 35046;
			public static GL_STATIC_READ: 35045;
			public static GL_STENCIL: 6146;
			public static GL_STREAM_COPY: 35042;
			public static GL_STREAM_READ: 35041;
			public static GL_SYNC_CONDITION: 37139;
			public static GL_SYNC_FENCE: 37142;
			public static GL_SYNC_FLAGS: 37141;
			public static GL_SYNC_FLUSH_COMMANDS_BIT: 1;
			public static GL_SYNC_GPU_COMMANDS_COMPLETE: 37143;
			public static GL_SYNC_STATUS: 37140;
			public static GL_TEXTURE_2D_ARRAY: 35866;
			public static GL_TEXTURE_3D: 32879;
			public static GL_TEXTURE_BASE_LEVEL: 33084;
			public static GL_TEXTURE_BINDING_2D_ARRAY: 35869;
			public static GL_TEXTURE_BINDING_3D: 32874;
			public static GL_TEXTURE_COMPARE_FUNC: 34893;
			public static GL_TEXTURE_COMPARE_MODE: 34892;
			public static GL_TEXTURE_IMMUTABLE_FORMAT: 37167;
			public static GL_TEXTURE_IMMUTABLE_LEVELS: 33503;
			public static GL_TEXTURE_MAX_LEVEL: 33085;
			public static GL_TEXTURE_MAX_LOD: 33083;
			public static GL_TEXTURE_MIN_LOD: 33082;
			public static GL_TEXTURE_SWIZZLE_A: 36421;
			public static GL_TEXTURE_SWIZZLE_B: 36420;
			public static GL_TEXTURE_SWIZZLE_G: 36419;
			public static GL_TEXTURE_SWIZZLE_R: 36418;
			public static GL_TEXTURE_WRAP_R: 32882;
			public static GL_TIMEOUT_EXPIRED: 37147;
			public static GL_TIMEOUT_IGNORED: -1;
			public static GL_TRANSFORM_FEEDBACK: 36386;
			public static GL_TRANSFORM_FEEDBACK_ACTIVE: 36388;
			public static GL_TRANSFORM_FEEDBACK_BINDING: 36389;
			public static GL_TRANSFORM_FEEDBACK_BUFFER: 35982;
			public static GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: 35983;
			public static GL_TRANSFORM_FEEDBACK_BUFFER_MODE: 35967;
			public static GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: 35973;
			public static GL_TRANSFORM_FEEDBACK_BUFFER_START: 35972;
			public static GL_TRANSFORM_FEEDBACK_PAUSED: 36387;
			public static GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: 35976;
			public static GL_TRANSFORM_FEEDBACK_VARYINGS: 35971;
			public static GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: 35958;
			public static GL_UNIFORM_ARRAY_STRIDE: 35388;
			public static GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: 35394;
			public static GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: 35395;
			public static GL_UNIFORM_BLOCK_BINDING: 35391;
			public static GL_UNIFORM_BLOCK_DATA_SIZE: 35392;
			public static GL_UNIFORM_BLOCK_INDEX: 35386;
			public static GL_UNIFORM_BLOCK_NAME_LENGTH: 35393;
			public static GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: 35398;
			public static GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: 35396;
			public static GL_UNIFORM_BUFFER: 35345;
			public static GL_UNIFORM_BUFFER_BINDING: 35368;
			public static GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: 35380;
			public static GL_UNIFORM_BUFFER_SIZE: 35370;
			public static GL_UNIFORM_BUFFER_START: 35369;
			public static GL_UNIFORM_IS_ROW_MAJOR: 35390;
			public static GL_UNIFORM_MATRIX_STRIDE: 35389;
			public static GL_UNIFORM_NAME_LENGTH: 35385;
			public static GL_UNIFORM_OFFSET: 35387;
			public static GL_UNIFORM_SIZE: 35384;
			public static GL_UNIFORM_TYPE: 35383;
			public static GL_UNPACK_IMAGE_HEIGHT: 32878;
			public static GL_UNPACK_ROW_LENGTH: 3314;
			public static GL_UNPACK_SKIP_IMAGES: 32877;
			public static GL_UNPACK_SKIP_PIXELS: 3316;
			public static GL_UNPACK_SKIP_ROWS: 3315;
			public static GL_UNSIGNALED: 37144;
			public static GL_UNSIGNED_INT_10F_11F_11F_REV: 35899;
			public static GL_UNSIGNED_INT_24_8: 34042;
			public static GL_UNSIGNED_INT_2_10_10_10_REV: 33640;
			public static GL_UNSIGNED_INT_5_9_9_9_REV: 35902;
			public static GL_UNSIGNED_INT_SAMPLER_2D: 36306;
			public static GL_UNSIGNED_INT_SAMPLER_2D_ARRAY: 36311;
			public static GL_UNSIGNED_INT_SAMPLER_3D: 36307;
			public static GL_UNSIGNED_INT_SAMPLER_CUBE: 36308;
			public static GL_UNSIGNED_INT_VEC2: 36294;
			public static GL_UNSIGNED_INT_VEC3: 36295;
			public static GL_UNSIGNED_INT_VEC4: 36296;
			public static GL_UNSIGNED_NORMALIZED: 35863;
			public static GL_VERTEX_ARRAY_BINDING: 34229;
			public static GL_VERTEX_ATTRIB_ARRAY_DIVISOR: 35070;
			public static GL_VERTEX_ATTRIB_ARRAY_INTEGER: 35069;
			public static GL_WAIT_FAILED: 37149;
			public static glGetUniformuiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetActiveUniformsiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: number, param5: androidNative.Array<number>, param6: number): void;
			public static glGetActiveUniformBlockName(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number, param5: androidNative.Array<number>, param6: number): void;
			public static glGetUniformIndices(param0: number, param1: androidNative.Array<string>, param2: java.nio.IntBuffer): void;
			public static glGenSamplers(param0: number, param1: androidNative.Array<number>, param2: 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: number): void;
			public static glUniform3uiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glClientWaitSync(param0: number, param1: number, param2: number): number;
			public static glGetSynciv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number, param5: androidNative.Array<number>, param6: number): void;
			public static glInvalidateFramebuffer(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glUniform4uiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 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 glGetTransformFeedbackVarying(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number): string;
			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 glGenQueries(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glDeleteSamplers(param0: number, param1: java.nio.IntBuffer): void;
			public static glSamplerParameterf(param0: number, param1: number, param2: number): void;
			public static glClearBufferiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glDeleteSync(param0: number): void;
			public static glUniformMatrix3x2fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: number): void;
			public static glSamplerParameteri(param0: number, param1: number, param2: number): void;
			public static glGetActiveUniformBlockiv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glGetIntegeri_v(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glVertexAttribI4i(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetSamplerParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glDeleteSamplers(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glVertexAttribIPointer(index: number, size: number, type: number, stride: number, pointer: java.nio.Buffer): void;
			public static glInvalidateSubFramebuffer(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glUniform4uiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glUniformMatrix4x2fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glVertexAttribI4uiv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glBeginQuery(param0: number, param1: number): void;
			public static glEndQuery(param0: number): void;
			public static glGetVertexAttribIiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public constructor();
			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 glUniform1uiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGenVertexArrays(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGenTransformFeedbacks(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetQueryObjectuiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 glUniformBlockBinding(param0: number, param1: number, param2: number): void;
			public static glTransformFeedbackVaryings(param0: number, param1: androidNative.Array<string>, param2: 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 glGetVertexAttribIiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glIsSync(param0: number): boolean;
			public static glUniformMatrix2x4fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: number): void;
			public static glVertexAttribI4iv(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetBufferParameteri64v(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glVertexAttribI4iv(param0: number, param1: java.nio.IntBuffer): void;
			public static glTexStorage2D(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glUniform2uiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glSamplerParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGenQueries(param0: number, param1: java.nio.IntBuffer): void;
			public static glDeleteVertexArrays(param0: number, param1: androidNative.Array<number>, param2: number): 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 glGetTransformFeedbackVarying(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number, param5: androidNative.Array<number>, param6: number, param7: androidNative.Array<number>, param8: number, param9: androidNative.Array<number>, param10: number): 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 glDeleteTransformFeedbacks(param0: number, param1: androidNative.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 glDrawBuffers(param0: number, param1: androidNative.Array<number>, param2: number): 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 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 glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): void;
			public static glClearBufferfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glBindVertexArray(param0: number): void;
			public static glDeleteQueries(param0: number, param1: java.nio.IntBuffer): void;
			public static glUniformMatrix2x3fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: number): void;
			public static glGetProgramBinary(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number, param6: java.nio.Buffer): 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 glGetBufferPointerv(param0: number, param1: number): java.nio.Buffer;
			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 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 glGetActiveUniformsiv(param0: number, param1: number, param2: java.nio.IntBuffer, param3: number, param4: java.nio.IntBuffer): void;
			public static glInvalidateFramebuffer(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glClearBufferfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glClearBufferuiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glProgramParameteri(param0: number, param1: number, param2: number): void;
			public static glUniformMatrix4x2fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: number): void;
			public static glGetStringi(param0: number, param1: number): string;
			public static glMapBufferRange(param0: number, param1: number, param2: number, param3: number): java.nio.Buffer;
			public static glSamplerParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			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 glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.nio.Buffer): 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 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 glGetSamplerParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glDrawElementsInstanced(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetQueryiv(param0: number, param1: number, param2: androidNative.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 glUniformMatrix3x4fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: number): void;
			public static glDeleteQueries(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glCopyTexSubImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: 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 glGetInteger64v(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glGetUniformIndices(param0: number, param1: androidNative.Array<string>, param2: androidNative.Array<number>, param3: number): void;
			public static glGetInteger64i_v(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glPauseTransformFeedback(): void;
			public static glDeleteTransformFeedbacks(param0: number, param1: java.nio.IntBuffer): 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 glUniform3uiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 glUniformMatrix4x3fv(param0: number, param1: number, param2: boolean, param3: androidNative.Array<number>, param4: number): void;
			public static glVertexAttribDivisor(param0: number, param1: number): void;
			public static glGetIntegeri_v(param0: number, param1: number, param2: java.nio.IntBuffer): 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 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 glGenTransformFeedbacks(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glWaitSync(param0: number, param1: number, param2: number): void;
			public static glGetInternalformativ(param0: number, param1: number, param2: number, param3: number, param4: androidNative.Array<number>, param5: number): void;
			public static glGetVertexAttribIuiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glSamplerParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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: 37593;
			public static GL_ACTIVE_PROGRAM: 33369;
			public static GL_ACTIVE_RESOURCES: 37621;
			public static GL_ACTIVE_VARIABLES: 37637;
			public static GL_ALL_BARRIER_BITS: -1;
			public static GL_ALL_SHADER_BITS: -1;
			public static GL_ARRAY_SIZE: 37627;
			public static GL_ARRAY_STRIDE: 37630;
			public static GL_ATOMIC_COUNTER_BARRIER_BIT: 4096;
			public static GL_ATOMIC_COUNTER_BUFFER: 37568;
			public static GL_ATOMIC_COUNTER_BUFFER_BINDING: 37569;
			public static GL_ATOMIC_COUNTER_BUFFER_INDEX: 37633;
			public static GL_ATOMIC_COUNTER_BUFFER_SIZE: 37571;
			public static GL_ATOMIC_COUNTER_BUFFER_START: 37570;
			public static GL_BLOCK_INDEX: 37629;
			public static GL_BUFFER_BINDING: 37634;
			public static GL_BUFFER_DATA_SIZE: 37635;
			public static GL_BUFFER_UPDATE_BARRIER_BIT: 512;
			public static GL_BUFFER_VARIABLE: 37605;
			public static GL_COMMAND_BARRIER_BIT: 64;
			public static GL_COMPUTE_SHADER: 37305;
			public static GL_COMPUTE_SHADER_BIT: 32;
			public static GL_COMPUTE_WORK_GROUP_SIZE: 33383;
			public static GL_DEPTH_STENCIL_TEXTURE_MODE: 37098;
			public static GL_DISPATCH_INDIRECT_BUFFER: 37102;
			public static GL_DISPATCH_INDIRECT_BUFFER_BINDING: 37103;
			public static GL_DRAW_INDIRECT_BUFFER: 36671;
			public static GL_DRAW_INDIRECT_BUFFER_BINDING: 36675;
			public static GL_ELEMENT_ARRAY_BARRIER_BIT: 2;
			public static GL_FRAGMENT_SHADER_BIT: 2;
			public static GL_FRAMEBUFFER_BARRIER_BIT: 1024;
			public static GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: 37652;
			public static GL_FRAMEBUFFER_DEFAULT_HEIGHT: 37649;
			public static GL_FRAMEBUFFER_DEFAULT_SAMPLES: 37651;
			public static GL_FRAMEBUFFER_DEFAULT_WIDTH: 37648;
			public static GL_IMAGE_2D: 36941;
			public static GL_IMAGE_2D_ARRAY: 36947;
			public static GL_IMAGE_3D: 36942;
			public static GL_IMAGE_BINDING_ACCESS: 36670;
			public static GL_IMAGE_BINDING_FORMAT: 36974;
			public static GL_IMAGE_BINDING_LAYER: 36669;
			public static GL_IMAGE_BINDING_LAYERED: 36668;
			public static GL_IMAGE_BINDING_LEVEL: 36667;
			public static GL_IMAGE_BINDING_NAME: 36666;
			public static GL_IMAGE_CUBE: 36944;
			public static GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS: 37065;
			public static GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE: 37064;
			public static GL_IMAGE_FORMAT_COMPATIBILITY_TYPE: 37063;
			public static GL_INT_IMAGE_2D: 36952;
			public static GL_INT_IMAGE_2D_ARRAY: 36958;
			public static GL_INT_IMAGE_3D: 36953;
			public static GL_INT_IMAGE_CUBE: 36955;
			public static GL_INT_SAMPLER_2D_MULTISAMPLE: 37129;
			public static GL_IS_ROW_MAJOR: 37632;
			public static GL_LOCATION: 37646;
			public static GL_MATRIX_STRIDE: 37631;
			public static GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: 37596;
			public static GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: 37592;
			public static GL_MAX_COLOR_TEXTURE_SAMPLES: 37134;
			public static GL_MAX_COMBINED_ATOMIC_COUNTERS: 37591;
			public static GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: 37585;
			public static GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: 33382;
			public static GL_MAX_COMBINED_IMAGE_UNIFORMS: 37071;
			public static GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: 36665;
			public static GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: 37084;
			public static GL_MAX_COMPUTE_ATOMIC_COUNTERS: 33381;
			public static GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: 33380;
			public static GL_MAX_COMPUTE_IMAGE_UNIFORMS: 37309;
			public static GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: 37083;
			public static GL_MAX_COMPUTE_SHARED_MEMORY_SIZE: 33378;
			public static GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: 37308;
			public static GL_MAX_COMPUTE_UNIFORM_BLOCKS: 37307;
			public static GL_MAX_COMPUTE_UNIFORM_COMPONENTS: 33379;
			public static GL_MAX_COMPUTE_WORK_GROUP_COUNT: 37310;
			public static GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: 37099;
			public static GL_MAX_COMPUTE_WORK_GROUP_SIZE: 37311;
			public static GL_MAX_DEPTH_TEXTURE_SAMPLES: 37135;
			public static GL_MAX_FRAGMENT_ATOMIC_COUNTERS: 37590;
			public static GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: 37584;
			public static GL_MAX_FRAGMENT_IMAGE_UNIFORMS: 37070;
			public static GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: 37082;
			public static GL_MAX_FRAMEBUFFER_HEIGHT: 37654;
			public static GL_MAX_FRAMEBUFFER_SAMPLES: 37656;
			public static GL_MAX_FRAMEBUFFER_WIDTH: 37653;
			public static GL_MAX_IMAGE_UNITS: 36664;
			public static GL_MAX_INTEGER_SAMPLES: 37136;
			public static GL_MAX_NAME_LENGTH: 37622;
			public static GL_MAX_NUM_ACTIVE_VARIABLES: 37623;
			public static GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: 36447;
			public static GL_MAX_SAMPLE_MASK_WORDS: 36441;
			public static GL_MAX_SHADER_STORAGE_BLOCK_SIZE: 37086;
			public static GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: 37085;
			public static GL_MAX_UNIFORM_LOCATIONS: 33390;
			public static GL_MAX_VERTEX_ATOMIC_COUNTERS: 37586;
			public static GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: 37580;
			public static GL_MAX_VERTEX_ATTRIB_BINDINGS: 33498;
			public static GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: 33497;
			public static GL_MAX_VERTEX_ATTRIB_STRIDE: 33509;
			public static GL_MAX_VERTEX_IMAGE_UNIFORMS: 37066;
			public static GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: 37078;
			public static GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: 36446;
			public static GL_NAME_LENGTH: 37625;
			public static GL_NUM_ACTIVE_VARIABLES: 37636;
			public static GL_OFFSET: 37628;
			public static GL_PIXEL_BUFFER_BARRIER_BIT: 128;
			public static GL_PROGRAM_INPUT: 37603;
			public static GL_PROGRAM_OUTPUT: 37604;
			public static GL_PROGRAM_PIPELINE_BINDING: 33370;
			public static GL_PROGRAM_SEPARABLE: 33368;
			public static GL_READ_ONLY: 35000;
			public static GL_READ_WRITE: 35002;
			public static GL_REFERENCED_BY_COMPUTE_SHADER: 37643;
			public static GL_REFERENCED_BY_FRAGMENT_SHADER: 37642;
			public static GL_REFERENCED_BY_VERTEX_SHADER: 37638;
			public static GL_SAMPLER_2D_MULTISAMPLE: 37128;
			public static GL_SAMPLE_MASK: 36433;
			public static GL_SAMPLE_MASK_VALUE: 36434;
			public static GL_SAMPLE_POSITION: 36432;
			public static GL_SHADER_IMAGE_ACCESS_BARRIER_BIT: 32;
			public static GL_SHADER_STORAGE_BARRIER_BIT: 8192;
			public static GL_SHADER_STORAGE_BLOCK: 37606;
			public static GL_SHADER_STORAGE_BUFFER: 37074;
			public static GL_SHADER_STORAGE_BUFFER_BINDING: 37075;
			public static GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: 37087;
			public static GL_SHADER_STORAGE_BUFFER_SIZE: 37077;
			public static GL_SHADER_STORAGE_BUFFER_START: 37076;
			public static GL_STENCIL_INDEX: 6401;
			public static GL_TEXTURE_2D_MULTISAMPLE: 37120;
			public static GL_TEXTURE_ALPHA_SIZE: 32863;
			public static GL_TEXTURE_ALPHA_TYPE: 35859;
			public static GL_TEXTURE_BINDING_2D_MULTISAMPLE: 37124;
			public static GL_TEXTURE_BLUE_SIZE: 32862;
			public static GL_TEXTURE_BLUE_TYPE: 35858;
			public static GL_TEXTURE_COMPRESSED: 34465;
			public static GL_TEXTURE_DEPTH: 32881;
			public static GL_TEXTURE_DEPTH_SIZE: 34890;
			public static GL_TEXTURE_DEPTH_TYPE: 35862;
			public static GL_TEXTURE_FETCH_BARRIER_BIT: 8;
			public static GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: 37127;
			public static GL_TEXTURE_GREEN_SIZE: 32861;
			public static GL_TEXTURE_GREEN_TYPE: 35857;
			public static GL_TEXTURE_HEIGHT: 4097;
			public static GL_TEXTURE_INTERNAL_FORMAT: 4099;
			public static GL_TEXTURE_RED_SIZE: 32860;
			public static GL_TEXTURE_RED_TYPE: 35856;
			public static GL_TEXTURE_SAMPLES: 37126;
			public static GL_TEXTURE_SHARED_SIZE: 35903;
			public static GL_TEXTURE_STENCIL_SIZE: 35057;
			public static GL_TEXTURE_UPDATE_BARRIER_BIT: 256;
			public static GL_TEXTURE_WIDTH: 4096;
			public static GL_TOP_LEVEL_ARRAY_SIZE: 37644;
			public static GL_TOP_LEVEL_ARRAY_STRIDE: 37645;
			public static GL_TRANSFORM_FEEDBACK_BARRIER_BIT: 2048;
			public static GL_TRANSFORM_FEEDBACK_VARYING: 37620;
			public static GL_TYPE: 37626;
			public static GL_UNIFORM: 37601;
			public static GL_UNIFORM_BARRIER_BIT: 4;
			public static GL_UNIFORM_BLOCK: 37602;
			public static GL_UNSIGNED_INT_ATOMIC_COUNTER: 37595;
			public static GL_UNSIGNED_INT_IMAGE_2D: 36963;
			public static GL_UNSIGNED_INT_IMAGE_2D_ARRAY: 36969;
			public static GL_UNSIGNED_INT_IMAGE_3D: 36964;
			public static GL_UNSIGNED_INT_IMAGE_CUBE: 36966;
			public static GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: 37130;
			public static GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT: 1;
			public static GL_VERTEX_ATTRIB_BINDING: 33492;
			public static GL_VERTEX_ATTRIB_RELATIVE_OFFSET: 33493;
			public static GL_VERTEX_BINDING_BUFFER: 36687;
			public static GL_VERTEX_BINDING_DIVISOR: 33494;
			public static GL_VERTEX_BINDING_OFFSET: 33495;
			public static GL_VERTEX_BINDING_STRIDE: 33496;
			public static GL_VERTEX_SHADER_BIT: 1;
			public static GL_WRITE_ONLY: 35001;
			public static glProgramUniform4uiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glProgramUniform2fv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): 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 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 glVertexAttribFormat(param0: number, param1: number, param2: number, param3: boolean, param4: number): void;
			public static glCreateShaderProgramv(param0: number, param1: androidNative.Array<string>): number;
			public static glDeleteProgramPipelines(param0: number, param1: java.nio.IntBuffer): void;
			public static glProgramUniform1uiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glProgramUniformMatrix3x4fv(param0: number, param1: number, param2: number, param3: boolean, param4: androidNative.Array<number>, param5: number): void;
			public static glProgramUniformMatrix4fv(param0: number, param1: number, param2: number, param3: boolean, param4: androidNative.Array<number>, param5: 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 glProgramUniform1uiv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): 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 glDispatchComputeIndirect(param0: number): void;
			public static glProgramUniformMatrix3fv(param0: number, param1: number, param2: number, param3: boolean, param4: androidNative.Array<number>, param5: number): void;
			public static glProgramUniformMatrix4x2fv(param0: number, param1: number, param2: number, param3: boolean, param4: androidNative.Array<number>, param5: number): void;
			public static glProgramUniformMatrix3x2fv(param0: number, param1: number, param2: number, param3: boolean, param4: androidNative.Array<number>, param5: number): void;
			public static glProgramUniform3iv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: 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 glProgramUniform1f(param0: number, param1: number, param2: number): void;
			public static glProgramUniform4iv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glProgramUniform2i(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetProgramPipelineiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetProgramResourceLocation(param0: number, param1: number, param2: string): number;
			public static glGetProgramResourceiv(param0: number, param1: number, param2: number, param3: number, param4: androidNative.Array<number>, param5: number, param6: number, param7: androidNative.Array<number>, param8: number, param9: androidNative.Array<number>, param10: number): void;
			public static glDeleteProgramPipelines(param0: number, param1: androidNative.Array<number>, param2: number): void;
			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 glBindVertexBuffer(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetProgramResourceName(param0: number, param1: number, param2: number): string;
			public static glProgramUniform3fv(param0: number, param1: number, param2: number, param3: java.nio.FloatBuffer): void;
			public static glProgramUniformMatrix2x3fv(param0: number, param1: number, param2: number, param3: boolean, param4: androidNative.Array<number>, param5: number): void;
			public static glVertexAttribIFormat(param0: number, param1: number, param2: number, param3: number): void;
			public static glProgramUniformMatrix4fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glGetFramebufferParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glProgramUniform3uiv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: 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: androidNative.Array<number>, param5: number): void;
			public static glGetBooleani_v(param0: number, param1: number, param2: androidNative.Array<boolean>, param3: number): void;
			public static glProgramUniformMatrix2fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glProgramUniform4ui(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glProgramUniform2iv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glProgramUniformMatrix3x4fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glGetProgramInterfaceiv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): 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 glProgramUniform2uiv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: 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 glProgramUniform1fv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glProgramUniformMatrix3x2fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glGetTexLevelParameteriv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: 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 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 glGetTexLevelParameterfv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glGetMultisamplefv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetProgramPipelineiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glProgramUniform4fv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glActiveShaderProgram(param0: number, param1: number): void;
			public static glProgramUniform2f(param0: number, param1: number, param2: number, param3: number): void;
			public static glGenProgramPipelines(param0: number, param1: androidNative.Array<number>, param2: number): void;
			public static glProgramUniform3i(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glProgramUniformMatrix2x4fv(param0: number, param1: number, param2: number, param3: boolean, param4: androidNative.Array<number>, param5: number): void;
			public static glProgramUniform1iv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glProgramUniform1fv(param0: number, param1: number, param2: number, param3: java.nio.FloatBuffer): void;
			public static glProgramUniform4uiv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: 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 glProgramUniform3fv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glProgramUniformMatrix4x3fv(param0: number, param1: number, param2: number, param3: boolean, param4: androidNative.Array<number>, param5: 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: 37509;
			public static GL_BUFFER_KHR: 33504;
			public static GL_CLAMP_TO_BORDER_EXT: 33069;
			public static GL_COLORBURN_KHR: 37530;
			public static GL_COLORDODGE_KHR: 37529;
			public static GL_COMPRESSED_RGBA_ASTC_10x10_KHR: 37819;
			public static GL_COMPRESSED_RGBA_ASTC_10x5_KHR: 37816;
			public static GL_COMPRESSED_RGBA_ASTC_10x6_KHR: 37817;
			public static GL_COMPRESSED_RGBA_ASTC_10x8_KHR: 37818;
			public static GL_COMPRESSED_RGBA_ASTC_12x10_KHR: 37820;
			public static GL_COMPRESSED_RGBA_ASTC_12x12_KHR: 37821;
			public static GL_COMPRESSED_RGBA_ASTC_4x4_KHR: 37808;
			public static GL_COMPRESSED_RGBA_ASTC_5x4_KHR: 37809;
			public static GL_COMPRESSED_RGBA_ASTC_5x5_KHR: 37810;
			public static GL_COMPRESSED_RGBA_ASTC_6x5_KHR: 37811;
			public static GL_COMPRESSED_RGBA_ASTC_6x6_KHR: 37812;
			public static GL_COMPRESSED_RGBA_ASTC_8x5_KHR: 37813;
			public static GL_COMPRESSED_RGBA_ASTC_8x6_KHR: 37814;
			public static GL_COMPRESSED_RGBA_ASTC_8x8_KHR: 37815;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: 37851;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: 37848;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: 37849;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: 37850;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: 37852;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: 37853;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: 37840;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: 37841;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: 37842;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: 37843;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: 37844;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: 37845;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: 37846;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: 37847;
			public static GL_CONTEXT_FLAG_DEBUG_BIT_KHR: 2;
			public static GL_DARKEN_KHR: 37527;
			public static GL_DEBUG_CALLBACK_FUNCTION_KHR: 33348;
			public static GL_DEBUG_CALLBACK_USER_PARAM_KHR: 33349;
			public static GL_DEBUG_GROUP_STACK_DEPTH_KHR: 33389;
			public static GL_DEBUG_LOGGED_MESSAGES_KHR: 37189;
			public static GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR: 33347;
			public static GL_DEBUG_OUTPUT_KHR: 37600;
			public static GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR: 33346;
			public static GL_DEBUG_SEVERITY_HIGH_KHR: 37190;
			public static GL_DEBUG_SEVERITY_LOW_KHR: 37192;
			public static GL_DEBUG_SEVERITY_MEDIUM_KHR: 37191;
			public static GL_DEBUG_SEVERITY_NOTIFICATION_KHR: 33387;
			public static GL_DEBUG_SOURCE_API_KHR: 33350;
			public static GL_DEBUG_SOURCE_APPLICATION_KHR: 33354;
			public static GL_DEBUG_SOURCE_OTHER_KHR: 33355;
			public static GL_DEBUG_SOURCE_SHADER_COMPILER_KHR: 33352;
			public static GL_DEBUG_SOURCE_THIRD_PARTY_KHR: 33353;
			public static GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR: 33351;
			public static GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR: 33357;
			public static GL_DEBUG_TYPE_ERROR_KHR: 33356;
			public static GL_DEBUG_TYPE_MARKER_KHR: 33384;
			public static GL_DEBUG_TYPE_OTHER_KHR: 33361;
			public static GL_DEBUG_TYPE_PERFORMANCE_KHR: 33360;
			public static GL_DEBUG_TYPE_POP_GROUP_KHR: 33386;
			public static GL_DEBUG_TYPE_PORTABILITY_KHR: 33359;
			public static GL_DEBUG_TYPE_PUSH_GROUP_KHR: 33385;
			public static GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR: 33358;
			public static GL_DECODE_EXT: 35401;
			public static GL_DIFFERENCE_KHR: 37534;
			public static GL_EXCLUSION_KHR: 37536;
			public static GL_FIRST_VERTEX_CONVENTION_EXT: 36429;
			public static GL_FRACTIONAL_EVEN_EXT: 36476;
			public static GL_FRACTIONAL_ODD_EXT: 36475;
			public static GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES: 36445;
			public static GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT: 36263;
			public static GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT: 37650;
			public static GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT: 36264;
			public static GL_GEOMETRY_LINKED_INPUT_TYPE_EXT: 35095;
			public static GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT: 35096;
			public static GL_GEOMETRY_LINKED_VERTICES_OUT_EXT: 35094;
			public static GL_GEOMETRY_SHADER_BIT_EXT: 4;
			public static GL_GEOMETRY_SHADER_EXT: 36313;
			public static GL_GEOMETRY_SHADER_INVOCATIONS_EXT: 34943;
			public static GL_HARDLIGHT_KHR: 37531;
			public static GL_HSL_COLOR_KHR: 37551;
			public static GL_HSL_HUE_KHR: 37549;
			public static GL_HSL_LUMINOSITY_KHR: 37552;
			public static GL_HSL_SATURATION_KHR: 37550;
			public static GL_IMAGE_BUFFER_EXT: 36945;
			public static GL_IMAGE_CUBE_MAP_ARRAY_EXT: 36948;
			public static GL_INT_IMAGE_BUFFER_EXT: 36956;
			public static GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT: 36959;
			public static GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: 37132;
			public static GL_INT_SAMPLER_BUFFER_EXT: 36304;
			public static GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT: 36878;
			public static GL_ISOLINES_EXT: 36474;
			public static GL_IS_PER_PATCH_EXT: 37607;
			public static GL_LAST_VERTEX_CONVENTION_EXT: 36430;
			public static GL_LAYER_PROVOKING_VERTEX_EXT: 33374;
			public static GL_LIGHTEN_KHR: 37528;
			public static GL_LINES_ADJACENCY_EXT: 10;
			public static GL_LINE_STRIP_ADJACENCY_EXT: 11;
			public static GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT: 35378;
			public static GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT: 36382;
			public static GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT: 36383;
			public static GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR: 33388;
			public static GL_MAX_DEBUG_LOGGED_MESSAGES_KHR: 37188;
			public static GL_MAX_DEBUG_MESSAGE_LENGTH_KHR: 37187;
			public static GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES: 36444;
			public static GL_MAX_FRAMEBUFFER_LAYERS_EXT: 37655;
			public static GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT: 37589;
			public static GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT: 37583;
			public static GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT: 37069;
			public static GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT: 37155;
			public static GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT: 37156;
			public static GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT: 36320;
			public static GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT: 36442;
			public static GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT: 37079;
			public static GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT: 35881;
			public static GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT: 36321;
			public static GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT: 35372;
			public static GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT: 36319;
			public static GL_MAX_LABEL_LENGTH_KHR: 33512;
			public static GL_MAX_PATCH_VERTICES_EXT: 36477;
			public static GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT: 37587;
			public static GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT: 37581;
			public static GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT: 37067;
			public static GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT: 34924;
			public static GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT: 36483;
			public static GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT: 37080;
			public static GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT: 36481;
			public static GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT: 36485;
			public static GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT: 36489;
			public static GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT: 36479;
			public static GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT: 37588;
			public static GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT: 37582;
			public static GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT: 37068;
			public static GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT: 34925;
			public static GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT: 36486;
			public static GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT: 37081;
			public static GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT: 36482;
			public static GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT: 36490;
			public static GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT: 36480;
			public static GL_MAX_TESS_GEN_LEVEL_EXT: 36478;
			public static GL_MAX_TESS_PATCH_COMPONENTS_EXT: 36484;
			public static GL_MAX_TEXTURE_BUFFER_SIZE_EXT: 35883;
			public static GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES: 36443;
			public static GL_MIN_SAMPLE_SHADING_VALUE_OES: 35895;
			public static GL_MULTIPLY_KHR: 37524;
			public static GL_OVERLAY_KHR: 37526;
			public static GL_PATCHES_EXT: 14;
			public static GL_PATCH_VERTICES_EXT: 36466;
			public static GL_PRIMITIVES_GENERATED_EXT: 35975;
			public static GL_PRIMITIVE_BOUNDING_BOX_EXT: 37566;
			public static GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: 33313;
			public static GL_PROGRAM_KHR: 33506;
			public static GL_QUADS_EXT: 7;
			public static GL_QUERY_KHR: 33507;
			public static GL_REFERENCED_BY_GEOMETRY_SHADER_EXT: 37641;
			public static GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT: 37639;
			public static GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT: 37640;
			public static GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: 37131;
			public static GL_SAMPLER_BUFFER_EXT: 36290;
			public static GL_SAMPLER_CUBE_MAP_ARRAY_EXT: 36876;
			public static GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT: 36877;
			public static GL_SAMPLER_KHR: 33510;
			public static GL_SAMPLE_SHADING_OES: 35894;
			public static GL_SCREEN_KHR: 37525;
			public static GL_SHADER_KHR: 33505;
			public static GL_SKIP_DECODE_EXT: 35402;
			public static GL_SOFTLIGHT_KHR: 37532;
			public static GL_STACK_OVERFLOW_KHR: 1283;
			public static GL_STACK_UNDERFLOW_KHR: 1284;
			public static GL_STENCIL_INDEX8_OES: 36168;
			public static GL_STENCIL_INDEX_OES: 6401;
			public static GL_TESS_CONTROL_OUTPUT_VERTICES_EXT: 36469;
			public static GL_TESS_CONTROL_SHADER_BIT_EXT: 8;
			public static GL_TESS_CONTROL_SHADER_EXT: 36488;
			public static GL_TESS_EVALUATION_SHADER_BIT_EXT: 16;
			public static GL_TESS_EVALUATION_SHADER_EXT: 36487;
			public static GL_TESS_GEN_MODE_EXT: 36470;
			public static GL_TESS_GEN_POINT_MODE_EXT: 36473;
			public static GL_TESS_GEN_SPACING_EXT: 36471;
			public static GL_TESS_GEN_VERTEX_ORDER_EXT: 36472;
			public static GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES: 37122;
			public static GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES: 37125;
			public static GL_TEXTURE_BINDING_BUFFER_EXT: 35884;
			public static GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT: 36874;
			public static GL_TEXTURE_BORDER_COLOR_EXT: 4100;
			public static GL_TEXTURE_BUFFER_BINDING_EXT: 35882;
			public static GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT: 35885;
			public static GL_TEXTURE_BUFFER_EXT: 35882;
			public static GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT: 37279;
			public static GL_TEXTURE_BUFFER_OFFSET_EXT: 37277;
			public static GL_TEXTURE_BUFFER_SIZE_EXT: 37278;
			public static GL_TEXTURE_CUBE_MAP_ARRAY_EXT: 36873;
			public static GL_TEXTURE_SRGB_DECODE_EXT: 35400;
			public static GL_TRIANGLES_ADJACENCY_EXT: 12;
			public static GL_TRIANGLE_STRIP_ADJACENCY_EXT: 13;
			public static GL_UNDEFINED_VERTEX_EXT: 33376;
			public static GL_UNSIGNED_INT_IMAGE_BUFFER_EXT: 36967;
			public static GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT: 36970;
			public static GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: 37133;
			public static GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT: 36312;
			public static GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT: 36879;
			public static GL_VERTEX_ARRAY_KHR: 32884;
			public static glPatchParameteriEXT(param0: number, param1: number): void;
			public static glTexParameterIivEXT(param0: number, param1: number, param2: androidNative.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 glSamplerParameterIuivEXT(param0: number, param1: number, param2: androidNative.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 glBlendBarrierKHR(): void;
			public static glTexParameterIivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetSamplerParameterIivEXT(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 glGetSamplerParameterIivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDebugMessageControlKHR(param0: number, param1: number, param2: number, param3: number, param4: androidNative.Array<number>, param5: number, param6: boolean): void;
			public static glGetDebugMessageCallbackKHR(): android.opengl.GLES31Ext.DebugProcKHR;
			public static glTexParameterIuivEXT(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetSamplerParameterIuivEXT(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			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 glGetDebugMessageLogKHR(param0: number, param1: androidNative.Array<number>, param2: number, param3: androidNative.Array<number>, param4: number, param5: androidNative.Array<number>, param6: number, param7: androidNative.Array<number>, param8: number): androidNative.Array<string>;
			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 glGetDebugMessageLogKHR(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number, param6: androidNative.Array<number>, param7: number, param8: androidNative.Array<number>, param9: number, param10: androidNative.Array<number>, param11: number, param12: androidNative.Array<number>, param13: number): number;
			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 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 glGetTexParameterIuivEXT(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glSamplerParameterIivEXT(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetObjectPtrLabelKHR(param0: number): string;
			public static glGetTexParameterIivEXT(param0: number, param1: number, param2: androidNative.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): androidNative.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: 33504;
			public static GL_CLAMP_TO_BORDER: 33069;
			public static GL_COLORBURN: 37530;
			public static GL_COLORDODGE: 37529;
			public static GL_COMPRESSED_RGBA_ASTC_10x10: 37819;
			public static GL_COMPRESSED_RGBA_ASTC_10x5: 37816;
			public static GL_COMPRESSED_RGBA_ASTC_10x6: 37817;
			public static GL_COMPRESSED_RGBA_ASTC_10x8: 37818;
			public static GL_COMPRESSED_RGBA_ASTC_12x10: 37820;
			public static GL_COMPRESSED_RGBA_ASTC_12x12: 37821;
			public static GL_COMPRESSED_RGBA_ASTC_4x4: 37808;
			public static GL_COMPRESSED_RGBA_ASTC_5x4: 37809;
			public static GL_COMPRESSED_RGBA_ASTC_5x5: 37810;
			public static GL_COMPRESSED_RGBA_ASTC_6x5: 37811;
			public static GL_COMPRESSED_RGBA_ASTC_6x6: 37812;
			public static GL_COMPRESSED_RGBA_ASTC_8x5: 37813;
			public static GL_COMPRESSED_RGBA_ASTC_8x6: 37814;
			public static GL_COMPRESSED_RGBA_ASTC_8x8: 37815;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10: 37851;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5: 37848;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6: 37849;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8: 37850;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10: 37852;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12: 37853;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4: 37840;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4: 37841;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5: 37842;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5: 37843;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6: 37844;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5: 37845;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6: 37846;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8: 37847;
			public static GL_CONTEXT_FLAGS: 33310;
			public static GL_CONTEXT_FLAG_DEBUG_BIT: 2;
			public static GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT: 4;
			public static GL_CONTEXT_LOST: 1287;
			public static GL_DARKEN: 37527;
			public static GL_DEBUG_CALLBACK_FUNCTION: 33348;
			public static GL_DEBUG_CALLBACK_USER_PARAM: 33349;
			public static GL_DEBUG_GROUP_STACK_DEPTH: 33389;
			public static GL_DEBUG_LOGGED_MESSAGES: 37189;
			public static GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: 33347;
			public static GL_DEBUG_OUTPUT: 37600;
			public static GL_DEBUG_OUTPUT_SYNCHRONOUS: 33346;
			public static GL_DEBUG_SEVERITY_HIGH: 37190;
			public static GL_DEBUG_SEVERITY_LOW: 37192;
			public static GL_DEBUG_SEVERITY_MEDIUM: 37191;
			public static GL_DEBUG_SEVERITY_NOTIFICATION: 33387;
			public static GL_DEBUG_SOURCE_API: 33350;
			public static GL_DEBUG_SOURCE_APPLICATION: 33354;
			public static GL_DEBUG_SOURCE_OTHER: 33355;
			public static GL_DEBUG_SOURCE_SHADER_COMPILER: 33352;
			public static GL_DEBUG_SOURCE_THIRD_PARTY: 33353;
			public static GL_DEBUG_SOURCE_WINDOW_SYSTEM: 33351;
			public static GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: 33357;
			public static GL_DEBUG_TYPE_ERROR: 33356;
			public static GL_DEBUG_TYPE_MARKER: 33384;
			public static GL_DEBUG_TYPE_OTHER: 33361;
			public static GL_DEBUG_TYPE_PERFORMANCE: 33360;
			public static GL_DEBUG_TYPE_POP_GROUP: 33386;
			public static GL_DEBUG_TYPE_PORTABILITY: 33359;
			public static GL_DEBUG_TYPE_PUSH_GROUP: 33385;
			public static GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: 33358;
			public static GL_DIFFERENCE: 37534;
			public static GL_EXCLUSION: 37536;
			public static GL_FIRST_VERTEX_CONVENTION: 36429;
			public static GL_FRACTIONAL_EVEN: 36476;
			public static GL_FRACTIONAL_ODD: 36475;
			public static GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: 36445;
			public static GL_FRAMEBUFFER_ATTACHMENT_LAYERED: 36263;
			public static GL_FRAMEBUFFER_DEFAULT_LAYERS: 37650;
			public static GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: 36264;
			public static GL_GEOMETRY_INPUT_TYPE: 35095;
			public static GL_GEOMETRY_OUTPUT_TYPE: 35096;
			public static GL_GEOMETRY_SHADER: 36313;
			public static GL_GEOMETRY_SHADER_BIT: 4;
			public static GL_GEOMETRY_SHADER_INVOCATIONS: 34943;
			public static GL_GEOMETRY_VERTICES_OUT: 35094;
			public static GL_GUILTY_CONTEXT_RESET: 33363;
			public static GL_HARDLIGHT: 37531;
			public static GL_HSL_COLOR: 37551;
			public static GL_HSL_HUE: 37549;
			public static GL_HSL_LUMINOSITY: 37552;
			public static GL_HSL_SATURATION: 37550;
			public static GL_IMAGE_BUFFER: 36945;
			public static GL_IMAGE_CUBE_MAP_ARRAY: 36948;
			public static GL_INNOCENT_CONTEXT_RESET: 33364;
			public static GL_INT_IMAGE_BUFFER: 36956;
			public static GL_INT_IMAGE_CUBE_MAP_ARRAY: 36959;
			public static GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: 37132;
			public static GL_INT_SAMPLER_BUFFER: 36304;
			public static GL_INT_SAMPLER_CUBE_MAP_ARRAY: 36878;
			public static GL_ISOLINES: 36474;
			public static GL_IS_PER_PATCH: 37607;
			public static GL_LAST_VERTEX_CONVENTION: 36430;
			public static GL_LAYER_PROVOKING_VERTEX: 33374;
			public static GL_LIGHTEN: 37528;
			public static GL_LINES_ADJACENCY: 10;
			public static GL_LINE_STRIP_ADJACENCY: 11;
			public static GL_LOSE_CONTEXT_ON_RESET: 33362;
			public static GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: 35378;
			public static GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: 36382;
			public static GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: 36383;
			public static GL_MAX_DEBUG_GROUP_STACK_DEPTH: 33388;
			public static GL_MAX_DEBUG_LOGGED_MESSAGES: 37188;
			public static GL_MAX_DEBUG_MESSAGE_LENGTH: 37187;
			public static GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: 36444;
			public static GL_MAX_FRAMEBUFFER_LAYERS: 37655;
			public static GL_MAX_GEOMETRY_ATOMIC_COUNTERS: 37589;
			public static GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: 37583;
			public static GL_MAX_GEOMETRY_IMAGE_UNIFORMS: 37069;
			public static GL_MAX_GEOMETRY_INPUT_COMPONENTS: 37155;
			public static GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: 37156;
			public static GL_MAX_GEOMETRY_OUTPUT_VERTICES: 36320;
			public static GL_MAX_GEOMETRY_SHADER_INVOCATIONS: 36442;
			public static GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: 37079;
			public static GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: 35881;
			public static GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: 36321;
			public static GL_MAX_GEOMETRY_UNIFORM_BLOCKS: 35372;
			public static GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: 36319;
			public static GL_MAX_LABEL_LENGTH: 33512;
			public static GL_MAX_PATCH_VERTICES: 36477;
			public static GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: 37587;
			public static GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: 37581;
			public static GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: 37067;
			public static GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: 34924;
			public static GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: 36483;
			public static GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: 37080;
			public static GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: 36481;
			public static GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: 36485;
			public static GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: 36489;
			public static GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: 36479;
			public static GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: 37588;
			public static GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: 37582;
			public static GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: 37068;
			public static GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: 34925;
			public static GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: 36486;
			public static GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: 37081;
			public static GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: 36482;
			public static GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: 36490;
			public static GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: 36480;
			public static GL_MAX_TESS_GEN_LEVEL: 36478;
			public static GL_MAX_TESS_PATCH_COMPONENTS: 36484;
			public static GL_MAX_TEXTURE_BUFFER_SIZE: 35883;
			public static GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: 36443;
			public static GL_MIN_SAMPLE_SHADING_VALUE: 35895;
			public static GL_MULTIPLY: 37524;
			public static GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY: 37762;
			public static GL_MULTISAMPLE_LINE_WIDTH_RANGE: 37761;
			public static GL_NO_RESET_NOTIFICATION: 33377;
			public static GL_OVERLAY: 37526;
			public static GL_PATCHES: 14;
			public static GL_PATCH_VERTICES: 36466;
			public static GL_PRIMITIVES_GENERATED: 35975;
			public static GL_PRIMITIVE_BOUNDING_BOX: 37566;
			public static GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: 33313;
			public static GL_PROGRAM: 33506;
			public static GL_PROGRAM_PIPELINE: 33508;
			public static GL_QUADS: 7;
			public static GL_QUERY: 33507;
			public static GL_REFERENCED_BY_GEOMETRY_SHADER: 37641;
			public static GL_REFERENCED_BY_TESS_CONTROL_SHADER: 37639;
			public static GL_REFERENCED_BY_TESS_EVALUATION_SHADER: 37640;
			public static GL_RESET_NOTIFICATION_STRATEGY: 33366;
			public static GL_SAMPLER: 33510;
			public static GL_SAMPLER_2D_MULTISAMPLE_ARRAY: 37131;
			public static GL_SAMPLER_BUFFER: 36290;
			public static GL_SAMPLER_CUBE_MAP_ARRAY: 36876;
			public static GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW: 36877;
			public static GL_SAMPLE_SHADING: 35894;
			public static GL_SCREEN: 37525;
			public static GL_SHADER: 33505;
			public static GL_SOFTLIGHT: 37532;
			public static GL_STACK_OVERFLOW: 1283;
			public static GL_STACK_UNDERFLOW: 1284;
			public static GL_TESS_CONTROL_OUTPUT_VERTICES: 36469;
			public static GL_TESS_CONTROL_SHADER: 36488;
			public static GL_TESS_CONTROL_SHADER_BIT: 8;
			public static GL_TESS_EVALUATION_SHADER: 36487;
			public static GL_TESS_EVALUATION_SHADER_BIT: 16;
			public static GL_TESS_GEN_MODE: 36470;
			public static GL_TESS_GEN_POINT_MODE: 36473;
			public static GL_TESS_GEN_SPACING: 36471;
			public static GL_TESS_GEN_VERTEX_ORDER: 36472;
			public static GL_TEXTURE_2D_MULTISAMPLE_ARRAY: 37122;
			public static GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: 37125;
			public static GL_TEXTURE_BINDING_BUFFER: 35884;
			public static GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: 36874;
			public static GL_TEXTURE_BORDER_COLOR: 4100;
			public static GL_TEXTURE_BUFFER: 35882;
			public static GL_TEXTURE_BUFFER_BINDING: 35882;
			public static GL_TEXTURE_BUFFER_DATA_STORE_BINDING: 35885;
			public static GL_TEXTURE_BUFFER_OFFSET: 37277;
			public static GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT: 37279;
			public static GL_TEXTURE_BUFFER_SIZE: 37278;
			public static GL_TEXTURE_CUBE_MAP_ARRAY: 36873;
			public static GL_TRIANGLES_ADJACENCY: 12;
			public static GL_TRIANGLE_STRIP_ADJACENCY: 13;
			public static GL_UNDEFINED_VERTEX: 33376;
			public static GL_UNKNOWN_CONTEXT_RESET: 33365;
			public static GL_UNSIGNED_INT_IMAGE_BUFFER: 36967;
			public static GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY: 36970;
			public static GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: 37133;
			public static GL_UNSIGNED_INT_SAMPLER_BUFFER: 36312;
			public static GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY: 36879;
			public static GL_VERTEX_ARRAY: 32884;
			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 glGetnUniformfv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glTexParameterIiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetnUniformiv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			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 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: java.nio.FloatBuffer): void;
			public static glTexParameterIuiv(param0: number, param1: number, param2: androidNative.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 glGetnUniformuiv(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public static glBlendFunci(param0: number, param1: number, param2: number): void;
			public static glGetSamplerParameterIiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glSamplerParameterIuiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glTexBuffer(param0: number, param1: number, param2: number): void;
			public static glGetDebugMessageLog(param0: number, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<number>, param5: number, param6: androidNative.Array<number>, param7: number, param8: androidNative.Array<number>, param9: number, param10: androidNative.Array<number>, param11: number, param12: androidNative.Array<number>, param13: number): number;
			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 glDebugMessageControl(param0: number, param1: number, param2: number, param3: number, param4: androidNative.Array<number>, param5: number, param6: boolean): 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 glGetTexParameterIuiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glGetTexParameterIiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetDebugMessageLog(param0: number, param1: androidNative.Array<number>, param2: number, param3: androidNative.Array<number>, param4: number, param5: androidNative.Array<number>, param6: number, param7: androidNative.Array<number>, param8: number): androidNative.Array<string>;
			public static glBlendEquationSeparatei(param0: number, param1: number, param2: number): void;
			public static glGetSamplerParameterIuiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glGetObjectLabel(param0: number, param1: number): string;
			public static glGetDebugMessageLog(param0: number, param1: java.nio.IntBuffer, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer, param4: java.nio.IntBuffer): androidNative.Array<string>;
			public static glGetSamplerParameterIuiv(param0: number, param1: number, param2: java.nio.IntBuffer): 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 glDrawElementsInstancedBaseVertex(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glSamplerParameterIiv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
			public static glPrimitiveBoundingBox(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(error: number, string: string);
			public constructor(error: number);
		}
	}
}

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: 1;
			public static DEBUG_LOG_GL_CALLS: 2;
			public static RENDERMODE_CONTINUOUSLY: 1;
			public static RENDERMODE_WHEN_DIRTY: 0;
			public getDebugFlags(): number;
			public queueEvent(r: java.lang.Runnable): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setRenderMode(renderMode: number): void;
			public getPreserveEGLContextOnPause(): boolean;
			public requestRender(): void;
			public surfaceDestroyed(param0: android.view.SurfaceHolder): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setPreserveEGLContextOnPause(preserveOnPause: boolean): void;
			public getRenderMode(): number;
			public setEGLConfigChooser(redSize: number, greenSize: number, blueSize: number, alphaSize: number, depthSize: number, stencilSize: number): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public surfaceRedrawNeededAsync(holder: android.view.SurfaceHolder, drawingFinished: java.lang.Runnable): void;
			public surfaceRedrawNeededAsync(holder: android.view.SurfaceHolder, finishDrawing: java.lang.Runnable): void;
			/** @deprecated */
			public surfaceRedrawNeeded(holder: android.view.SurfaceHolder): void;
			public setEGLContextClientVersion(version: number): void;
			public onPause(): void;
			public setEGLContextFactory(factory: android.opengl.GLSurfaceView.EGLContextFactory): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public finalize(): void;
			public setEGLConfigChooser(configChooser: android.opengl.GLSurfaceView.EGLConfigChooser): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public setEGLWindowSurfaceFactory(factory: android.opengl.GLSurfaceView.EGLWindowSurfaceFactory): void;
			public onResume(): void;
			public surfaceCreated(param0: android.view.SurfaceHolder): void;
			public surfaceDestroyed(holder: android.view.SurfaceHolder): void;
			public setRenderer(renderer: android.opengl.GLSurfaceView.Renderer): void;
			public setGLWrapper(glWrapper: android.opengl.GLSurfaceView.GLWrapper): void;
			public surfaceChanged(holder: android.view.SurfaceHolder, format: number, w: number, h: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public surfaceChanged(param0: android.view.SurfaceHolder, param1: number, param2: number, param3: number): void;
			public setEGLConfigChooser(needDepth: boolean): void;
			public surfaceRedrawNeeded(param0: android.view.SurfaceHolder): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public surfaceCreated(holder: android.view.SurfaceHolder): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public setDebugFlags(debugFlags: number): 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 gluLookAt(gl: javax.microedition.khronos.opengles.GL10, eyeX: number, eyeY: number, eyeZ: number, centerX: number, centerY: number, centerZ: number, upX: number, upY: number, upZ: number): void;
			public constructor();
			public static gluPerspective(gl: javax.microedition.khronos.opengles.GL10, fovy: number, aspect: number, zNear: number, zFar: number): void;
			public static gluUnProject(winX: number, winY: number, winZ: number, model: androidNative.Array<number>, modelOffset: number, project: androidNative.Array<number>, projectOffset: number, view: androidNative.Array<number>, viewOffset: number, obj: androidNative.Array<number>, objOffset: number): number;
			public static gluOrtho2D(gl: javax.microedition.khronos.opengles.GL10, left: number, right: number, bottom: number, top: number): void;
			public static gluProject(objX: number, objY: number, objZ: number, model: androidNative.Array<number>, modelOffset: number, project: androidNative.Array<number>, projectOffset: number, view: androidNative.Array<number>, viewOffset: number, win: androidNative.Array<number>, winOffset: number): number;
			public static gluErrorString(error: number): string;
		}
	}
}

declare module android {
	export module opengl {
		export class GLUtils extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLUtils>;
			public static getInternalFormat(bitmap: android.graphics.Bitmap): number;
			public static texImage2D(target: number, level: number, bitmap: android.graphics.Bitmap, border: number): void;
			public static texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, bitmap: android.graphics.Bitmap): void;
			public static texImage2D(target: number, level: number, internalformat: number, bitmap: android.graphics.Bitmap, border: number): void;
			public static getEGLErrorString(error: number): string;
			public static texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, bitmap: android.graphics.Bitmap, format: number, type: number): void;
			public static getType(bitmap: android.graphics.Bitmap): number;
			public static texImage2D(target: number, level: number, internalformat: number, bitmap: android.graphics.Bitmap, type: number, border: number): void;
		}
	}
}

declare module android {
	export module opengl {
		export class Matrix extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.Matrix>;
			public static orthoM(m: androidNative.Array<number>, mOffset: number, left: number, right: number, bottom: number, top: number, near: number, far: number): void;
			public static perspectiveM(m: androidNative.Array<number>, offset: number, fovy: number, aspect: number, zNear: number, zFar: number): void;
			public static invertM(mInv: androidNative.Array<number>, mInvOffset: number, m: androidNative.Array<number>, mOffset: number): boolean;
			public static multiplyMV(resultVec: androidNative.Array<number>, resultVecOffset: number, lhsMat: androidNative.Array<number>, lhsMatOffset: number, rhsVec: androidNative.Array<number>, rhsVecOffset: number): void;
			public static scaleM(m: androidNative.Array<number>, mOffset: number, x: number, y: number, z: number): void;
			public static transposeM(mTrans: androidNative.Array<number>, mTransOffset: number, m: androidNative.Array<number>, mOffset: number): void;
			public static length(x: number, y: number, z: number): number;
			public static setLookAtM(rm: androidNative.Array<number>, rmOffset: number, eyeX: number, eyeY: number, eyeZ: number, centerX: number, centerY: number, centerZ: number, upX: number, upY: number, upZ: number): void;
			public static scaleM(sm: androidNative.Array<number>, smOffset: number, m: androidNative.Array<number>, mOffset: number, x: number, y: number, z: number): void;
			public static translateM(m: androidNative.Array<number>, mOffset: number, x: number, y: number, z: number): void;
			public static rotateM(m: androidNative.Array<number>, mOffset: number, a: number, x: number, y: number, z: number): void;
			public static multiplyMM(result: androidNative.Array<number>, resultOffset: number, lhs: androidNative.Array<number>, lhsOffset: number, rhs: androidNative.Array<number>, rhsOffset: number): void;
			/** @deprecated */
			public constructor();
			public static setRotateEulerM2(rm: androidNative.Array<number>, rmOffset: number, x: number, y: number, z: number): void;
			public static rotateM(rm: androidNative.Array<number>, rmOffset: number, m: androidNative.Array<number>, mOffset: number, a: number, x: number, y: number, z: number): void;
			public static setIdentityM(sm: androidNative.Array<number>, smOffset: number): void;
			public static translateM(tm: androidNative.Array<number>, tmOffset: number, m: androidNative.Array<number>, mOffset: number, x: number, y: number, z: number): void;
			public static setRotateM(rm: androidNative.Array<number>, rmOffset: number, a: number, x: number, y: number, z: number): void;
			/** @deprecated */
			public static setRotateEulerM(rm: androidNative.Array<number>, rmOffset: number, x: number, y: number, z: number): void;
			public static frustumM(m: androidNative.Array<number>, offset: number, left: number, right: number, bottom: number, top: number, near: number, far: 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: androidNative.Array<number>, param1: number, param2: androidNative.Array<number>, param3: number, param4: androidNative.Array<string>, param5: number, param6: number): number;
			public static computeBoundingSphere(param0: androidNative.Array<number>, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
			public constructor();
			public static frustumCullSpheres(param0: androidNative.Array<number>, param1: number, param2: androidNative.Array<number>, param3: number, param4: number, param5: androidNative.Array<number>, param6: number, param7: number): number;
		}
	}
}

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;
			/** @deprecated */
			public cancel(mayInterruptIfRunning: boolean): boolean;
			/** @deprecated */
			public getStatus(): android.os.AsyncTask.Status;
			/** @deprecated */
			public publishProgress(values: androidNative.Array<Progress>): void;
			/** @deprecated */
			public isCancelled(): boolean;
			/** @deprecated */
			public execute(params: androidNative.Array<Params>): android.os.AsyncTask<Params,Progress,Result>;
			/** @deprecated */
			public static execute(runnable: java.lang.Runnable): void;
			/** @deprecated */
			public onCancelled(): void;
			/** @deprecated */
			public onProgressUpdate(values: androidNative.Array<Progress>): void;
			/** @deprecated */
			public executeOnExecutor(exec: java.util.concurrent.Executor, params: androidNative.Array<Params>): android.os.AsyncTask<Params,Progress,Result>;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public onPreExecute(): void;
			/** @deprecated */
			public get(): Result;
			/** @deprecated */
			public doInBackground(param0: androidNative.Array<Params>): Result;
			/** @deprecated */
			public onCancelled(result: Result): void;
			/** @deprecated */
			public onPostExecute(result: Result): void;
			/** @deprecated */
			public get(timeout: number, unit: java.util.concurrent.TimeUnit): Result;
		}
		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 valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.os.AsyncTask.Status;
				public static values(): androidNative.Array<android.os.AsyncTask.Status>;
			}
		}
	}
}

declare module android {
	export module os {
		export class BadParcelableException extends android.util.AndroidRuntimeException {
			public static class: java.lang.Class<android.os.BadParcelableException>;
			public constructor(cause: java.lang.Exception);
			public constructor(name: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: string);
		}
	}
}

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 putDoubleArray(key: string, value: androidNative.Array<number>): void;
			public putIntArray(key: string, value: androidNative.Array<number>): void;
			public putAll(bundle: any): void;
			public getBooleanArray(key: string): androidNative.Array<boolean>;
			public getLongArray(key: string): androidNative.Array<number>;
			public containsKey(key: string): boolean;
			public putInt(key: string, value: number): void;
			public putBoolean(key: string, value: boolean): void;
			public getDoubleArray(key: string): androidNative.Array<number>;
			public getDouble(key: string): number;
			public remove(key: string): void;
			public putLongArray(key: string, value: androidNative.Array<number>): void;
			public putStringArray(key: string, value: androidNative.Array<string>): void;
			public getInt(key: string, defaultValue: number): number;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public getDouble(key: string, defaultValue: number): number;
			public getInt(key: string): number;
			public getLong(key: string, defaultValue: number): number;
			public getIntArray(key: string): androidNative.Array<number>;
			public getStringArray(key: string): androidNative.Array<string>;
			/** @deprecated */
			public get(key: string): any;
			public putBooleanArray(key: string, value: androidNative.Array<boolean>): void;
			public getLong(key: string): number;
			public putLong(key: string, value: number): void;
			public getBoolean(key: string, defaultValue: boolean): boolean;
			public getString(key: string): string;
			public getString(key: string, defaultValue: string): string;
			public getBoolean(key: string): boolean;
			public putDouble(key: string, value: number): void;
			public putString(key: string, value: string): void;
		}
	}
}

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: "android.os.action.CHARGING";
			public static ACTION_DISCHARGING: "android.os.action.DISCHARGING";
			public static BATTERY_HEALTH_COLD: 7;
			public static BATTERY_HEALTH_DEAD: 4;
			public static BATTERY_HEALTH_GOOD: 2;
			public static BATTERY_HEALTH_OVERHEAT: 3;
			public static BATTERY_HEALTH_OVER_VOLTAGE: 5;
			public static BATTERY_HEALTH_UNKNOWN: 1;
			public static BATTERY_HEALTH_UNSPECIFIED_FAILURE: 6;
			public static BATTERY_PLUGGED_AC: 1;
			public static BATTERY_PLUGGED_DOCK: 8;
			public static BATTERY_PLUGGED_USB: 2;
			public static BATTERY_PLUGGED_WIRELESS: 4;
			public static BATTERY_PROPERTY_CAPACITY: 4;
			public static BATTERY_PROPERTY_CHARGE_COUNTER: 1;
			public static BATTERY_PROPERTY_CURRENT_AVERAGE: 3;
			public static BATTERY_PROPERTY_CURRENT_NOW: 2;
			public static BATTERY_PROPERTY_ENERGY_COUNTER: 5;
			public static BATTERY_PROPERTY_STATUS: 6;
			public static BATTERY_STATUS_CHARGING: 2;
			public static BATTERY_STATUS_DISCHARGING: 3;
			public static BATTERY_STATUS_FULL: 5;
			public static BATTERY_STATUS_NOT_CHARGING: 4;
			public static BATTERY_STATUS_UNKNOWN: 1;
			public static EXTRA_BATTERY_LOW: "battery_low";
			public static EXTRA_CHARGING_STATUS: "android.os.extra.CHARGING_STATUS";
			public static EXTRA_CYCLE_COUNT: "android.os.extra.CYCLE_COUNT";
			public static EXTRA_HEALTH: "health";
			public static EXTRA_ICON_SMALL: "icon-small";
			public static EXTRA_LEVEL: "level";
			public static EXTRA_PLUGGED: "plugged";
			public static EXTRA_PRESENT: "present";
			public static EXTRA_SCALE: "scale";
			public static EXTRA_STATUS: "status";
			public static EXTRA_TECHNOLOGY: "technology";
			public static EXTRA_TEMPERATURE: "temperature";
			public static EXTRA_VOLTAGE: "voltage";
			public getIntProperty(id: number): number;
			public getLongProperty(id: number): number;
			public isCharging(): boolean;
			public computeChargeTimeRemaining(): number;
			public getStringProperty(id: number): string;
		}
	}
}

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 clearCallingWorkSource(): number;
			public static joinThreadPool(): void;
			public isBinderAlive(): boolean;
			public queryLocalInterface(param0: string): android.os.IInterface;
			public static clearCallingIdentity(): number;
			public queryLocalInterface(descriptor: string): android.os.IInterface;
			public static flushPendingCommands(): void;
			public static getCallingUserHandle(): android.os.UserHandle;
			public static restoreCallingWorkSource(param0: number): void;
			public static getCallingUidOrThrow(): number;
			public attachInterface(owner: android.os.IInterface, descriptor: string): void;
			public unlinkToDeath(recipient: android.os.IBinder.DeathRecipient, flags: number): boolean;
			public linkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): void;
			public dumpAsync(param0: java.io.FileDescriptor, param1: androidNative.Array<string>): void;
			public dump(fd: java.io.FileDescriptor, fout: java.io.PrintWriter, args: androidNative.Array<string>): void;
			public static getSuggestedMaxIpcSizeBytes(): number;
			public constructor(descriptor: string);
			public dump(param0: java.io.FileDescriptor, param1: androidNative.Array<string>): void;
			public constructor();
			public static getCallingPid(): number;
			public static restoreCallingIdentity(param0: number): void;
			public transact(param0: number, param1: android.os.Parcel, param2: android.os.Parcel, param3: number): boolean;
			public onTransact(code: number, data: android.os.Parcel, reply: android.os.Parcel, flags: number): boolean;
			public static getCallingUid(): number;
			public linkToDeath(recipient: android.os.IBinder.DeathRecipient, flags: number): void;
			public transact(code: number, data: android.os.Parcel, reply: android.os.Parcel, flags: number): boolean;
			public static getCallingWorkSourceUid(): number;
			public dump(fd: java.io.FileDescriptor, args: androidNative.Array<string>): void;
			public dumpAsync(fd: java.io.FileDescriptor, args: androidNative.Array<string>): void;
			public static setCallingWorkSourceUid(param0: number): number;
			public getInterfaceDescriptor(): string;
			public unlinkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): boolean;
		}
	}
}

declare module android {
	export module os {
		export class BugreportManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.BugreportManager>;
			public cancelBugreport(): void;
			public startConnectivityBugreport(bugreportFd: android.os.ParcelFileDescriptor, executor: java.util.concurrent.Executor, callback: android.os.BugreportManager.BugreportCallback): void;
		}
		export module BugreportManager {
			export abstract class BugreportCallback extends java.lang.Object {
				public static class: java.lang.Class<android.os.BugreportManager.BugreportCallback>;
				public static BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS: 5;
				public static BUGREPORT_ERROR_INVALID_INPUT: 1;
				public static BUGREPORT_ERROR_NO_BUGREPORT_TO_RETRIEVE: 6;
				public static BUGREPORT_ERROR_RUNTIME: 2;
				public static BUGREPORT_ERROR_USER_CONSENT_TIMED_OUT: 4;
				public static BUGREPORT_ERROR_USER_DENIED_CONSENT: 3;
				public onFinished(): void;
				public onEarlyReportFinished(): void;
				public onProgress(progress: number): void;
				public onError(errorCode: number): void;
				public constructor();
			}
		}
	}
}

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 ODM_SKU: string;
			public static PRODUCT: string;
			public static RADIO: string;
			public static SERIAL: string;
			public static SKU: string;
			public static SOC_MANUFACTURER: string;
			public static SOC_MODEL: string;
			public static SUPPORTED_32_BIT_ABIS: androidNative.Array<string>;
			public static SUPPORTED_64_BIT_ABIS: androidNative.Array<string>;
			public static SUPPORTED_ABIS: androidNative.Array<string>;
			public static TAGS: string;
			public static TIME: number;
			public static TYPE: string;
			public static UNKNOWN: "unknown";
			public static USER: string;
			public static getFingerprintedPartitions(): java.util.List<android.os.Build.Partition>;
			public constructor();
			public static getSerial(): string;
			public static getRadioVersion(): string;
		}
		export module Build {
			export class Partition extends java.lang.Object {
				public static class: java.lang.Class<android.os.Build.Partition>;
				public static PARTITION_NAME_SYSTEM: "system";
				public getFingerprint(): string;
				public getBuildTimeMillis(): number;
				public hashCode(): number;
				public getName(): string;
				public equals(o: any): boolean;
			}
			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 MEDIA_PERFORMANCE_CLASS: number;
				public static PREVIEW_SDK_INT: number;
				public static RELEASE: string;
				public static RELEASE_OR_CODENAME: string;
				public static RELEASE_OR_PREVIEW_DISPLAY: 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: 1;
				public static BASE_1_1: 2;
				public static CUPCAKE: 3;
				public static CUR_DEVELOPMENT: 10000;
				public static DONUT: 4;
				public static ECLAIR: 5;
				public static ECLAIR_0_1: 6;
				public static ECLAIR_MR1: 7;
				public static FROYO: 8;
				public static GINGERBREAD: 9;
				public static GINGERBREAD_MR1: 10;
				public static HONEYCOMB: 11;
				public static HONEYCOMB_MR1: 12;
				public static HONEYCOMB_MR2: 13;
				public static ICE_CREAM_SANDWICH: 14;
				public static ICE_CREAM_SANDWICH_MR1: 15;
				public static JELLY_BEAN: 16;
				public static JELLY_BEAN_MR1: 17;
				public static JELLY_BEAN_MR2: 18;
				public static KITKAT: 19;
				public static KITKAT_WATCH: 20;
				public static LOLLIPOP: 21;
				public static LOLLIPOP_MR1: 22;
				public static M: 23;
				public static N: 24;
				public static N_MR1: 25;
				public static O: 26;
				public static O_MR1: 27;
				public static P: 28;
				public static Q: 29;
				public static R: 30;
				public static S: 31;
				public static S_V2: 32;
				public static TIRAMISU: 33;
				public static UPSIDE_DOWN_CAKE: 34;
				public static VANILLA_ICE_CREAM: 35;
				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 getByte(key: string, defaultValue: number): java.lang.Byte;
			public getBinder(key: string): android.os.IBinder;
			public getParcelableArrayList(key: string, clazz: java.lang.Class<any>): java.util.ArrayList<any>;
			public getClassLoader(): java.lang.ClassLoader;
			public getCharSequence(key: string, defaultValue: string): string;
			public putByte(key: string, value: number): void;
			public putShort(key: string, value: number): void;
			public getFloat(key: string, defaultValue: number): number;
			public getFloatArray(key: string): androidNative.Array<number>;
			public getParcelableArray(key: string, clazz: java.lang.Class<any>): androidNative.Array<any>;
			public putParcelable(key: string, value: android.os.Parcelable): void;
			public putIntegerArrayList(key: string, value: java.util.ArrayList<java.lang.Integer>): void;
			public getByte(key: string): number;
			public putBinder(key: string, value: android.os.IBinder): void;
			public putStringArrayList(key: string, value: java.util.ArrayList<string>): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public putCharSequence(key: string, value: string): void;
			public clear(): void;
			public deepCopy(): android.os.Bundle;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			/** @deprecated */
			public getSerializable(key: string): java.io.Serializable;
			public constructor();
			public putFloatArray(key: string, value: androidNative.Array<number>): void;
			public clone(): any;
			public getChar(key: string): string;
			public getSize(key: string): any;
			public describeContents(): number;
			/** @deprecated */
			public getParcelable(key: string): android.os.Parcelable;
			public getParcelable(key: string, clazz: java.lang.Class<any>): any;
			public putCharArray(key: string, value: androidNative.Array<string>): void;
			public getBundle(key: string): android.os.Bundle;
			public putSizeF(key: string, value: any): void;
			public putAll(bundle: any): void;
			public putChar(key: string, value: string): void;
			public constructor(loader: java.lang.ClassLoader);
			public getChar(key: string, defaultValue: string): string;
			public putFloat(key: string, value: number): void;
			public putSize(key: string, value: any): void;
			public getCharSequence(key: string): string;
			public putAll(bundle: android.os.Bundle): void;
			public getShortArray(key: string): androidNative.Array<number>;
			public putSerializable(key: string, value: java.io.Serializable): void;
			public getByteArray(key: string): androidNative.Array<number>;
			public getCharArray(key: string): androidNative.Array<string>;
			public remove(key: string): void;
			public getShort(key: string, defaultValue: number): number;
			public hasFileDescriptors(): boolean;
			public getSizeF(key: string): any;
			public getIntegerArrayList(key: string): java.util.ArrayList<java.lang.Integer>;
			public constructor(b: any);
			public setClassLoader(loader: java.lang.ClassLoader): void;
			public getCharSequenceArray(key: string): androidNative.Array<string>;
			public constructor(b: android.os.Bundle);
			public getSerializable(key: string, clazz: java.lang.Class<any>): java.io.Serializable;
			public getSparseParcelableArray(key: string, clazz: java.lang.Class<any>): android.util.SparseArray<any>;
			public putParcelableArray(key: string, value: androidNative.Array<android.os.Parcelable>): void;
			/** @deprecated */
			public getSparseParcelableArray(key: string): android.util.SparseArray<any>;
			public getCharSequenceArrayList(key: string): java.util.ArrayList<string>;
			public putCharSequenceArrayList(key: string, value: java.util.ArrayList<string>): void;
			public putCharSequenceArray(key: string, value: androidNative.Array<string>): void;
			public putBundle(key: string, value: android.os.Bundle): void;
			public getShort(key: string): number;
			/** @deprecated */
			public getParcelableArray(key: string): androidNative.Array<android.os.Parcelable>;
			public constructor(capacity: number);
			public putShortArray(key: string, value: androidNative.Array<number>): void;
			public putByteArray(key: string, value: androidNative.Array<number>): void;
			public getFloat(key: string): number;
			/** @deprecated */
			public getParcelableArrayList(key: string): java.util.ArrayList<any>;
			public toString(): string;
			public getStringArrayList(key: string): java.util.ArrayList<string>;
			public putParcelableArrayList(key: string, value: java.util.ArrayList<any>): void;
			public putSparseParcelableArray(key: string, value: android.util.SparseArray<any>): void;
			public readFromParcel(parcel: android.os.Parcel): void;
		}
	}
}

declare module android {
	export module os {
		export class CancellationSignal extends java.lang.Object {
			public static class: java.lang.Class<android.os.CancellationSignal>;
			public setOnCancelListener(listener: android.os.CancellationSignal.OnCancelListener): void;
			public cancel(): void;
			public constructor();
			public isCanceled(): boolean;
			public throwIfCanceled(): 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 abstract class CombinedVibration extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.CombinedVibration>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.CombinedVibration>;
			public static createParallel(effect: android.os.VibrationEffect): android.os.CombinedVibration;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static startParallel(): android.os.CombinedVibration.ParallelCombination;
		}
		export module CombinedVibration {
			export class ParallelCombination extends java.lang.Object {
				public static class: java.lang.Class<android.os.CombinedVibration.ParallelCombination>;
				public combine(): android.os.CombinedVibration;
				public addVibrator(vibratorId: number, effect: android.os.VibrationEffect): android.os.CombinedVibration.ParallelCombination;
			}
		}
	}
}

declare module android {
	export module os {
		export class ConditionVariable extends java.lang.Object {
			public static class: java.lang.Class<android.os.ConditionVariable>;
			public block(timeoutMs: number): boolean;
			public constructor(state: 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(millisInFuture: number, countDownInterval: 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(out: android.os.Parcel, flags: number): void;
			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(message: string);
			public constructor(cause: java.lang.Exception);
			public constructor(name: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module os {
		export class DeadSystemException extends android.os.DeadObjectException {
			public static class: java.lang.Class<android.os.DeadSystemException>;
			public constructor(message: string);
			public constructor(cause: java.lang.Exception);
			public constructor(name: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: 2;
			public static SHOW_FULL_DETAIL: 1;
			public static SHOW_INITIALIZED: 4;
			public static TRACE_COUNT_ALLOCS: 1;
			public static getBinderDeathObjectCount(): number;
			/** @deprecated */
			public static setAllocationLimit(limit: number): number;
			public static getBinderSentTransactions(): number;
			/** @deprecated */
			public static resetThreadGcInvocationCount(): void;
			/** @deprecated */
			public static resetGlobalExternalFreedCount(): void;
			/** @deprecated */
			public static resetAllCounts(): void;
			/** @deprecated */
			public static setGlobalAllocationLimit(limit: number): number;
			/** @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;
			/** @deprecated */
			public static resetThreadAllocCount(): void;
			public static getRss(): number;
			public static startMethodTracing(tracePath: string, bufferSize: number, flags: number): void;
			/** @deprecated */
			public static getThreadAllocCount(): number;
			/** @deprecated */
			public static getThreadGcInvocationCount(): number;
			public static getNativeHeapFreeSize(): number;
			public static getBinderLocalObjectCount(): number;
			public static getRuntimeStat(statName: string): string;
			/** @deprecated */
			public static resetGlobalExternalFreedSize(): void;
			public static printLoadedClasses(flags: number): 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;
			/** @deprecated */
			public static enableEmulatorTraceOutput(): void;
			public static getRuntimeStats(): java.util.Map<string,string>;
			public static dumpService(name: string, fd: java.io.FileDescriptor, args: androidNative.Array<string>): boolean;
			/** @deprecated */
			public static resetThreadExternalAllocCount(): void;
			public static waitForDebugger(): void;
			public static stopNativeTracing(): void;
			/** @deprecated */
			public static resetGlobalClassInitTime(): void;
			/** @deprecated */
			public static resetGlobalClassInitCount(): void;
			/** @deprecated */
			public static getGlobalExternalAllocCount(): number;
			/** @deprecated */
			public static getGlobalClassInitTime(): number;
			public static dumpHprofData(fileName: string): void;
			/** @deprecated */
			public static getGlobalAllocCount(): number;
			public static stopMethodTracing(): void;
			/** @deprecated */
			public static resetGlobalAllocSize(): void;
			/** @deprecated */
			public static stopAllocCounting(): void;
			/** @deprecated */
			public static changeDebugPort(port: number): void;
			public static startMethodTracing(tracePath: string, bufferSize: number): void;
			public static startMethodTracing(): void;
			/** @deprecated */
			public static resetGlobalAllocCount(): void;
			public static getBinderProxyObjectCount(): number;
			/** @deprecated */
			public static resetGlobalExternalAllocCount(): void;
			public static getMemoryInfo(param0: android.os.Debug.MemoryInfo): void;
			public static startMethodTracingSampling(tracePath: string, bufferSize: number, intervalUs: number): void;
			/** @deprecated */
			public static resetThreadExternalAllocSize(): void;
			public static attachJvmtiAgent(library: string, options: string, classLoader: java.lang.ClassLoader): void;
			/** @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;
			public static startMethodTracing(tracePath: string): void;
			/** @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>;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public collect(): boolean;
				/** @deprecated */
				public resetAndStart(): boolean;
				/** @deprecated */
				public globalTotal(): number;
				/** @deprecated */
				public globalMethodInvocations(): number;
			}
			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 getMemoryStats(): java.util.Map<string,string>;
				public getMemoryStat(statName: string): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public readFromParcel(source: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTotalPss(): number;
				public constructor();
				public getTotalPrivateDirty(): number;
				public getTotalSwappablePss(): number;
				public getTotalSharedClean(): number;
				public describeContents(): number;
				public getTotalPrivateClean(): number;
				public getTotalSharedDirty(): 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: "android.intent.action.DROPBOX_ENTRY_ADDED";
			public static EXTRA_DROPPED_COUNT: "android.os.extra.DROPPED_COUNT";
			public static EXTRA_TAG: "tag";
			public static EXTRA_TIME: "time";
			public static IS_EMPTY: 1;
			public static IS_GZIPPED: 4;
			public static IS_TEXT: 2;
			public addFile(tag: string, file: java.io.File, flags: number): void;
			public addText(tag: string, data: string): void;
			public getNextEntry(tag: string, msec: number): android.os.DropBoxManager.Entry;
			public addData(tag: string, data: androidNative.Array<number>, flags: number): void;
			public constructor();
			public isTagEnabled(tag: string): boolean;
		}
		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 close(): void;
				public getText(maxBytes: number): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTag(): string;
				public getInputStream(): java.io.InputStream;
				public constructor(tag: string, millis: number, data: java.io.File, flags: number);
				public constructor(tag: string, millis: number);
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getTimeMillis(): number;
				public constructor(tag: string, millis: number, data: android.os.ParcelFileDescriptor, flags: number);
				public describeContents(): number;
				public getFlags(): number;
				public constructor(tag: string, millis: number, text: string);
				public constructor(tag: string, millis: number, data: androidNative.Array<number>, flags: number);
			}
		}
	}
}

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_AUDIOBOOKS: 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_RECORDINGS: string;
			public static DIRECTORY_RINGTONES: string;
			public static DIRECTORY_SCREENSHOTS: string;
			public static MEDIA_BAD_REMOVAL: "bad_removal";
			public static MEDIA_CHECKING: "checking";
			public static MEDIA_EJECTING: "ejecting";
			public static MEDIA_MOUNTED: "mounted";
			public static MEDIA_MOUNTED_READ_ONLY: "mounted_ro";
			public static MEDIA_NOFS: "nofs";
			public static MEDIA_REMOVED: "removed";
			public static MEDIA_SHARED: "shared";
			public static MEDIA_UNKNOWN: "unknown";
			public static MEDIA_UNMOUNTABLE: "unmountable";
			public static MEDIA_UNMOUNTED: "unmounted";
			public static isExternalStorageLegacy(path: java.io.File): boolean;
			public static getExternalStorageState(): string;
			public static getExternalStorageState(path: java.io.File): string;
			public static getStorageDirectory(): java.io.File;
			public static getExternalStorageDirectory(): java.io.File;
			public constructor();
			/** @deprecated */
			public static getStorageState(path: java.io.File): string;
			public static isExternalStorageEmulated(): boolean;
			public static isExternalStorageManager(): boolean;
			public static isExternalStorageRemovable(): boolean;
			public static isExternalStorageEmulated(path: java.io.File): boolean;
			public static isExternalStorageLegacy(): boolean;
			public static isExternalStorageManager(path: java.io.File): boolean;
			public static getDataDirectory(): java.io.File;
			public static getRootDirectory(): java.io.File;
			public static isExternalStorageRemovable(path: java.io.File): boolean;
			public static getDownloadCacheDirectory(): java.io.File;
			public static getExternalStoragePublicDirectory(type: string): java.io.File;
		}
	}
}

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: 1;
			public static ALL_EVENTS: 4095;
			public static ATTRIB: 4;
			public static CLOSE_NOWRITE: 16;
			public static CLOSE_WRITE: 8;
			public static CREATE: 256;
			public static DELETE: 512;
			public static DELETE_SELF: 1024;
			public static MODIFY: 2;
			public static MOVED_FROM: 64;
			public static MOVED_TO: 128;
			public static MOVE_SELF: 2048;
			public static OPEN: 32;
			public stopWatching(): void;
			public onEvent(param0: number, param1: string): void;
			/** @deprecated */
			public constructor(path: string);
			public constructor(file: java.io.File);
			/** @deprecated */
			public constructor(path: string, mask: number);
			public constructor(file: java.io.File, mask: number);
			public constructor(files: java.util.List<java.io.File>, mask: number);
			public startWatching(): void;
			public constructor(files: java.util.List<java.io.File>);
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module os {
		export class FileUtils extends java.lang.Object {
			public static class: java.lang.Class<android.os.FileUtils>;
			public static copy(in_: java.io.InputStream, out: java.io.OutputStream, signal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, listener: android.os.FileUtils.ProgressListener): number;
			public static copy(in_: java.io.FileDescriptor, out: java.io.FileDescriptor, signal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, listener: android.os.FileUtils.ProgressListener): number;
			public static copy(in_: java.io.FileDescriptor, out: java.io.FileDescriptor): number;
			/** @deprecated */
			public static closeQuietly(closeable: java.lang.AutoCloseable): void;
			/** @deprecated */
			public static closeQuietly(fd: java.io.FileDescriptor): void;
			public static copy(in_: java.io.InputStream, out: java.io.OutputStream): number;
		}
		export module FileUtils {
			export class ProgressListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.FileUtils.ProgressListener>;
				/**
				 * Constructs a new instance of the android.os.FileUtils$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 Handler extends java.lang.Object {
			public static class: java.lang.Class<android.os.Handler>;
			public obtainMessage(): android.os.Message;
			public removeMessages(what: number): void;
			public obtainMessage(what: number, arg1: number, arg2: number): android.os.Message;
			public sendMessageAtFrontOfQueue(msg: android.os.Message): boolean;
			public sendEmptyMessageAtTime(what: number, uptimeMillis: number): boolean;
			public removeCallbacks(r: java.lang.Runnable): void;
			public constructor(looper: android.os.Looper, callback: android.os.Handler.Callback);
			public getMessageName(message: android.os.Message): string;
			public sendEmptyMessage(what: number): boolean;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(callback: android.os.Handler.Callback);
			public hasMessages(what: number): boolean;
			public obtainMessage(what: number): android.os.Message;
			public sendMessageDelayed(msg: android.os.Message, delayMillis: number): boolean;
			public getLooper(): android.os.Looper;
			public postDelayed(r: java.lang.Runnable, token: any, delayMillis: number): boolean;
			public obtainMessage(what: number, obj: any): android.os.Message;
			public hasMessages(what: number, object: any): boolean;
			public dump(pw: android.util.Printer, prefix: string): void;
			public post(r: java.lang.Runnable): boolean;
			public postAtTime(r: java.lang.Runnable, uptimeMillis: number): boolean;
			public sendMessageAtTime(msg: android.os.Message, uptimeMillis: number): boolean;
			public static createAsync(looper: android.os.Looper): android.os.Handler;
			public removeCallbacksAndMessages(token: any): void;
			public constructor(looper: android.os.Looper);
			public removeCallbacks(r: java.lang.Runnable, token: any): void;
			public hasCallbacks(r: java.lang.Runnable): boolean;
			public postAtTime(r: java.lang.Runnable, token: any, uptimeMillis: number): boolean;
			public removeMessages(what: number, object: any): void;
			public static createAsync(looper: android.os.Looper, callback: android.os.Handler.Callback): android.os.Handler;
			public dispatchMessage(msg: android.os.Message): void;
			public toString(): string;
			public sendMessage(msg: android.os.Message): boolean;
			public obtainMessage(what: number, arg1: number, arg2: number, obj: any): android.os.Message;
			public sendEmptyMessageDelayed(what: number, delayMillis: number): boolean;
			public handleMessage(msg: android.os.Message): void;
			public postDelayed(r: java.lang.Runnable, delayMillis: number): boolean;
			public postAtFrontOfQueue(r: java.lang.Runnable): boolean;
		}
		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(group: java.lang.ThreadGroup, name: string);
			public constructor(name: string);
			public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable);
			public constructor();
			public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string);
			public onLooperPrepared(): void;
			public constructor(target: java.lang.Runnable, name: string);
			public quit(): boolean;
			public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string, stackSize: number);
			public getThreadId(): number;
			public quitSafely(): boolean;
			public constructor(target: java.lang.Runnable);
			public getLooper(): android.os.Looper;
			public run(): void;
			public constructor(name: string, priority: number);
			public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string, stackSize: number, inheritThreadLocals: boolean);
		}
	}
}

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: 2;
			public static DEVICE_TEMPERATURE_CPU: 0;
			public static DEVICE_TEMPERATURE_GPU: 1;
			public static DEVICE_TEMPERATURE_SKIN: 3;
			public static TEMPERATURE_CURRENT: 0;
			public static TEMPERATURE_SHUTDOWN: 2;
			public static TEMPERATURE_THROTTLING: 1;
			public static TEMPERATURE_THROTTLING_BELOW_VR_MIN: 3;
			public static UNDEFINED_TEMPERATURE: -3.4028235E38;
			public getFanSpeeds(): androidNative.Array<number>;
			public getDeviceTemperatures(type: number, source: number): androidNative.Array<number>;
			public getCpuUsages(): androidNative.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: {
				getSuggestedMaxIpcSizeBytes(): number;
				getInterfaceDescriptor(): string;
				pingBinder(): boolean;
				isBinderAlive(): boolean;
				queryLocalInterface(param0: string): android.os.IInterface;
				dump(param0: java.io.FileDescriptor, param1: androidNative.Array<string>): void;
				dumpAsync(param0: java.io.FileDescriptor, param1: androidNative.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 FLAG_ONEWAY: 1;
			public static TWEET_TRANSACTION: 1599362900;
			public static LIKE_TRANSACTION: 1598835019;
			public static INTERFACE_TRANSACTION: 1598968902;
			public static FIRST_CALL_TRANSACTION: 1;
			public static PING_TRANSACTION: 1599098439;
			public static LAST_CALL_TRANSACTION: 16777215;
			public static DUMP_TRANSACTION: 1598311760;
			public static getSuggestedMaxIpcSizeBytes(): number;
			public pingBinder(): boolean;
			public transact(param0: number, param1: android.os.Parcel, param2: android.os.Parcel, param3: number): boolean;
			public dump(param0: java.io.FileDescriptor, param1: androidNative.Array<string>): void;
			public isBinderAlive(): boolean;
			public queryLocalInterface(param0: string): android.os.IInterface;
			public linkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): void;
			public dumpAsync(param0: java.io.FileDescriptor, param1: androidNative.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;
					binderDied(who: android.os.IBinder): void;
				});
				public constructor();
				public binderDied(): void;
				public binderDied(who: android.os.IBinder): 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 LimitExceededException extends java.lang.IllegalStateException {
			public static class: java.lang.Class<android.os.LimitExceededException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 static isPseudoLocale(locale: android.icu.util.ULocale): boolean;
			public getFirstMatch(supportedLocales: androidNative.Array<string>): java.util.Locale;
			public isEmpty(): boolean;
			public size(): number;
			public static getDefault(): any;
			public indexOf(locale: java.util.Locale): number;
			public static forLanguageTags(list: string): any;
			public static setDefault(locales: any): void;
			public get(index: number): java.util.Locale;
			public equals(other: any): boolean;
			public toString(): string;
			public static getAdjustedDefault(): any;
			public toLanguageTags(): string;
			public static matchesLanguageAndScript(supported: java.util.Locale, desired: java.util.Locale): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(list: androidNative.Array<java.util.Locale>);
			public static getEmptyLocaleList(): any;
			public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
			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>;
			/** @deprecated */
			public static prepareMainLooper(): void;
			public dump(pw: android.util.Printer, prefix: string): void;
			public getQueue(): android.os.MessageQueue;
			public setMessageLogging(printer: android.util.Printer): void;
			public getThread(): java.lang.Thread;
			public static myQueue(): android.os.MessageQueue;
			public static loop(): void;
			public static myLooper(): android.os.Looper;
			public toString(): string;
			public static prepare(): void;
			public quitSafely(): 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>;
			/** @deprecated */
			public allowPurging(allowPurging: boolean): boolean;
			public getInputStream(): java.io.InputStream;
			/** @deprecated */
			public isPurgingAllowed(): boolean;
			public writeBytes(buffer: androidNative.Array<number>, srcOffset: number, destOffset: number, count: number): void;
			public length(): number;
			public constructor(name: string, length: number);
			public readBytes(buffer: androidNative.Array<number>, srcOffset: number, destOffset: number, count: number): number;
			public getOutputStream(): java.io.OutputStream;
			public close(): 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 sendToTarget(): void;
			public static obtain(h: android.os.Handler, what: number, obj: any): android.os.Message;
			public setData(data: android.os.Bundle): void;
			public getTarget(): android.os.Handler;
			public copyFrom(o: android.os.Message): void;
			public getCallback(): java.lang.Runnable;
			public peekData(): android.os.Bundle;
			public recycle(): void;
			public getData(): android.os.Bundle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setAsynchronous(async: boolean): void;
			public static obtain(h: android.os.Handler, what: number, arg1: number, arg2: number, obj: any): android.os.Message;
			public setTarget(target: android.os.Handler): void;
			public static obtain(h: android.os.Handler, what: number, arg1: number, arg2: number): android.os.Message;
			public static obtain(orig: android.os.Message): android.os.Message;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public static obtain(): android.os.Message;
			public constructor();
			public toString(): string;
			public getWhen(): number;
			public describeContents(): number;
			public static obtain(h: android.os.Handler, what: number): android.os.Message;
			public isAsynchronous(): boolean;
			public static obtain(h: android.os.Handler): android.os.Message;
			public static obtain(h: android.os.Handler, callback: java.lang.Runnable): 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 removeIdleHandler(handler: android.os.MessageQueue.IdleHandler): void;
			public isIdle(): boolean;
			public addIdleHandler(handler: android.os.MessageQueue.IdleHandler): void;
			public addOnFileDescriptorEventListener(fd: java.io.FileDescriptor, events: number, listener: android.os.MessageQueue.OnFileDescriptorEventListener): void;
			public finalize(): void;
			public removeOnFileDescriptorEventListener(fd: java.io.FileDescriptor): 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_INPUT: 1;
				public static EVENT_ERROR: 4;
				public static EVENT_OUTPUT: 2;
				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 getBinder(): android.os.IBinder;
			public constructor(target: android.os.IBinder);
			public equals(otherObj: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public static readMessengerOrNullFromParcel(in_: android.os.Parcel): android.os.Messenger;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public send(message: android.os.Message): void;
			public static writeMessengerOrNullToParcel(messenger: android.os.Messenger, out: android.os.Parcel): void;
			public constructor(target: android.os.Handler);
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module os {
		export class OperationCanceledException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.os.OperationCanceledException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module os {
		export class OutcomeReceiver<R, E>  extends java.lang.Object {
			public static class: java.lang.Class<android.os.OutcomeReceiver<any,any>>;
			/**
			 * Constructs a new instance of the android.os.OutcomeReceiver<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onResult(param0: R): void;
				onError(error: E): void;
			});
			public constructor();
			public onResult(param0: R): void;
			public onError(error: E): void;
		}
	}
}

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 writeString(val: string): void;
			public writeFloat(val: number): void;
			public writeParcelableList(val: java.util.List<any>, flags: number): void;
			public writeInterfaceList(val: java.util.List<any>): void;
			public readString(): string;
			public createInterfaceArray(newArray: any /* any*/, asInterface: any /* any*/): androidNative.Array<android.os.IInterface>;
			public createDoubleArray(): androidNative.Array<number>;
			/** @deprecated */
			public readList(outVal: java.util.List<any>, loader: java.lang.ClassLoader): void;
			public static obtain(): android.os.Parcel;
			public readFixedArray(val: any): void;
			public writeBundle(val: android.os.Bundle): void;
			public readSize(): any;
			public recycle(): void;
			/** @deprecated */
			public readParcelableList(list: java.util.List<any>, cl: java.lang.ClassLoader): java.util.List<any>;
			public writeBinderArray(val: androidNative.Array<android.os.IBinder>): void;
			public createBinderArrayList(): java.util.ArrayList<android.os.IBinder>;
			public readInt(): number;
			public readFloat(): number;
			public readException(): void;
			public readByteArray(val: androidNative.Array<number>): void;
			public readParcelableList(list: java.util.List<any>, cl: java.lang.ClassLoader, clazz: java.lang.Class<any>): java.util.List<any>;
			public createLongArray(): androidNative.Array<number>;
			public readSerializable(loader: java.lang.ClassLoader, clazz: java.lang.Class<any>): any;
			/** @deprecated */
			public readParcelableArray(loader: java.lang.ClassLoader): androidNative.Array<android.os.Parcelable>;
			/** @deprecated */
			public readParcelable(loader: java.lang.ClassLoader): android.os.Parcelable;
			public writeDoubleArray(val: androidNative.Array<number>): void;
			public static obtain(binder: android.os.IBinder): android.os.Parcel;
			public readArray(loader: java.lang.ClassLoader, clazz: java.lang.Class<any>): androidNative.Array<any>;
			public unmarshall(data: androidNative.Array<number>, offset: number, length: number): void;
			public writeCharArray(val: androidNative.Array<string>): void;
			public writeParcelableCreator(p: android.os.Parcelable): void;
			public readFloatArray(val: androidNative.Array<number>): void;
			public readBoolean(): boolean;
			public readSizeF(): any;
			public enforceNoDataAvail(): void;
			public writeTypedObject(val: android.os.Parcelable, parcelableFlags: number): void;
			public writeInterfaceArray(val: androidNative.Array<android.os.IInterface>): void;
			public readLongArray(val: androidNative.Array<number>): void;
			public writeArray(val: androidNative.Array<any>): void;
			public createTypedSparseArray(creator: android.os.Parcelable.Creator<any>): android.util.SparseArray<any>;
			public writePersistableBundle(val: any): void;
			public readFileDescriptor(): android.os.ParcelFileDescriptor;
			public readValue(loader: java.lang.ClassLoader): any;
			public writeTypedSparseArray(val: android.util.SparseArray<any>, parcelableFlags: number): void;
			public writeParcelableArray(value: androidNative.Array<android.os.Parcelable>, parcelableFlags: number): void;
			public writeByteArray(b: androidNative.Array<number>): void;
			public setPropagateAllowBlocking(): void;
			public writeBlob(b: androidNative.Array<number>, offset: number, len: number): void;
			public dataCapacity(): number;
			public readException(code: number, msg: string): void;
			public writeInt(val: number): void;
			public writeTypedList(val: java.util.List<any>, parcelableFlags: number): void;
			public readByte(): number;
			/** @deprecated */
			public readMap(outVal: java.util.Map<any,any>, loader: java.lang.ClassLoader): void;
			public writeTypedArray(val: androidNative.Array<android.os.Parcelable>, parcelableFlags: number): void;
			public marshall(): androidNative.Array<number>;
			public createFloatArray(): androidNative.Array<number>;
			public createTypedArrayMap(creator: android.os.Parcelable.Creator<any>): android.util.ArrayMap<any,any>;
			public readMap(outVal: java.util.Map<any,any>, loader: java.lang.ClassLoader, clazzKey: java.lang.Class<any>, clazzValue: java.lang.Class<any>): void;
			public readFixedArray(val: any, c: android.os.Parcelable.Creator<any>): void;
			public writeSize(val: any): void;
			public createCharArray(): androidNative.Array<string>;
			public readStrongBinder(): android.os.IBinder;
			public hasFileDescriptors(offset: number, length: number): boolean;
			public writeLong(val: number): void;
			public readBinderArray(val: androidNative.Array<android.os.IBinder>): void;
			public createStringArrayList(): java.util.ArrayList<string>;
			public readSparseArray(loader: java.lang.ClassLoader, clazz: java.lang.Class<any>): android.util.SparseArray<any>;
			public dataPosition(): number;
			public writeFileDescriptor(val: java.io.FileDescriptor): void;
			public readTypedArray(val: androidNative.Array<any>, c: android.os.Parcelable.Creator<any>): void;
			public readTypedObject(c: android.os.Parcelable.Creator<any>): any;
			public createIntArray(): androidNative.Array<number>;
			public readParcelableArray(loader: java.lang.ClassLoader, clazz: java.lang.Class<any>): androidNative.Array<any>;
			public readBlob(): androidNative.Array<number>;
			public writeIntArray(val: androidNative.Array<number>): void;
			public setDataSize(size: number): void;
			public readBinderList(list: java.util.List<android.os.IBinder>): void;
			public writeLongArray(val: androidNative.Array<number>): void;
			public readBundle(): android.os.Bundle;
			public createTypedArrayList(c: android.os.Parcelable.Creator<any>): java.util.ArrayList<any>;
			public writeSizeF(val: any): void;
			public createInterfaceArrayList(asInterface: any /* any*/): java.util.ArrayList<any>;
			public writeTypedList(val: java.util.List<any>): void;
			public writeFixedArray(val: any, parcelableFlags: number, dimensions: androidNative.Array<number>): void;
			public createFixedArray(cls: java.lang.Class<any>, dimensions: androidNative.Array<number>): any;
			public writeTypedArrayMap(val: android.util.ArrayMap<any,any>, parcelableFlags: number): void;
			public dataSize(): number;
			public writeFloatArray(val: androidNative.Array<number>): void;
			public writeDouble(val: number): void;
			/** @deprecated */
			public readHashMap(loader: java.lang.ClassLoader): java.util.HashMap<any,any>;
			/** @deprecated */
			public readSparseArray(loader: java.lang.ClassLoader): android.util.SparseArray<any>;
			public writeValue(v: any): void;
			public readParcelableCreator(loader: java.lang.ClassLoader, clazz: java.lang.Class<any>): android.os.Parcelable.Creator<any>;
			public readFixedArray(val: any, asInterface: any /* any*/): void;
			public readParcelable(loader: java.lang.ClassLoader, clazz: java.lang.Class<any>): any;
			public readBooleanArray(val: androidNative.Array<boolean>): void;
			public readInterfaceArray(val: androidNative.Array<android.os.IInterface>, asInterface: any /* any*/): void;
			public readSparseBooleanArray(): android.util.SparseBooleanArray;
			public setDataPosition(pos: number): void;
			public writeSparseArray(val: android.util.SparseArray<any>): void;
			public readCharArray(val: androidNative.Array<string>): void;
			public createStringArray(): androidNative.Array<string>;
			public writeParcelable(p: android.os.Parcelable, parcelableFlags: number): void;
			public createFixedArray(cls: java.lang.Class<any>, c: android.os.Parcelable.Creator<any>, dimensions: androidNative.Array<number>): any;
			public enforceInterface(interfaceName: string): void;
			public writeSerializable(s: java.io.Serializable): void;
			public readHashMap(loader: java.lang.ClassLoader, clazzKey: java.lang.Class<any>, clazzValue: java.lang.Class<any>): java.util.HashMap<any,any>;
			public writeStrongInterface(val: android.os.IInterface): void;
			public writeInterfaceToken(interfaceName: string): void;
			public readList(outVal: java.util.List<any>, loader: java.lang.ClassLoader, clazz: java.lang.Class<any>): void;
			public writeBoolean(val: boolean): void;
			public writeStringList(val: java.util.List<string>): void;
			public writeMap(val: java.util.Map<any,any>): void;
			public createByteArray(): androidNative.Array<number>;
			public writeStrongBinder(val: android.os.IBinder): void;
			public writeList(val: java.util.List<any>): void;
			public readBundle(loader: java.lang.ClassLoader): android.os.Bundle;
			public readDouble(): number;
			public writeBlob(b: androidNative.Array<number>): void;
			public readDoubleArray(val: androidNative.Array<number>): void;
			public writeStringArray(val: androidNative.Array<string>): void;
			public writeByte(val: number): void;
			public writeByteArray(b: androidNative.Array<number>, offset: number, len: number): void;
			public hasFileDescriptors(): boolean;
			public writeBinderList(val: java.util.List<android.os.IBinder>): void;
			public createBooleanArray(): androidNative.Array<boolean>;
			public writeNoException(): void;
			public finalize(): void;
			public writeSparseBooleanArray(val: android.util.SparseBooleanArray): void;
			public createBinderArray(): androidNative.Array<android.os.IBinder>;
			public readPersistableBundle(): any;
			public createFixedArray(cls: java.lang.Class<any>, asInterface: any /* any*/, dimensions: androidNative.Array<number>): any;
			/** @deprecated */
			public readArray(loader: java.lang.ClassLoader): androidNative.Array<any>;
			public readLong(): number;
			public readPersistableBundle(loader: java.lang.ClassLoader): any;
			public writeException(e: java.lang.Exception): void;
			/** @deprecated */
			public readArrayList(loader: java.lang.ClassLoader): java.util.ArrayList<any>;
			public readIntArray(val: androidNative.Array<number>): void;
			public readStringArray(val: androidNative.Array<string>): void;
			public readTypedList(list: java.util.List<any>, c: android.os.Parcelable.Creator<any>): void;
			public writeBooleanArray(val: androidNative.Array<boolean>): void;
			public readStringList(list: java.util.List<string>): void;
			public dataAvail(): number;
			public createTypedArray(c: android.os.Parcelable.Creator<any>): androidNative.Array<any>;
			public setDataCapacity(size: number): void;
			public appendFrom(parcel: android.os.Parcel, offset: number, length: number): void;
			/** @deprecated */
			public readSerializable(): java.io.Serializable;
			public readInterfaceList(list: java.util.List<any>, asInterface: any /* any*/): void;
			public readArrayList(loader: java.lang.ClassLoader, clazz: java.lang.Class<any>): java.util.ArrayList<any>;
			/** @deprecated */
			public readParcelableCreator(loader: java.lang.ClassLoader): android.os.Parcelable.Creator<any>;
		}
	}
}

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: 33554432;
			public static MODE_CREATE: 134217728;
			public static MODE_READ_ONLY: 268435456;
			public static MODE_READ_WRITE: 805306368;
			public static MODE_TRUNCATE: 67108864;
			public static MODE_WORLD_READABLE: 1;
			public static MODE_WORLD_WRITEABLE: 2;
			public static MODE_WRITE_ONLY: 536870912;
			public dup(): android.os.ParcelFileDescriptor;
			public static fromFd(fd: number): android.os.ParcelFileDescriptor;
			public static dup(orig: java.io.FileDescriptor): android.os.ParcelFileDescriptor;
			public canDetectErrors(): boolean;
			public constructor(wrapped: android.os.ParcelFileDescriptor);
			public static open(file: java.io.File, mode: number): android.os.ParcelFileDescriptor;
			public static createReliablePipe(): androidNative.Array<android.os.ParcelFileDescriptor>;
			public closeWithError(msg: string): void;
			public getStatSize(): number;
			public getFd(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getFileDescriptor(): java.io.FileDescriptor;
			public static createSocketPair(): androidNative.Array<android.os.ParcelFileDescriptor>;
			public close(): void;
			public static fromDatagramSocket(datagramSocket: java.net.DatagramSocket): android.os.ParcelFileDescriptor;
			public finalize(): void;
			public static createReliableSocketPair(): androidNative.Array<android.os.ParcelFileDescriptor>;
			public static wrap(pfd: android.os.ParcelFileDescriptor, handler: android.os.Handler, listener: android.os.ParcelFileDescriptor.OnCloseListener): android.os.ParcelFileDescriptor;
			public static adoptFd(fd: number): android.os.ParcelFileDescriptor;
			public static parseMode(mode: string): number;
			public static open(file: java.io.File, mode: number, handler: android.os.Handler, listener: android.os.ParcelFileDescriptor.OnCloseListener): android.os.ParcelFileDescriptor;
			public static createPipe(): androidNative.Array<android.os.ParcelFileDescriptor>;
			public toString(): string;
			public detachFd(): number;
			public checkError(): void;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public static fromSocket(socket: java.net.Socket): android.os.ParcelFileDescriptor;
		}
		export module ParcelFileDescriptor {
			export class AutoCloseInputStream extends java.io.FileInputStream {
				public static class: java.lang.Class<android.os.ParcelFileDescriptor.AutoCloseInputStream>;
				public constructor(file: java.io.File);
				public constructor(name: string);
				public close(): void;
				public read(): number;
				public constructor(pfd: android.os.ParcelFileDescriptor);
				public read(b: androidNative.Array<number>): number;
				public constructor(fdObj: java.io.FileDescriptor);
				public read(b: androidNative.Array<number>, off: number, len: number): number;
				public constructor();
			}
			export class AutoCloseOutputStream extends java.io.FileOutputStream {
				public static class: java.lang.Class<android.os.ParcelFileDescriptor.AutoCloseOutputStream>;
				public constructor(file: java.io.File);
				public constructor(name: string);
				public constructor(file: java.io.File, append: boolean);
				public close(): void;
				public constructor(pfd: android.os.ParcelFileDescriptor);
				public constructor(name: string, append: boolean);
				public constructor(fdObj: java.io.FileDescriptor);
				public constructor();
				public flush(): void;
			}
			export class FileDescriptorDetachedException extends java.io.IOException {
				public static class: java.lang.Class<android.os.ParcelFileDescriptor.FileDescriptorDetachedException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
			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(message: string);
			public constructor(reason: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 toString(): string;
			public equals(object: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(uuid: java.util.UUID);
			public getUuid(): java.util.UUID;
			public static fromString(uuid: string): android.os.ParcelUuid;
			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: 1;
			public static CONTENTS_FILE_DESCRIPTOR: 1;
			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): androidNative.Array<any>;
				});
				public constructor();
				public newArray(param0: number): androidNative.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): androidNative.Array<T>;
				});
				public constructor();
				public createFromParcel(param0: android.os.Parcel): T;
				public newArray(param0: number): androidNative.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: 3;
			public static PATTERN_LITERAL: 0;
			public static PATTERN_PREFIX: 1;
			public static PATTERN_SIMPLE_GLOB: 2;
			public static PATTERN_SUFFIX: 4;
			public getType(): number;
			public getPath(): string;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(src: android.os.Parcel);
			public constructor(pattern: string, type: number);
			public match(str: string): boolean;
		}
	}
}

declare module android {
	export module os {
		export class PerformanceHintManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.PerformanceHintManager>;
			public createHintSession(tids: androidNative.Array<number>, initialTargetWorkDurationNanos: number): android.os.PerformanceHintManager.Session;
			public getPreferredUpdateRateNanos(): number;
		}
		export module PerformanceHintManager {
			export class Session extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.os.PerformanceHintManager.Session>;
				public close(): void;
				public reportActualWorkDuration(actualDurationNanos: number): void;
				public finalize(): void;
				public setPreferPowerEfficiency(enabled: boolean): void;
				public updateTargetWorkDuration(targetDurationNanos: number): void;
				public setThreads(tids: androidNative.Array<number>): void;
				public reportActualWorkDuration(workDuration: android.os.WorkDuration): 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 constructor(b: any);
			public putPersistableBundle(key: string, value: any): void;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public static readFromStream(inputStream: java.io.InputStream): any;
			public constructor();
			public deepCopy(): any;
			public constructor(capacity: number);
			public clone(): any;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public writeToStream(outputStream: java.io.OutputStream): void;
			public getPersistableBundle(key: string): 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: 268435456;
			public static ACTION_DEVICE_IDLE_MODE_CHANGED: "android.os.action.DEVICE_IDLE_MODE_CHANGED";
			public static ACTION_DEVICE_LIGHT_IDLE_MODE_CHANGED: "android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED";
			public static ACTION_LOW_POWER_STANDBY_ENABLED_CHANGED: "android.os.action.LOW_POWER_STANDBY_ENABLED_CHANGED";
			public static ACTION_LOW_POWER_STANDBY_POLICY_CHANGED: "android.os.action.LOW_POWER_STANDBY_POLICY_CHANGED";
			public static ACTION_POWER_SAVE_MODE_CHANGED: "android.os.action.POWER_SAVE_MODE_CHANGED";
			public static FEATURE_WAKE_ON_LAN_IN_LOW_POWER_STANDBY: "com.android.lowpowerstandby.WAKE_ON_LAN";
			public static FULL_WAKE_LOCK: 26;
			public static LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF: 2;
			public static LOCATION_MODE_FOREGROUND_ONLY: 3;
			public static LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF: 1;
			public static LOCATION_MODE_NO_CHANGE: 0;
			public static LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF: 4;
			public static LOW_POWER_STANDBY_ALLOWED_REASON_ONGOING_CALL: 4;
			public static LOW_POWER_STANDBY_ALLOWED_REASON_TEMP_POWER_SAVE_ALLOWLIST: 2;
			public static LOW_POWER_STANDBY_ALLOWED_REASON_VOICE_INTERACTION: 1;
			public static ON_AFTER_RELEASE: 536870912;
			public static PARTIAL_WAKE_LOCK: 1;
			public static PROXIMITY_SCREEN_OFF_WAKE_LOCK: 32;
			public static RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY: 1;
			public static SCREEN_BRIGHT_WAKE_LOCK: 10;
			public static SCREEN_DIM_WAKE_LOCK: 6;
			public static THERMAL_STATUS_CRITICAL: 4;
			public static THERMAL_STATUS_EMERGENCY: 5;
			public static THERMAL_STATUS_LIGHT: 1;
			public static THERMAL_STATUS_MODERATE: 2;
			public static THERMAL_STATUS_NONE: 0;
			public static THERMAL_STATUS_SEVERE: 3;
			public static THERMAL_STATUS_SHUTDOWN: 6;
			public isIgnoringBatteryOptimizations(packageName: string): boolean;
			public addThermalStatusListener(listener: android.os.PowerManager.OnThermalStatusChangedListener): void;
			public isInteractive(): boolean;
			public isDeviceIdleMode(): boolean;
			public getThermalHeadroomThresholds(): java.util.Map<java.lang.Integer,java.lang.Float>;
			public isLowPowerStandbyEnabled(): boolean;
			public isExemptFromLowPowerStandby(): boolean;
			public isAllowedInLowPowerStandby(feature: string): boolean;
			public getCurrentThermalStatus(): number;
			/** @deprecated */
			public isScreenOn(): boolean;
			public isSustainedPerformanceModeSupported(): boolean;
			public isWakeLockLevelSupported(level: number): boolean;
			public isBatteryDischargePredictionPersonalized(): boolean;
			public reboot(reason: string): void;
			public getBatteryDischargePrediction(): java.time.Duration;
			public getLocationPowerSaveMode(): number;
			public removeThermalStatusListener(listener: android.os.PowerManager.OnThermalStatusChangedListener): void;
			public getThermalHeadroom(forecastSeconds: number): number;
			public newWakeLock(levelAndFlags: number, tag: string): android.os.PowerManager.WakeLock;
			public isAllowedInLowPowerStandby(reason: number): boolean;
			public addThermalStatusListener(executor: java.util.concurrent.Executor, listener: android.os.PowerManager.OnThermalStatusChangedListener): void;
			public isPowerSaveMode(): boolean;
			/** @deprecated */
			public isRebootingUserspaceSupported(): boolean;
			public isDeviceLightIdleMode(): boolean;
		}
		export module PowerManager {
			export class OnThermalStatusChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.PowerManager.OnThermalStatusChangedListener>;
				/**
				 * Constructs a new instance of the android.os.PowerManager$OnThermalStatusChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onThermalStatusChanged(param0: number): void;
				});
				public constructor();
				public onThermalStatusChanged(param0: number): void;
			}
			export class WakeLock extends java.lang.Object {
				public static class: java.lang.Class<android.os.PowerManager.WakeLock>;
				public acquire(timeout: number): void;
				public release(): void;
				public setReferenceCounted(value: boolean): void;
				public isHeld(): boolean;
				public setWorkSource(ws: android.os.WorkSource): void;
				public finalize(): void;
				public release(flags: number): void;
				public acquire(): void;
				public toString(): string;
				public setStateListener(executor: java.util.concurrent.Executor, listener: android.os.PowerManager.WakeLockStateListener): void;
			}
			export class WakeLockStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.PowerManager.WakeLockStateListener>;
				/**
				 * Constructs a new instance of the android.os.PowerManager$WakeLockStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onStateChanged(param0: boolean): void;
				});
				public constructor();
				public onStateChanged(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module os {
		export class PowerMonitor extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.PowerMonitor>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.PowerMonitor>;
			public static POWER_MONITOR_TYPE_CONSUMER: 0;
			public static POWER_MONITOR_TYPE_MEASUREMENT: 1;
			public getType(): number;
			public getName(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module os {
		export class PowerMonitorReadings extends java.lang.Object {
			public static class: java.lang.Class<android.os.PowerMonitorReadings>;
			public static ENERGY_UNAVAILABLE: -1;
			public toString(): string;
			public getTimestampMillis(powerMonitor: android.os.PowerMonitor): number;
			public getConsumedEnergy(powerMonitor: android.os.PowerMonitor): number;
		}
	}
}

declare module android {
	export module os {
		export class Process extends java.lang.Object {
			public static class: java.lang.Class<android.os.Process>;
			public static BLUETOOTH_UID: 1002;
			public static FIRST_APPLICATION_UID: 10000;
			public static INVALID_PID: -1;
			public static INVALID_UID: -1;
			public static LAST_APPLICATION_UID: 19999;
			public static PHONE_UID: 1001;
			public static ROOT_UID: 0;
			public static SHELL_UID: 2000;
			public static SIGNAL_KILL: 9;
			public static SIGNAL_QUIT: 3;
			public static SIGNAL_USR1: 10;
			public static SYSTEM_UID: 1000;
			public static THREAD_PRIORITY_AUDIO: -16;
			public static THREAD_PRIORITY_BACKGROUND: 10;
			public static THREAD_PRIORITY_DEFAULT: 0;
			public static THREAD_PRIORITY_DISPLAY: -4;
			public static THREAD_PRIORITY_FOREGROUND: -2;
			public static THREAD_PRIORITY_LESS_FAVORABLE: 1;
			public static THREAD_PRIORITY_LOWEST: 19;
			public static THREAD_PRIORITY_MORE_FAVORABLE: -1;
			public static THREAD_PRIORITY_URGENT_AUDIO: -19;
			public static THREAD_PRIORITY_URGENT_DISPLAY: -8;
			public static THREAD_PRIORITY_VIDEO: -10;
			public static WIFI_UID: 1010;
			public static isApplicationUid(uid: number): boolean;
			public static getAppUidForSdkSandboxUid(uid: number): number;
			public static getStartUptimeMillis(): number;
			public static setThreadPriority(param0: number): void;
			public static myPid(): number;
			public static is64Bit(): boolean;
			public static getExclusiveCores(): androidNative.Array<number>;
			public static getStartElapsedRealtime(): number;
			public static myProcessName(): string;
			public static sendSignal(param0: number, param1: number): void;
			public static getElapsedCpuTime(): number;
			public static myTid(): number;
			public static killProcess(pid: number): void;
			public static myUid(): number;
			public static isSdkSandboxUid(uid: number): boolean;
			public static getGidForName(param0: string): number;
			public static getStartRequestedUptimeMillis(): number;
			public static getSdkSandboxUidForAppUid(uid: number): number;
			public static isSdkSandbox(): boolean;
			/** @deprecated */
			public static supportsProcesses(): boolean;
			public constructor();
			public static isIsolatedUid(uid: number): boolean;
			public static myUserHandle(): android.os.UserHandle;
			public static getUidForName(param0: string): number;
			public static getThreadPriority(param0: number): number;
			public static isIsolated(): boolean;
			public static setThreadPriority(param0: number, param1: number): void;
			public static getStartRequestedElapsedRealtime(): number;
		}
	}
}

declare module android {
	export module os {
		export class ProfilingManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.ProfilingManager>;
			public static PROFILING_TYPE_HEAP_PROFILE: 2;
			public static PROFILING_TYPE_JAVA_HEAP_DUMP: 1;
			public static PROFILING_TYPE_STACK_SAMPLING: 3;
			public static PROFILING_TYPE_SYSTEM_TRACE: 4;
			public requestProfiling(profilingType: number, parameters: android.os.Bundle, tag: string, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public unregisterForAllProfilingResults(listener: any /* any*/): void;
			public registerForAllProfilingResults(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
		}
	}
}

declare module android {
	export module os {
		export class ProfilingResult extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.ProfilingResult>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.ProfilingResult>;
			public static ERROR_FAILED_EXECUTING: 4;
			public static ERROR_FAILED_INVALID_REQUEST: 7;
			public static ERROR_FAILED_NO_DISK_SPACE: 6;
			public static ERROR_FAILED_POST_PROCESSING: 5;
			public static ERROR_FAILED_PROFILING_IN_PROGRESS: 3;
			public static ERROR_FAILED_RATE_LIMIT_PROCESS: 2;
			public static ERROR_FAILED_RATE_LIMIT_SYSTEM: 1;
			public static ERROR_NONE: 0;
			public static ERROR_UNKNOWN: 8;
			public getErrorCode(): number;
			public getErrorMessage(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getResultFilePath(): string;
			public describeContents(): number;
			public getTag(): string;
			public writeToParcel(param0: android.os.Parcel, param1: 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 onWrite(offset: number, size: number, data: androidNative.Array<number>): number;
			public onRelease(): void;
			public onFsync(): void;
			public constructor();
			public onRead(offset: number, size: number, data: androidNative.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 installPackage(context: android.content.Context, packageFile: java.io.File): void;
			public static rebootWipeUserData(context: android.content.Context): void;
			public static rebootWipeCache(context: android.content.Context): void;
			public static verifyPackage(packageFile: java.io.File, listener: android.os.RecoverySystem.ProgressListener, deviceCertsZipFile: java.io.File): 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 getRegisteredCallbackCount(): number;
			public getRegisteredCallbackItem(index: number): E;
			public getBroadcastItem(index: number): E;
			public constructor();
			public kill(): void;
			public register(callback: E, cookie: any): boolean;
			public onCallbackDied(callback: E): void;
			public getRegisteredCallbackCookie(index: number): any;
			public register(callback: E): boolean;
			public finishBroadcast(): void;
			public unregister(callback: E): boolean;
			public getBroadcastCookie(index: number): any;
			public onCallbackDied(callback: E, cookie: any): 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(message: string);
			public constructor(cause: java.lang.Exception);
			public constructor(name: string);
			public rethrowFromSystemServer(): java.lang.RuntimeException;
			public constructor(name: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public rethrowAsRuntimeException(): java.lang.RuntimeException;
		}
	}
}

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(resultCode: number, resultData: android.os.Bundle): void;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public constructor(handler: android.os.Handler);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public send(resultCode: number, resultData: android.os.Bundle): void;
		}
	}
}

declare module android {
	export module os {
		export class SecurityStateManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.SecurityStateManager>;
			public static KEY_KERNEL_VERSION: "kernel_version";
			public static KEY_SYSTEM_SPL: "system_spl";
			public static KEY_VENDOR_SPL: "vendor_spl";
			public getGlobalSecurityState(): android.os.Bundle;
		}
	}
}

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 map(prot: number, offset: number, length: number): java.nio.ByteBuffer;
			public static fromFileDescriptor(fd: android.os.ParcelFileDescriptor): android.os.SharedMemory;
			public mapReadOnly(): java.nio.ByteBuffer;
			public static unmap(buffer: java.nio.ByteBuffer): void;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public setProtect(prot: number): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSize(): number;
			public close(): void;
			public static create(name: string, size: number): android.os.SharedMemory;
		}
	}
}

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 restat(path: string): void;
			public getFreeBytes(): number;
			public getBlockSizeLong(): number;
			public getAvailableBlocksLong(): number;
			public getFreeBlocksLong(): number;
			/** @deprecated */
			public getAvailableBlocks(): number;
			public constructor(path: string);
			/** @deprecated */
			public getFreeBlocks(): number;
			public getAvailableBytes(): number;
			/** @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 noteSlowCall(name: string): void;
			public static getThreadPolicy(): android.os.StrictMode.ThreadPolicy;
			public static allowThreadDiskWrites(): android.os.StrictMode.ThreadPolicy;
			public static enableDefaults(): void;
			public static getVmPolicy(): android.os.StrictMode.VmPolicy;
			public static allowThreadDiskReads(): android.os.StrictMode.ThreadPolicy;
			public static setThreadPolicy(policy: android.os.StrictMode.ThreadPolicy): void;
			public static setVmPolicy(policy: 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 detectNetwork(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectResourceMismatches(): android.os.StrictMode.ThreadPolicy.Builder;
					public permitDiskReads(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectDiskWrites(): android.os.StrictMode.ThreadPolicy.Builder;
					public constructor(policy: android.os.StrictMode.ThreadPolicy);
					public penaltyDropBox(): android.os.StrictMode.ThreadPolicy.Builder;
					public penaltyFlashScreen(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectDiskReads(): 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;
					public penaltyLog(): android.os.StrictMode.ThreadPolicy.Builder;
					public penaltyListener(executor: java.util.concurrent.Executor, listener: android.os.StrictMode.OnThreadViolationListener): android.os.StrictMode.ThreadPolicy.Builder;
					public permitUnbufferedIo(): 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 detectExplicitGc(): android.os.StrictMode.ThreadPolicy.Builder;
					public permitAll(): android.os.StrictMode.ThreadPolicy.Builder;
					public permitExplicitGc(): 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 constructor(base: android.os.StrictMode.VmPolicy);
					public build(): android.os.StrictMode.VmPolicy;
					public detectIncorrectContextUse(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyDeath(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyLog(): android.os.StrictMode.VmPolicy.Builder;
					public setClassInstanceLimit(klass: java.lang.Class<any>, instanceLimit: number): android.os.StrictMode.VmPolicy.Builder;
					public detectCredentialProtectedWhileLocked(): android.os.StrictMode.VmPolicy.Builder;
					public detectUntaggedSockets(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyListener(executor: java.util.concurrent.Executor, listener: android.os.StrictMode.OnVmViolationListener): android.os.StrictMode.VmPolicy.Builder;
					public permitNonSdkApiUsage(): android.os.StrictMode.VmPolicy.Builder;
					public constructor();
					public detectImplicitDirectBoot(): android.os.StrictMode.VmPolicy.Builder;
					public detectActivityLeaks(): 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 detectNonSdkApiUsage(): android.os.StrictMode.VmPolicy.Builder;
					public detectUnsafeIntentLaunch(): android.os.StrictMode.VmPolicy.Builder;
					public permitUnsafeIntentLaunch(): 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 detectLeakedClosableObjects(): android.os.StrictMode.VmPolicy.Builder;
					public detectLeakedRegistrationObjects(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyDeathOnCleartextNetwork(): android.os.StrictMode.VmPolicy.Builder;
				}
			}
		}
	}
}

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 elapsedRealtimeNanos(): number;
			public static setCurrentTimeMillis(millis: number): boolean;
			public static currentNetworkTimeClock(): java.time.Clock;
			public static elapsedRealtime(): number;
			public static sleep(ms: number): void;
			public static uptimeNanos(): number;
			public static currentGnssTimeClock(): java.time.Clock;
		}
	}
}

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 execute(message: android.os.Message): void;
			public next(): android.os.Message;
			public hasMessages(h: android.os.Handler, object: any, what: number): boolean;
			public hasMessages(h: android.os.Handler, object: any, r: java.lang.Runnable): boolean;
			public release(): void;
			public recycle(msg: android.os.Message): 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 acquire(token: android.os.IBinder, tag: string): void;
			public release(token: android.os.IBinder): void;
			public isAcquired(): boolean;
			public acquired(): void;
			public released(): void;
			public constructor(h: android.os.Handler, tag: string);
			public dump(): void;
			public dump(pw: java.io.PrintWriter): void;
			public cleanup(token: android.os.IBinder, unlink: boolean): 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 beginAsyncSection(methodName: string, cookie: number): void;
			public static setCounter(counterName: string, counterValue: number): void;
			public static isEnabled(): boolean;
			public static endSection(): void;
			public static endAsyncSection(methodName: string, cookie: number): void;
			public static beginSection(sectionName: 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(message: string);
			public constructor(cause: java.lang.Exception);
			public constructor(name: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: string);
		}
	}
}

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 toString(): string;
			public constructor(in_: android.os.Parcel);
			public equals(obj: any): boolean;
			public static readFromParcel(in_: android.os.Parcel): android.os.UserHandle;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static writeToParcel(h: android.os.UserHandle, out: android.os.Parcel): void;
			public static getUserHandleForUid(uid: number): 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: "allow_parent_profile_app_linking";
			public static DISALLOW_ADD_MANAGED_PROFILE: "no_add_managed_profile";
			public static DISALLOW_ADD_PRIVATE_PROFILE: "no_add_private_profile";
			public static DISALLOW_ADD_USER: "no_add_user";
			public static DISALLOW_ADD_WIFI_CONFIG: "no_add_wifi_config";
			public static DISALLOW_ADJUST_VOLUME: "no_adjust_volume";
			public static DISALLOW_AIRPLANE_MODE: "no_airplane_mode";
			public static DISALLOW_AMBIENT_DISPLAY: "no_ambient_display";
			public static DISALLOW_APPS_CONTROL: "no_control_apps";
			public static DISALLOW_ASSIST_CONTENT: "no_assist_content";
			public static DISALLOW_AUTOFILL: "no_autofill";
			public static DISALLOW_BLUETOOTH: "no_bluetooth";
			public static DISALLOW_BLUETOOTH_SHARING: "no_bluetooth_sharing";
			public static DISALLOW_CAMERA_TOGGLE: "disallow_camera_toggle";
			public static DISALLOW_CELLULAR_2G: "no_cellular_2g";
			public static DISALLOW_CHANGE_WIFI_STATE: "no_change_wifi_state";
			public static DISALLOW_CONFIG_BLUETOOTH: "no_config_bluetooth";
			public static DISALLOW_CONFIG_BRIGHTNESS: "no_config_brightness";
			public static DISALLOW_CONFIG_CELL_BROADCASTS: "no_config_cell_broadcasts";
			public static DISALLOW_CONFIG_CREDENTIALS: "no_config_credentials";
			public static DISALLOW_CONFIG_DATE_TIME: "no_config_date_time";
			public static DISALLOW_CONFIG_DEFAULT_APPS: "disallow_config_default_apps";
			public static DISALLOW_CONFIG_LOCALE: "no_config_locale";
			public static DISALLOW_CONFIG_LOCATION: "no_config_location";
			public static DISALLOW_CONFIG_MOBILE_NETWORKS: "no_config_mobile_networks";
			public static DISALLOW_CONFIG_PRIVATE_DNS: "disallow_config_private_dns";
			public static DISALLOW_CONFIG_SCREEN_TIMEOUT: "no_config_screen_timeout";
			public static DISALLOW_CONFIG_TETHERING: "no_config_tethering";
			public static DISALLOW_CONFIG_VPN: "no_config_vpn";
			public static DISALLOW_CONFIG_WIFI: "no_config_wifi";
			public static DISALLOW_CONTENT_CAPTURE: "no_content_capture";
			public static DISALLOW_CONTENT_SUGGESTIONS: "no_content_suggestions";
			public static DISALLOW_CREATE_WINDOWS: "no_create_windows";
			public static DISALLOW_CROSS_PROFILE_COPY_PASTE: "no_cross_profile_copy_paste";
			public static DISALLOW_DATA_ROAMING: "no_data_roaming";
			public static DISALLOW_DEBUGGING_FEATURES: "no_debugging_features";
			public static DISALLOW_FACTORY_RESET: "no_factory_reset";
			public static DISALLOW_FUN: "no_fun";
			public static DISALLOW_GRANT_ADMIN: "no_grant_admin";
			public static DISALLOW_INSTALL_APPS: "no_install_apps";
			public static DISALLOW_INSTALL_UNKNOWN_SOURCES: "no_install_unknown_sources";
			public static DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY: "no_install_unknown_sources_globally";
			public static DISALLOW_MICROPHONE_TOGGLE: "disallow_microphone_toggle";
			public static DISALLOW_MODIFY_ACCOUNTS: "no_modify_accounts";
			public static DISALLOW_MOUNT_PHYSICAL_MEDIA: "no_physical_media";
			public static DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO: "no_near_field_communication_radio";
			public static DISALLOW_NETWORK_RESET: "no_network_reset";
			public static DISALLOW_OUTGOING_BEAM: "no_outgoing_beam";
			public static DISALLOW_OUTGOING_CALLS: "no_outgoing_calls";
			public static DISALLOW_PRINTING: "no_printing";
			public static DISALLOW_REMOVE_MANAGED_PROFILE: "no_remove_managed_profile";
			public static DISALLOW_REMOVE_USER: "no_remove_user";
			public static DISALLOW_SAFE_BOOT: "no_safe_boot";
			public static DISALLOW_SET_USER_ICON: "no_set_user_icon";
			public static DISALLOW_SET_WALLPAPER: "no_set_wallpaper";
			public static DISALLOW_SHARE_INTO_MANAGED_PROFILE: "no_sharing_into_profile";
			public static DISALLOW_SHARE_LOCATION: "no_share_location";
			public static DISALLOW_SHARING_ADMIN_CONFIGURED_WIFI: "no_sharing_admin_configured_wifi";
			public static DISALLOW_SIM_GLOBALLY: "no_sim_globally";
			public static DISALLOW_SMS: "no_sms";
			public static DISALLOW_SYSTEM_ERROR_DIALOGS: "no_system_error_dialogs";
			public static DISALLOW_ULTRA_WIDEBAND_RADIO: "no_ultra_wideband_radio";
			public static DISALLOW_UNIFIED_PASSWORD: "no_unified_password";
			public static DISALLOW_UNINSTALL_APPS: "no_uninstall_apps";
			public static DISALLOW_UNMUTE_MICROPHONE: "no_unmute_microphone";
			public static DISALLOW_USB_FILE_TRANSFER: "no_usb_file_transfer";
			public static DISALLOW_USER_SWITCH: "no_user_switch";
			public static DISALLOW_WIFI_DIRECT: "no_wifi_direct";
			public static DISALLOW_WIFI_TETHERING: "no_wifi_tethering";
			public static ENSURE_VERIFY_APPS: "ensure_verify_apps";
			public static KEY_RESTRICTIONS_PENDING: "restrictions_pending";
			public static QUIET_MODE_DISABLE_ONLY_IF_CREDENTIAL_NOT_REQUIRED: 1;
			public static USER_CREATION_FAILED_NOT_PERMITTED: 1;
			public static USER_CREATION_FAILED_NO_MORE_USERS: 2;
			public static USER_OPERATION_ERROR_CURRENT_USER: 4;
			public static USER_OPERATION_ERROR_LOW_STORAGE: 5;
			public static USER_OPERATION_ERROR_MANAGED_PROFILE: 2;
			public static USER_OPERATION_ERROR_MAX_RUNNING_USERS: 3;
			public static USER_OPERATION_ERROR_MAX_USERS: 6;
			public static USER_OPERATION_ERROR_UNKNOWN: 1;
			public static USER_OPERATION_SUCCESS: 0;
			public static USER_TYPE_PROFILE_CLONE: "android.os.usertype.profile.CLONE";
			public static USER_TYPE_PROFILE_MANAGED: "android.os.usertype.profile.MANAGED";
			public static USER_TYPE_PROFILE_PRIVATE: "android.os.usertype.profile.PRIVATE";
			public requestQuietModeEnabled(enableQuietMode: boolean, userHandle: android.os.UserHandle, flags: number): boolean;
			public isAdminUser(): boolean;
			public isManagedProfile(): boolean;
			public requestQuietModeEnabled(enableQuietMode: boolean, userHandle: android.os.UserHandle): boolean;
			public getUserCount(): number;
			public isQuietModeEnabled(userHandle: android.os.UserHandle): boolean;
			public isUserUnlocked(): boolean;
			public static createUserCreationIntent(userName: string, accountName: string, accountType: string, accountOptions: any): android.content.Intent;
			public isUserRunningOrStopping(user: android.os.UserHandle): boolean;
			public getUserRestrictions(): android.os.Bundle;
			public getUserCreationTime(userHandle: android.os.UserHandle): number;
			public isUserUnlocked(user: android.os.UserHandle): boolean;
			/** @deprecated */
			public setRestrictionsChallenge(newPin: string): boolean;
			/** @deprecated */
			public setUserRestrictions(restrictions: android.os.Bundle): void;
			public isUserRunning(user: android.os.UserHandle): boolean;
			public static supportsMultipleUsers(): boolean;
			public getUserRestrictions(userHandle: android.os.UserHandle): android.os.Bundle;
			public getApplicationRestrictions(packageName: string): android.os.Bundle;
			public isDemoUser(): boolean;
			public isUserAGoat(): boolean;
			public hasUserRestriction(restrictionKey: string): boolean;
			public isUserForeground(): boolean;
			public isSystemUser(): boolean;
			public getUserName(): string;
			/** @deprecated */
			public setUserRestriction(key: string, value: boolean): void;
			public static isHeadlessSystemUserMode(): boolean;
			public getSerialNumberForUser(user: android.os.UserHandle): number;
			public isProfile(): boolean;
			public getUserForSerialNumber(serialNumber: number): android.os.UserHandle;
			public getUserProfiles(): java.util.List<android.os.UserHandle>;
			/** @deprecated */
			public setUserRestrictions(restrictions: android.os.Bundle, userHandle: android.os.UserHandle): void;
		}
		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 class VibrationAttributes extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.VibrationAttributes>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.VibrationAttributes>;
			public static FLAG_BYPASS_INTERRUPTION_POLICY: 1;
			public static USAGE_ACCESSIBILITY: 66;
			public static USAGE_ALARM: 17;
			public static USAGE_CLASS_ALARM: 1;
			public static USAGE_CLASS_FEEDBACK: 2;
			public static USAGE_CLASS_MASK: 15;
			public static USAGE_CLASS_MEDIA: 3;
			public static USAGE_CLASS_UNKNOWN: 0;
			public static USAGE_COMMUNICATION_REQUEST: 65;
			public static USAGE_HARDWARE_FEEDBACK: 50;
			public static USAGE_MEDIA: 19;
			public static USAGE_NOTIFICATION: 49;
			public static USAGE_PHYSICAL_EMULATION: 34;
			public static USAGE_RINGTONE: 33;
			public static USAGE_TOUCH: 18;
			public static USAGE_UNKNOWN: 0;
			public isFlagSet(flag: number): boolean;
			public toString(): string;
			public getFlags(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getUsageClass(): number;
			public static createForUsage(usage: number): android.os.VibrationAttributes;
			public getUsage(): number;
			public hashCode(): number;
		}
		export module VibrationAttributes {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.os.VibrationAttributes.Builder>;
				public setUsage(usage: number): android.os.VibrationAttributes.Builder;
				public build(): android.os.VibrationAttributes;
				public constructor(audio: any);
				public setFlags(flags: number, mask: number): android.os.VibrationAttributes.Builder;
				public constructor(vib: android.os.VibrationAttributes);
				public constructor();
			}
		}
	}
}

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: -1;
			public static EFFECT_CLICK: 0;
			public static EFFECT_DOUBLE_CLICK: 1;
			public static EFFECT_HEAVY_CLICK: 5;
			public static EFFECT_TICK: 2;
			public static createOneShot(milliseconds: number, amplitude: number): android.os.VibrationEffect;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static createWaveform(timings: androidNative.Array<number>, amplitudes: androidNative.Array<number>, repeat: number): android.os.VibrationEffect;
			public static createWaveform(timings: androidNative.Array<number>, repeat: number): android.os.VibrationEffect;
			public static createPredefined(effectId: number): android.os.VibrationEffect;
			public static startComposition(): android.os.VibrationEffect.Composition;
		}
		export module VibrationEffect {
			export class Composition extends java.lang.Object {
				public static class: java.lang.Class<android.os.VibrationEffect.Composition>;
				public static PRIMITIVE_CLICK: 1;
				public static PRIMITIVE_LOW_TICK: 8;
				public static PRIMITIVE_QUICK_FALL: 6;
				public static PRIMITIVE_QUICK_RISE: 4;
				public static PRIMITIVE_SLOW_RISE: 5;
				public static PRIMITIVE_SPIN: 3;
				public static PRIMITIVE_THUD: 2;
				public static PRIMITIVE_TICK: 7;
				public addPrimitive(primitiveId: number, scale: number, delay: number): android.os.VibrationEffect.Composition;
				public compose(): android.os.VibrationEffect;
				public addPrimitive(primitiveId: number): android.os.VibrationEffect.Composition;
				public addPrimitive(primitiveId: number, scale: number): android.os.VibrationEffect.Composition;
			}
		}
	}
}

declare module android {
	export module os {
		export abstract class Vibrator extends java.lang.Object {
			public static class: java.lang.Class<android.os.Vibrator>;
			public static VIBRATION_EFFECT_SUPPORT_NO: 2;
			public static VIBRATION_EFFECT_SUPPORT_UNKNOWN: 0;
			public static VIBRATION_EFFECT_SUPPORT_YES: 1;
			public getQFactor(): number;
			/** @deprecated */
			public vibrate(milliseconds: number, attributes: any): void;
			/** @deprecated */
			public vibrate(pattern: androidNative.Array<number>, repeat: number): void;
			public vibrate(vibe: android.os.VibrationEffect, attributes: android.os.VibrationAttributes): void;
			/** @deprecated */
			public vibrate(milliseconds: number): void;
			/** @deprecated */
			public vibrate(pattern: androidNative.Array<number>, repeat: number, attributes: any): void;
			public arePrimitivesSupported(primitiveIds: androidNative.Array<number>): androidNative.Array<boolean>;
			public vibrate(vibe: android.os.VibrationEffect): void;
			public cancel(): void;
			/** @deprecated */
			public vibrate(vibe: android.os.VibrationEffect, attributes: any): void;
			public getPrimitiveDurations(primitiveIds: androidNative.Array<number>): androidNative.Array<number>;
			public hasAmplitudeControl(): boolean;
			public getId(): number;
			public getResonantFrequency(): number;
			public areAllEffectsSupported(effectIds: androidNative.Array<number>): number;
			public areEffectsSupported(effectIds: androidNative.Array<number>): androidNative.Array<number>;
			public hasVibrator(): boolean;
			public areAllPrimitivesSupported(primitiveIds: androidNative.Array<number>): boolean;
		}
	}
}

declare module android {
	export module os {
		export abstract class VibratorManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.VibratorManager>;
			public getDefaultVibrator(): android.os.Vibrator;
			public getVibrator(param0: number): android.os.Vibrator;
			public vibrate(effect: android.os.CombinedVibration, attributes: android.os.VibrationAttributes): void;
			public cancel(): void;
			public getVibratorIds(): androidNative.Array<number>;
			public vibrate(effect: android.os.CombinedVibration): void;
		}
	}
}

declare module android {
	export module os {
		export class WorkDuration extends java.lang.Object {
			public static class: java.lang.Class<android.os.WorkDuration>;
			public setActualGpuDurationNanos(actualGpuDurationNanos: number): void;
			public getWorkPeriodStartTimestampNanos(): number;
			public getActualTotalDurationNanos(): number;
			public equals(obj: any): boolean;
			public getActualCpuDurationNanos(): number;
			public setWorkPeriodStartTimestampNanos(workPeriodStartTimestampNanos: number): void;
			public constructor();
			public setActualCpuDurationNanos(actualCpuDurationNanos: number): void;
			public setActualTotalDurationNanos(actualTotalDurationNanos: number): void;
			public getActualGpuDurationNanos(): number;
			public hashCode(): number;
		}
	}
}

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 add(other: android.os.WorkSource): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor();
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public diff(other: android.os.WorkSource): boolean;
			public set(other: android.os.WorkSource): void;
			public remove(other: android.os.WorkSource): boolean;
			public constructor(orig: android.os.WorkSource);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module os {
		export module ext {
			export class SdkExtensions extends java.lang.Object {
				public static class: java.lang.Class<android.os.ext.SdkExtensions>;
				public static AD_SERVICES: 1000000;
				public static getExtensionVersion(extension: number): number;
				public static getAllExtensionVersions(): java.util.Map<java.lang.Integer,java.lang.Integer>;
			}
		}
	}
}

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 getMeasurementsKeyAt(index: number): number;
				public getStatsKeyAt(index: number): number;
				public getTimerTime(key: number): number;
				public getMeasurementKeyAt(index: number): number;
				public getTimer(key: number): android.os.health.TimerStat;
				public getTimersKeyAt(index: number): number;
				public getStatsKeyCount(): number;
				public hasMeasurements(key: number): boolean;
				public getTimerCount(key: number): number;
				public getStats(key: number): java.util.Map<string,android.os.health.HealthStats>;
				public getMeasurements(key: number): java.util.Map<string,java.lang.Long>;
				public getTimerKeyAt(index: number): number;
				public hasStats(key: number): boolean;
				public getDataType(): string;
				public getTimerKeyCount(): number;
				public getTimers(key: number): java.util.Map<string,android.os.health.TimerStat>;
				public getMeasurementKeyCount(): number;
				public hasTimers(key: number): boolean;
				public getTimersKeyCount(): number;
				public hasTimer(key: number): boolean;
				public hasMeasurement(key: number): boolean;
				public getMeasurement(key: number): number;
				public getMeasurementsKeyCount(): number;
			}
		}
	}
}

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: 40002;
				public static STATS_SERVICES: 40001;
			}
		}
	}
}

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: 20001;
				public static MEASUREMENT_WAKE_START_MS: 20003;
				public static MEASUREMENT_WAKE_SUM_MS: 20002;
			}
		}
	}
}

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: 30005;
				public static MEASUREMENT_CRASHES_COUNT: 30004;
				public static MEASUREMENT_FOREGROUND_MS: 30006;
				public static MEASUREMENT_STARTS_COUNT: 30003;
				public static MEASUREMENT_SYSTEM_TIME_MS: 30002;
				public static MEASUREMENT_USER_TIME_MS: 30001;
			}
		}
	}
}

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: 50002;
				public static MEASUREMENT_START_SERVICE_COUNT: 50001;
			}
		}
	}
}

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 getPowerMonitorReadings(powerMonitors: java.util.List<android.os.PowerMonitor>, executor: java.util.concurrent.Executor, onResult: android.os.OutcomeReceiver<android.os.PowerMonitorReadings,java.lang.RuntimeException>): void;
				public getSupportedPowerMonitors(executor: java.util.concurrent.Executor, onResult: any /* any*/): void;
				public takeUidSnapshot(uid: number): android.os.health.HealthStats;
				public takeUidSnapshots(uids: androidNative.Array<number>): androidNative.Array<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(count: number, time: number);
				public setCount(count: number): void;
				public setTime(time: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(in_: android.os.Parcel);
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getCount(): number;
				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: 10020;
				public static MEASUREMENT_BLUETOOTH_POWER_MAMS: 10023;
				public static MEASUREMENT_BLUETOOTH_RX_BYTES: 10052;
				public static MEASUREMENT_BLUETOOTH_RX_MS: 10021;
				public static MEASUREMENT_BLUETOOTH_RX_PACKETS: 10058;
				public static MEASUREMENT_BLUETOOTH_TX_BYTES: 10053;
				public static MEASUREMENT_BLUETOOTH_TX_MS: 10022;
				public static MEASUREMENT_BLUETOOTH_TX_PACKETS: 10059;
				public static MEASUREMENT_BUTTON_USER_ACTIVITY_COUNT: 10046;
				public static MEASUREMENT_CPU_POWER_MAMS: 10064;
				public static MEASUREMENT_MOBILE_IDLE_MS: 10024;
				public static MEASUREMENT_MOBILE_POWER_MAMS: 10027;
				public static MEASUREMENT_MOBILE_RX_BYTES: 10048;
				public static MEASUREMENT_MOBILE_RX_MS: 10025;
				public static MEASUREMENT_MOBILE_RX_PACKETS: 10054;
				public static MEASUREMENT_MOBILE_TX_BYTES: 10049;
				public static MEASUREMENT_MOBILE_TX_MS: 10026;
				public static MEASUREMENT_MOBILE_TX_PACKETS: 10055;
				public static MEASUREMENT_OTHER_USER_ACTIVITY_COUNT: 10045;
				public static MEASUREMENT_REALTIME_BATTERY_MS: 10001;
				public static MEASUREMENT_REALTIME_SCREEN_OFF_BATTERY_MS: 10003;
				public static MEASUREMENT_SYSTEM_CPU_TIME_MS: 10063;
				public static MEASUREMENT_TOUCH_USER_ACTIVITY_COUNT: 10047;
				public static MEASUREMENT_UPTIME_BATTERY_MS: 10002;
				public static MEASUREMENT_UPTIME_SCREEN_OFF_BATTERY_MS: 10004;
				public static MEASUREMENT_USER_CPU_TIME_MS: 10062;
				public static MEASUREMENT_WIFI_FULL_LOCK_MS: 10029;
				public static MEASUREMENT_WIFI_IDLE_MS: 10016;
				public static MEASUREMENT_WIFI_MULTICAST_MS: 10031;
				public static MEASUREMENT_WIFI_POWER_MAMS: 10019;
				public static MEASUREMENT_WIFI_RUNNING_MS: 10028;
				public static MEASUREMENT_WIFI_RX_BYTES: 10050;
				public static MEASUREMENT_WIFI_RX_MS: 10017;
				public static MEASUREMENT_WIFI_RX_PACKETS: 10056;
				public static MEASUREMENT_WIFI_TX_BYTES: 10051;
				public static MEASUREMENT_WIFI_TX_MS: 10018;
				public static MEASUREMENT_WIFI_TX_PACKETS: 10057;
				public static STATS_PACKAGES: 10015;
				public static STATS_PIDS: 10013;
				public static STATS_PROCESSES: 10014;
				public static TIMERS_JOBS: 10010;
				public static TIMERS_SENSORS: 10012;
				public static TIMERS_SYNCS: 10009;
				public static TIMERS_WAKELOCKS_DRAW: 10008;
				public static TIMERS_WAKELOCKS_FULL: 10005;
				public static TIMERS_WAKELOCKS_PARTIAL: 10006;
				public static TIMERS_WAKELOCKS_WINDOW: 10007;
				public static TIMER_AUDIO: 10032;
				public static TIMER_BLUETOOTH_SCAN: 10037;
				public static TIMER_CAMERA: 10035;
				public static TIMER_FLASHLIGHT: 10034;
				public static TIMER_FOREGROUND_ACTIVITY: 10036;
				public static TIMER_GPS_SENSOR: 10011;
				public static TIMER_MOBILE_RADIO_ACTIVE: 10061;
				public static TIMER_PROCESS_STATE_BACKGROUND_MS: 10042;
				public static TIMER_PROCESS_STATE_CACHED_MS: 10043;
				public static TIMER_PROCESS_STATE_FOREGROUND_MS: 10041;
				public static TIMER_PROCESS_STATE_FOREGROUND_SERVICE_MS: 10039;
				public static TIMER_PROCESS_STATE_TOP_MS: 10038;
				public static TIMER_PROCESS_STATE_TOP_SLEEPING_MS: 10040;
				public static TIMER_VIBRATOR: 10044;
				public static TIMER_VIDEO: 10033;
				public static TIMER_WIFI_SCAN: 10030;
			}
		}
	}
}

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: 24;
				public static ERROR_COULD_NOT_MOUNT: 21;
				public static ERROR_COULD_NOT_UNMOUNT: 22;
				public static ERROR_INTERNAL: 20;
				public static ERROR_NOT_MOUNTED: 23;
				public static ERROR_PERMISSION_DENIED: 25;
				public static MOUNTED: 1;
				public static UNMOUNTED: 2;
				public onObbStateChange(path: string, state: 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_CLEAR_APP_CACHE: "android.os.storage.action.CLEAR_APP_CACHE";
				public static ACTION_MANAGE_STORAGE: "android.os.storage.action.MANAGE_STORAGE";
				public static EXTRA_REQUESTED_BYTES: "android.os.storage.extra.REQUESTED_BYTES";
				public static EXTRA_UUID: "android.os.storage.extra.UUID";
				public static UUID_DEFAULT: java.util.UUID;
				public mountObb(rawPath: string, key: string, listener: android.os.storage.OnObbStateChangeListener): boolean;
				public isEncrypted(file: java.io.File): boolean;
				public getMountedObbPath(rawPath: string): string;
				public getStorageVolume(file: java.io.File): android.os.storage.StorageVolume;
				public setCacheBehaviorTombstone(path: java.io.File, tombstone: boolean): void;
				public getStorageVolumes(): java.util.List<android.os.storage.StorageVolume>;
				public getUuidForPath(path: java.io.File): java.util.UUID;
				public unmountObb(rawPath: string, force: boolean, listener: android.os.storage.OnObbStateChangeListener): boolean;
				public openProxyFileDescriptor(mode: number, callback: android.os.ProxyFileDescriptorCallback, handler: android.os.Handler): android.os.ParcelFileDescriptor;
				public getAllocatableBytes(storageUuid: java.util.UUID): number;
				public isObbMounted(rawPath: string): boolean;
				public getRecentStorageVolumes(): java.util.List<android.os.storage.StorageVolume>;
				public allocateBytes(storageUuid: java.util.UUID, bytes: number): void;
				public isCacheBehaviorTombstone(path: java.io.File): boolean;
				public registerStorageVolumeCallback(executor: java.util.concurrent.Executor, callback: android.os.storage.StorageManager.StorageVolumeCallback): void;
				public setCacheBehaviorGroup(path: java.io.File, group: boolean): void;
				public getStorageVolumesIncludingSharedProfiles(): java.util.List<android.os.storage.StorageVolume>;
				public isCheckpointSupported(): boolean;
				public isAllocationSupported(fd: java.io.FileDescriptor): boolean;
				public allocateBytes(fd: java.io.FileDescriptor, bytes: number): void;
				public unregisterStorageVolumeCallback(callback: android.os.storage.StorageManager.StorageVolumeCallback): void;
				public getManageSpaceActivityIntent(packageName: string, requestCode: number): android.app.PendingIntent;
				public getPrimaryStorageVolume(): android.os.storage.StorageVolume;
				public getCacheQuotaBytes(storageUuid: java.util.UUID): number;
				public getCacheSizeBytes(storageUuid: java.util.UUID): number;
				public getStorageVolume(uri: android.net.Uri): android.os.storage.StorageVolume;
				public isCacheBehaviorGroup(path: java.io.File): boolean;
			}
			export module StorageManager {
				export class StorageVolumeCallback extends java.lang.Object {
					public static class: java.lang.Class<android.os.storage.StorageManager.StorageVolumeCallback>;
					public constructor();
					public onStateChanged(volume: android.os.storage.StorageVolume): void;
				}
			}
		}
	}
}

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: "android.os.storage.extra.STORAGE_VOLUME";
				public getUuid(): string;
				/** @deprecated */
				public createAccessIntent(directoryName: string): android.content.Intent;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public createOpenDocumentTreeIntent(): android.content.Intent;
				public toString(): string;
				public getDirectory(): java.io.File;
				public isRemovable(): boolean;
				public getStorageUuid(): java.util.UUID;
				public getState(): string;
				public equals(obj: any): boolean;
				public getMediaStoreVolumeName(): string;
				public hashCode(): number;
				public describeContents(): number;
				public getDescription(context: android.content.Context): string;
				public isEmulated(): boolean;
				public isPrimary(): boolean;
				public getOwner(): android.os.UserHandle;
			}
		}
	}
}

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 CredentialProtectedWhileLockedViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.CredentialProtectedWhileLockedViolation>;
			}
		}
	}
}

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 ExplicitGcViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.ExplicitGcViolation>;
			}
		}
	}
}

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 ImplicitDirectBootViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.ImplicitDirectBootViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class IncorrectContextUseViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.IncorrectContextUseViolation>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string, originStack: java.lang.Throwable);
				public constructor();
			}
		}
	}
}

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 UnsafeIntentLaunchViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.UnsafeIntentLaunchViolation>;
				public constructor(cause: java.lang.Throwable);
				public constructor(intent: android.content.Intent);
				public constructor(message: string, cause: java.lang.Throwable);
				public getIntent(): android.content.Intent;
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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>;
				public fillInStackTrace(): java.lang.Throwable;
				public setStackTrace(stackTrace: androidNative.Array<java.lang.StackTraceElement>): void;
				public hashCode(): number;
				public initCause(cause: java.lang.Throwable): java.lang.Throwable;
			}
		}
	}
}

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>;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public onBindView(view: android.view.View): void;
		}
	}
}

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>;
			/** @deprecated */
			public setDialogMessage(dialogMessageResId: number): void;
			/** @deprecated */
			public getDialogLayoutResource(): number;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			/** @deprecated */
			public onSaveInstanceState(): android.os.Parcelable;
			/** @deprecated */
			public getDialogTitle(): string;
			/** @deprecated */
			public setDialogIcon(dialogIcon: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public setNegativeButtonText(negativeButtonText: string): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			/** @deprecated */
			public getPositiveButtonText(): string;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public setDialogTitle(dialogTitle: string): void;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onDismiss(dialog: android.content.DialogInterface): void;
			/** @deprecated */
			public setPositiveButtonText(positiveButtonTextResId: number): void;
			/** @deprecated */
			public onClick(): void;
			/** @deprecated */
			public getDialog(): android.app.Dialog;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setDialogMessage(dialogMessage: string): void;
			/** @deprecated */
			public onBindDialogView(view: android.view.View): void;
			/** @deprecated */
			public onCreateDialogView(): android.view.View;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public getNegativeButtonText(): string;
			/** @deprecated */
			public onPrepareDialogBuilder(builder: android.app.AlertDialog.Builder): void;
			/** @deprecated */
			public setDialogLayoutResource(dialogLayoutResId: number): void;
			/** @deprecated */
			public setNegativeButtonText(negativeButtonTextResId: number): void;
			/** @deprecated */
			public onDialogClosed(positiveResult: boolean): void;
			/** @deprecated */
			public onClick(dialog: android.content.DialogInterface, which: number): void;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			/** @deprecated */
			public getDialogMessage(): string;
			/** @deprecated */
			public onActivityDestroy(): void;
			/** @deprecated */
			public setDialogIcon(dialogIconRes: number): void;
			/** @deprecated */
			public setDialogTitle(dialogTitleResId: number): void;
			/** @deprecated */
			public getDialogIcon(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public setPositiveButtonText(positiveButtonText: string): void;
			/** @deprecated */
			public showDialog(state: android.os.Bundle): void;
		}
	}
}

declare module android {
	export module preference {
		export class EditTextPreference extends android.preference.DialogPreference {
			public static class: java.lang.Class<android.preference.EditTextPreference>;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			/** @deprecated */
			public getText(): string;
			/** @deprecated */
			public onAddEditTextToDialogView(dialogView: android.view.View, editText: android.widget.EditText): void;
			/** @deprecated */
			public onBindDialogView(view: android.view.View): void;
			/** @deprecated */
			public onSaveInstanceState(): android.os.Parcelable;
			public onDismiss(param0: android.content.DialogInterface): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public getEditText(): android.widget.EditText;
			/** @deprecated */
			public setText(text: string): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public shouldDisableDependents(): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onDialogClosed(positiveResult: boolean): void;
			/** @deprecated */
			public onSetInitialValue(restoreValue: boolean, defaultValue: any): void;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			/** @deprecated */
			public onGetDefaultValue(a: android.content.res.TypedArray, index: number): any;
			/** @deprecated */
			public onActivityDestroy(): void;
			/** @deprecated */
			public onClick(): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public showDialog(state: android.os.Bundle): void;
		}
	}
}

declare module android {
	export module preference {
		export class ListPreference extends android.preference.DialogPreference {
			public static class: java.lang.Class<android.preference.ListPreference>;
			/** @deprecated */
			public setSummary(summaryResId: number): void;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			/** @deprecated */
			public onSaveInstanceState(): android.os.Parcelable;
			public onDismiss(param0: android.content.DialogInterface): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public getSummary(): string;
			/** @deprecated */
			public setEntries(entriesResId: number): void;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public setValue(value: string): void;
			/** @deprecated */
			public onClick(): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public findIndexOfValue(value: string): number;
			/** @deprecated */
			public getEntry(): string;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public onPrepareDialogBuilder(builder: android.app.AlertDialog.Builder): void;
			/** @deprecated */
			public getEntries(): androidNative.Array<string>;
			/** @deprecated */
			public setEntryValues(entryValuesResId: number): void;
			/** @deprecated */
			public onDialogClosed(positiveResult: boolean): void;
			/** @deprecated */
			public setValueIndex(index: number): void;
			/** @deprecated */
			public onSetInitialValue(restoreValue: boolean, defaultValue: any): void;
			/** @deprecated */
			public setEntryValues(entryValues: androidNative.Array<string>): void;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			/** @deprecated */
			public onGetDefaultValue(a: android.content.res.TypedArray, index: number): any;
			/** @deprecated */
			public onActivityDestroy(): void;
			/** @deprecated */
			public getEntryValues(): androidNative.Array<string>;
			/** @deprecated */
			public getValue(): string;
			/** @deprecated */
			public setSummary(summary: string): void;
			/** @deprecated */
			public setEntries(entries: androidNative.Array<string>): 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(param0: android.content.DialogInterface, param1: number): void;
			/** @deprecated */
			public onSaveInstanceState(): android.os.Parcelable;
			public onDismiss(param0: android.content.DialogInterface): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public getValues(): java.util.Set<string>;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public onPrepareDialogBuilder(builder: android.app.AlertDialog.Builder): void;
			/** @deprecated */
			public setEntries(entriesResId: number): void;
			/** @deprecated */
			public getEntries(): androidNative.Array<string>;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public setEntryValues(entryValuesResId: number): void;
			/** @deprecated */
			public onDialogClosed(positiveResult: boolean): void;
			/** @deprecated */
			public onSetInitialValue(restoreValue: boolean, defaultValue: any): void;
			/** @deprecated */
			public setEntryValues(entryValues: androidNative.Array<string>): void;
			/** @deprecated */
			public onGetDefaultValue(a: android.content.res.TypedArray, index: number): any;
			/** @deprecated */
			public onActivityDestroy(): void;
			/** @deprecated */
			public setValues(values: java.util.Set<string>): void;
			/** @deprecated */
			public onClick(): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public getEntryValues(): androidNative.Array<string>;
			/** @deprecated */
			public findIndexOfValue(value: string): number;
			/** @deprecated */
			public setEntries(entries: androidNative.Array<string>): 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: 2147483647;
			/** @deprecated */
			public persistInt(value: number): boolean;
			/** @deprecated */
			public setDependency(dependencyKey: string): void;
			/** @deprecated */
			public getView(convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			/** @deprecated */
			public getWidgetLayoutResource(): number;
			/** @deprecated */
			public peekExtras(): android.os.Bundle;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public shouldPersist(): boolean;
			/** @deprecated */
			public callChangeListener(newValue: any): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public compareTo(another: android.preference.Preference): number;
			/** @deprecated */
			public getSharedPreferences(): android.content.SharedPreferences;
			/** @deprecated */
			public getOnPreferenceClickListener(): android.preference.Preference.OnPreferenceClickListener;
			/** @deprecated */
			public getPreferenceManager(): android.preference.PreferenceManager;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setWidgetLayoutResource(widgetLayoutResId: number): void;
			/** @deprecated */
			public isPersistent(): boolean;
			/** @deprecated */
			public persistLong(value: number): boolean;
			/** @deprecated */
			public findPreferenceInHierarchy(key: string): android.preference.Preference;
			/** @deprecated */
			public saveHierarchyState(container: android.os.Bundle): void;
			/** @deprecated */
			public setRecycleEnabled(enabled: boolean): void;
			/** @deprecated */
			public getTitle(): string;
			/** @deprecated */
			public isIconSpaceReserved(): boolean;
			/** @deprecated */
			public getKey(): string;
			/** @deprecated */
			public persistBoolean(value: boolean): boolean;
			/** @deprecated */
			public getParent(): android.preference.PreferenceGroup;
			/** @deprecated */
			public getDependency(): string;
			/** @deprecated */
			public getOrder(): number;
			/** @deprecated */
			public isEnabled(): boolean;
			/** @deprecated */
			public onBindView(view: android.view.View): void;
			/** @deprecated */
			public setKey(key: string): void;
			/** @deprecated */
			public getContext(): android.content.Context;
			/** @deprecated */
			public onAttachedToHierarchy(preferenceManager: android.preference.PreferenceManager): void;
			/** @deprecated */
			public shouldDisableDependents(): boolean;
			/** @deprecated */
			public getPersistedLong(defaultReturnValue: number): number;
			/** @deprecated */
			public setTitle(titleResId: number): void;
			/** @deprecated */
			public getFragment(): string;
			/** @deprecated */
			public persistFloat(value: number): boolean;
			/** @deprecated */
			public getPersistedFloat(defaultReturnValue: number): number;
			/** @deprecated */
			public setSingleLineTitle(singleLineTitle: boolean): void;
			/** @deprecated */
			public persistString(value: string): boolean;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			/** @deprecated */
			public onGetDefaultValue(a: android.content.res.TypedArray, index: number): any;
			/** @deprecated */
			public getShouldDisableView(): boolean;
			/** @deprecated */
			public setLayoutResource(layoutResId: number): void;
			/** @deprecated */
			public getOnPreferenceChangeListener(): android.preference.Preference.OnPreferenceChangeListener;
			/** @deprecated */
			public setSelectable(selectable: boolean): void;
			/** @deprecated */
			public setIntent(intent: android.content.Intent): void;
			/** @deprecated */
			public getPreferenceDataStore(): android.preference.PreferenceDataStore;
			/** @deprecated */
			public getExtras(): android.os.Bundle;
			/** @deprecated */
			public restoreHierarchyState(container: android.os.Bundle): void;
			/** @deprecated */
			public onCreateView(parent: android.view.ViewGroup): android.view.View;
			/** @deprecated */
			public setIcon(icon: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public setSummary(summaryResId: number): void;
			/** @deprecated */
			public persistStringSet(values: java.util.Set<string>): boolean;
			/** @deprecated */
			public setDefaultValue(defaultValue: any): void;
			/** @deprecated */
			public onSaveInstanceState(): android.os.Parcelable;
			/** @deprecated */
			public isRecycleEnabled(): boolean;
			/** @deprecated */
			public setEnabled(enabled: boolean): void;
			/** @deprecated */
			public isSelectable(): boolean;
			/** @deprecated */
			public setOnPreferenceClickListener(onPreferenceClickListener: android.preference.Preference.OnPreferenceClickListener): void;
			/** @deprecated */
			public getTitleRes(): number;
			/** @deprecated */
			public getPersistedBoolean(defaultReturnValue: boolean): boolean;
			/** @deprecated */
			public onPrepareForRemoval(): void;
			/** @deprecated */
			public getSummary(): string;
			/** @deprecated */
			public notifyDependencyChange(disableDependents: boolean): void;
			/** @deprecated */
			public getEditor(): android.content.SharedPreferences.Editor;
			/** @deprecated */
			public setTitle(title: string): void;
			/** @deprecated */
			public shouldCommit(): boolean;
			/** @deprecated */
			public isSingleLineTitle(): boolean;
			/** @deprecated */
			public setOnPreferenceChangeListener(onPreferenceChangeListener: android.preference.Preference.OnPreferenceChangeListener): void;
			/** @deprecated */
			public getLayoutResource(): number;
			/** @deprecated */
			public hasKey(): boolean;
			/** @deprecated */
			public setFragment(fragment: string): void;
			/** @deprecated */
			public onClick(): void;
			/** @deprecated */
			public getIntent(): android.content.Intent;
			/** @deprecated */
			public setPreferenceDataStore(dataStore: android.preference.PreferenceDataStore): void;
			/** @deprecated */
			public onDependencyChanged(dependency: android.preference.Preference, disableDependent: boolean): void;
			/** @deprecated */
			public getPersistedString(defaultReturnValue: string): string;
			/** @deprecated */
			public getPersistedStringSet(defaultReturnValue: java.util.Set<string>): java.util.Set<string>;
			/** @deprecated */
			public onParentChanged(parent: android.preference.Preference, disableChild: boolean): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public setShouldDisableView(shouldDisableView: boolean): void;
			/** @deprecated */
			public getPersistedInt(defaultReturnValue: number): number;
			/** @deprecated */
			public setIcon(iconResId: number): void;
			/** @deprecated */
			public getIcon(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public setPersistent(persistent: boolean): void;
			/** @deprecated */
			public notifyHierarchyChanged(): void;
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public setIconSpaceReserved(iconSpaceReserved: boolean): void;
			/** @deprecated */
			public onSetInitialValue(restorePersistedValue: boolean, defaultValue: any): void;
			/** @deprecated */
			public setOrder(order: number): void;
			/** @deprecated */
			public onAttachedToActivity(): void;
			/** @deprecated */
			public setSummary(summary: string): void;
			/** @deprecated */
			public notifyChanged(): void;
		}
		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>;
				/** @deprecated */
				public constructor(superState: android.os.Parcelable);
				public constructor(source: android.os.Parcel, loader: java.lang.ClassLoader);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(superState: android.os.Parcelable);
				/** @deprecated */
				public constructor(source: android.os.Parcel);
			}
			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();
				/** @deprecated */
				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();
				/** @deprecated */
				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: ":android:no_headers";
			public static EXTRA_SHOW_FRAGMENT: ":android:show_fragment";
			public static EXTRA_SHOW_FRAGMENT_ARGUMENTS: ":android:show_fragment_args";
			public static EXTRA_SHOW_FRAGMENT_SHORT_TITLE: ":android:show_fragment_short_title";
			public static EXTRA_SHOW_FRAGMENT_TITLE: ":android:show_fragment_title";
			public static HEADER_ID_UNDEFINED: -1;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			/** @deprecated */
			public isValidFragment(fragmentName: string): boolean;
			/** @deprecated */
			public hasHeaders(): boolean;
			/** @deprecated */
			public onHeaderClick(header: android.preference.PreferenceActivity.Header, position: number): void;
			/** @deprecated */
			public setListFooter(view: android.view.View): void;
			/** @deprecated */
			public onStop(): void;
			public onCreateView(name: string, context: android.content.Context, attrs: android.util.AttributeSet): android.view.View;
			/** @deprecated */
			public onDestroy(): void;
			/** @deprecated */
			public switchToHeader(fragmentName: string, args: android.os.Bundle): void;
			/** @deprecated */
			public isMultiPane(): boolean;
			/** @deprecated */
			public onBuildHeaders(target: java.util.List<android.preference.PreferenceActivity.Header>): void;
			/** @deprecated */
			public switchToHeader(header: android.preference.PreferenceActivity.Header): void;
			public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onSearchRequested(): boolean;
			public constructor(base: android.content.Context, themeResId: number);
			/** @deprecated */
			public constructor();
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public onIsHidingHeaders(): boolean;
			/** @deprecated */
			public getPreferenceManager(): android.preference.PreferenceManager;
			/** @deprecated */
			public setPreferenceScreen(preferenceScreen: android.preference.PreferenceScreen): void;
			public onCreatePanelView(param0: number): android.view.View;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Bundle): void;
			/** @deprecated */
			public onListItemClick(l: android.widget.ListView, v: android.view.View, position: number, id: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreate(savedInstanceState: android.os.Bundle, persistentState: any): void;
			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;
			/** @deprecated */
			public onBackPressed(): void;
			/** @deprecated */
			public onOptionsItemSelected(item: android.view.MenuItem): boolean;
			/** @deprecated */
			public startWithFragment(fragmentName: string, args: android.os.Bundle, resultTo: android.app.Fragment, resultRequestCode: number): void;
			/** @deprecated */
			public onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void;
			/** @deprecated */
			public onNewIntent(intent: android.content.Intent): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			/** @deprecated */
			public onGetInitialHeader(): android.preference.PreferenceActivity.Header;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public onPreferenceStartFragment(caller: android.preference.PreferenceFragment, pref: android.preference.Preference): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
			/** @deprecated */
			public loadHeadersFromResource(resid: number, target: java.util.List<android.preference.PreferenceActivity.Header>): void;
			/** @deprecated */
			public addPreferencesFromResource(preferencesResId: number): void;
			public onSearchRequested(searchEvent: any): boolean;
			public onContentChanged(): void;
			/** @deprecated */
			public onPreferenceStartFragment(param0: android.preference.PreferenceFragment, param1: android.preference.Preference): boolean;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public startPreferencePanel(fragmentClass: string, args: android.os.Bundle, titleRes: number, titleText: string, resultTo: android.app.Fragment, resultRequestCode: number): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			/** @deprecated */
			public onIsMultiPane(): boolean;
			/** @deprecated */
			public setParentTitle(title: string, shortTitle: string, listener: android.view.View.OnClickListener): void;
			/** @deprecated */
			public onSaveInstanceState(outState: android.os.Bundle): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			/** @deprecated */
			public addPreferencesFromIntent(intent: android.content.Intent): void;
			public onTrimMemory(param0: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public onNewIntent(intent: android.content.Intent, caller: android.app.ComponentCaller): 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 onSaveInstanceState(outState: android.os.Bundle, outPersistentState: any): void;
			/** @deprecated */
			public showBreadCrumbs(title: string, shortTitle: string): void;
			/** @deprecated */
			public findPreference(key: string): android.preference.Preference;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			/** @deprecated */
			public onPreferenceTreeClick(preferenceScreen: android.preference.PreferenceScreen, preference: android.preference.Preference): boolean;
			/** @deprecated */
			public onCreate(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onBuildStartFragmentIntent(fragmentName: string, args: android.os.Bundle, titleRes: number, shortTitleRes: number): android.content.Intent;
			/** @deprecated */
			public getPreferenceScreen(): android.preference.PreferenceScreen;
			public onSearchRequested(param0: any): boolean;
			/** @deprecated */
			public startPreferenceFragment(fragment: android.app.Fragment, push: boolean): void;
			/** @deprecated */
			public onContentChanged(): void;
			public onRestoreInstanceState(savedInstanceState: android.os.Bundle, persistentState: any): void;
			/** @deprecated */
			public onGetNewHeader(): android.preference.PreferenceActivity.Header;
			/** @deprecated */
			public startWithFragment(fragmentName: string, args: android.os.Bundle, resultTo: android.app.Fragment, resultRequestCode: number, titleRes: number, shortTitleRes: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public invalidateHeaders(): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onPointerCaptureChanged(hasCapture: boolean): void;
			/** @deprecated */
			public finishPreferencePanel(caller: android.app.Fragment, resultCode: number, resultData: android.content.Intent): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent, caller: android.app.ComponentCaller): void;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public constructor(base: android.content.Context);
			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;
				/** @deprecated */
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				/** @deprecated */
				public constructor();
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				/** @deprecated */
				public describeContents(): number;
				/** @deprecated */
				public getTitle(res: android.content.res.Resources): string;
				/** @deprecated */
				public getSummary(res: android.content.res.Resources): string;
				/** @deprecated */
				public getBreadCrumbTitle(res: android.content.res.Resources): string;
				/** @deprecated */
				public getBreadCrumbShortTitle(res: android.content.res.Resources): string;
				/** @deprecated */
				public readFromParcel(in_: android.os.Parcel): void;
			}
		}
	}
}

declare module android {
	export module preference {
		export class PreferenceCategory extends android.preference.PreferenceGroup {
			public static class: java.lang.Class<android.preference.PreferenceCategory>;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onPrepareAddPreference(preference: android.preference.Preference): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public isEnabled(): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public shouldDisableDependents(): boolean;
		}
	}
}

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(key: string, value: string): void;
				putStringSet(key: string, values: java.util.Set<string>): void;
				putInt(key: string, value: number): void;
				putLong(key: string, value: number): void;
				putFloat(key: string, value: number): void;
				putBoolean(key: string, value: boolean): void;
				getString(key: string, defValue: string): string;
				getStringSet(key: string, defValues: java.util.Set<string>): java.util.Set<string>;
				getInt(key: string, defValue: number): number;
				getLong(key: string, defValue: number): number;
				getFloat(key: string, defValue: number): number;
				getBoolean(key: string, defValue: boolean): boolean;
			});
			public constructor();
			/** @deprecated */
			public putInt(key: string, value: number): void;
			/** @deprecated */
			public getLong(key: string, defValue: number): number;
			/** @deprecated */
			public getString(key: string, defValue: string): string;
			/** @deprecated */
			public putStringSet(key: string, values: java.util.Set<string>): void;
			/** @deprecated */
			public getBoolean(key: string, defValue: boolean): boolean;
			/** @deprecated */
			public putFloat(key: string, value: number): void;
			/** @deprecated */
			public putLong(key: string, value: number): void;
			/** @deprecated */
			public getFloat(key: string, defValue: number): number;
			/** @deprecated */
			public putString(key: string, value: string): void;
			/** @deprecated */
			public putBoolean(key: string, value: boolean): void;
			/** @deprecated */
			public getInt(key: string, defValue: number): number;
			/** @deprecated */
			public getStringSet(key: string, defValues: java.util.Set<string>): java.util.Set<string>;
		}
	}
}

declare module android {
	export module preference {
		export abstract class PreferenceFragment extends android.app.Fragment {
			public static class: java.lang.Class<android.preference.PreferenceFragment>;
			/** @deprecated */
			public findPreference(key: string): android.preference.Preference;
			/** @deprecated */
			public onActivityCreated(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onPreferenceTreeClick(preferenceScreen: android.preference.PreferenceScreen, preference: android.preference.Preference): boolean;
			/** @deprecated */
			public onCreate(savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public onViewCreated(view: android.view.View, savedInstanceState: android.os.Bundle): void;
			/** @deprecated */
			public getPreferenceScreen(): android.preference.PreferenceScreen;
			/** @deprecated */
			public onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void;
			/** @deprecated */
			public onStop(): void;
			/** @deprecated */
			public onCreateView(inflater: android.view.LayoutInflater, container: android.view.ViewGroup, savedInstanceState: android.os.Bundle): android.view.View;
			/** @deprecated */
			public onDestroyView(): void;
			/** @deprecated */
			public onDestroy(): void;
			/** @deprecated */
			public onSaveInstanceState(outState: android.os.Bundle): void;
			/** @deprecated */
			public addPreferencesFromIntent(intent: android.content.Intent): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			/** @deprecated */
			public constructor();
			public onTrimMemory(param0: number): void;
			/** @deprecated */
			public getPreferenceManager(): android.preference.PreferenceManager;
			/** @deprecated */
			public setPreferenceScreen(preferenceScreen: android.preference.PreferenceScreen): void;
			/** @deprecated */
			public addPreferencesFromResource(preferencesResId: number): void;
			/** @deprecated */
			public onStart(): 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();
				/** @deprecated */
				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>;
			/** @deprecated */
			public findPreference(key: string): android.preference.Preference;
			/** @deprecated */
			public removeAll(): void;
			/** @deprecated */
			public addPreference(preference: android.preference.Preference): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public onPrepareForRemoval(): void;
			/** @deprecated */
			public getPreference(index: number): android.preference.Preference;
			/** @deprecated */
			public notifyDependencyChange(disableDependents: boolean): void;
			/** @deprecated */
			public addItemFromInflater(preference: android.preference.Preference): void;
			/** @deprecated */
			public removePreference(preference: android.preference.Preference): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onPrepareAddPreference(preference: android.preference.Preference): boolean;
			/** @deprecated */
			public setOrderingAsAdded(orderingAsAdded: boolean): void;
			/** @deprecated */
			public isOnSameScreenAsChildren(): boolean;
			/** @deprecated */
			public onAttachedToActivity(): void;
			/** @deprecated */
			public dispatchSaveInstanceState(container: android.os.Bundle): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public getPreferenceCount(): number;
			/** @deprecated */
			public dispatchRestoreInstanceState(container: android.os.Bundle): void;
			/** @deprecated */
			public isOrderingAsAdded(): boolean;
		}
	}
}

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: "_has_set_default_values";
			public static METADATA_KEY_PREFERENCES: "android.preference";
			/** @deprecated */
			public setSharedPreferencesName(sharedPreferencesName: string): void;
			/** @deprecated */
			public setStorageDefault(): void;
			/** @deprecated */
			public findPreference(key: string): android.preference.Preference;
			/** @deprecated */
			public getSharedPreferencesName(): string;
			/** @deprecated */
			public static getDefaultSharedPreferences(context: android.content.Context): android.content.SharedPreferences;
			/** @deprecated */
			public setSharedPreferencesMode(sharedPreferencesMode: number): void;
			/** @deprecated */
			public createPreferenceScreen(context: android.content.Context): android.preference.PreferenceScreen;
			/** @deprecated */
			public static getDefaultSharedPreferencesName(context: android.content.Context): string;
			/** @deprecated */
			public static setDefaultValues(context: android.content.Context, resId: number, readAgain: boolean): void;
			/** @deprecated */
			public isStorageDefault(): boolean;
			/** @deprecated */
			public getSharedPreferences(): android.content.SharedPreferences;
			/** @deprecated */
			public setPreferenceDataStore(dataStore: android.preference.PreferenceDataStore): void;
			/** @deprecated */
			public getPreferenceDataStore(): android.preference.PreferenceDataStore;
			/** @deprecated */
			public getSharedPreferencesMode(): number;
			/** @deprecated */
			public setStorageDeviceProtected(): void;
			/** @deprecated */
			public static setDefaultValues(context: android.content.Context, sharedPreferencesName: string, sharedPreferencesMode: number, resId: number, readAgain: boolean): void;
			/** @deprecated */
			public isStorageDeviceProtected(): boolean;
		}
		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();
				/** @deprecated */
				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();
				/** @deprecated */
				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();
				/** @deprecated */
				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>;
			/** @deprecated */
			public onDismiss(dialog: android.content.DialogInterface): void;
			public onItemClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
			/** @deprecated */
			public getRootAdapter(): android.widget.ListAdapter;
			/** @deprecated */
			public bind(listView: android.widget.ListView): void;
			/** @deprecated */
			public onSaveInstanceState(): android.os.Parcelable;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			/** @deprecated */
			public isOnSameScreenAsChildren(): boolean;
			/** @deprecated */
			public onClick(): void;
			/** @deprecated */
			public getDialog(): android.app.Dialog;
			/** @deprecated */
			public onItemClick(parent: android.widget.AdapterView<any>, view: android.view.View, position: number, id: number): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			/** @deprecated */
			public onCreateRootAdapter(): android.widget.ListAdapter;
		}
	}
}

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>;
			/** @deprecated */
			public setShowDefault(showDefault: boolean): void;
			/** @deprecated */
			public onSetInitialValue(restorePersistedValue: boolean, defaultValueObj: any): void;
			/** @deprecated */
			public getShowDefault(): boolean;
			/** @deprecated */
			public onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): boolean;
			/** @deprecated */
			public onSaveRingtone(ringtoneUri: android.net.Uri): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public getShowSilent(): boolean;
			/** @deprecated */
			public onAttachedToHierarchy(preferenceManager: android.preference.PreferenceManager): void;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public setRingtoneType(type: number): void;
			/** @deprecated */
			public onPrepareRingtonePickerIntent(ringtonePickerIntent: android.content.Intent): void;
			/** @deprecated */
			public onGetDefaultValue(a: android.content.res.TypedArray, index: number): any;
			/** @deprecated */
			public onActivityResult(param0: number, param1: number, param2: android.content.Intent): boolean;
			/** @deprecated */
			public onClick(): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setShowSilent(showSilent: boolean): void;
			/** @deprecated */
			public getRingtoneType(): number;
			/** @deprecated */
			public onRestoreRingtone(): android.net.Uri;
		}
	}
}

declare module android {
	export module preference {
		export class SwitchPreference extends android.preference.TwoStatePreference {
			public static class: java.lang.Class<android.preference.SwitchPreference>;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public getSwitchTextOn(): string;
			/** @deprecated */
			public setSwitchTextOn(onText: string): void;
			/** @deprecated */
			public setSwitchTextOff(resId: number): void;
			/** @deprecated */
			public setSwitchTextOn(resId: number): void;
			/** @deprecated */
			public setSwitchTextOff(offText: string): void;
			/** @deprecated */
			public getSwitchTextOff(): string;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public onBindView(view: android.view.View): void;
		}
	}
}

declare module android {
	export module preference {
		export abstract class TwoStatePreference extends android.preference.Preference {
			public static class: java.lang.Class<android.preference.TwoStatePreference>;
			/** @deprecated */
			public setSummaryOff(summaryResId: number): void;
			/** @deprecated */
			public isChecked(): boolean;
			/** @deprecated */
			public setDisableDependentsState(disableDependentsState: boolean): void;
			/** @deprecated */
			public setChecked(checked: boolean): void;
			/** @deprecated */
			public onSaveInstanceState(): android.os.Parcelable;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public getSummaryOn(): string;
			/** @deprecated */
			public setSummaryOn(summaryResId: number): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public getDisableDependentsState(): boolean;
			/** @deprecated */
			public shouldDisableDependents(): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onSetInitialValue(restoreValue: boolean, defaultValue: any): void;
			/** @deprecated */
			public setSummaryOff(summary: string): void;
			/** @deprecated */
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			/** @deprecated */
			public getSummaryOff(): string;
			/** @deprecated */
			public onGetDefaultValue(a: android.content.res.TypedArray, index: number): any;
			/** @deprecated */
			public onClick(): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setSummaryOn(summary: string): 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(icon: 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 fail(error: string): boolean;
			public isStarted(): boolean;
			public setStatus(statusResId: number): void;
			public setTag(tag: string): boolean;
			public getTag(): string;
			public hasAdvancedOption(key: string): boolean;
			public getAdvancedStringOption(key: string): string;
			public isCancelled(): boolean;
			public setProgress(progress: number): void;
			public complete(): boolean;
			public getId(): any;
			public isQueued(): boolean;
			public isFailed(): boolean;
			public cancel(): boolean;
			public equals(obj: any): boolean;
			public getInfo(): any;
			public block(reason: string): boolean;
			public isCompleted(): boolean;
			public start(): boolean;
			public setStatus(status: string): void;
			public getAdvancedIntOption(key: string): number;
			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: "android.printservice.extra.CAN_SELECT_PRINTER";
			public static EXTRA_PRINTER_INFO: "android.intent.extra.print.EXTRA_PRINTER_INFO";
			public static EXTRA_PRINT_DOCUMENT_INFO: "android.printservice.extra.PRINT_DOCUMENT_INFO";
			public static EXTRA_PRINT_JOB_INFO: "android.intent.extra.print.PRINT_JOB_INFO";
			public static EXTRA_SELECT_PRINTER: "android.printservice.extra.SELECT_PRINTER";
			public static SERVICE_INTERFACE: "android.printservice.PrintService";
			public static SERVICE_META_DATA: "android.printservice";
			public attachBaseContext(base: android.content.Context): void;
			public onDisconnected(): void;
			public getActivePrintJobs(): java.util.List<android.printservice.PrintJob>;
			public generatePrinterId(localId: string): any;
			public onTrimMemory(param0: number): void;
			public onCreatePrinterDiscoverySession(): android.printservice.PrinterDiscoverySession;
			public onConnected(): void;
			public onRequestCancelPrintJob(param0: android.printservice.PrintJob): void;
			public constructor();
			public constructor(base: android.content.Context);
			public onPrintJobQueued(param0: android.printservice.PrintJob): void;
			public onBind(intent: android.content.Intent): android.os.IBinder;
		}
	}
}

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 getPrinters(): java.util.List<any>;
			public onStartPrinterDiscovery(param0: java.util.List<any>): void;
			public constructor();
			public onDestroy(): void;
			public removePrinters(printerIds: java.util.List<any>): void;
			public addPrinters(printers: java.util.List<any>): void;
			public onRequestCustomPrinterIcon(printerId: any, cancellationSignal: android.os.CancellationSignal, callback: android.printservice.CustomPrinterIconCallback): 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: "android.intent.action.DISMISS_ALARM";
			public static ACTION_DISMISS_TIMER: "android.intent.action.DISMISS_TIMER";
			public static ACTION_SET_ALARM: "android.intent.action.SET_ALARM";
			public static ACTION_SET_TIMER: "android.intent.action.SET_TIMER";
			public static ACTION_SHOW_ALARMS: "android.intent.action.SHOW_ALARMS";
			public static ACTION_SHOW_TIMERS: "android.intent.action.SHOW_TIMERS";
			public static ACTION_SNOOZE_ALARM: "android.intent.action.SNOOZE_ALARM";
			public static ALARM_SEARCH_MODE_ALL: "android.all";
			public static ALARM_SEARCH_MODE_LABEL: "android.label";
			public static ALARM_SEARCH_MODE_NEXT: "android.next";
			public static ALARM_SEARCH_MODE_TIME: "android.time";
			public static EXTRA_ALARM_SEARCH_MODE: "android.intent.extra.alarm.SEARCH_MODE";
			public static EXTRA_ALARM_SNOOZE_DURATION: "android.intent.extra.alarm.SNOOZE_DURATION";
			public static EXTRA_DAYS: "android.intent.extra.alarm.DAYS";
			public static EXTRA_HOUR: "android.intent.extra.alarm.HOUR";
			public static EXTRA_IS_PM: "android.intent.extra.alarm.IS_PM";
			public static EXTRA_LENGTH: "android.intent.extra.alarm.LENGTH";
			public static EXTRA_MESSAGE: "android.intent.extra.alarm.MESSAGE";
			public static EXTRA_MINUTES: "android.intent.extra.alarm.MINUTES";
			public static EXTRA_RINGTONE: "android.intent.extra.alarm.RINGTONE";
			public static EXTRA_SKIP_UI: "android.intent.extra.alarm.SKIP_UI";
			public static EXTRA_VIBRATE: "android.intent.extra.alarm.VIBRATE";
			public static VALUE_RINGTONE_SILENT: "silent";
			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 _ID: "_id";
			public static _COUNT: "_count";
		}
	}
}

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: "com.android.blockednumber";
			public static AUTHORITY_URI: android.net.Uri;
			public static isBlocked(context: android.content.Context, phoneNumber: string): boolean;
			public static unblock(context: android.content.Context, phoneNumber: string): number;
			public static canCurrentUserBlockNumbers(context: android.content.Context): boolean;
		}
		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: "e164_number";
				public static COLUMN_ID: "_id";
				public static COLUMN_ORIGINAL_NUMBER: "original_number";
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/blocked_number";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/blocked_number";
				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: "com.android.browser.application_id";
			public static EXTRA_CREATE_NEW_TAB: "create_new_tab";
			public static EXTRA_HEADERS: "com.android.browser.headers";
			public static INITIAL_ZOOM_LEVEL: "browser.initialZoomLevel";
			public static sendString(context: android.content.Context, string: 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: "LOCAL";
			public static ACTION_EVENT_REMINDER: "android.intent.action.EVENT_REMINDER";
			public static ACTION_HANDLE_CUSTOM_EVENT: "android.provider.calendar.action.HANDLE_CUSTOM_EVENT";
			public static ACTION_VIEW_MANAGED_PROFILE_CALENDAR_EVENT: "android.provider.calendar.action.VIEW_MANAGED_PROFILE_CALENDAR_EVENT";
			public static AUTHORITY: "com.android.calendar";
			public static CALLER_IS_SYNCADAPTER: "caller_is_syncadapter";
			public static CONTENT_URI: android.net.Uri;
			public static EXTRA_CUSTOM_APP_URI: "customAppUri";
			public static EXTRA_EVENT_ALL_DAY: "allDay";
			public static EXTRA_EVENT_BEGIN_TIME: "beginTime";
			public static EXTRA_EVENT_END_TIME: "endTime";
			public static EXTRA_EVENT_ID: "id";
			public static startViewCalendarEventInManagedProfile(context: android.content.Context, eventId: number, startMs: number, endMs: number, allDay: boolean, flags: number): boolean;
		}
		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(cr: android.content.ContentResolver, eventId: number, projection: androidNative.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: 0;
				public static ATTENDEE_STATUS_ACCEPTED: 1;
				public static ATTENDEE_STATUS_NONE: 0;
				public static TYPE_OPTIONAL: 2;
				public static RELATIONSHIP_ATTENDEE: 1;
				public static ATTENDEE_ID_NAMESPACE: "attendeeIdNamespace";
				public static ATTENDEE_TYPE: "attendeeType";
				public static EVENT_ID: "event_id";
				public static RELATIONSHIP_PERFORMER: 3;
				public static ATTENDEE_STATUS_INVITED: 3;
				public static ATTENDEE_RELATIONSHIP: "attendeeRelationship";
				public static ATTENDEE_STATUS_TENTATIVE: 4;
				public static ATTENDEE_STATUS: "attendeeStatus";
				public static RELATIONSHIP_SPEAKER: 4;
				public static TYPE_RESOURCE: 3;
				public static TYPE_NONE: 0;
				public static ATTENDEE_EMAIL: "attendeeEmail";
				public static ATTENDEE_STATUS_DECLINED: 2;
				public static ATTENDEE_NAME: "attendeeName";
				public static TYPE_REQUIRED: 1;
				public static ATTENDEE_IDENTITY: "attendeeIdentity";
				public static RELATIONSHIP_ORGANIZER: 2;
			}
			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 RECEIVED_TIME: "receivedTime";
				public static BEGIN: "begin";
				public static NOTIFY_TIME: "notifyTime";
				public static STATE_DISMISSED: 2;
				public static DEFAULT_SORT_ORDER: "begin ASC,title ASC";
				public static CREATION_TIME: "creationTime";
				public static EVENT_ID: "event_id";
				public static END: "end";
				public static MINUTES: "minutes";
				public static STATE_FIRED: 1;
				public static STATE: "state";
				public static STATE_SCHEDULED: 0;
				public static ALARM_TIME: "alarmTime";
			}
			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: "timezoneInstances";
				public static KEY_TIMEZONE_INSTANCES_PREVIOUS: "timezoneInstancesPrevious";
				public static KEY_TIMEZONE_TYPE: "timezoneType";
				public static TIMEZONE_TYPE_AUTO: "auto";
				public static TIMEZONE_TYPE_HOME: "home";
				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 KEY: "key";
				public static VALUE: "value";
			}
			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 CAL_ACCESS_NONE: 0;
				public static MAX_REMINDERS: "maxReminders";
				public static CAL_ACCESS_READ: 200;
				public static CAN_MODIFY_TIME_ZONE: "canModifyTimeZone";
				public static CALENDAR_COLOR_KEY: "calendar_color_index";
				public static CALENDAR_COLOR: "calendar_color";
				public static CAL_ACCESS_RESPOND: 300;
				public static ALLOWED_REMINDERS: "allowedReminders";
				public static CALENDAR_DISPLAY_NAME: "calendar_displayName";
				public static CAL_ACCESS_CONTRIBUTOR: 500;
				public static CAL_ACCESS_FREEBUSY: 100;
				public static ALLOWED_ATTENDEE_TYPES: "allowedAttendeeTypes";
				public static CAL_ACCESS_EDITOR: 600;
				public static SYNC_EVENTS: "sync_events";
				public static VISIBLE: "visible";
				public static CAL_ACCESS_ROOT: 800;
				public static CAL_ACCESS_OVERRIDE: 400;
				public static CALENDAR_ACCESS_LEVEL: "calendar_access_level";
				public static CALENDAR_TIME_ZONE: "calendar_timezone";
				public static OWNER_ACCOUNT: "ownerAccount";
				public static CAL_ACCESS_OWNER: 700;
				public static CAN_ORGANIZER_RESPOND: "canOrganizerRespond";
				public static IS_PRIMARY: "isPrimary";
				public static ALLOWED_AVAILABILITY: "allowedAvailability";
			}
			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(cursor: 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_SYNC10: "cal_sync10";
				public static CAL_SYNC1: "cal_sync1";
				public static CAL_SYNC2: "cal_sync2";
				public static CAL_SYNC3: "cal_sync3";
				public static CAL_SYNC4: "cal_sync4";
				public static CAL_SYNC5: "cal_sync5";
				public static CAL_SYNC6: "cal_sync6";
				public static CAL_SYNC7: "cal_sync7";
				public static CAL_SYNC8: "cal_sync8";
				public static CAL_SYNC9: "cal_sync9";
			}
			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: "calendar_location";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "calendar_displayName";
				public static ENTERPRISE_CONTENT_URI: android.net.Uri;
				public static NAME: "name";
			}
			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 COLOR_TYPE: "color_type";
				public static DATA: "data";
				public static ACCOUNT_TYPE: "account_type";
				public static _ID: "_id";
				public static _COUNT: "_count";
				public static COLOR_KEY: "color_index";
				public static TYPE_CALENDAR: 0;
				public static ACCOUNT_NAME: "account_name";
				public static COLOR: "color";
				public static TYPE_EVENT: 1;
			}
			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(cr: android.content.ContentResolver, startDay: number, numDays: number, projection: androidNative.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: "endDay";
				public static STARTDAY: "startDay";
			}
			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;
				public static ENTERPRISE_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 ACCESS_CONFIDENTIAL: 1;
				public static AVAILABILITY_TENTATIVE: 2;
				public static DTEND: "dtend";
				public static HAS_ALARM: "hasAlarm";
				public static EVENT_END_TIMEZONE: "eventEndTimezone";
				public static SYNC_DATA10: "sync_data10";
				public static GUESTS_CAN_INVITE_OTHERS: "guestsCanInviteOthers";
				public static ORIGINAL_ID: "original_id";
				public static GUESTS_CAN_SEE_GUESTS: "guestsCanSeeGuests";
				public static SYNC_DATA9: "sync_data9";
				public static SELF_ATTENDEE_STATUS: "selfAttendeeStatus";
				public static SYNC_DATA7: "sync_data7";
				public static RDATE: "rdate";
				public static SYNC_DATA8: "sync_data8";
				public static GUESTS_CAN_MODIFY: "guestsCanModify";
				public static EVENT_TIMEZONE: "eventTimezone";
				public static DISPLAY_COLOR: "displayColor";
				public static DESCRIPTION: "description";
				public static ORIGINAL_INSTANCE_TIME: "originalInstanceTime";
				public static CALENDAR_ID: "calendar_id";
				public static CUSTOM_APP_PACKAGE: "customAppPackage";
				public static DURATION: "duration";
				public static AVAILABILITY: "availability";
				public static AVAILABILITY_FREE: 1;
				public static ORIGINAL_SYNC_ID: "original_sync_id";
				public static SYNC_DATA1: "sync_data1";
				public static EVENT_COLOR: "eventColor";
				public static SYNC_DATA2: "sync_data2";
				public static SYNC_DATA5: "sync_data5";
				public static TITLE: "title";
				public static SYNC_DATA6: "sync_data6";
				public static RRULE: "rrule";
				public static SYNC_DATA3: "sync_data3";
				public static EXDATE: "exdate";
				public static SYNC_DATA4: "sync_data4";
				public static ACCESS_LEVEL: "accessLevel";
				public static ORGANIZER: "organizer";
				public static STATUS_CANCELED: 2;
				public static ORIGINAL_ALL_DAY: "originalAllDay";
				public static HAS_ATTENDEE_DATA: "hasAttendeeData";
				public static LAST_DATE: "lastDate";
				public static AVAILABILITY_BUSY: 0;
				public static EVENT_LOCATION: "eventLocation";
				public static LAST_SYNCED: "lastSynced";
				public static STATUS_TENTATIVE: 0;
				public static STATUS: "eventStatus";
				public static DTSTART: "dtstart";
				public static CAN_INVITE_OTHERS: "canInviteOthers";
				public static EVENT_COLOR_KEY: "eventColor_index";
				public static EXRULE: "exrule";
				public static UID_2445: "uid2445";
				public static HAS_EXTENDED_PROPERTIES: "hasExtendedProperties";
				public static ACCESS_PUBLIC: 3;
				public static STATUS_CONFIRMED: 1;
				public static ACCESS_DEFAULT: 0;
				public static IS_ORGANIZER: "isOrganizer";
				public static ALL_DAY: "allDay";
				public static ACCESS_PRIVATE: 2;
				public static CUSTOM_APP_URI: "customAppUri";
			}
			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(cursor: android.database.Cursor, provider: android.content.ContentProviderClient): android.content.EntityIterator;
				public static newEntityIterator(cursor: android.database.Cursor, resolver: 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: "value";
				public static NAME: "name";
				public static EVENT_ID: "event_id";
			}
			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: "begin";
				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: "end";
				public static END_DAY: "endDay";
				public static END_MINUTE: "endMinute";
				public static ENTERPRISE_CONTENT_BY_DAY_URI: android.net.Uri;
				public static ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI: android.net.Uri;
				public static ENTERPRISE_CONTENT_SEARCH_URI: android.net.Uri;
				public static ENTERPRISE_CONTENT_URI: android.net.Uri;
				public static EVENT_ID: "event_id";
				public static START_DAY: "startDay";
				public static START_MINUTE: "startMinute";
				public static query(cr: android.content.ContentResolver, projection: androidNative.Array<string>, begin: number, end: number): android.database.Cursor;
				public static query(cr: android.content.ContentResolver, projection: androidNative.Array<string>, begin: number, end: number, searchQuery: string): 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(cr: android.content.ContentResolver, eventId: number, projection: androidNative.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: "minutes";
				public static METHOD: "method";
				public static METHOD_DEFAULT: 0;
				public static MINUTES_DEFAULT: -1;
				public static METHOD_ALERT: 1;
				public static METHOD_SMS: 3;
				public static METHOD_ALARM: 4;
				public static METHOD_EMAIL: 2;
				public static EVENT_ID: "event_id";
			}
			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 DELETED: "deleted";
				public static MUTATORS: "mutators";
				public static CAL_SYNC5: "cal_sync5";
				public static CAL_SYNC6: "cal_sync6";
				public static CAL_SYNC7: "cal_sync7";
				public static DIRTY: "dirty";
				public static CAL_SYNC8: "cal_sync8";
				public static CAL_SYNC9: "cal_sync9";
				public static ACCOUNT_TYPE: "account_type";
				public static CAL_SYNC10: "cal_sync10";
				public static CAN_PARTIALLY_UPDATE: "canPartiallyUpdate";
				public static CAL_SYNC1: "cal_sync1";
				public static CAL_SYNC2: "cal_sync2";
				public static CAL_SYNC3: "cal_sync3";
				public static _SYNC_ID: "_sync_id";
				public static CAL_SYNC4: "cal_sync4";
				public static ACCOUNT_NAME: "account_name";
			}
			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: "call_log";
			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: 7;
				public static ASSERTED_DISPLAY_NAME: "asserted_display_name";
				public static AUTO_MISSED_EMERGENCY_CALL: 1;
				public static AUTO_MISSED_MAXIMUM_DIALING: 4;
				public static AUTO_MISSED_MAXIMUM_RINGING: 2;
				public static BLOCKED_TYPE: 6;
				public static BLOCK_REASON: "block_reason";
				public static BLOCK_REASON_BLOCKED_NUMBER: 3;
				public static BLOCK_REASON_CALL_SCREENING_SERVICE: 1;
				public static BLOCK_REASON_DIRECT_TO_VOICEMAIL: 2;
				public static BLOCK_REASON_NOT_BLOCKED: 0;
				public static BLOCK_REASON_NOT_IN_CONTACTS: 7;
				public static BLOCK_REASON_PAY_PHONE: 6;
				public static BLOCK_REASON_RESTRICTED_NUMBER: 5;
				public static BLOCK_REASON_UNKNOWN_NUMBER: 4;
				public static CACHED_FORMATTED_NUMBER: "formatted_number";
				public static CACHED_LOOKUP_URI: "lookup_uri";
				public static CACHED_MATCHED_NUMBER: "matched_number";
				public static CACHED_NAME: "name";
				public static CACHED_NORMALIZED_NUMBER: "normalized_number";
				public static CACHED_NUMBER_LABEL: "numberlabel";
				public static CACHED_NUMBER_TYPE: "numbertype";
				public static CACHED_PHOTO_ID: "photo_id";
				public static CACHED_PHOTO_URI: "photo_uri";
				public static CALL_SCREENING_APP_NAME: "call_screening_app_name";
				public static CALL_SCREENING_COMPONENT_NAME: "call_screening_component_name";
				public static COMPOSER_PHOTO_URI: "composer_photo_uri";
				public static CONTENT_FILTER_URI: android.net.Uri;
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/calls";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/calls";
				public static CONTENT_URI: android.net.Uri;
				public static CONTENT_URI_WITH_VOICEMAIL: android.net.Uri;
				public static COUNTRY_ISO: "countryiso";
				public static DATA_USAGE: "data_usage";
				public static DATE: "date";
				public static DEFAULT_SORT_ORDER: "date DESC";
				public static DURATION: "duration";
				public static EXTRA_CALL_TYPE_FILTER: "android.provider.extra.CALL_TYPE_FILTER";
				public static FEATURES: "features";
				public static FEATURES_ASSISTED_DIALING_USED: 16;
				public static FEATURES_HD_CALL: 4;
				public static FEATURES_PULLED_EXTERNALLY: 2;
				public static FEATURES_RTT: 32;
				public static FEATURES_VIDEO: 1;
				public static FEATURES_VOLTE: 64;
				public static FEATURES_WIFI: 8;
				public static GEOCODED_LOCATION: "geocoded_location";
				public static INCOMING_TYPE: 1;
				public static IS_BUSINESS_CALL: "is_business_call";
				public static IS_READ: "is_read";
				public static LAST_MODIFIED: "last_modified";
				public static LIMIT_PARAM_KEY: "limit";
				public static LOCATION: "location";
				public static MISSED_REASON: "missed_reason";
				public static MISSED_REASON_NOT_MISSED: 0;
				public static MISSED_TYPE: 3;
				public static NEW: "new";
				public static NUMBER: "number";
				public static NUMBER_PRESENTATION: "presentation";
				public static OFFSET_PARAM_KEY: "offset";
				public static OUTGOING_TYPE: 2;
				public static PHONE_ACCOUNT_COMPONENT_NAME: "subscription_component_name";
				public static PHONE_ACCOUNT_ID: "subscription_id";
				public static POST_DIAL_DIGITS: "post_dial_digits";
				public static PRESENTATION_ALLOWED: 1;
				public static PRESENTATION_PAYPHONE: 4;
				public static PRESENTATION_RESTRICTED: 2;
				public static PRESENTATION_UNAVAILABLE: 5;
				public static PRESENTATION_UNKNOWN: 3;
				public static PRIORITY: "priority";
				public static PRIORITY_NORMAL: 0;
				public static PRIORITY_URGENT: 1;
				public static REJECTED_TYPE: 5;
				public static SUBJECT: "subject";
				public static TRANSCRIPTION: "transcription";
				public static TYPE: "type";
				public static USER_MISSED_CALL_FILTERS_TIMEOUT: 4194304;
				public static USER_MISSED_CALL_SCREENING_SERVICE_SILENCED: 2097152;
				public static USER_MISSED_DND_MODE: 262144;
				public static USER_MISSED_LOW_RING_VOLUME: 524288;
				public static USER_MISSED_NO_ANSWER: 65536;
				public static USER_MISSED_NO_VIBRATE: 1048576;
				public static USER_MISSED_SHORT_RING: 131072;
				public static VIA_NUMBER: "via_number";
				public static VOICEMAIL_TYPE: 4;
				public static VOICEMAIL_URI: "voicemail_uri";
				public static getLastOutgoingCall(context: android.content.Context): string;
				public constructor();
			}
			export class Locations extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.CallLog.Locations>;
				public static AUTHORITY: "call_composer_locations";
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/call_composer_location";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/call_composer_location";
				public static CONTENT_URI: android.net.Uri;
				public static LATITUDE: "latitude";
				public static LONGITUDE: "longitude";
			}
		}
	}
}

declare module android {
	export module provider {
		export abstract class CloudMediaProvider extends android.content.ContentProvider {
			public static class: java.lang.Class<android.provider.CloudMediaProvider>;
			public delete(uri: android.net.Uri, extras: android.os.Bundle): number;
			public onGetMediaCollectionInfo(param0: android.os.Bundle): android.os.Bundle;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string): android.database.Cursor;
			public onQueryDeletedMedia(param0: android.os.Bundle): android.database.Cursor;
			public openFile(uri: android.net.Uri, mode: string): android.os.ParcelFileDescriptor;
			public onCreateCloudMediaSurfaceController(config: android.os.Bundle, callback: android.provider.CloudMediaProvider.CloudMediaSurfaceStateChangedCallback): android.provider.CloudMediaProvider.CloudMediaSurfaceController;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public getType(uri: android.net.Uri): string;
			public onOpenMedia(param0: string, param1: android.os.Bundle, param2: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public onTrimMemory(param0: number): void;
			public call(method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public canonicalize(uri: android.net.Uri): android.net.Uri;
			public insert(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): android.net.Uri;
			public attachInfo(context: android.content.Context, info: android.content.pm.ProviderInfo): void;
			public constructor();
			public onQueryAlbums(extras: android.os.Bundle): android.database.Cursor;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public onOpenPreview(param0: string, param1: android.graphics.Point, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public onQueryMedia(param0: android.os.Bundle): android.database.Cursor;
			public openFile(uri: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public delete(uri: android.net.Uri, selection: string, selectionArgs: androidNative.Array<string>): number;
			public call(authority: string, method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public openTypedAssetFile(uri: android.net.Uri, mimeTypeFilter: string, opts: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public update(uri: android.net.Uri, values: android.content.ContentValues, selection: string, selectionArgs: androidNative.Array<string>): number;
			public openTypedAssetFile(uri: android.net.Uri, mimeTypeFilter: string, opts: android.os.Bundle, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public update(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): number;
			public query(param0: android.net.Uri, param1: androidNative.Array<string>, param2: string, param3: androidNative.Array<string>, param4: string): android.database.Cursor;
			public insert(uri: android.net.Uri, values: android.content.ContentValues): android.net.Uri;
		}
		export module CloudMediaProvider {
			export abstract class CloudMediaSurfaceController extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CloudMediaProvider.CloudMediaSurfaceController>;
				public onConfigChange(param0: android.os.Bundle): void;
				public onPlayerCreate(): void;
				public onPlayerRelease(): void;
				public onMediaPause(param0: number): void;
				public onMediaPlay(param0: number): void;
				public onSurfaceCreated(param0: number, param1: android.view.Surface, param2: string): void;
				public onSurfaceDestroyed(param0: number): void;
				public onDestroy(): void;
				public onMediaSeekTo(param0: number, param1: number): void;
				public onSurfaceChanged(param0: number, param1: number, param2: number, param3: number): void;
				public constructor();
			}
			export class CloudMediaSurfaceStateChangedCallback extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CloudMediaProvider.CloudMediaSurfaceStateChangedCallback>;
				public static PLAYBACK_STATE_BUFFERING: 1;
				public static PLAYBACK_STATE_COMPLETED: 5;
				public static PLAYBACK_STATE_ERROR_PERMANENT_FAILURE: 7;
				public static PLAYBACK_STATE_ERROR_RETRIABLE_FAILURE: 6;
				public static PLAYBACK_STATE_MEDIA_SIZE_CHANGED: 8;
				public static PLAYBACK_STATE_PAUSED: 4;
				public static PLAYBACK_STATE_READY: 2;
				public static PLAYBACK_STATE_STARTED: 3;
				public setPlaybackState(surfaceId: number, playbackState: number, playbackStateInfo: android.os.Bundle): void;
			}
		}
	}
}

declare module android {
	export module provider {
		export class CloudMediaProviderContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.CloudMediaProviderContract>;
			public static EXTRA_ALBUM_ID: "android.provider.extra.ALBUM_ID";
			public static EXTRA_LOOPING_PLAYBACK_ENABLED: "android.provider.extra.LOOPING_PLAYBACK_ENABLED";
			public static EXTRA_MEDIA_COLLECTION_ID: "android.provider.extra.MEDIA_COLLECTION_ID";
			public static EXTRA_PAGE_SIZE: "android.provider.extra.PAGE_SIZE";
			public static EXTRA_PAGE_TOKEN: "android.provider.extra.PAGE_TOKEN";
			public static EXTRA_PREVIEW_THUMBNAIL: "android.provider.extra.PREVIEW_THUMBNAIL";
			public static EXTRA_SURFACE_CONTROLLER_AUDIO_MUTE_ENABLED: "android.provider.extra.SURFACE_CONTROLLER_AUDIO_MUTE_ENABLED";
			public static EXTRA_SYNC_GENERATION: "android.provider.extra.SYNC_GENERATION";
			public static MANAGE_CLOUD_MEDIA_PROVIDERS_PERMISSION: "com.android.providers.media.permission.MANAGE_CLOUD_MEDIA_PROVIDERS";
			public static PROVIDER_INTERFACE: "android.content.action.CLOUD_MEDIA_PROVIDER";
		}
		export module CloudMediaProviderContract {
			export class AlbumColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CloudMediaProviderContract.AlbumColumns>;
				public static DATE_TAKEN_MILLIS: "date_taken_millis";
				public static DISPLAY_NAME: "display_name";
				public static ID: "id";
				public static MEDIA_COUNT: "album_media_count";
				public static MEDIA_COVER_ID: "album_media_cover_id";
			}
			export class MediaCollectionInfo extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CloudMediaProviderContract.MediaCollectionInfo>;
				public static ACCOUNT_CONFIGURATION_INTENT: "account_configuration_intent";
				public static ACCOUNT_NAME: "account_name";
				public static LAST_MEDIA_SYNC_GENERATION: "last_media_sync_generation";
				public static MEDIA_COLLECTION_ID: "media_collection_id";
			}
			export class MediaColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CloudMediaProviderContract.MediaColumns>;
				public static DATE_TAKEN_MILLIS: "date_taken_millis";
				public static DURATION_MILLIS: "duration_millis";
				public static HEIGHT: "height";
				public static ID: "id";
				public static IS_FAVORITE: "is_favorite";
				public static MEDIA_STORE_URI: "media_store_uri";
				public static MIME_TYPE: "mime_type";
				public static ORIENTATION: "orientation";
				public static SIZE_BYTES: "size_bytes";
				public static STANDARD_MIME_TYPE_EXTENSION: "standard_mime_type_extension";
				public static STANDARD_MIME_TYPE_EXTENSION_ANIMATED_WEBP: 3;
				public static STANDARD_MIME_TYPE_EXTENSION_GIF: 1;
				public static STANDARD_MIME_TYPE_EXTENSION_MOTION_PHOTO: 2;
				public static STANDARD_MIME_TYPE_EXTENSION_NONE: 0;
				public static SYNC_GENERATION: "sync_generation";
				public static WIDTH: "width";
			}
		}
	}
}

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: "contacts";
			public static CONTENT_URI: android.net.Uri;
			public static KIND_EMAIL: 1;
			public static KIND_IM: 3;
			public static KIND_ORGANIZATION: 4;
			public static KIND_PHONE: 5;
			public static KIND_POSTAL: 2;
		}
		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: "vnd.android.cursor.item/email";
				public static CONTENT_EMAIL_TYPE: "vnd.android.cursor.dir/email";
				public static CONTENT_EMAIL_URI: android.net.Uri;
				public static CONTENT_IM_ITEM_TYPE: "vnd.android.cursor.item/jabber-im";
				public static CONTENT_POSTAL_ITEM_TYPE: "vnd.android.cursor.item/postal-address";
				public static CONTENT_POSTAL_TYPE: "vnd.android.cursor.dir/postal-address";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/contact-methods";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "name ASC";
				public static PERSON_ID: "person";
				public static POSTAL_LOCATION_LATITUDE: "data";
				public static POSTAL_LOCATION_LONGITUDE: "aux_data";
				public static PROTOCOL_AIM: 0;
				public static PROTOCOL_GOOGLE_TALK: 5;
				public static PROTOCOL_ICQ: 6;
				public static PROTOCOL_JABBER: 7;
				public static PROTOCOL_MSN: 1;
				public static PROTOCOL_QQ: 4;
				public static PROTOCOL_SKYPE: 3;
				public static PROTOCOL_YAHOO: 2;
				/** @deprecated */
				public static encodePredefinedImProtocol(protocol: number): string;
				/** @deprecated */
				public static decodeImProtocol(encodedString: string): any;
				/** @deprecated */
				public addPostalLocation(context: android.content.Context, postalId: number, latitude: number, longitude: number): void;
				/** @deprecated */
				public static encodeCustomImProtocol(protocolString: string): string;
				/** @deprecated */
				public static getDisplayLabel(context: android.content.Context, kind: number, type: number, label: 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: "data";
				public static ISPRIMARY: "isprimary";
				public static LABEL: "label";
				public static TYPE_HOME: 1;
				public static AUX_DATA: "aux_data";
				public static TYPE: "type";
				public static TYPE_CUSTOM: 0;
				public static KIND: "kind";
				public static TYPE_OTHER: 3;
				public static TYPE_WORK: 2;
			}
			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: "vnd.android.cursor.item/contact_extensions";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/contact_extensions";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "person, name ASC";
				public static PERSON_ID: "person";
			}
			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: "value";
				public static NAME: "name";
			}
			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: "groupmembership";
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/contactsgroupmembership";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/contactsgroupmembership";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "group_id ASC";
				public static GROUP_ID: "group_id";
				public static GROUP_SYNC_ACCOUNT: "group_sync_account";
				public static GROUP_SYNC_ACCOUNT_TYPE: "group_sync_account_type";
				public static GROUP_SYNC_ID: "group_sync_id";
				public static PERSON_ID: "person";
				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: "vnd.android.cursor.item/contactsgroup";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/contactsgroup";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "name ASC";
				public static DELETED_CONTENT_URI: android.net.Uri;
				public static GROUP_ANDROID_STARRED: "Starred in Android";
				public static GROUP_MY_CONTACTS: "Contacts";
			}
			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 SYSTEM_ID: "system_id";
				public static NAME: "name";
				public static SHOULD_SYNC: "should_sync";
				public static NOTES: "notes";
			}
			export class Intents extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.Intents>;
				public static ATTACH_IMAGE: "com.android.contacts.action.ATTACH_IMAGE";
				public static EXTRA_CREATE_DESCRIPTION: "com.android.contacts.action.CREATE_DESCRIPTION";
				public static EXTRA_FORCE_CREATE: "com.android.contacts.action.FORCE_CREATE";
				public static SEARCH_SUGGESTION_CLICKED: "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
				public static SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED: "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
				public static SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED: "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
				public static SHOW_OR_CREATE_CONTACT: "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
				/** @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: "android.intent.action.INSERT";
					public static COMPANY: "company";
					public static EMAIL: "email";
					public static EMAIL_ISPRIMARY: "email_isprimary";
					public static EMAIL_TYPE: "email_type";
					public static FULL_MODE: "full_mode";
					public static IM_HANDLE: "im_handle";
					public static IM_ISPRIMARY: "im_isprimary";
					public static IM_PROTOCOL: "im_protocol";
					public static JOB_TITLE: "job_title";
					public static NAME: "name";
					public static NOTES: "notes";
					public static PHONE: "phone";
					public static PHONETIC_NAME: "phonetic_name";
					public static PHONE_ISPRIMARY: "phone_isprimary";
					public static PHONE_TYPE: "phone_type";
					public static POSTAL: "postal";
					public static POSTAL_ISPRIMARY: "postal_isprimary";
					public static POSTAL_TYPE: "postal_type";
					public static SECONDARY_EMAIL: "secondary_email";
					public static SECONDARY_EMAIL_TYPE: "secondary_email_type";
					public static SECONDARY_PHONE: "secondary_phone";
					public static SECONDARY_PHONE_TYPE: "secondary_phone_type";
					public static TERTIARY_EMAIL: "tertiary_email";
					public static TERTIARY_EMAIL_TYPE: "tertiary_email_type";
					public static TERTIARY_PHONE: "tertiary_phone";
					public static TERTIARY_PHONE_TYPE: "tertiary_phone_type";
					/** @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: "com.android.contacts.action.FILTER_CONTACTS";
					public static FILTER_TEXT_EXTRA_KEY: "com.android.contacts.extra.FILTER_TEXT";
					public static GROUP_NAME_EXTRA_KEY: "com.android.contacts.extra.GROUP";
					public static LIST_ALL_CONTACTS_ACTION: "com.android.contacts.action.LIST_ALL_CONTACTS";
					public static LIST_CONTACTS_WITH_PHONES_ACTION: "com.android.contacts.action.LIST_CONTACTS_WITH_PHONES";
					public static LIST_DEFAULT: "com.android.contacts.action.LIST_DEFAULT";
					public static LIST_FREQUENT_ACTION: "com.android.contacts.action.LIST_FREQUENT";
					public static LIST_GROUP_ACTION: "com.android.contacts.action.LIST_GROUP";
					public static LIST_STARRED_ACTION: "com.android.contacts.action.LIST_STARRED";
					public static LIST_STREQUENT_ACTION: "com.android.contacts.action.LIST_STREQUENT";
					public static TITLE_EXTRA_KEY: "com.android.contacts.extra.TITLE_EXTRA";
					/** @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 COMPANY: "company";
				public static ISPRIMARY: "isprimary";
				public static LABEL: "label";
				public static PERSON_ID: "person";
				public static TYPE: "type";
				public static TITLE: "title";
				public static TYPE_CUSTOM: 0;
				public static TYPE_OTHER: 2;
				public static TYPE_WORK: 1;
			}
			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: "organizations";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "company, title, isprimary ASC";
				/** @deprecated */
				public static getDisplayLabel(context: android.content.Context, type: number, label: 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: "vnd.android.cursor.item/person";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/person";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "name ASC";
				public static DELETED_CONTENT_URI: android.net.Uri;
				public static PRIMARY_EMAIL_ID: "primary_email";
				public static PRIMARY_ORGANIZATION_ID: "primary_organization";
				public static PRIMARY_PHONE_ID: "primary_phone";
				/** @deprecated */
				public static markAsContacted(resolver: android.content.ContentResolver, personId: number): void;
				/** @deprecated */
				public static addToMyContactsGroup(resolver: android.content.ContentResolver, personId: number): android.net.Uri;
				/** @deprecated */
				public static addToGroup(resolver: android.content.ContentResolver, personId: number, groupId: number): android.net.Uri;
				/** @deprecated */
				public static loadContactPhoto(context: android.content.Context, person: android.net.Uri, placeholderImageResource: number, options: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
				/** @deprecated */
				public static queryGroups(resolver: android.content.ContentResolver, person: number): android.database.Cursor;
				/** @deprecated */
				public static setPhotoData(cr: android.content.ContentResolver, person: android.net.Uri, data: androidNative.Array<number>): void;
				/** @deprecated */
				public static openContactPhotoInputStream(cr: android.content.ContentResolver, person: android.net.Uri): java.io.InputStream;
				/** @deprecated */
				public static createPersonInMyContactsGroup(resolver: android.content.ContentResolver, values: android.content.ContentValues): android.net.Uri;
				/** @deprecated */
				public static addToGroup(resolver: android.content.ContentResolver, personId: number, groupName: string): 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: "contact_methods";
					public static DEFAULT_SORT_ORDER: "data ASC";
				}
				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: "extensions";
					public static DEFAULT_SORT_ORDER: "name ASC";
					public static PERSON_ID: "person";
				}
				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: "phones";
					public static DEFAULT_SORT_ORDER: "number ASC";
				}
			}
			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 PHOTO_VERSION: "photo_version";
				public static LAST_TIME_CONTACTED: "last_time_contacted";
				public static NAME: "name";
				public static DISPLAY_NAME: "display_name";
				public static NOTES: "notes";
				public static TIMES_CONTACTED: "times_contacted";
				public static PHONETIC_NAME: "phonetic_name";
				public static SEND_TO_VOICEMAIL: "send_to_voicemail";
				public static STARRED: "starred";
				public static CUSTOM_RINGTONE: "custom_ringtone";
			}
			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: "vnd.android.cursor.item/phone";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/phone";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "name ASC";
				public static PERSON_ID: "person";
				/** @deprecated */
				public static getDisplayLabel(context: android.content.Context, type: number, label: string, labelArray: androidNative.Array<string>): string;
				/** @deprecated */
				public static getDisplayLabel(context: android.content.Context, type: number, label: 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: "isprimary";
				public static LABEL: "label";
				public static TYPE_PAGER: 6;
				public static TYPE_FAX_HOME: 5;
				public static TYPE_MOBILE: 2;
				public static NUMBER: "number";
				public static TYPE_CUSTOM: 0;
				public static TYPE_FAX_WORK: 4;
				public static TYPE_OTHER: 7;
				public static TYPE_HOME: 1;
				public static TYPE: "type";
				public static NUMBER_KEY: "number_key";
				public static TYPE_WORK: 3;
			}
			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: "photo";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "person ASC";
			}
			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 DATA: "data";
				public static LOCAL_VERSION: "local_version";
				public static SYNC_ERROR: "sync_error";
				public static PERSON_ID: "person";
				public static DOWNLOAD_REQUIRED: "download_required";
				public static EXISTS_ON_SERVER: "exists_on_server";
			}
			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 DO_NOT_DISTURB: 4;
				public static PRIORITY: "priority";
				public static OFFLINE: 0;
				public static AVAILABLE: 5;
				public static AWAY: 2;
				public static INVISIBLE: 1;
				public static PRESENCE_CUSTOM_STATUS: "status";
				public static PRESENCE_STATUS: "mode";
				public static IDLE: 3;
				public static IM_HANDLE: "im_handle";
				public static IM_ACCOUNT: "im_account";
				public static IM_PROTOCOL: "im_protocol";
			}
			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: "settings";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "key ASC";
				public static SYNC_EVERYTHING: "syncEverything";
				/** @deprecated */
				public static getSetting(cr: android.content.ContentResolver, account: string, key: string): string;
				/** @deprecated */
				public static setSetting(cr: android.content.ContentResolver, account: string, key: string, value: string): void;
			}
			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 KEY: "key";
				public static VALUE: "value";
				public static _SYNC_ACCOUNT_TYPE: "_sync_account_type";
				public static _SYNC_ACCOUNT: "_sync_account";
			}
		}
	}
}

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: "com.android.contacts";
			public static AUTHORITY_URI: android.net.Uri;
			public static CALLER_IS_SYNCADAPTER: "caller_is_syncadapter";
			public static DEFERRED_SNIPPETING: "deferred_snippeting";
			public static DEFERRED_SNIPPETING_QUERY: "deferred_snippeting_query";
			public static DIRECTORY_PARAM_KEY: "directory";
			public static LIMIT_PARAM_KEY: "limit";
			public static PRIMARY_ACCOUNT_NAME: "name_for_primary_account";
			public static PRIMARY_ACCOUNT_TYPE: "type_for_primary_account";
			public static REMOVE_DUPLICATE_ENTRIES: "remove_duplicate_entries";
			public static STREQUENT_PHONE_ONLY: "strequent_phone_only";
			public static isProfileId(id: 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: "vnd.android.cursor.item/aggregation_exception";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/aggregation_exception";
				public static CONTENT_URI: android.net.Uri;
				public static RAW_CONTACT_ID1: "raw_contact_id1";
				public static RAW_CONTACT_ID2: "raw_contact_id2";
				public static TYPE: "type";
				public static TYPE_AUTOMATIC: 0;
				public static TYPE_KEEP_SEPARATE: 2;
				public static TYPE_KEEP_TOGETHER: 1;
			}
			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 SYNC1: "sync1";
				public static SYNC2: "sync2";
				public static SYNC3: "sync3";
				public static SYNC4: "sync4";
			}
			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: 0;
				}
				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: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					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: "data1";
					public static LABEL: "data3";
					public static TYPE: "data2";
					public static TYPE_CUSTOM: 0;
				}
				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: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static VISIBLE_CONTACTS_ONLY: "visible_contacts_only";
					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: "data1";
					public static CONTENT_FILTER_URI: android.net.Uri;
					public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/email_v2";
					public static CONTENT_LOOKUP_URI: android.net.Uri;
					public static CONTENT_TYPE: "vnd.android.cursor.dir/email_v2";
					public static CONTENT_URI: android.net.Uri;
					public static DISPLAY_NAME: "data4";
					public static ENTERPRISE_CONTENT_FILTER_URI: android.net.Uri;
					public static ENTERPRISE_CONTENT_LOOKUP_URI: android.net.Uri;
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static TYPE_HOME: 1;
					public static TYPE_MOBILE: 4;
					public static TYPE_OTHER: 3;
					public static TYPE_WORK: 2;
					public static getTypeLabel(res: android.content.res.Resources, type: number, label: string): string;
					public static getTypeLabelResource(type: 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: "vnd.android.cursor.item/contact_event";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static START_DATE: "data1";
					public static TYPE_ANNIVERSARY: 1;
					public static TYPE_BIRTHDAY: 3;
					public static TYPE_OTHER: 2;
					public static getTypeResource(type: java.lang.Integer): number;
					public static getTypeLabel(res: android.content.res.Resources, type: number, label: 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: "vnd.android.cursor.item/group_membership";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static GROUP_ROW_ID: "data1";
					public static GROUP_SOURCE_ID: "group_sourceid";
				}
				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: "vnd.android.cursor.item/identity";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static IDENTITY: "data1";
					public static NAMESPACE: "data2";
				}
				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: "vnd.android.cursor.item/im";
					public static CUSTOM_PROTOCOL: "data6";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static PROTOCOL: "data5";
					public static PROTOCOL_AIM: 0;
					public static PROTOCOL_CUSTOM: -1;
					public static PROTOCOL_GOOGLE_TALK: 5;
					public static PROTOCOL_ICQ: 6;
					public static PROTOCOL_JABBER: 7;
					public static PROTOCOL_MSN: 1;
					public static PROTOCOL_NETMEETING: 8;
					public static PROTOCOL_QQ: 4;
					public static PROTOCOL_SKYPE: 3;
					public static PROTOCOL_YAHOO: 2;
					public static TYPE_HOME: 1;
					public static TYPE_OTHER: 3;
					public static TYPE_WORK: 2;
					/** @deprecated */
					public static getTypeLabel(res: android.content.res.Resources, type: number, label: string): string;
					/** @deprecated */
					public static getProtocolLabelResource(type: number): number;
					/** @deprecated */
					public static getProtocolLabel(res: android.content.res.Resources, type: number, label: string): string;
					/** @deprecated */
					public static getTypeLabelResource(type: 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: "vnd.android.cursor.item/nickname";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static NAME: "data1";
					public static TYPE_DEFAULT: 1;
					public static TYPE_INITIALS: 5;
					public static TYPE_MAIDEN_NAME: 3;
					public static TYPE_MAINDEN_NAME: 3;
					public static TYPE_OTHER_NAME: 2;
					public static TYPE_SHORT_NAME: 4;
				}
				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: "vnd.android.cursor.item/note";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static NOTE: "data1";
				}
				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: "data1";
					public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/organization";
					public static DEPARTMENT: "data5";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static JOB_DESCRIPTION: "data6";
					public static OFFICE_LOCATION: "data9";
					public static PHONETIC_NAME: "data8";
					public static PHONETIC_NAME_STYLE: "data10";
					public static SYMBOL: "data7";
					public static TITLE: "data4";
					public static TYPE_OTHER: 2;
					public static TYPE_WORK: 1;
					public static getTypeLabel(res: android.content.res.Resources, type: number, label: string): string;
					public static getTypeLabelResource(type: 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: "vnd.android.cursor.item/phone_v2";
					public static CONTENT_TYPE: "vnd.android.cursor.dir/phone_v2";
					public static CONTENT_URI: android.net.Uri;
					public static ENTERPRISE_CONTENT_FILTER_URI: android.net.Uri;
					public static ENTERPRISE_CONTENT_URI: android.net.Uri;
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static NORMALIZED_NUMBER: "data4";
					public static NUMBER: "data1";
					public static SEARCH_DISPLAY_NAME_KEY: "search_display_name";
					public static SEARCH_PHONE_NUMBER_KEY: "search_phone_number";
					public static TYPE_ASSISTANT: 19;
					public static TYPE_CALLBACK: 8;
					public static TYPE_CAR: 9;
					public static TYPE_COMPANY_MAIN: 10;
					public static TYPE_FAX_HOME: 5;
					public static TYPE_FAX_WORK: 4;
					public static TYPE_HOME: 1;
					public static TYPE_ISDN: 11;
					public static TYPE_MAIN: 12;
					public static TYPE_MMS: 20;
					public static TYPE_MOBILE: 2;
					public static TYPE_OTHER: 7;
					public static TYPE_OTHER_FAX: 13;
					public static TYPE_PAGER: 6;
					public static TYPE_RADIO: 14;
					public static TYPE_TELEX: 15;
					public static TYPE_TTY_TDD: 16;
					public static TYPE_WORK: 3;
					public static TYPE_WORK_MOBILE: 17;
					public static TYPE_WORK_PAGER: 18;
					public static getTypeLabel(res: android.content.res.Resources, type: number, label: string): string;
					public static getTypeLabelResource(type: 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: "vnd.android.cursor.item/photo";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static PHOTO: "data15";
					public static PHOTO_FILE_ID: "data14";
				}
				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: "vnd.android.cursor.item/relation";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static NAME: "data1";
					public static TYPE_ASSISTANT: 1;
					public static TYPE_BROTHER: 2;
					public static TYPE_CHILD: 3;
					public static TYPE_DOMESTIC_PARTNER: 4;
					public static TYPE_FATHER: 5;
					public static TYPE_FRIEND: 6;
					public static TYPE_MANAGER: 7;
					public static TYPE_MOTHER: 8;
					public static TYPE_PARENT: 9;
					public static TYPE_PARTNER: 10;
					public static TYPE_REFERRED_BY: 11;
					public static TYPE_RELATIVE: 12;
					public static TYPE_SISTER: 13;
					public static TYPE_SPOUSE: 14;
					public static getTypeLabel(res: android.content.res.Resources, type: number, label: string): string;
					public static getTypeLabelResource(type: 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: "vnd.android.cursor.item/sip_address";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static SIP_ADDRESS: "data1";
					public static TYPE_HOME: 1;
					public static TYPE_OTHER: 3;
					public static TYPE_WORK: 2;
					/** @deprecated */
					public static getTypeLabel(res: android.content.res.Resources, type: number, label: string): string;
					/** @deprecated */
					public static getTypeLabelResource(type: 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: "vnd.android.cursor.item/name";
					public static DISPLAY_NAME: "data1";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static FAMILY_NAME: "data3";
					public static FULL_NAME_STYLE: "data10";
					public static GIVEN_NAME: "data2";
					public static MIDDLE_NAME: "data5";
					public static PHONETIC_FAMILY_NAME: "data9";
					public static PHONETIC_GIVEN_NAME: "data7";
					public static PHONETIC_MIDDLE_NAME: "data8";
					public static PHONETIC_NAME_STYLE: "data11";
					public static PREFIX: "data4";
					public static SUFFIX: "data6";
				}
				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: "data7";
					public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/postal-address_v2";
					public static CONTENT_TYPE: "vnd.android.cursor.dir/postal-address_v2";
					public static CONTENT_URI: android.net.Uri;
					public static COUNTRY: "data10";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static FORMATTED_ADDRESS: "data1";
					public static NEIGHBORHOOD: "data6";
					public static POBOX: "data5";
					public static POSTCODE: "data9";
					public static REGION: "data8";
					public static STREET: "data4";
					public static TYPE_HOME: 1;
					public static TYPE_OTHER: 3;
					public static TYPE_WORK: 2;
					public static getTypeLabel(res: android.content.res.Resources, type: number, label: string): string;
					public static getTypeLabelResource(type: 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: "vnd.android.cursor.item/website";
					public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
					public static TYPE_BLOG: 2;
					public static TYPE_FTP: 6;
					public static TYPE_HOME: 4;
					public static TYPE_HOMEPAGE: 1;
					public static TYPE_OTHER: 7;
					public static TYPE_PROFILE: 3;
					public static TYPE_WORK: 5;
					public static URL: "data1";
				}
			}
			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 DISPLAY_NAME_PRIMARY: "display_name";
				public static PHONETIC_NAME_STYLE: "phonetic_name_style";
				public static DISPLAY_NAME_ALTERNATIVE: "display_name_alt";
				public static DISPLAY_NAME_SOURCE: "display_name_source";
				public static SORT_KEY_ALTERNATIVE: "sort_key_alt";
				public static PHONETIC_NAME: "phonetic_name";
				public static SORT_KEY_PRIMARY: "sort_key";
			}
			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 PINNED: "pinned";
				public static LAST_TIME_CONTACTED: "last_time_contacted";
				public static TIMES_CONTACTED: "times_contacted";
				public static SEND_TO_VOICEMAIL: "send_to_voicemail";
				public static STARRED: "starred";
				public static CUSTOM_RINGTONE: "custom_ringtone";
			}
			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: "contact_status";
				public static CONTACT_STATUS_LABEL: "contact_status_label";
				public static CONTACT_CHAT_CAPABILITY: "contact_chat_capability";
				public static CONTACT_STATUS_RES_PACKAGE: "contact_status_res_package";
				public static CONTACT_STATUS_ICON: "contact_status_icon";
				public static CONTACT_STATUS_TIMESTAMP: "contact_status_ts";
				public static CONTACT_PRESENCE: "contact_presence";
			}
			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: "vnd.android.cursor.item/contact";
				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: "vnd.android.cursor.dir/contact";
				public static CONTENT_URI: android.net.Uri;
				public static CONTENT_VCARD_TYPE: "text/x-vcard";
				public static CONTENT_VCARD_URI: android.net.Uri;
				public static ENTERPRISE_CONTENT_FILTER_URI: android.net.Uri;
				public static ENTERPRISE_CONTENT_URI: android.net.Uri;
				public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
				public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
				public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
				public static QUERY_PARAMETER_VCARD_NO_PHOTO: "no_photo";
				public static isEnterpriseContactId(contactId: number): boolean;
				public static openContactPhotoInputStream(cr: android.content.ContentResolver, contactUri: android.net.Uri, preferHighres: boolean): java.io.InputStream;
				public static lookupContact(resolver: android.content.ContentResolver, lookupUri: android.net.Uri): android.net.Uri;
				public static getLookupUri(resolver: android.content.ContentResolver, contactUri: android.net.Uri): android.net.Uri;
				public static getLookupUri(contactId: number, lookupKey: string): android.net.Uri;
				/** @deprecated */
				public static markAsContacted(resolver: android.content.ContentResolver, contactId: number): void;
				public static openContactPhotoInputStream(cr: android.content.ContentResolver, contactUri: android.net.Uri): java.io.InputStream;
			}
			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: "suggestions";
				}
				export module AggregationSuggestions {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder>;
						public setContactId(contactId: number): android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder;
						public setLimit(limit: number): android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder;
						public constructor();
						public addNameParameter(name: string): android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder;
						public build(): android.net.Uri;
					}
				}
				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: "data";
				}
				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: "entities";
					public static DATA_ID: "data_id";
					public static RAW_CONTACT_ID: "raw_contact_id";
				}
				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: "photo";
					public static DISPLAY_PHOTO: "display_photo";
					public static PHOTO: "data15";
					public static PHOTO_FILE_ID: "data14";
				}
			}
			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 PHOTO_FILE_ID: "photo_file_id";
				public static PHOTO_THUMBNAIL_URI: "photo_thumb_uri";
				public static IN_VISIBLE_GROUP: "in_visible_group";
				public static NAME_RAW_CONTACT_ID: "name_raw_contact_id";
				public static PHOTO_URI: "photo_uri";
				public static DISPLAY_NAME: "display_name";
				public static IN_DEFAULT_DIRECTORY: "in_default_directory";
				public static HAS_PHONE_NUMBER: "has_phone_number";
				public static PHOTO_ID: "photo_id";
				public static CONTACT_LAST_UPDATED_TIMESTAMP: "contact_last_updated_timestamp";
				public static IS_USER_PROFILE: "is_user_profile";
				public static LOOKUP_KEY: "lookup";
			}
			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: "vnd.android.cursor.dir/data";
				public static CONTENT_URI: android.net.Uri;
				public static EXTRA_ADDRESS_BOOK_INDEX: "android.provider.extra.ADDRESS_BOOK_INDEX";
				public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
				public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
				public static VISIBLE_CONTACTS_ONLY: "visible_contacts_only";
				public static getContactLookupUri(resolver: android.content.ContentResolver, dataUri: 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 DATA14: "data14";
				public static DATA15: "data15";
				public static DATA12: "data12";
				public static DATA13: "data13";
				public static DATA10: "data10";
				public static RAW_CONTACT_ID: "raw_contact_id";
				public static DATA11: "data11";
				public static CARRIER_PRESENCE_VT_CAPABLE: 1;
				public static SYNC4: "data_sync4";
				public static SYNC1: "data_sync1";
				public static SYNC2: "data_sync2";
				public static PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME: "preferred_phone_account_component_name";
				public static SYNC3: "data_sync3";
				public static CARRIER_PRESENCE: "carrier_presence";
				public static PREFERRED_PHONE_ACCOUNT_ID: "preferred_phone_account_id";
				public static DATA_VERSION: "data_version";
				public static DATA9: "data9";
				public static DATA7: "data7";
				public static DATA8: "data8";
				public static DATA5: "data5";
				public static IS_READ_ONLY: "is_read_only";
				public static DATA6: "data6";
				public static DATA3: "data3";
				public static MIMETYPE: "mimetype";
				public static DATA4: "data4";
				public static DATA1: "data1";
				public static RES_PACKAGE: "res_package";
				public static DATA2: "data2";
				public static IS_SUPER_PRIMARY: "is_super_primary";
				public static IS_PRIMARY: "is_primary";
			}
			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 CONTACT_STATUS_RES_PACKAGE: "contact_status_res_package";
				public static TIMES_USED: "times_used";
				public static DELETED: "deleted";
				public static SYNC4: "data_sync4";
				public static BACKUP_ID: "backup_id";
				public static RAW_CONTACT_IS_USER_PROFILE: "raw_contact_is_user_profile";
				public static SYNC1: "data_sync1";
				public static SYNC2: "data_sync2";
				public static PHOTO_THUMBNAIL_URI: "photo_thumb_uri";
				public static SYNC3: "data_sync3";
				public static CARRIER_PRESENCE: "carrier_presence";
				public static PREFERRED_PHONE_ACCOUNT_ID: "preferred_phone_account_id";
				public static ACCOUNT_TYPE_AND_DATA_SET: "account_type_and_data_set";
				public static AVAILABLE: 5;
				public static AWAY: 2;
				public static DISPLAY_NAME: "display_name";
				public static INVISIBLE: 1;
				public static HAS_PHONE_NUMBER: "has_phone_number";
				public static PRESENCE_STATUS: "mode";
				public static IS_READ_ONLY: "is_read_only";
				public static IS_USER_PROFILE: "is_user_profile";
				public static MIMETYPE: "mimetype";
				public static RAW_CONTACT_IS_READ_ONLY: "raw_contact_is_read_only";
				public static DATA1: "data1";
				public static DATA2: "data2";
				public static PINNED: "pinned";
				public static CONTACT_STATUS: "contact_status";
				public static DO_NOT_DISTURB: 4;
				public static NAME_RAW_CONTACT_ID: "name_raw_contact_id";
				public static OFFLINE: 0;
				public static LAST_TIME_CONTACTED: "last_time_contacted";
				public static IS_SUPER_PRIMARY: "is_super_primary";
				public static STATUS_ICON: "status_icon";
				public static PHOTO_ID: "photo_id";
				public static STARRED: "starred";
				public static LAST_TIME_USED: "last_time_used";
				public static AGGREGATION_MODE: "aggregation_mode";
				public static CONTACT_ID: "contact_id";
				public static DATA_SET: "data_set";
				public static PRESENCE: "mode";
				public static IS_PRIMARY: "is_primary";
				public static CUSTOM_RINGTONE: "custom_ringtone";
				public static DATA14: "data14";
				public static DATA15: "data15";
				public static METADATA_DIRTY: "metadata_dirty";
				public static DATA12: "data12";
				public static DATA13: "data13";
				public static CONTACT_STATUS_ICON: "contact_status_icon";
				public static DATA10: "data10";
				public static RAW_CONTACT_ID: "raw_contact_id";
				public static DATA11: "data11";
				public static CAPABILITY_HAS_VIDEO: 2;
				public static DISPLAY_NAME_SOURCE: "display_name_source";
				public static STATUS_RES_PACKAGE: "status_res_package";
				public static STATUS: "status";
				public static CARRIER_PRESENCE_VT_CAPABLE: 1;
				public static LOOKUP_KEY: "lookup";
				public static PHONETIC_NAME: "phonetic_name";
				public static IDLE: 3;
				public static PHOTO_FILE_ID: "photo_file_id";
				public static CONTACT_STATUS_LABEL: "contact_status_label";
				public static PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME: "preferred_phone_account_component_name";
				public static _COUNT: "_count";
				public static DATA_VERSION: "data_version";
				public static DATA9: "data9";
				public static DATA7: "data7";
				public static DATA8: "data8";
				public static DATA5: "data5";
				public static DATA6: "data6";
				public static SORT_KEY_PRIMARY: "sort_key";
				public static DATA3: "data3";
				public static SEND_TO_VOICEMAIL: "send_to_voicemail";
				public static DATA4: "data4";
				public static RES_PACKAGE: "res_package";
				public static CONTACT_CHAT_CAPABILITY: "contact_chat_capability";
				public static DISPLAY_NAME_PRIMARY: "display_name";
				public static CONTACT_STATUS_TIMESTAMP: "contact_status_ts";
				public static CHAT_CAPABILITY: "chat_capability";
				public static CONTACT_PRESENCE: "contact_presence";
				public static SORT_KEY_ALTERNATIVE: "sort_key_alt";
				public static CAPABILITY_HAS_VOICE: 1;
				public static STATUS_LABEL: "status_label";
				public static _ID: "_id";
				public static IN_VISIBLE_GROUP: "in_visible_group";
				public static PHONETIC_NAME_STYLE: "phonetic_name_style";
				public static PHOTO_URI: "photo_uri";
				public static DISPLAY_NAME_ALTERNATIVE: "display_name_alt";
				public static IN_DEFAULT_DIRECTORY: "in_default_directory";
				public static CAPABILITY_HAS_CAMERA: 4;
				public static TIMES_CONTACTED: "times_contacted";
				public static PRESENCE_CUSTOM_STATUS: "status";
				public static CONTACT_LAST_UPDATED_TIMESTAMP: "contact_last_updated_timestamp";
				public static STATUS_TIMESTAMP: "status_ts";
			}
			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: "type";
				public static USAGE_TYPE_CALL: "call";
				public static USAGE_TYPE_LONG_TEXT: "long_text";
				public static USAGE_TYPE_SHORT_TEXT: "short_text";
				/** @deprecated */
				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: "last_time_used";
				public static TIMES_USED: "times_used";
			}
			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: 2592000000;
			}
			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_ID: "contact_id";
				public static CONTACT_DELETED_TIMESTAMP: "contact_deleted_timestamp";
			}
			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: "accountName";
				public static ACCOUNT_TYPE: "accountType";
				public static CALLER_PACKAGE_PARAM_KEY: "callerPackage";
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/contact_directory";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/contact_directories";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT: 0;
				public static DIRECTORY_AUTHORITY: "authority";
				public static DISPLAY_NAME: "displayName";
				public static ENTERPRISE_CONTENT_URI: android.net.Uri;
				public static ENTERPRISE_DEFAULT: 1000000000;
				public static ENTERPRISE_LOCAL_INVISIBLE: 1000000001;
				public static EXPORT_SUPPORT: "exportSupport";
				public static EXPORT_SUPPORT_ANY_ACCOUNT: 2;
				public static EXPORT_SUPPORT_NONE: 0;
				public static EXPORT_SUPPORT_SAME_ACCOUNT_ONLY: 1;
				public static LOCAL_INVISIBLE: 1;
				public static PACKAGE_NAME: "packageName";
				public static PHOTO_SUPPORT: "photoSupport";
				public static PHOTO_SUPPORT_FULL: 3;
				public static PHOTO_SUPPORT_FULL_SIZE_ONLY: 2;
				public static PHOTO_SUPPORT_NONE: 0;
				public static PHOTO_SUPPORT_THUMBNAIL_ONLY: 1;
				public static SHORTCUT_SUPPORT: "shortcutSupport";
				public static SHORTCUT_SUPPORT_DATA_ITEMS_ONLY: 1;
				public static SHORTCUT_SUPPORT_FULL: 2;
				public static SHORTCUT_SUPPORT_NONE: 0;
				public static TYPE_RESOURCE_ID: "typeResourceId";
				public static isEnterpriseDirectoryId(directoryId: number): boolean;
				public static notifyDirectoryChange(resolver: android.content.ContentResolver): void;
				public static isRemoteDirectoryId(directoryId: number): boolean;
			}
			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_NAME: 40;
				public static STRUCTURED_PHONETIC_NAME: 37;
				public static EMAIL: 10;
				public static ORGANIZATION: 30;
				public static NICKNAME: 35;
				public static PHONE: 20;
				public static UNDEFINED: 0;
			}
			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: "display_max_dim";
				public static THUMBNAIL_MAX_DIM: "thumbnail_max_dim";
			}
			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: 4;
				public static CHINESE: 3;
				public static KOREAN: 5;
				public static CJK: 2;
				public static UNDEFINED: 0;
				public static WESTERN: 1;
			}
			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: "vnd.android.cursor.item/group";
				public static CONTENT_SUMMARY_URI: android.net.Uri;
				public static CONTENT_TYPE: "vnd.android.cursor.dir/group";
				public static CONTENT_URI: android.net.Uri;
				public static newEntityIterator(cursor: 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 RES_PACKAGE: "res_package";
				public static GROUP_IS_READ_ONLY: "group_is_read_only";
				public static SYSTEM_ID: "system_id";
				public static DELETED: "deleted";
				public static SHOULD_SYNC: "should_sync";
				public static NOTES: "notes";
				public static TITLE: "title";
				public static GROUP_VISIBLE: "group_visible";
				public static TITLE_RES: "title_res";
				public static AUTO_ADD: "auto_add";
				public static DATA_SET: "data_set";
				public static SUMMARY_COUNT: "summ_count";
				public static FAVORITES: "favorites";
				public static SUMMARY_WITH_PHONES: "summ_phones";
			}
			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: "android.provider.action.VOICE_SEND_MESSAGE_TO_CONTACTS";
				public static ATTACH_IMAGE: "com.android.contacts.action.ATTACH_IMAGE";
				public static CONTACTS_DATABASE_CREATED: "android.provider.Contacts.DATABASE_CREATED";
				public static EXTRA_CREATE_DESCRIPTION: "com.android.contacts.action.CREATE_DESCRIPTION";
				public static EXTRA_FORCE_CREATE: "com.android.contacts.action.FORCE_CREATE";
				public static EXTRA_RECIPIENT_CONTACT_CHAT_ID: "android.provider.extra.RECIPIENT_CONTACT_CHAT_ID";
				public static EXTRA_RECIPIENT_CONTACT_NAME: "android.provider.extra.RECIPIENT_CONTACT_NAME";
				public static EXTRA_RECIPIENT_CONTACT_URI: "android.provider.extra.RECIPIENT_CONTACT_URI";
				public static INVITE_CONTACT: "com.android.contacts.action.INVITE_CONTACT";
				public static METADATA_ACCOUNT_TYPE: "android.provider.account_type";
				public static METADATA_MIMETYPE: "android.provider.mimetype";
				public static SEARCH_SUGGESTION_CLICKED: "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
				public static SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED: "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
				public static SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED: "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
				public static SHOW_OR_CREATE_CONTACT: "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
				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: "android.intent.action.INSERT";
					public static COMPANY: "company";
					public static DATA: "data";
					public static EMAIL: "email";
					public static EMAIL_ISPRIMARY: "email_isprimary";
					public static EMAIL_TYPE: "email_type";
					public static EXTRA_ACCOUNT: "android.provider.extra.ACCOUNT";
					public static EXTRA_DATA_SET: "android.provider.extra.DATA_SET";
					public static FULL_MODE: "full_mode";
					public static IM_HANDLE: "im_handle";
					public static IM_ISPRIMARY: "im_isprimary";
					public static IM_PROTOCOL: "im_protocol";
					public static JOB_TITLE: "job_title";
					public static NAME: "name";
					public static NOTES: "notes";
					public static PHONE: "phone";
					public static PHONETIC_NAME: "phonetic_name";
					public static PHONE_ISPRIMARY: "phone_isprimary";
					public static PHONE_TYPE: "phone_type";
					public static POSTAL: "postal";
					public static POSTAL_ISPRIMARY: "postal_isprimary";
					public static POSTAL_TYPE: "postal_type";
					public static SECONDARY_EMAIL: "secondary_email";
					public static SECONDARY_EMAIL_TYPE: "secondary_email_type";
					public static SECONDARY_PHONE: "secondary_phone";
					public static SECONDARY_PHONE_TYPE: "secondary_phone_type";
					public static TERTIARY_EMAIL: "tertiary_email";
					public static TERTIARY_EMAIL_TYPE: "tertiary_email_type";
					public static TERTIARY_PHONE: "tertiary_phone";
					public static TERTIARY_PHONE_TYPE: "tertiary_phone_type";
					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: "sip";
			}
			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 CONTACT_ID: "contact_id";
				public static LABEL: "label";
				public static NORMALIZED_NUMBER: "normalized_number";
				public static DATA_ID: "data_id";
				public static TYPE: "type";
				public static NUMBER: "number";
			}
			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: 4;
				public static KOREAN: 5;
				public static PINYIN: 3;
				public static UNDEFINED: 0;
			}
			export class PinnedPositions extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.PinnedPositions>;
				public static DEMOTED: -1;
				public static UNPINNED: 0;
				public static pin(contentResolver: android.content.ContentResolver, contactId: number, pinnedPosition: number): void;
				public static undemote(contentResolver: android.content.ContentResolver, contactId: number): void;
				public constructor();
			}
			export class Presence extends android.provider.ContactsContract.StatusUpdates {
				public static class: java.lang.Class<android.provider.ContactsContract.Presence>;
				/** @deprecated */
				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: "presence_data_id";
				public static CUSTOM_PROTOCOL: "custom_protocol";
				public static IM_HANDLE: "im_handle";
				public static PROTOCOL: "protocol";
				public static IM_ACCOUNT: "im_account";
			}
			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: 9223372034707292160;
			}
			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: "syncstate";
				public static CONTENT_URI: android.net.Uri;
				public static getWithUri(provider: android.content.ContentProviderClient, account: android.accounts.Account): android.util.Pair<android.net.Uri,androidNative.Array<number>>;
				public static get(provider: android.content.ContentProviderClient, account: android.accounts.Account): androidNative.Array<number>;
				public static set(provider: android.content.ContentProviderClient, account: android.accounts.Account, data: androidNative.Array<number>): void;
				public static newSetOperation(account: android.accounts.Account, data: androidNative.Array<number>): android.content.ContentProviderOperation;
			}
			export class ProviderStatus extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.ProviderStatus>;
				public static CONTENT_TYPE: "vnd.android.cursor.dir/provider_status";
				public static CONTENT_URI: android.net.Uri;
				public static DATABASE_CREATION_TIMESTAMP: "database_creation_timestamp";
				public static STATUS: "status";
				public static STATUS_BUSY: 1;
				public static STATUS_EMPTY: 2;
				public static STATUS_NORMAL: 0;
			}
			export class QuickContact extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.QuickContact>;
				public static ACTION_QUICK_CONTACT: "android.provider.action.QUICK_CONTACT";
				public static EXTRA_EXCLUDE_MIMES: "android.provider.extra.EXCLUDE_MIMES";
				public static EXTRA_MODE: "android.provider.extra.MODE";
				public static EXTRA_PRIORITIZED_MIMETYPE: "android.provider.extra.PRIORITIZED_MIMETYPE";
				public static MODE_LARGE: 3;
				public static MODE_MEDIUM: 2;
				public static MODE_SMALL: 1;
				public static showQuickContact(context: android.content.Context, target: android.graphics.Rect, lookupUri: android.net.Uri, mode: number, excludeMimes: androidNative.Array<string>): void;
				public static showQuickContact(context: android.content.Context, target: android.view.View, lookupUri: android.net.Uri, mode: number, excludeMimes: androidNative.Array<string>): void;
				public static showQuickContact(context: android.content.Context, target: android.view.View, lookupUri: android.net.Uri, excludeMimes: androidNative.Array<string>, prioritizedMimeType: string): void;
				public static showQuickContact(context: android.content.Context, target: android.graphics.Rect, lookupUri: android.net.Uri, excludeMimes: androidNative.Array<string>, prioritizedMimeType: 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: 0;
				public static AGGREGATION_MODE_DISABLED: 3;
				public static AGGREGATION_MODE_IMMEDIATE: 1;
				public static AGGREGATION_MODE_SUSPENDED: 2;
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/raw_contact";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/raw_contact";
				public static CONTENT_URI: android.net.Uri;
				public static getLocalAccountName(context: android.content.Context): string;
				public static getContactLookupUri(resolver: android.content.ContentResolver, rawContactUri: android.net.Uri): android.net.Uri;
				public static getLocalAccountType(context: android.content.Context): string;
				public static newEntityIterator(cursor: 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: "data";
				}
				export class DisplayPhoto extends java.lang.Object {
					public static class: java.lang.Class<android.provider.ContactsContract.RawContacts.DisplayPhoto>;
					public static CONTENT_DIRECTORY: "display_photo";
				}
				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: "entity";
					public static DATA_ID: "data_id";
				}
			}
			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 AGGREGATION_MODE: "aggregation_mode";
				public static CONTACT_ID: "contact_id";
				public static METADATA_DIRTY: "metadata_dirty";
				public static ACCOUNT_TYPE_AND_DATA_SET: "account_type_and_data_set";
				public static DELETED: "deleted";
				public static DATA_SET: "data_set";
				public static BACKUP_ID: "backup_id";
				public static RAW_CONTACT_IS_READ_ONLY: "raw_contact_is_read_only";
				public static RAW_CONTACT_IS_USER_PROFILE: "raw_contact_is_user_profile";
			}
			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: "vnd.android.cursor.dir/raw_contact_entity";
				public static CONTENT_URI: android.net.Uri;
				public static DATA_ID: "data_id";
				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: "deferred_snippeting";
				public static SNIPPET: "snippet";
				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 ACTION_SET_DEFAULT_ACCOUNT: "android.provider.action.SET_DEFAULT_ACCOUNT";
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/setting";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/setting";
				public static CONTENT_URI: android.net.Uri;
				public static getDefaultAccount(resolver: android.content.ContentResolver): android.accounts.Account;
			}
			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_TYPE: "account_type";
				public static ANY_UNSYNCED: "any_unsynced";
				public static UNGROUPED_COUNT: "summ_count";
				public static SHOULD_SYNC: "should_sync";
				public static UNGROUPED_VISIBLE: "ungrouped_visible";
				public static DATA_SET: "data_set";
				public static ACCOUNT_NAME: "account_name";
				public static UNGROUPED_WITH_PHONES: "summ_phones";
			}
			export class SimAccount extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.provider.ContactsContract.SimAccount>;
				public static ADN_EF_TYPE: 1;
				public static CREATOR: android.os.Parcelable.Creator<android.provider.ContactsContract.SimAccount>;
				public static FDN_EF_TYPE: 2;
				public static SDN_EF_TYPE: 3;
				public static UNKNOWN_EF_TYPE: 0;
				public getAccountType(): string;
				public getEfType(): number;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getAccountName(): string;
				public describeContents(): number;
				public getSimSlotIndex(): number;
			}
			export class SimContacts extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.SimContacts>;
				public static ACTION_SIM_ACCOUNTS_CHANGED: "android.provider.action.SIM_ACCOUNTS_CHANGED";
				public static getSimAccounts(contentResolver: android.content.ContentResolver): java.util.List<android.provider.ContactsContract.SimAccount>;
			}
			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 DO_NOT_DISTURB: 4;
				public static CHAT_CAPABILITY: "chat_capability";
				public static OFFLINE: 0;
				public static CAPABILITY_HAS_VIDEO: 2;
				public static STATUS_ICON: "status_icon";
				public static STATUS_RES_PACKAGE: "status_res_package";
				public static STATUS: "status";
				public static CAPABILITY_HAS_VOICE: 1;
				public static IDLE: 3;
				public static STATUS_LABEL: "status_label";
				public static AVAILABLE: 5;
				public static AWAY: 2;
				public static INVISIBLE: 1;
				public static CAPABILITY_HAS_CAMERA: 4;
				public static PRESENCE_CUSTOM_STATUS: "status";
				public static PRESENCE_STATUS: "mode";
				public static PRESENCE: "mode";
				public static STATUS_TIMESTAMP: "status_ts";
			}
			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: "vnd.android.cursor.item/status-update";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/status-update";
				public static CONTENT_URI: android.net.Uri;
				public static PROFILE_CONTENT_URI: android.net.Uri;
				public static getPresenceIconResourceId(status: number): number;
				public static getPresencePrecedence(status: 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 SYNC1: "sync1";
				public static ACCOUNT_TYPE: "account_type";
				public static SYNC2: "sync2";
				public static SYNC3: "sync3";
				public static SOURCE_ID: "sourceid";
				public static ACCOUNT_NAME: "account_name";
				public static DIRTY: "dirty";
				public static SYNC4: "sync4";
				public static VERSION: "version";
			}
			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: "syncstate";
				public static CONTENT_URI: android.net.Uri;
				public static getWithUri(provider: android.content.ContentProviderClient, account: android.accounts.Account): android.util.Pair<android.net.Uri,androidNative.Array<number>>;
				public static get(provider: android.content.ContentProviderClient, account: android.accounts.Account): androidNative.Array<number>;
				public static set(provider: android.content.ContentProviderClient, account: android.accounts.Account, data: androidNative.Array<number>): void;
				public static newSetOperation(account: android.accounts.Account, data: androidNative.Array<number>): android.content.ContentProviderOperation;
			}
		}
	}
}

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: "android.provider.action.DOCUMENT_SETTINGS";
			public static EXTRA_ERROR: "error";
			public static EXTRA_EXCLUDE_SELF: "android.provider.extra.EXCLUDE_SELF";
			public static EXTRA_INFO: "info";
			public static EXTRA_INITIAL_URI: "android.provider.extra.INITIAL_URI";
			public static EXTRA_LOADING: "loading";
			public static EXTRA_ORIENTATION: "android.provider.extra.ORIENTATION";
			public static EXTRA_PROMPT: "android.provider.extra.PROMPT";
			public static METADATA_EXIF: "android:documentExif";
			public static METADATA_TREE_COUNT: "android:metadataTreeCount";
			public static METADATA_TREE_SIZE: "android:metadataTreeSize";
			public static METADATA_TYPES: "android:documentMetadataTypes";
			public static PROVIDER_INTERFACE: "android.content.action.DOCUMENTS_PROVIDER";
			public static QUERY_ARG_DISPLAY_NAME: "android:query-arg-display-name";
			public static QUERY_ARG_EXCLUDE_MEDIA: "android:query-arg-exclude-media";
			public static QUERY_ARG_FILE_SIZE_OVER: "android:query-arg-file-size-over";
			public static QUERY_ARG_LAST_MODIFIED_AFTER: "android:query-arg-last-modified-after";
			public static QUERY_ARG_MIME_TYPES: "android:query-arg-mime-types";
			public static buildTreeDocumentUri(authority: string, documentId: string): android.net.Uri;
			public static isRootsUri(context: android.content.Context, uri: android.net.Uri): boolean;
			public static getDocumentMetadata(content: android.content.ContentResolver, documentUri: android.net.Uri): android.os.Bundle;
			public static createWebLinkIntent(content: android.content.ContentResolver, uri: android.net.Uri, options: android.os.Bundle): android.content.IntentSender;
			public static getTreeDocumentId(documentUri: android.net.Uri): string;
			public static createDocument(content: android.content.ContentResolver, parentDocumentUri: android.net.Uri, mimeType: string, displayName: string): android.net.Uri;
			public static buildSearchDocumentsUri(authority: string, rootId: string, query: string): android.net.Uri;
			public static getDocumentId(documentUri: android.net.Uri): string;
			public static getRootId(rootUri: android.net.Uri): string;
			public static deleteDocument(content: android.content.ContentResolver, documentUri: android.net.Uri): boolean;
			public static isChildDocument(content: android.content.ContentResolver, parentDocumentUri: android.net.Uri, childDocumentUri: android.net.Uri): boolean;
			public static ejectRoot(content: android.content.ContentResolver, rootUri: android.net.Uri): void;
			public static isDocumentUri(context: android.content.Context, uri: android.net.Uri): boolean;
			public static isRootUri(context: android.content.Context, uri: android.net.Uri): boolean;
			public static getSearchDocumentsQuery(searchDocumentsUri: android.net.Uri): string;
			public static isTreeUri(uri: android.net.Uri): boolean;
			public static getDocumentThumbnail(content: android.content.ContentResolver, documentUri: android.net.Uri, size: android.graphics.Point, signal: android.os.CancellationSignal): android.graphics.Bitmap;
			public static copyDocument(content: android.content.ContentResolver, sourceDocumentUri: android.net.Uri, targetParentDocumentUri: android.net.Uri): android.net.Uri;
			public static buildDocumentUri(authority: string, documentId: string): android.net.Uri;
			public static buildDocumentUriUsingTree(treeUri: android.net.Uri, documentId: string): android.net.Uri;
			public static buildChildDocumentsUri(authority: string, parentDocumentId: string): android.net.Uri;
			public static findDocumentPath(content: android.content.ContentResolver, treeUri: android.net.Uri): android.provider.DocumentsContract.Path;
			public static buildRecentDocumentsUri(authority: string, rootId: string): android.net.Uri;
			public static removeDocument(content: android.content.ContentResolver, documentUri: android.net.Uri, parentDocumentUri: android.net.Uri): boolean;
			public static buildChildDocumentsUriUsingTree(treeUri: android.net.Uri, parentDocumentId: string): android.net.Uri;
			public static buildRootUri(authority: string, rootId: string): android.net.Uri;
			public static renameDocument(content: android.content.ContentResolver, documentUri: android.net.Uri, displayName: string): android.net.Uri;
			public static buildRootsUri(authority: string): android.net.Uri;
			public static moveDocument(content: android.content.ContentResolver, sourceDocumentUri: android.net.Uri, sourceParentDocumentUri: android.net.Uri, targetParentDocumentUri: android.net.Uri): 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: "_display_name";
				public static COLUMN_DOCUMENT_ID: "document_id";
				public static COLUMN_FLAGS: "flags";
				public static COLUMN_ICON: "icon";
				public static COLUMN_LAST_MODIFIED: "last_modified";
				public static COLUMN_MIME_TYPE: "mime_type";
				public static COLUMN_SIZE: "_size";
				public static COLUMN_SUMMARY: "summary";
				public static FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE: 32768;
				public static FLAG_DIR_PREFERS_GRID: 16;
				public static FLAG_DIR_PREFERS_LAST_MODIFIED: 32;
				public static FLAG_DIR_SUPPORTS_CREATE: 8;
				public static FLAG_PARTIAL: 8192;
				public static FLAG_SUPPORTS_COPY: 128;
				public static FLAG_SUPPORTS_DELETE: 4;
				public static FLAG_SUPPORTS_METADATA: 16384;
				public static FLAG_SUPPORTS_MOVE: 256;
				public static FLAG_SUPPORTS_REMOVE: 1024;
				public static FLAG_SUPPORTS_RENAME: 64;
				public static FLAG_SUPPORTS_SETTINGS: 2048;
				public static FLAG_SUPPORTS_THUMBNAIL: 1;
				public static FLAG_SUPPORTS_WRITE: 2;
				public static FLAG_VIRTUAL_DOCUMENT: 512;
				public static FLAG_WEB_LINKABLE: 4096;
				public static MIME_TYPE_DIR: "vnd.android.document/directory";
			}
			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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRootId(): string;
				public describeContents(): number;
				public constructor(rootId: string, path: java.util.List<string>);
				public equals(o: any): boolean;
				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: "available_bytes";
				public static COLUMN_CAPACITY_BYTES: "capacity_bytes";
				public static COLUMN_DOCUMENT_ID: "document_id";
				public static COLUMN_FLAGS: "flags";
				public static COLUMN_ICON: "icon";
				public static COLUMN_MIME_TYPES: "mime_types";
				public static COLUMN_QUERY_ARGS: "query_args";
				public static COLUMN_ROOT_ID: "root_id";
				public static COLUMN_SUMMARY: "summary";
				public static COLUMN_TITLE: "title";
				public static FLAG_EMPTY: 64;
				public static FLAG_LOCAL_ONLY: 2;
				public static FLAG_SUPPORTS_CREATE: 1;
				public static FLAG_SUPPORTS_EJECT: 32;
				public static FLAG_SUPPORTS_IS_CHILD: 16;
				public static FLAG_SUPPORTS_RECENTS: 4;
				public static FLAG_SUPPORTS_SEARCH: 8;
				public static MIME_TYPE_ITEM: "vnd.android.document/root";
			}
		}
	}
}

declare module android {
	export module provider {
		export abstract class DocumentsProvider extends android.content.ContentProvider {
			public static class: java.lang.Class<android.provider.DocumentsProvider>;
			public copyDocument(sourceDocumentId: string, targetParentDocumentId: string): string;
			public delete(uri: android.net.Uri, extras: android.os.Bundle): number;
			public getStreamTypes(uri: android.net.Uri, mimeTypeFilter: string): androidNative.Array<string>;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string): android.database.Cursor;
			public openFile(uri: android.net.Uri, mode: string): android.os.ParcelFileDescriptor;
			public openDocumentThumbnail(documentId: string, sizeHint: android.graphics.Point, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public getTypeAnonymous(uri: android.net.Uri): string;
			public getDocumentMetadata(documentId: string): android.os.Bundle;
			public getType(uri: android.net.Uri): string;
			public queryChildDocuments(param0: string, param1: androidNative.Array<string>, param2: string): android.database.Cursor;
			public queryRoots(param0: androidNative.Array<string>): android.database.Cursor;
			public queryDocument(param0: string, param1: androidNative.Array<string>): android.database.Cursor;
			public insert(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): android.net.Uri;
			public openAssetFile(uri: android.net.Uri, mode: string): android.content.res.AssetFileDescriptor;
			public queryRecentDocuments(rootId: string, projection: androidNative.Array<string>): android.database.Cursor;
			public constructor();
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, sortOrder: string, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public openFile(uri: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public delete(uri: android.net.Uri, selection: string, selectionArgs: androidNative.Array<string>): number;
			public findDocumentPath(parentDocumentId: string, childDocumentId: string): android.provider.DocumentsContract.Path;
			public moveDocument(sourceDocumentId: string, sourceParentDocumentId: string, targetParentDocumentId: string): string;
			public update(uri: android.net.Uri, values: android.content.ContentValues, selection: string, selectionArgs: androidNative.Array<string>): number;
			public openTypedAssetFile(uri: android.net.Uri, mimeTypeFilter: string, opts: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public createDocument(parentDocumentId: string, mimeType: string, displayName: string): string;
			public openTypedAssetFile(uri: android.net.Uri, mimeTypeFilter: string, opts: android.os.Bundle, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public querySearchDocuments(rootId: string, projection: androidNative.Array<string>, queryArgs: android.os.Bundle): android.database.Cursor;
			public queryChildDocuments(parentDocumentId: string, projection: androidNative.Array<string>, queryArgs: android.os.Bundle): android.database.Cursor;
			public query(uri: android.net.Uri, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, cancellationSignal: android.os.CancellationSignal): android.database.Cursor;
			public createWebLinkIntent(documentId: string, options: android.os.Bundle): android.content.IntentSender;
			public deleteDocument(documentId: string): void;
			public onTrimMemory(param0: number): void;
			public getDocumentType(documentId: string): string;
			public renameDocument(documentId: string, displayName: string): string;
			public isChildDocument(parentDocumentId: string, documentId: string): boolean;
			public call(method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public openTypedDocument(documentId: string, mimeTypeFilter: string, opts: android.os.Bundle, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public canonicalize(uri: android.net.Uri): android.net.Uri;
			public revokeDocumentPermission(documentId: string): void;
			public attachInfo(context: android.content.Context, info: android.content.pm.ProviderInfo): void;
			public openAssetFile(uri: android.net.Uri, mode: string, signal: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public queryRecentDocuments(rootId: string, projection: androidNative.Array<string>, queryArgs: android.os.Bundle, signal: android.os.CancellationSignal): android.database.Cursor;
			public removeDocument(documentId: string, parentDocumentId: string): void;
			public getDocumentStreamTypes(documentId: string, mimeTypeFilter: string): androidNative.Array<string>;
			public querySearchDocuments(rootId: string, query: string, projection: androidNative.Array<string>): android.database.Cursor;
			public call(authority: string, method: string, arg: string, extras: android.os.Bundle): android.os.Bundle;
			public openDocument(param0: string, param1: string, param2: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public ejectRoot(rootId: string): void;
			public update(uri: android.net.Uri, values: android.content.ContentValues, extras: android.os.Bundle): number;
			public insert(uri: android.net.Uri, values: android.content.ContentValues): android.net.Uri;
		}
	}
}

declare module android {
	export module provider {
		export class E2eeContactKeysManager extends java.lang.Object {
			public static class: java.lang.Class<android.provider.E2eeContactKeysManager>;
			public static VERIFICATION_STATE_UNVERIFIED: 0;
			public static VERIFICATION_STATE_VERIFICATION_FAILED: 1;
			public static VERIFICATION_STATE_VERIFIED: 2;
			public static getMaxKeySizeBytes(): number;
			public getE2eeContactKey(lookupKey: string, deviceId: string, accountId: string): android.provider.E2eeContactKeysManager.E2eeContactKey;
			public removeE2eeContactKey(lookupKey: string, deviceId: string, accountId: string): boolean;
			public getE2eeSelfKey(deviceId: string, accountId: string): android.provider.E2eeContactKeysManager.E2eeSelfKey;
			public updateOrInsertE2eeSelfKey(deviceId: string, accountId: string, keyValue: androidNative.Array<number>): boolean;
			public getAllE2eeSelfKeys(): java.util.List<android.provider.E2eeContactKeysManager.E2eeSelfKey>;
			public removeE2eeSelfKey(deviceId: string, accountId: string): boolean;
			public getOwnerE2eeContactKeys(lookupKey: string): java.util.List<android.provider.E2eeContactKeysManager.E2eeContactKey>;
			public updateOrInsertE2eeContactKey(lookupKey: string, deviceId: string, accountId: string, keyValue: androidNative.Array<number>): void;
			public updateE2eeContactKeyLocalVerificationState(lookupKey: string, deviceId: string, accountId: string, localVerificationState: number): boolean;
			public updateE2eeSelfKeyRemoteVerificationState(deviceId: string, accountId: string, remoteVerificationState: number): boolean;
			public getOwnerE2eeSelfKeys(): java.util.List<android.provider.E2eeContactKeysManager.E2eeSelfKey>;
			public getAllE2eeContactKeys(lookupKey: string): java.util.List<android.provider.E2eeContactKeysManager.E2eeContactKey>;
			public updateE2eeContactKeyRemoteVerificationState(lookupKey: string, deviceId: string, accountId: string, remoteVerificationState: number): boolean;
		}
		export module E2eeContactKeysManager {
			export class E2eeContactKey extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.provider.E2eeContactKeysManager.E2eeContactKey>;
				public static CREATOR: android.os.Parcelable.Creator<android.provider.E2eeContactKeysManager.E2eeContactKey>;
				public getKeyValue(): androidNative.Array<number>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTimeUpdated(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRemoteVerificationState(): number;
				public getDisplayName(): string;
				public getDeviceId(): string;
				public getPhoneNumber(): string;
				public equals(obj: any): boolean;
				public getLocalVerificationState(): number;
				public hashCode(): number;
				public describeContents(): number;
				public getAccountId(): string;
				public getOwnerPackageName(): string;
				public getEmailAddress(): string;
			}
			export class E2eeSelfKey extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.provider.E2eeContactKeysManager.E2eeSelfKey>;
				public static CREATOR: android.os.Parcelable.Creator<android.provider.E2eeContactKeysManager.E2eeSelfKey>;
				public getKeyValue(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public getTimeUpdated(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRemoteVerificationState(): number;
				public describeContents(): number;
				public getAccountId(): string;
				public getOwnerPackageName(): string;
				public getDeviceId(): string;
			}
		}
	}
}

declare module android {
	export module provider {
		export class FontRequest extends java.lang.Object {
			public static class: java.lang.Class<android.provider.FontRequest>;
			/** @deprecated */
			public getProviderAuthority(): string;
			/** @deprecated */
			public constructor(providerAuthority: string, providerPackage: string, query: string);
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public getProviderPackage(): string;
			/** @deprecated */
			public constructor(providerAuthority: string, providerPackage: string, query: string, certificates: java.util.List<java.util.List<androidNative.Array<number>>>);
			/** @deprecated */
			public getCertificates(): java.util.List<java.util.List<androidNative.Array<number>>>;
			/** @deprecated */
			public getQuery(): string;
		}
	}
}

declare module android {
	export module provider {
		export class FontsContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.FontsContract>;
			/** @deprecated */
			public static requestFonts(context: android.content.Context, request: android.provider.FontRequest, handler: android.os.Handler, cancellationSignal: android.os.CancellationSignal, callback: android.provider.FontsContract.FontRequestCallback): void;
			/** @deprecated */
			public static fetchFonts(context: android.content.Context, cancellationSignal: android.os.CancellationSignal, request: android.provider.FontRequest): android.provider.FontsContract.FontFamilyResult;
			/** @deprecated */
			public static buildTypeface(context: android.content.Context, cancellationSignal: android.os.CancellationSignal, fonts: androidNative.Array<android.provider.FontsContract.FontInfo>): android.graphics.Typeface;
		}
		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: "file_id";
				public static ITALIC: "font_italic";
				public static RESULT_CODE: "result_code";
				public static RESULT_CODE_FONT_NOT_FOUND: 1;
				public static RESULT_CODE_FONT_UNAVAILABLE: 2;
				public static RESULT_CODE_MALFORMED_QUERY: 3;
				public static RESULT_CODE_OK: 0;
				public static TTC_INDEX: "font_ttc_index";
				public static VARIATION_SETTINGS: "font_variation_settings";
				public static WEIGHT: "font_weight";
			}
			export class FontFamilyResult extends java.lang.Object {
				public static class: java.lang.Class<android.provider.FontsContract.FontFamilyResult>;
				public static STATUS_OK: 0;
				public static STATUS_REJECTED: 3;
				public static STATUS_UNEXPECTED_DATA_PROVIDED: 2;
				public static STATUS_WRONG_CERTIFICATES: 1;
				/** @deprecated */
				public getStatusCode(): number;
				/** @deprecated */
				public getFonts(): androidNative.Array<android.provider.FontsContract.FontInfo>;
			}
			export class FontInfo extends java.lang.Object {
				public static class: java.lang.Class<android.provider.FontsContract.FontInfo>;
				/** @deprecated */
				public getWeight(): number;
				/** @deprecated */
				public getTtcIndex(): number;
				/** @deprecated */
				public isItalic(): boolean;
				/** @deprecated */
				public getUri(): android.net.Uri;
				/** @deprecated */
				public getAxes(): androidNative.Array<android.graphics.fonts.FontVariationAxis>;
				/** @deprecated */
				public getResultCode(): 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: -3;
				public static FAIL_REASON_FONT_NOT_FOUND: 1;
				public static FAIL_REASON_FONT_UNAVAILABLE: 2;
				public static FAIL_REASON_MALFORMED_QUERY: 3;
				public static FAIL_REASON_PROVIDER_NOT_FOUND: -1;
				public static FAIL_REASON_WRONG_CERTIFICATES: -2;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public onTypefaceRequestFailed(reason: number): void;
				/** @deprecated */
				public onTypefaceRetrieved(typeface: android.graphics.Typeface): void;
			}
		}
	}
}

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: "android.intent.action.CREATE_LIVE_FOLDER";
			public static DESCRIPTION: "description";
			public static DISPLAY_MODE_GRID: 1;
			public static DISPLAY_MODE_LIST: 2;
			public static EXTRA_LIVE_FOLDER_BASE_INTENT: "android.intent.extra.livefolder.BASE_INTENT";
			public static EXTRA_LIVE_FOLDER_DISPLAY_MODE: "android.intent.extra.livefolder.DISPLAY_MODE";
			public static EXTRA_LIVE_FOLDER_ICON: "android.intent.extra.livefolder.ICON";
			public static EXTRA_LIVE_FOLDER_NAME: "android.intent.extra.livefolder.NAME";
			public static ICON_BITMAP: "icon_bitmap";
			public static ICON_PACKAGE: "icon_package";
			public static ICON_RESOURCE: "icon_resource";
			public static INTENT: "intent";
			public static NAME: "name";
		}
	}
}

declare module android {
	export module provider {
		export class MediaStore extends java.lang.Object {
			public static class: java.lang.Class<android.provider.MediaStore>;
			public static ACCESS_MEDIA_OWNER_PACKAGE_NAME_PERMISSION: "com.android.providers.media.permission.ACCESS_MEDIA_OWNER_PACKAGE_NAME";
			public static ACTION_IMAGE_CAPTURE: "android.media.action.IMAGE_CAPTURE";
			public static ACTION_IMAGE_CAPTURE_SECURE: "android.media.action.IMAGE_CAPTURE_SECURE";
			public static ACTION_PICK_IMAGES: "android.provider.action.PICK_IMAGES";
			public static ACTION_PICK_IMAGES_SETTINGS: "android.provider.action.PICK_IMAGES_SETTINGS";
			public static ACTION_REVIEW: "android.provider.action.REVIEW";
			public static ACTION_REVIEW_SECURE: "android.provider.action.REVIEW_SECURE";
			public static ACTION_VIDEO_CAPTURE: "android.media.action.VIDEO_CAPTURE";
			public static AUTHORITY: "media";
			public static AUTHORITY_URI: android.net.Uri;
			public static EXTRA_ACCEPT_ORIGINAL_MEDIA_FORMAT: "android.provider.extra.ACCEPT_ORIGINAL_MEDIA_FORMAT";
			public static EXTRA_BRIGHTNESS: "android.provider.extra.BRIGHTNESS";
			public static EXTRA_DURATION_LIMIT: "android.intent.extra.durationLimit";
			public static EXTRA_FINISH_ON_COMPLETION: "android.intent.extra.finishOnCompletion";
			public static EXTRA_FULL_SCREEN: "android.intent.extra.fullScreen";
			public static EXTRA_MEDIA_ALBUM: "android.intent.extra.album";
			public static EXTRA_MEDIA_ARTIST: "android.intent.extra.artist";
			public static EXTRA_MEDIA_CAPABILITIES: "android.provider.extra.MEDIA_CAPABILITIES";
			public static EXTRA_MEDIA_CAPABILITIES_UID: "android.provider.extra.MEDIA_CAPABILITIES_UID";
			public static EXTRA_MEDIA_FOCUS: "android.intent.extra.focus";
			public static EXTRA_MEDIA_GENRE: "android.intent.extra.genre";
			public static EXTRA_MEDIA_PLAYLIST: "android.intent.extra.playlist";
			public static EXTRA_MEDIA_RADIO_CHANNEL: "android.intent.extra.radio_channel";
			public static EXTRA_MEDIA_TITLE: "android.intent.extra.title";
			public static EXTRA_OUTPUT: "output";
			public static EXTRA_PICK_IMAGES_ACCENT_COLOR: "android.provider.extra.PICK_IMAGES_ACCENT_COLOR";
			public static EXTRA_PICK_IMAGES_IN_ORDER: "android.provider.extra.PICK_IMAGES_IN_ORDER";
			public static EXTRA_PICK_IMAGES_LAUNCH_TAB: "android.provider.extra.PICK_IMAGES_LAUNCH_TAB";
			public static EXTRA_PICK_IMAGES_MAX: "android.provider.extra.PICK_IMAGES_MAX";
			public static EXTRA_SCREEN_ORIENTATION: "android.intent.extra.screenOrientation";
			public static EXTRA_SHOW_ACTION_ICONS: "android.intent.extra.showActionIcons";
			public static EXTRA_SIZE_LIMIT: "android.intent.extra.sizeLimit";
			public static EXTRA_VIDEO_QUALITY: "android.intent.extra.videoQuality";
			public static INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH: "android.media.action.MEDIA_PLAY_FROM_SEARCH";
			public static INTENT_ACTION_MEDIA_SEARCH: "android.intent.action.MEDIA_SEARCH";
			public static INTENT_ACTION_MUSIC_PLAYER: "android.intent.action.MUSIC_PLAYER";
			public static INTENT_ACTION_STILL_IMAGE_CAMERA: "android.media.action.STILL_IMAGE_CAMERA";
			public static INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE: "android.media.action.STILL_IMAGE_CAMERA_SECURE";
			public static INTENT_ACTION_TEXT_OPEN_FROM_SEARCH: "android.media.action.TEXT_OPEN_FROM_SEARCH";
			public static INTENT_ACTION_VIDEO_CAMERA: "android.media.action.VIDEO_CAMERA";
			public static INTENT_ACTION_VIDEO_PLAY_FROM_SEARCH: "android.media.action.VIDEO_PLAY_FROM_SEARCH";
			public static MATCH_DEFAULT: 0;
			public static MATCH_EXCLUDE: 2;
			public static MATCH_INCLUDE: 1;
			public static MATCH_ONLY: 3;
			public static MEDIA_IGNORE_FILENAME: ".nomedia";
			public static MEDIA_SCANNER_VOLUME: "volume";
			public static META_DATA_REVIEW_GALLERY_PREWARM_SERVICE: "android.media.review_gallery_prewarm_service";
			public static META_DATA_STILL_IMAGE_CAMERA_PREWARM_SERVICE: "android.media.still_image_camera_preview_service";
			public static PICK_IMAGES_TAB_ALBUMS: 0;
			public static PICK_IMAGES_TAB_IMAGES: 1;
			public static QUERY_ARG_INCLUDE_RECENTLY_UNMOUNTED_VOLUMES: "android:query-arg-recently-unmounted-volumes";
			public static QUERY_ARG_LATEST_SELECTION_ONLY: "android:query-arg-latest-selection-only";
			public static QUERY_ARG_MATCH_FAVORITE: "android:query-arg-match-favorite";
			public static QUERY_ARG_MATCH_PENDING: "android:query-arg-match-pending";
			public static QUERY_ARG_MATCH_TRASHED: "android:query-arg-match-trashed";
			public static QUERY_ARG_RELATED_URI: "android:query-arg-related-uri";
			public static UNKNOWN_STRING: "<unknown>";
			public static VOLUME_EXTERNAL: "external";
			public static VOLUME_EXTERNAL_PRIMARY: "external_primary";
			public static VOLUME_INTERNAL: "internal";
			public static canManageMedia(context: android.content.Context): boolean;
			public static getRecentExternalVolumeNames(context: android.content.Context): java.util.Set<string>;
			public static notifyCloudMediaChangedEvent(resolver: android.content.ContentResolver, authority: string, currentMediaCollectionId: string): void;
			public static getRequireOriginal(uri: android.net.Uri): boolean;
			public static getDocumentUri(context: android.content.Context, mediaUri: android.net.Uri): android.net.Uri;
			public static isCurrentSystemGallery(resolver: android.content.ContentResolver, uid: number, packageName: string): boolean;
			public static createTrashRequest(resolver: android.content.ContentResolver, uris: java.util.Collection<android.net.Uri>, value: boolean): android.app.PendingIntent;
			public static isSupportedCloudMediaProviderAuthority(resolver: android.content.ContentResolver, authority: string): boolean;
			public static createDeleteRequest(resolver: android.content.ContentResolver, uris: java.util.Collection<android.net.Uri>): android.app.PendingIntent;
			public static getExternalVolumeNames(context: android.content.Context): java.util.Set<string>;
			public static getRedactedUri(resolver: android.content.ContentResolver, uris: java.util.List<android.net.Uri>): java.util.List<android.net.Uri>;
			public static getVersion(context: android.content.Context): string;
			public static createWriteRequest(resolver: android.content.ContentResolver, uris: java.util.Collection<android.net.Uri>): android.app.PendingIntent;
			public static getMediaUri(context: android.content.Context, documentUri: android.net.Uri): android.net.Uri;
			public static getRedactedUri(resolver: android.content.ContentResolver, uri: android.net.Uri): android.net.Uri;
			public static createFavoriteRequest(resolver: android.content.ContentResolver, uris: java.util.Collection<android.net.Uri>, value: boolean): android.app.PendingIntent;
			public constructor();
			public static getGeneration(context: android.content.Context, volumeName: string): number;
			public static setRequireOriginal(uri: android.net.Uri): android.net.Uri;
			/** @deprecated */
			public static setIncludePending(uri: android.net.Uri): android.net.Uri;
			public static getMediaScannerUri(): android.net.Uri;
			public static isCurrentCloudMediaProviderAuthority(resolver: android.content.ContentResolver, authority: string): boolean;
			public static getVolumeName(uri: android.net.Uri): string;
			public static getPickImagesMaxLimit(): number;
			public static getVersion(context: android.content.Context, volumeName: string): string;
			public static getOriginalMediaFormatFileDescriptor(context: android.content.Context, fileDescriptor: android.os.ParcelFileDescriptor): android.os.ParcelFileDescriptor;
		}
		export module MediaStore {
			export class Audio extends java.lang.Object {
				public static class: java.lang.Class<android.provider.MediaStore.Audio>;
				/** @deprecated */
				public static keyFor(name: string): string;
				public constructor();
			}
			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_ART: "album_art";
					public static ARTIST_ID: "artist_id";
					public static LAST_YEAR: "maxyear";
					public static ARTIST_KEY: "artist_key";
					public static ARTIST: "artist";
					public static FIRST_YEAR: "minyear";
					public static NUMBER_OF_SONGS: "numsongs";
					public static ALBUM_ID: "album_id";
					public static ALBUM_KEY: "album_key";
					public static NUMBER_OF_SONGS_FOR_ARTIST: "numsongs_by_artist";
					public static ALBUM: "album";
				}
				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: "vnd.android.cursor.dir/albums";
					public static DEFAULT_SORT_ORDER: "album_key";
					public static ENTRY_CONTENT_TYPE: "vnd.android.cursor.item/album";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUri(volumeName: 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 ARTIST_KEY: "artist_key";
					public static NUMBER_OF_ALBUMS: "number_of_albums";
					public static ARTIST: "artist";
					public static NUMBER_OF_TRACKS: "number_of_tracks";
				}
				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: "vnd.android.cursor.dir/artists";
					public static DEFAULT_SORT_ORDER: "artist_key";
					public static ENTRY_CONTENT_TYPE: "vnd.android.cursor.item/artist";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUri(volumeName: string): android.net.Uri;
				}
				export module Artists {
					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.Artists.Albums>;
						public constructor();
						public static getContentUri(volumeName: string, artistId: 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 AUTHOR: "author";
					public static NUM_TRACKS: "num_tracks";
					public static ALBUM_ARTIST: "album_artist";
					public static ALBUM_KEY: "album_key";
					public static TITLE_KEY: "title_key";
					public static GENRE: "genre";
					public static IS_RINGTONE: "is_ringtone";
					public static SIZE: "_size";
					public static ARTIST_ID: "artist_id";
					public static HEIGHT: "height";
					public static DISPLAY_NAME: "_display_name";
					public static OWNER_PACKAGE_NAME: "owner_package_name";
					public static IS_DOWNLOAD: "is_download";
					public static DURATION: "duration";
					public static DATE_TAKEN: "datetaken";
					public static GENRE_KEY: "genre_key";
					public static IS_ALARM: "is_alarm";
					public static IS_NOTIFICATION: "is_notification";
					public static TRACK: "track";
					public static DATE_EXPIRES: "date_expires";
					public static TITLE: "title";
					public static BITRATE: "bitrate";
					public static WIDTH: "width";
					public static XMP: "xmp";
					public static MIME_TYPE: "mime_type";
					public static GENERATION_ADDED: "generation_added";
					public static VOLUME_NAME: "volume_name";
					public static INSTANCE_ID: "instance_id";
					public static WRITER: "writer";
					public static COMPOSER: "composer";
					public static IS_MUSIC: "is_music";
					public static ALBUM_ID: "album_id";
					public static IS_TRASHED: "is_trashed";
					public static ALBUM: "album";
					public static DATA: "_data";
					public static BOOKMARK: "bookmark";
					public static CAPTURE_FRAMERATE: "capture_framerate";
					public static DISC_NUMBER: "disc_number";
					public static BUCKET_DISPLAY_NAME: "bucket_display_name";
					public static ORIGINAL_DOCUMENT_ID: "original_document_id";
					public static IS_RECORDING: "is_recording";
					public static _COUNT: "_count";
					public static COMPILATION: "compilation";
					public static IS_PODCAST: "is_podcast";
					public static CD_TRACK_NUMBER: "cd_track_number";
					public static IS_PENDING: "is_pending";
					public static BUCKET_ID: "bucket_id";
					public static YEAR: "year";
					public static DATE_ADDED: "date_added";
					public static IS_AUDIOBOOK: "is_audiobook";
					public static ARTIST: "artist";
					public static RELATIVE_PATH: "relative_path";
					public static DATE_MODIFIED: "date_modified";
					public static GENRE_ID: "genre_id";
					public static ORIENTATION: "orientation";
					public static RESOLUTION: "resolution";
					public static IS_DRM: "is_drm";
					public static GENERATION_MODIFIED: "generation_modified";
					public static _ID: "_id";
					public static ARTIST_KEY: "artist_key";
					public static TITLE_RESOURCE_URI: "title_resource_uri";
					public static IS_FAVORITE: "is_favorite";
					public static DOCUMENT_ID: "document_id";
				}
				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: "vnd.android.cursor.dir/genre";
					public static DEFAULT_SORT_ORDER: "name";
					public static ENTRY_CONTENT_TYPE: "vnd.android.cursor.item/genre";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUriForAudioId(volumeName: string, audioId: number): android.net.Uri;
					public static getContentUri(volumeName: 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: "audio_id";
						public static CONTENT_DIRECTORY: "members";
						public static DEFAULT_SORT_ORDER: "title_key";
						public static GENRE_ID: "genre_id";
						public constructor();
						public static getContentUri(volumeName: string, genreId: 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: "name";
				}
				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: "vnd.android.cursor.dir/audio";
					public static DEFAULT_SORT_ORDER: "title_key";
					public static ENTRY_CONTENT_TYPE: "vnd.android.cursor.item/audio";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static EXTRA_MAX_BYTES: "android.provider.MediaStore.extra.MAX_BYTES";
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public static RECORD_SOUND_ACTION: "android.provider.MediaStore.RECORD_SOUND";
					public constructor();
					/** @deprecated */
					public static getContentUriForPath(path: string): android.net.Uri;
					public static getContentUri(volumeName: string): android.net.Uri;
					public static getContentUri(volumeName: string, id: number): 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: "vnd.android.cursor.dir/playlist";
					public static DEFAULT_SORT_ORDER: "name";
					public static ENTRY_CONTENT_TYPE: "vnd.android.cursor.item/playlist";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					/** @deprecated */
					public static getContentUri(volumeName: string): android.net.Uri;
					/** @deprecated */
					public constructor();
				}
				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: "audio_id";
						public static CONTENT_DIRECTORY: "members";
						public static DEFAULT_SORT_ORDER: "play_order";
						public static PLAYLIST_ID: "playlist_id";
						public static PLAY_ORDER: "play_order";
						public static _ID: "_id";
						/** @deprecated */
						public constructor();
						/** @deprecated */
						public static getContentUri(volumeName: string, playlistId: number): android.net.Uri;
						/** @deprecated */
						public static moveItem(res: android.content.ContentResolver, playlistId: number, from: number, to: number): boolean;
					}
				}
				export class PlaylistsColumns extends java.lang.Object implements android.provider.MediaStore.MediaColumns {
					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 DATA: "_data";
					public static AUTHOR: "author";
					public static CAPTURE_FRAMERATE: "capture_framerate";
					public static DISC_NUMBER: "disc_number";
					public static NUM_TRACKS: "num_tracks";
					public static ALBUM_ARTIST: "album_artist";
					public static BUCKET_DISPLAY_NAME: "bucket_display_name";
					public static GENRE: "genre";
					public static ORIGINAL_DOCUMENT_ID: "original_document_id";
					public static SIZE: "_size";
					public static HEIGHT: "height";
					public static _COUNT: "_count";
					public static COMPILATION: "compilation";
					public static CD_TRACK_NUMBER: "cd_track_number";
					public static IS_PENDING: "is_pending";
					public static DISPLAY_NAME: "_display_name";
					public static OWNER_PACKAGE_NAME: "owner_package_name";
					public static IS_DOWNLOAD: "is_download";
					public static BUCKET_ID: "bucket_id";
					public static YEAR: "year";
					public static DURATION: "duration";
					public static DATE_ADDED: "date_added";
					public static DATE_TAKEN: "datetaken";
					public static DATE_EXPIRES: "date_expires";
					public static NAME: "name";
					public static ARTIST: "artist";
					public static RELATIVE_PATH: "relative_path";
					public static DATE_MODIFIED: "date_modified";
					public static TITLE: "title";
					public static ORIENTATION: "orientation";
					public static RESOLUTION: "resolution";
					public static BITRATE: "bitrate";
					public static IS_DRM: "is_drm";
					public static WIDTH: "width";
					public static XMP: "xmp";
					public static MIME_TYPE: "mime_type";
					public static GENERATION_MODIFIED: "generation_modified";
					public static _ID: "_id";
					public static GENERATION_ADDED: "generation_added";
					public static VOLUME_NAME: "volume_name";
					public static INSTANCE_ID: "instance_id";
					public static WRITER: "writer";
					public static COMPOSER: "composer";
					public static IS_TRASHED: "is_trashed";
					public static IS_FAVORITE: "is_favorite";
					public static DOCUMENT_ID: "document_id";
					public static ALBUM: "album";
				}
				export class Radio extends java.lang.Object {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.Radio>;
					public static ENTRY_CONTENT_TYPE: "vnd.android.cursor.item/radio";
				}
			}
			export class DownloadColumns extends java.lang.Object implements android.provider.MediaStore.MediaColumns {
				public static class: java.lang.Class<android.provider.MediaStore.DownloadColumns>;
				/**
				 * Constructs a new instance of the android.provider.MediaStore$DownloadColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATA: "_data";
				public static DOWNLOAD_URI: "download_uri";
				public static AUTHOR: "author";
				public static CAPTURE_FRAMERATE: "capture_framerate";
				public static DISC_NUMBER: "disc_number";
				public static NUM_TRACKS: "num_tracks";
				public static ALBUM_ARTIST: "album_artist";
				public static BUCKET_DISPLAY_NAME: "bucket_display_name";
				public static GENRE: "genre";
				public static ORIGINAL_DOCUMENT_ID: "original_document_id";
				public static SIZE: "_size";
				public static HEIGHT: "height";
				public static _COUNT: "_count";
				public static COMPILATION: "compilation";
				public static CD_TRACK_NUMBER: "cd_track_number";
				public static IS_PENDING: "is_pending";
				public static DISPLAY_NAME: "_display_name";
				public static OWNER_PACKAGE_NAME: "owner_package_name";
				public static IS_DOWNLOAD: "is_download";
				public static BUCKET_ID: "bucket_id";
				public static YEAR: "year";
				public static DURATION: "duration";
				public static DATE_ADDED: "date_added";
				public static DATE_TAKEN: "datetaken";
				public static DATE_EXPIRES: "date_expires";
				public static ARTIST: "artist";
				public static RELATIVE_PATH: "relative_path";
				public static DATE_MODIFIED: "date_modified";
				public static TITLE: "title";
				public static ORIENTATION: "orientation";
				public static RESOLUTION: "resolution";
				public static BITRATE: "bitrate";
				public static IS_DRM: "is_drm";
				public static WIDTH: "width";
				public static XMP: "xmp";
				public static MIME_TYPE: "mime_type";
				public static REFERER_URI: "referer_uri";
				public static GENERATION_MODIFIED: "generation_modified";
				public static _ID: "_id";
				public static GENERATION_ADDED: "generation_added";
				public static VOLUME_NAME: "volume_name";
				public static INSTANCE_ID: "instance_id";
				public static WRITER: "writer";
				public static COMPOSER: "composer";
				public static IS_TRASHED: "is_trashed";
				public static IS_FAVORITE: "is_favorite";
				public static DOCUMENT_ID: "document_id";
				public static ALBUM: "album";
			}
			export class Downloads extends java.lang.Object implements android.provider.MediaStore.DownloadColumns {
				public static class: java.lang.Class<android.provider.MediaStore.Downloads>;
				public static CONTENT_TYPE: "vnd.android.cursor.dir/download";
				public static EXTERNAL_CONTENT_URI: android.net.Uri;
				public static INTERNAL_CONTENT_URI: android.net.Uri;
				public static getContentUri(volumeName: string): android.net.Uri;
				public static getContentUri(volumeName: string, id: number): android.net.Uri;
			}
			export class Files extends java.lang.Object {
				public static class: java.lang.Class<android.provider.MediaStore.Files>;
				public static getContentUri(volumeName: string, rowId: number): android.net.Uri;
				public static getContentUri(volumeName: 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 AUTHOR: "author";
					public static MEDIA_TYPE_VIDEO: 3;
					public static NUM_TRACKS: "num_tracks";
					public static ALBUM_ARTIST: "album_artist";
					public static MEDIA_TYPE_AUDIO: 2;
					public static GENRE: "genre";
					public static SIZE: "_size";
					public static HEIGHT: "height";
					public static DISPLAY_NAME: "_display_name";
					public static OWNER_PACKAGE_NAME: "owner_package_name";
					public static IS_DOWNLOAD: "is_download";
					public static DURATION: "duration";
					public static MEDIA_TYPE_NONE: 0;
					public static DATE_TAKEN: "datetaken";
					public static DATE_EXPIRES: "date_expires";
					public static TITLE: "title";
					public static BITRATE: "bitrate";
					public static WIDTH: "width";
					public static XMP: "xmp";
					public static MIME_TYPE: "mime_type";
					public static GENERATION_ADDED: "generation_added";
					public static VOLUME_NAME: "volume_name";
					public static INSTANCE_ID: "instance_id";
					public static WRITER: "writer";
					public static COMPOSER: "composer";
					public static IS_TRASHED: "is_trashed";
					public static MEDIA_TYPE_IMAGE: 1;
					public static ALBUM: "album";
					public static DATA: "_data";
					public static MEDIA_TYPE: "media_type";
					public static CAPTURE_FRAMERATE: "capture_framerate";
					public static DISC_NUMBER: "disc_number";
					public static BUCKET_DISPLAY_NAME: "bucket_display_name";
					public static MEDIA_TYPE_SUBTITLE: 5;
					public static ORIGINAL_DOCUMENT_ID: "original_document_id";
					public static _COUNT: "_count";
					public static COMPILATION: "compilation";
					public static CD_TRACK_NUMBER: "cd_track_number";
					public static IS_PENDING: "is_pending";
					public static BUCKET_ID: "bucket_id";
					public static PARENT: "parent";
					public static YEAR: "year";
					public static DATE_ADDED: "date_added";
					public static MEDIA_TYPE_DOCUMENT: 6;
					public static ARTIST: "artist";
					public static RELATIVE_PATH: "relative_path";
					public static DATE_MODIFIED: "date_modified";
					public static ORIENTATION: "orientation";
					public static RESOLUTION: "resolution";
					public static IS_DRM: "is_drm";
					public static GENERATION_MODIFIED: "generation_modified";
					public static _ID: "_id";
					public static MEDIA_TYPE_PLAYLIST: 4;
					public static IS_FAVORITE: "is_favorite";
					public static DOCUMENT_ID: "document_id";
				}
			}
			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 AUTHOR: "author";
					public static NUM_TRACKS: "num_tracks";
					public static ALBUM_ARTIST: "album_artist";
					public static LONGITUDE: "longitude";
					public static GENRE: "genre";
					public static SIZE: "_size";
					public static HEIGHT: "height";
					public static DISPLAY_NAME: "_display_name";
					public static DESCRIPTION: "description";
					public static OWNER_PACKAGE_NAME: "owner_package_name";
					public static IS_DOWNLOAD: "is_download";
					public static ISO: "iso";
					public static DURATION: "duration";
					public static DATE_TAKEN: "datetaken";
					public static DATE_EXPIRES: "date_expires";
					public static TITLE: "title";
					public static BITRATE: "bitrate";
					public static WIDTH: "width";
					public static XMP: "xmp";
					public static MIME_TYPE: "mime_type";
					public static SCENE_CAPTURE_TYPE: "scene_capture_type";
					public static GENERATION_ADDED: "generation_added";
					public static VOLUME_NAME: "volume_name";
					public static INSTANCE_ID: "instance_id";
					public static WRITER: "writer";
					public static COMPOSER: "composer";
					public static IS_PRIVATE: "isprivate";
					public static IS_TRASHED: "is_trashed";
					public static ALBUM: "album";
					public static DATA: "_data";
					public static CAPTURE_FRAMERATE: "capture_framerate";
					public static DISC_NUMBER: "disc_number";
					public static BUCKET_DISPLAY_NAME: "bucket_display_name";
					public static ORIGINAL_DOCUMENT_ID: "original_document_id";
					public static _COUNT: "_count";
					public static COMPILATION: "compilation";
					public static CD_TRACK_NUMBER: "cd_track_number";
					public static IS_PENDING: "is_pending";
					public static MINI_THUMB_MAGIC: "mini_thumb_magic";
					public static PICASA_ID: "picasa_id";
					public static BUCKET_ID: "bucket_id";
					public static YEAR: "year";
					public static DATE_ADDED: "date_added";
					public static EXPOSURE_TIME: "exposure_time";
					public static ARTIST: "artist";
					public static RELATIVE_PATH: "relative_path";
					public static DATE_MODIFIED: "date_modified";
					public static ORIENTATION: "orientation";
					public static RESOLUTION: "resolution";
					public static LATITUDE: "latitude";
					public static IS_DRM: "is_drm";
					public static GENERATION_MODIFIED: "generation_modified";
					public static _ID: "_id";
					public static F_NUMBER: "f_number";
					public static IS_FAVORITE: "is_favorite";
					public static DOCUMENT_ID: "document_id";
				}
				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: "vnd.android.cursor.dir/image";
					public static DEFAULT_SORT_ORDER: "bucket_display_name";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					/** @deprecated */
					public static insertImage(cr: android.content.ContentResolver, source: android.graphics.Bitmap, title: string, description: string): string;
					public constructor();
					/** @deprecated */
					public static query(cr: android.content.ContentResolver, uri: android.net.Uri, projection: androidNative.Array<string>, where: string, orderBy: string): android.database.Cursor;
					/** @deprecated */
					public static query(cr: android.content.ContentResolver, uri: android.net.Uri, projection: androidNative.Array<string>, selection: string, selectionArgs: androidNative.Array<string>, orderBy: string): android.database.Cursor;
					/** @deprecated */
					public static insertImage(cr: android.content.ContentResolver, imagePath: string, name: string, description: string): string;
					/** @deprecated */
					public static query(cr: android.content.ContentResolver, uri: android.net.Uri, projection: androidNative.Array<string>): android.database.Cursor;
					/** @deprecated */
					public static getBitmap(cr: android.content.ContentResolver, url: android.net.Uri): android.graphics.Bitmap;
					public static getContentUri(volumeName: string): android.net.Uri;
					public static getContentUri(volumeName: string, id: number): android.net.Uri;
				}
				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: "_data";
					public static DEFAULT_SORT_ORDER: "image_id ASC";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static FULL_SCREEN_KIND: 2;
					public static HEIGHT: "height";
					public static IMAGE_ID: "image_id";
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public static KIND: "kind";
					public static MICRO_KIND: 3;
					public static MINI_KIND: 1;
					public static THUMB_DATA: "thumb_data";
					public static WIDTH: "width";
					/** @deprecated */
					public static queryMiniThumbnail(cr: android.content.ContentResolver, origId: number, kind: number, projection: androidNative.Array<string>): android.database.Cursor;
					/** @deprecated */
					public static getThumbnail(cr: android.content.ContentResolver, imageId: number, kind: number, options: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
					/** @deprecated */
					public static getThumbnail(cr: android.content.ContentResolver, imageId: number, groupId: number, kind: number, options: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
					/** @deprecated */
					public static getContentUri(volumeName: string): android.net.Uri;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public static cancelThumbnailRequest(cr: android.content.ContentResolver, origId: number, groupId: number): void;
					/** @deprecated */
					public static cancelThumbnailRequest(cr: android.content.ContentResolver, origId: number): void;
					/** @deprecated */
					public static query(cr: android.content.ContentResolver, uri: android.net.Uri, projection: androidNative.Array<string>): android.database.Cursor;
					/** @deprecated */
					public static getKindSize(kind: number): any;
					/** @deprecated */
					public static queryMiniThumbnails(cr: android.content.ContentResolver, uri: android.net.Uri, kind: number, projection: androidNative.Array<string>): android.database.Cursor;
				}
			}
			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 DATA: "_data";
				public static AUTHOR: "author";
				public static CAPTURE_FRAMERATE: "capture_framerate";
				public static DISC_NUMBER: "disc_number";
				public static NUM_TRACKS: "num_tracks";
				public static ALBUM_ARTIST: "album_artist";
				public static BUCKET_DISPLAY_NAME: "bucket_display_name";
				public static GENRE: "genre";
				public static ORIGINAL_DOCUMENT_ID: "original_document_id";
				public static SIZE: "_size";
				public static HEIGHT: "height";
				public static _COUNT: "_count";
				public static COMPILATION: "compilation";
				public static CD_TRACK_NUMBER: "cd_track_number";
				public static IS_PENDING: "is_pending";
				public static DISPLAY_NAME: "_display_name";
				public static OWNER_PACKAGE_NAME: "owner_package_name";
				public static IS_DOWNLOAD: "is_download";
				public static BUCKET_ID: "bucket_id";
				public static YEAR: "year";
				public static DURATION: "duration";
				public static DATE_ADDED: "date_added";
				public static DATE_TAKEN: "datetaken";
				public static DATE_EXPIRES: "date_expires";
				public static ARTIST: "artist";
				public static RELATIVE_PATH: "relative_path";
				public static DATE_MODIFIED: "date_modified";
				public static TITLE: "title";
				public static ORIENTATION: "orientation";
				public static RESOLUTION: "resolution";
				public static BITRATE: "bitrate";
				public static IS_DRM: "is_drm";
				public static WIDTH: "width";
				public static XMP: "xmp";
				public static MIME_TYPE: "mime_type";
				public static GENERATION_MODIFIED: "generation_modified";
				public static _ID: "_id";
				public static GENERATION_ADDED: "generation_added";
				public static VOLUME_NAME: "volume_name";
				public static INSTANCE_ID: "instance_id";
				public static WRITER: "writer";
				public static COMPOSER: "composer";
				public static IS_TRASHED: "is_trashed";
				public static IS_FAVORITE: "is_favorite";
				public static DOCUMENT_ID: "document_id";
				public static ALBUM: "album";
			}
			export class PickerMediaColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.MediaStore.PickerMediaColumns>;
				public static DATA: "_data";
				public static DATE_TAKEN: "datetaken";
				public static DISPLAY_NAME: "_display_name";
				public static DURATION_MILLIS: "duration";
				public static HEIGHT: "height";
				public static MIME_TYPE: "mime_type";
				public static ORIENTATION: "orientation";
				public static SIZE: "_size";
				public static WIDTH: "width";
			}
			export class Video extends java.lang.Object {
				public static class: java.lang.Class<android.provider.MediaStore.Video>;
				public static DEFAULT_SORT_ORDER: "_display_name";
				/** @deprecated */
				public static query(cr: android.content.ContentResolver, uri: android.net.Uri, projection: androidNative.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: "vnd.android.cursor.dir/video";
					public static DEFAULT_SORT_ORDER: "title";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUri(volumeName: string): android.net.Uri;
					public static getContentUri(volumeName: string, id: number): 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: "_data";
					public static DEFAULT_SORT_ORDER: "video_id ASC";
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static FULL_SCREEN_KIND: 2;
					public static HEIGHT: "height";
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public static KIND: "kind";
					public static MICRO_KIND: 3;
					public static MINI_KIND: 1;
					public static VIDEO_ID: "video_id";
					public static WIDTH: "width";
					/** @deprecated */
					public static getThumbnail(cr: android.content.ContentResolver, videoId: number, groupId: number, kind: number, options: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
					/** @deprecated */
					public static getContentUri(volumeName: string): android.net.Uri;
					/** @deprecated */
					public static cancelThumbnailRequest(cr: android.content.ContentResolver, videoId: number, groupId: number): void;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public static getThumbnail(cr: android.content.ContentResolver, videoId: number, kind: number, options: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
					/** @deprecated */
					public static cancelThumbnailRequest(cr: android.content.ContentResolver, origId: number): void;
					/** @deprecated */
					public static getKindSize(kind: number): any;
				}
				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 AUTHOR: "author";
					public static NUM_TRACKS: "num_tracks";
					public static ALBUM_ARTIST: "album_artist";
					public static COLOR_RANGE: "color_range";
					public static LONGITUDE: "longitude";
					public static GENRE: "genre";
					public static SIZE: "_size";
					public static HEIGHT: "height";
					public static DISPLAY_NAME: "_display_name";
					public static DESCRIPTION: "description";
					public static OWNER_PACKAGE_NAME: "owner_package_name";
					public static IS_DOWNLOAD: "is_download";
					public static CATEGORY: "category";
					public static DURATION: "duration";
					public static DATE_TAKEN: "datetaken";
					public static DATE_EXPIRES: "date_expires";
					public static COLOR_TRANSFER: "color_transfer";
					public static TITLE: "title";
					public static BITRATE: "bitrate";
					public static WIDTH: "width";
					public static XMP: "xmp";
					public static MIME_TYPE: "mime_type";
					public static GENERATION_ADDED: "generation_added";
					public static VOLUME_NAME: "volume_name";
					public static INSTANCE_ID: "instance_id";
					public static WRITER: "writer";
					public static COMPOSER: "composer";
					public static IS_PRIVATE: "isprivate";
					public static IS_TRASHED: "is_trashed";
					public static ALBUM: "album";
					public static DATA: "_data";
					public static BOOKMARK: "bookmark";
					public static CAPTURE_FRAMERATE: "capture_framerate";
					public static DISC_NUMBER: "disc_number";
					public static BUCKET_DISPLAY_NAME: "bucket_display_name";
					public static ORIGINAL_DOCUMENT_ID: "original_document_id";
					public static _COUNT: "_count";
					public static COMPILATION: "compilation";
					public static CD_TRACK_NUMBER: "cd_track_number";
					public static IS_PENDING: "is_pending";
					public static MINI_THUMB_MAGIC: "mini_thumb_magic";
					public static BUCKET_ID: "bucket_id";
					public static YEAR: "year";
					public static DATE_ADDED: "date_added";
					public static ARTIST: "artist";
					public static RELATIVE_PATH: "relative_path";
					public static COLOR_STANDARD: "color_standard";
					public static DATE_MODIFIED: "date_modified";
					public static ORIENTATION: "orientation";
					public static RESOLUTION: "resolution";
					public static LATITUDE: "latitude";
					public static IS_DRM: "is_drm";
					public static GENERATION_MODIFIED: "generation_modified";
					public static _ID: "_id";
					public static LANGUAGE: "language";
					public static TAGS: "tags";
					public static IS_FAVORITE: "is_favorite";
					public static DOCUMENT_ID: "document_id";
				}
			}
		}
	}
}

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: "_size";
			public static DISPLAY_NAME: "_display_name";
		}
	}
}

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: androidNative.Array<string>;
			public static QUERIES_PROJECTION_2LINE: androidNative.Array<string>;
			public static QUERIES_PROJECTION_DATE_INDEX: 1;
			public static QUERIES_PROJECTION_DISPLAY1_INDEX: 3;
			public static QUERIES_PROJECTION_DISPLAY2_INDEX: 4;
			public static QUERIES_PROJECTION_QUERY_INDEX: 2;
			public constructor(context: android.content.Context, authority: string, mode: number);
			public truncateHistory(cr: android.content.ContentResolver, maxEntries: number): void;
			public clearHistory(): void;
			public saveRecentQuery(queryString: string, line2: string): 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: "android.settings.ACCESSIBILITY_SETTINGS";
			public static ACTION_ADD_ACCOUNT: "android.settings.ADD_ACCOUNT_SETTINGS";
			public static ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS: "android.settings.ADVANCED_MEMORY_PROTECTION_SETTINGS";
			public static ACTION_AIRPLANE_MODE_SETTINGS: "android.settings.AIRPLANE_MODE_SETTINGS";
			public static ACTION_ALL_APPS_NOTIFICATION_SETTINGS: "android.settings.ALL_APPS_NOTIFICATION_SETTINGS";
			public static ACTION_APN_SETTINGS: "android.settings.APN_SETTINGS";
			public static ACTION_APPLICATION_DETAILS_SETTINGS: "android.settings.APPLICATION_DETAILS_SETTINGS";
			public static ACTION_APPLICATION_DEVELOPMENT_SETTINGS: "android.settings.APPLICATION_DEVELOPMENT_SETTINGS";
			public static ACTION_APPLICATION_SETTINGS: "android.settings.APPLICATION_SETTINGS";
			public static ACTION_APP_LOCALE_SETTINGS: "android.settings.APP_LOCALE_SETTINGS";
			public static ACTION_APP_NOTIFICATION_BUBBLE_SETTINGS: "android.settings.APP_NOTIFICATION_BUBBLE_SETTINGS";
			public static ACTION_APP_NOTIFICATION_SETTINGS: "android.settings.APP_NOTIFICATION_SETTINGS";
			public static ACTION_APP_OPEN_BY_DEFAULT_SETTINGS: "android.settings.APP_OPEN_BY_DEFAULT_SETTINGS";
			public static ACTION_APP_SEARCH_SETTINGS: "android.settings.APP_SEARCH_SETTINGS";
			public static ACTION_APP_USAGE_SETTINGS: "android.settings.action.APP_USAGE_SETTINGS";
			public static ACTION_AUTOMATIC_ZEN_RULE_SETTINGS: "android.settings.AUTOMATIC_ZEN_RULE_SETTINGS";
			public static ACTION_AUTO_ROTATE_SETTINGS: "android.settings.AUTO_ROTATE_SETTINGS";
			public static ACTION_BATTERY_SAVER_SETTINGS: "android.settings.BATTERY_SAVER_SETTINGS";
			public static ACTION_BIOMETRIC_ENROLL: "android.settings.BIOMETRIC_ENROLL";
			public static ACTION_BLUETOOTH_SETTINGS: "android.settings.BLUETOOTH_SETTINGS";
			public static ACTION_CAPTIONING_SETTINGS: "android.settings.CAPTIONING_SETTINGS";
			public static ACTION_CAST_SETTINGS: "android.settings.CAST_SETTINGS";
			public static ACTION_CHANNEL_NOTIFICATION_SETTINGS: "android.settings.CHANNEL_NOTIFICATION_SETTINGS";
			public static ACTION_CONDITION_PROVIDER_SETTINGS: "android.settings.ACTION_CONDITION_PROVIDER_SETTINGS";
			public static ACTION_CREDENTIAL_PROVIDER: "android.settings.CREDENTIAL_PROVIDER";
			public static ACTION_DATA_ROAMING_SETTINGS: "android.settings.DATA_ROAMING_SETTINGS";
			public static ACTION_DATA_USAGE_SETTINGS: "android.settings.DATA_USAGE_SETTINGS";
			public static ACTION_DATE_SETTINGS: "android.settings.DATE_SETTINGS";
			public static ACTION_DEVICE_INFO_SETTINGS: "android.settings.DEVICE_INFO_SETTINGS";
			public static ACTION_DISPLAY_SETTINGS: "android.settings.DISPLAY_SETTINGS";
			public static ACTION_DREAM_SETTINGS: "android.settings.DREAM_SETTINGS";
			public static ACTION_FINGERPRINT_ENROLL: "android.settings.FINGERPRINT_ENROLL";
			public static ACTION_HARD_KEYBOARD_SETTINGS: "android.settings.HARD_KEYBOARD_SETTINGS";
			public static ACTION_HOME_SETTINGS: "android.settings.HOME_SETTINGS";
			public static ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS: "android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS";
			public static ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS: "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS";
			public static ACTION_INPUT_METHOD_SETTINGS: "android.settings.INPUT_METHOD_SETTINGS";
			public static ACTION_INPUT_METHOD_SUBTYPE_SETTINGS: "android.settings.INPUT_METHOD_SUBTYPE_SETTINGS";
			public static ACTION_INTERNAL_STORAGE_SETTINGS: "android.settings.INTERNAL_STORAGE_SETTINGS";
			public static ACTION_LOCALE_SETTINGS: "android.settings.LOCALE_SETTINGS";
			public static ACTION_LOCATION_SOURCE_SETTINGS: "android.settings.LOCATION_SOURCE_SETTINGS";
			public static ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS: "android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS";
			public static ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION: "android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION";
			public static ACTION_MANAGE_ALL_SIM_PROFILES_SETTINGS: "android.settings.MANAGE_ALL_SIM_PROFILES_SETTINGS";
			public static ACTION_MANAGE_APPLICATIONS_SETTINGS: "android.settings.MANAGE_APPLICATIONS_SETTINGS";
			public static ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION: "android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION";
			public static ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT: "android.settings.MANAGE_APP_USE_FULL_SCREEN_INTENT";
			public static ACTION_MANAGE_DEFAULT_APPS_SETTINGS: "android.settings.MANAGE_DEFAULT_APPS_SETTINGS";
			public static ACTION_MANAGE_OVERLAY_PERMISSION: "android.settings.action.MANAGE_OVERLAY_PERMISSION";
			public static ACTION_MANAGE_SUPERVISOR_RESTRICTED_SETTING: "android.settings.MANAGE_SUPERVISOR_RESTRICTED_SETTING";
			public static ACTION_MANAGE_UNKNOWN_APP_SOURCES: "android.settings.MANAGE_UNKNOWN_APP_SOURCES";
			public static ACTION_MANAGE_WRITE_SETTINGS: "android.settings.action.MANAGE_WRITE_SETTINGS";
			public static ACTION_MEMORY_CARD_SETTINGS: "android.settings.MEMORY_CARD_SETTINGS";
			public static ACTION_NETWORK_OPERATOR_SETTINGS: "android.settings.NETWORK_OPERATOR_SETTINGS";
			public static ACTION_NFCSHARING_SETTINGS: "android.settings.NFCSHARING_SETTINGS";
			public static ACTION_NFC_PAYMENT_SETTINGS: "android.settings.NFC_PAYMENT_SETTINGS";
			public static ACTION_NFC_SETTINGS: "android.settings.NFC_SETTINGS";
			public static ACTION_NIGHT_DISPLAY_SETTINGS: "android.settings.NIGHT_DISPLAY_SETTINGS";
			public static ACTION_NOTIFICATION_ASSISTANT_SETTINGS: "android.settings.NOTIFICATION_ASSISTANT_SETTINGS";
			public static ACTION_NOTIFICATION_LISTENER_DETAIL_SETTINGS: "android.settings.NOTIFICATION_LISTENER_DETAIL_SETTINGS";
			public static ACTION_NOTIFICATION_LISTENER_SETTINGS: "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS";
			public static ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS: "android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS";
			public static ACTION_PRINT_SETTINGS: "android.settings.ACTION_PRINT_SETTINGS";
			public static ACTION_PRIVACY_SETTINGS: "android.settings.PRIVACY_SETTINGS";
			public static ACTION_PROCESS_WIFI_EASY_CONNECT_URI: "android.settings.PROCESS_WIFI_EASY_CONNECT_URI";
			public static ACTION_QUICK_ACCESS_WALLET_SETTINGS: "android.settings.QUICK_ACCESS_WALLET_SETTINGS";
			public static ACTION_QUICK_LAUNCH_SETTINGS: "android.settings.QUICK_LAUNCH_SETTINGS";
			public static ACTION_REGIONAL_PREFERENCES_SETTINGS: "android.settings.REGIONAL_PREFERENCES_SETTINGS";
			public static ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: "android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS";
			public static ACTION_REQUEST_MANAGE_MEDIA: "android.settings.REQUEST_MANAGE_MEDIA";
			public static ACTION_REQUEST_MEDIA_ROUTING_CONTROL: "android.settings.REQUEST_MEDIA_ROUTING_CONTROL";
			public static ACTION_REQUEST_SCHEDULE_EXACT_ALARM: "android.settings.REQUEST_SCHEDULE_EXACT_ALARM";
			public static ACTION_REQUEST_SET_AUTOFILL_SERVICE: "android.settings.REQUEST_SET_AUTOFILL_SERVICE";
			public static ACTION_SATELLITE_SETTING: "android.settings.SATELLITE_SETTING";
			public static ACTION_SEARCH_SETTINGS: "android.search.action.SEARCH_SETTINGS";
			public static ACTION_SECURITY_SETTINGS: "android.settings.SECURITY_SETTINGS";
			public static ACTION_SETTINGS: "android.settings.SETTINGS";
			public static ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY: "android.settings.SETTINGS_EMBED_DEEP_LINK_ACTIVITY";
			public static ACTION_SHOW_REGULATORY_INFO: "android.settings.SHOW_REGULATORY_INFO";
			public static ACTION_SHOW_WORK_POLICY_INFO: "android.settings.SHOW_WORK_POLICY_INFO";
			public static ACTION_SOUND_SETTINGS: "android.settings.SOUND_SETTINGS";
			public static ACTION_STORAGE_VOLUME_ACCESS_SETTINGS: "android.settings.STORAGE_VOLUME_ACCESS_SETTINGS";
			public static ACTION_SYNC_SETTINGS: "android.settings.SYNC_SETTINGS";
			public static ACTION_USAGE_ACCESS_SETTINGS: "android.settings.USAGE_ACCESS_SETTINGS";
			public static ACTION_USER_DICTIONARY_SETTINGS: "android.settings.USER_DICTIONARY_SETTINGS";
			public static ACTION_VOICE_CONTROL_AIRPLANE_MODE: "android.settings.VOICE_CONTROL_AIRPLANE_MODE";
			public static ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE: "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE";
			public static ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE: "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE";
			public static ACTION_VOICE_INPUT_SETTINGS: "android.settings.VOICE_INPUT_SETTINGS";
			public static ACTION_VPN_SETTINGS: "android.settings.VPN_SETTINGS";
			public static ACTION_VR_LISTENER_SETTINGS: "android.settings.VR_LISTENER_SETTINGS";
			public static ACTION_WEBVIEW_SETTINGS: "android.settings.WEBVIEW_SETTINGS";
			public static ACTION_WIFI_ADD_NETWORKS: "android.settings.WIFI_ADD_NETWORKS";
			public static ACTION_WIFI_IP_SETTINGS: "android.settings.WIFI_IP_SETTINGS";
			public static ACTION_WIFI_SETTINGS: "android.settings.WIFI_SETTINGS";
			public static ACTION_WIRELESS_SETTINGS: "android.settings.WIRELESS_SETTINGS";
			public static ACTION_ZEN_MODE_PRIORITY_SETTINGS: "android.settings.ZEN_MODE_PRIORITY_SETTINGS";
			public static ADD_WIFI_RESULT_ADD_OR_UPDATE_FAILED: 1;
			public static ADD_WIFI_RESULT_ALREADY_EXISTS: 2;
			public static ADD_WIFI_RESULT_SUCCESS: 0;
			public static AUTHORITY: "settings";
			public static EXTRA_ACCOUNT_TYPES: "account_types";
			public static EXTRA_AIRPLANE_MODE_ENABLED: "airplane_mode_enabled";
			public static EXTRA_APP_PACKAGE: "android.provider.extra.APP_PACKAGE";
			public static EXTRA_AUTHORITIES: "authorities";
			public static EXTRA_AUTOMATIC_ZEN_RULE_ID: "android.provider.extra.AUTOMATIC_ZEN_RULE_ID";
			public static EXTRA_BATTERY_SAVER_MODE_ENABLED: "android.settings.extra.battery_saver_mode_enabled";
			public static EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED: "android.provider.extra.BIOMETRIC_AUTHENTICATORS_ALLOWED";
			public static EXTRA_CHANNEL_FILTER_LIST: "android.provider.extra.CHANNEL_FILTER_LIST";
			public static EXTRA_CHANNEL_ID: "android.provider.extra.CHANNEL_ID";
			public static EXTRA_CONVERSATION_ID: "android.provider.extra.CONVERSATION_ID";
			public static EXTRA_DO_NOT_DISTURB_MODE_ENABLED: "android.settings.extra.do_not_disturb_mode_enabled";
			public static EXTRA_DO_NOT_DISTURB_MODE_MINUTES: "android.settings.extra.do_not_disturb_mode_minutes";
			public static EXTRA_EASY_CONNECT_ATTEMPTED_SSID: "android.provider.extra.EASY_CONNECT_ATTEMPTED_SSID";
			public static EXTRA_EASY_CONNECT_BAND_LIST: "android.provider.extra.EASY_CONNECT_BAND_LIST";
			public static EXTRA_EASY_CONNECT_CHANNEL_LIST: "android.provider.extra.EASY_CONNECT_CHANNEL_LIST";
			public static EXTRA_EASY_CONNECT_ERROR_CODE: "android.provider.extra.EASY_CONNECT_ERROR_CODE";
			public static EXTRA_INPUT_METHOD_ID: "input_method_id";
			public static EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME: "android.provider.extra.NOTIFICATION_LISTENER_COMPONENT_NAME";
			public static EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY: "android.provider.extra.SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY";
			public static EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI: "android.provider.extra.SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI";
			public static EXTRA_SUB_ID: "android.provider.extra.SUB_ID";
			public static EXTRA_SUPERVISOR_RESTRICTED_SETTING_KEY: "android.provider.extra.SUPERVISOR_RESTRICTED_SETTING_KEY";
			public static EXTRA_WIFI_NETWORK_LIST: "android.provider.extra.WIFI_NETWORK_LIST";
			public static EXTRA_WIFI_NETWORK_RESULT_LIST: "android.provider.extra.WIFI_NETWORK_RESULT_LIST";
			public static INTENT_CATEGORY_USAGE_ACCESS_CONFIG: "android.intent.category.USAGE_ACCESS_CONFIG";
			public static METADATA_USAGE_ACCESS_REASON: "android.settings.metadata.USAGE_ACCESS_REASON";
			public static SUPERVISOR_VERIFICATION_SETTING_BIOMETRICS: 1;
			public static SUPERVISOR_VERIFICATION_SETTING_UNKNOWN: 0;
			public static canDrawOverlays(context: 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: "adb_enabled";
				public static AIRPLANE_MODE_ON: "airplane_mode_on";
				public static AIRPLANE_MODE_RADIOS: "airplane_mode_radios";
				public static ALWAYS_FINISH_ACTIVITIES: "always_finish_activities";
				public static ANIMATOR_DURATION_SCALE: "animator_duration_scale";
				public static APPLY_RAMPING_RINGER: "apply_ramping_ringer";
				public static AUTO_TIME: "auto_time";
				public static AUTO_TIME_ZONE: "auto_time_zone";
				public static BLUETOOTH_ON: "bluetooth_on";
				public static BOOT_COUNT: "boot_count";
				public static CONTACT_METADATA_SYNC_ENABLED: "contact_metadata_sync_enabled";
				public static CONTENT_URI: android.net.Uri;
				public static DATA_ROAMING: "data_roaming";
				public static DEBUG_APP: "debug_app";
				public static DEVELOPMENT_SETTINGS_ENABLED: "development_settings_enabled";
				public static DEVICE_NAME: "device_name";
				public static DEVICE_PROVISIONED: "device_provisioned";
				public static HTTP_PROXY: "http_proxy";
				public static INSTALL_NON_MARKET_APPS: "install_non_market_apps";
				public static MODE_RINGER: "mode_ringer";
				public static NETWORK_PREFERENCE: "network_preference";
				public static RADIO_BLUETOOTH: "bluetooth";
				public static RADIO_CELL: "cell";
				public static RADIO_NFC: "nfc";
				public static RADIO_WIFI: "wifi";
				public static SECURE_FRP_MODE: "secure_frp_mode";
				public static SHOW_PROCESSES: "show_processes";
				public static STAY_ON_WHILE_PLUGGED_IN: "stay_on_while_plugged_in";
				public static TRANSITION_ANIMATION_SCALE: "transition_animation_scale";
				public static USB_MASS_STORAGE_ENABLED: "usb_mass_storage_enabled";
				public static USE_GOOGLE_MAIL: "use_google_mail";
				public static WAIT_FOR_DEBUGGER: "wait_for_debugger";
				public static WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN: "wifi_device_owner_configs_lockdown";
				public static WIFI_MAX_DHCP_RETRY_COUNT: "wifi_max_dhcp_retry_count";
				public static WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS: "wifi_mobile_data_transition_wakelock_timeout_ms";
				public static WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON: "wifi_networks_available_notification_on";
				public static WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY: "wifi_networks_available_repeat_delay";
				public static WIFI_NUM_OPEN_NETWORKS_KEPT: "wifi_num_open_networks_kept";
				public static WIFI_ON: "wifi_on";
				public static WIFI_SLEEP_POLICY: "wifi_sleep_policy";
				public static WIFI_SLEEP_POLICY_DEFAULT: 0;
				public static WIFI_SLEEP_POLICY_NEVER: 2;
				public static WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED: 1;
				public static WIFI_WATCHDOG_ON: "wifi_watchdog_on";
				public static WINDOW_ANIMATION_SCALE: "window_animation_scale";
				public static putString(resolver: android.content.ContentResolver, uri: android.net.Uri, name: string, value: string): boolean;
				public static getLong(cr: android.content.ContentResolver, name: string): number;
				public static getFloat(cr: android.content.ContentResolver, name: string): number;
				public static putString(resolver: android.content.ContentResolver, name: string, value: string): boolean;
				public static putLong(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public constructor();
				public static getUriFor(uri: android.net.Uri, name: string): android.net.Uri;
				public static getInt(cr: android.content.ContentResolver, name: string, def: number): number;
				public static getFloat(cr: android.content.ContentResolver, name: string, def: number): number;
				public static getUriFor(name: string): android.net.Uri;
				public static getString(resolver: android.content.ContentResolver, name: string): string;
				public static getLong(cr: android.content.ContentResolver, name: string, def: number): number;
				public static putFloat(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public static putInt(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public static getInt(cr: android.content.ContentResolver, name: string): number;
			}
			export class NameValueTable extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.Settings.NameValueTable>;
				public static NAME: "name";
				public static VALUE: "value";
				public static getUriFor(uri: android.net.Uri, name: string): android.net.Uri;
				public static putString(resolver: android.content.ContentResolver, uri: android.net.Uri, name: string, value: string): boolean;
				public constructor();
			}
			export class Panel extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Settings.Panel>;
				public static ACTION_INTERNET_CONNECTIVITY: "android.settings.panel.action.INTERNET_CONNECTIVITY";
				public static ACTION_NFC: "android.settings.panel.action.NFC";
				public static ACTION_VOLUME: "android.settings.panel.action.VOLUME";
				public static ACTION_WIFI: "android.settings.panel.action.WIFI";
			}
			export class Secure extends android.provider.Settings.NameValueTable {
				public static class: java.lang.Class<android.provider.Settings.Secure>;
				public static ACCESSIBILITY_DISPLAY_INVERSION_ENABLED: "accessibility_display_inversion_enabled";
				public static ACCESSIBILITY_ENABLED: "accessibility_enabled";
				public static ACCESSIBILITY_SPEAK_PASSWORD: "speak_password";
				public static ADB_ENABLED: "adb_enabled";
				public static ALLOWED_GEOLOCATION_ORIGINS: "allowed_geolocation_origins";
				public static ALLOW_MOCK_LOCATION: "mock_location";
				public static ANDROID_ID: "android_id";
				public static BACKGROUND_DATA: "background_data";
				public static BLUETOOTH_ON: "bluetooth_on";
				public static CONTENT_URI: android.net.Uri;
				public static DATA_ROAMING: "data_roaming";
				public static DEFAULT_INPUT_METHOD: "default_input_method";
				public static DEVELOPMENT_SETTINGS_ENABLED: "development_settings_enabled";
				public static DEVICE_PROVISIONED: "device_provisioned";
				public static ENABLED_ACCESSIBILITY_SERVICES: "enabled_accessibility_services";
				public static ENABLED_INPUT_METHODS: "enabled_input_methods";
				public static HTTP_PROXY: "http_proxy";
				public static INPUT_METHOD_SELECTOR_VISIBILITY: "input_method_selector_visibility";
				public static INSTALL_NON_MARKET_APPS: "install_non_market_apps";
				public static LOCATION_MODE: "location_mode";
				public static LOCATION_MODE_BATTERY_SAVING: 2;
				public static LOCATION_MODE_HIGH_ACCURACY: 3;
				public static LOCATION_MODE_OFF: 0;
				public static LOCATION_MODE_SENSORS_ONLY: 1;
				public static LOCATION_PROVIDERS_ALLOWED: "location_providers_allowed";
				public static LOCK_PATTERN_ENABLED: "lock_pattern_autolock";
				public static LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED: "lock_pattern_tactile_feedback_enabled";
				public static LOCK_PATTERN_VISIBLE: "lock_pattern_visible_pattern";
				public static LOGGING_ID: "logging_id";
				public static NETWORK_PREFERENCE: "network_preference";
				public static PARENTAL_CONTROL_ENABLED: "parental_control_enabled";
				public static PARENTAL_CONTROL_LAST_UPDATE: "parental_control_last_update";
				public static PARENTAL_CONTROL_REDIRECT_URL: "parental_control_redirect_url";
				public static RTT_CALLING_MODE: "rtt_calling_mode";
				public static SECURE_FRP_MODE: "secure_frp_mode";
				public static SELECTED_INPUT_METHOD_SUBTYPE: "selected_input_method_subtype";
				public static SETTINGS_CLASSNAME: "settings_classname";
				public static SKIP_FIRST_USE_HINTS: "skip_first_use_hints";
				public static TOUCH_EXPLORATION_ENABLED: "touch_exploration_enabled";
				public static TTS_DEFAULT_COUNTRY: "tts_default_country";
				public static TTS_DEFAULT_LANG: "tts_default_lang";
				public static TTS_DEFAULT_PITCH: "tts_default_pitch";
				public static TTS_DEFAULT_RATE: "tts_default_rate";
				public static TTS_DEFAULT_SYNTH: "tts_default_synth";
				public static TTS_DEFAULT_VARIANT: "tts_default_variant";
				public static TTS_ENABLED_PLUGINS: "tts_enabled_plugins";
				public static TTS_USE_DEFAULTS: "tts_use_defaults";
				public static USB_MASS_STORAGE_ENABLED: "usb_mass_storage_enabled";
				public static USE_GOOGLE_MAIL: "use_google_mail";
				public static WIFI_MAX_DHCP_RETRY_COUNT: "wifi_max_dhcp_retry_count";
				public static WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS: "wifi_mobile_data_transition_wakelock_timeout_ms";
				public static WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON: "wifi_networks_available_notification_on";
				public static WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY: "wifi_networks_available_repeat_delay";
				public static WIFI_NUM_OPEN_NETWORKS_KEPT: "wifi_num_open_networks_kept";
				public static WIFI_ON: "wifi_on";
				public static WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE: "wifi_watchdog_acceptable_packet_loss_percentage";
				public static WIFI_WATCHDOG_AP_COUNT: "wifi_watchdog_ap_count";
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS: "wifi_watchdog_background_check_delay_ms";
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED: "wifi_watchdog_background_check_enabled";
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS: "wifi_watchdog_background_check_timeout_ms";
				public static WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT: "wifi_watchdog_initial_ignored_ping_count";
				public static WIFI_WATCHDOG_MAX_AP_CHECKS: "wifi_watchdog_max_ap_checks";
				public static WIFI_WATCHDOG_ON: "wifi_watchdog_on";
				public static WIFI_WATCHDOG_PING_COUNT: "wifi_watchdog_ping_count";
				public static WIFI_WATCHDOG_PING_DELAY_MS: "wifi_watchdog_ping_delay_ms";
				public static WIFI_WATCHDOG_PING_TIMEOUT_MS: "wifi_watchdog_ping_timeout_ms";
				public static WIFI_WATCHDOG_WATCH_LIST: "wifi_watchdog_watch_list";
				public static putString(resolver: android.content.ContentResolver, uri: android.net.Uri, name: string, value: string): boolean;
				/** @deprecated */
				public static setLocationProviderEnabled(cr: android.content.ContentResolver, provider: string, enabled: boolean): void;
				/** @deprecated */
				public static isLocationProviderEnabled(cr: android.content.ContentResolver, provider: string): boolean;
				public static getLong(cr: android.content.ContentResolver, name: string): number;
				public static getFloat(cr: android.content.ContentResolver, name: string): number;
				public static putString(resolver: android.content.ContentResolver, name: string, value: string): boolean;
				public static putLong(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public constructor();
				public static getUriFor(uri: android.net.Uri, name: string): android.net.Uri;
				public static getInt(cr: android.content.ContentResolver, name: string, def: number): number;
				public static getFloat(cr: android.content.ContentResolver, name: string, def: number): number;
				public static getUriFor(name: string): android.net.Uri;
				public static getString(resolver: android.content.ContentResolver, name: string): string;
				public static getLong(cr: android.content.ContentResolver, name: string, def: number): number;
				public static putFloat(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public static putInt(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public static getInt(cr: android.content.ContentResolver, name: string): number;
			}
			export class SettingNotFoundException extends android.util.AndroidException {
				public static class: java.lang.Class<android.provider.Settings.SettingNotFoundException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor(name: string, cause: java.lang.Throwable);
				public constructor();
				public constructor(cause: java.lang.Exception);
			}
			export class System extends android.provider.Settings.NameValueTable {
				public static class: java.lang.Class<android.provider.Settings.System>;
				public static ACCELEROMETER_ROTATION: "accelerometer_rotation";
				public static ADB_ENABLED: "adb_enabled";
				public static AIRPLANE_MODE_ON: "airplane_mode_on";
				public static AIRPLANE_MODE_RADIOS: "airplane_mode_radios";
				public static ALARM_ALERT: "alarm_alert";
				public static ALWAYS_FINISH_ACTIVITIES: "always_finish_activities";
				public static ANDROID_ID: "android_id";
				public static ANIMATOR_DURATION_SCALE: "animator_duration_scale";
				public static AUTO_TIME: "auto_time";
				public static AUTO_TIME_ZONE: "auto_time_zone";
				public static BLUETOOTH_DISCOVERABILITY: "bluetooth_discoverability";
				public static BLUETOOTH_DISCOVERABILITY_TIMEOUT: "bluetooth_discoverability_timeout";
				public static BLUETOOTH_ON: "bluetooth_on";
				public static CONTENT_URI: android.net.Uri;
				public static DATA_ROAMING: "data_roaming";
				public static DATE_FORMAT: "date_format";
				public static DEBUG_APP: "debug_app";
				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: "device_provisioned";
				public static DIM_SCREEN: "dim_screen";
				public static DTMF_TONE_TYPE_WHEN_DIALING: "dtmf_tone_type";
				public static DTMF_TONE_WHEN_DIALING: "dtmf_tone";
				public static END_BUTTON_BEHAVIOR: "end_button_behavior";
				public static FONT_SCALE: "font_scale";
				public static HAPTIC_FEEDBACK_ENABLED: "haptic_feedback_enabled";
				public static HTTP_PROXY: "http_proxy";
				public static INSTALL_NON_MARKET_APPS: "install_non_market_apps";
				public static LOCATION_PROVIDERS_ALLOWED: "location_providers_allowed";
				public static LOCK_PATTERN_ENABLED: "lock_pattern_autolock";
				public static LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED: "lock_pattern_tactile_feedback_enabled";
				public static LOCK_PATTERN_VISIBLE: "lock_pattern_visible_pattern";
				public static LOGGING_ID: "logging_id";
				public static MODE_RINGER: "mode_ringer";
				public static MODE_RINGER_STREAMS_AFFECTED: "mode_ringer_streams_affected";
				public static MUTE_STREAMS_AFFECTED: "mute_streams_affected";
				public static NETWORK_PREFERENCE: "network_preference";
				public static NEXT_ALARM_FORMATTED: "next_alarm_formatted";
				public static NOTIFICATION_SOUND: "notification_sound";
				public static PARENTAL_CONTROL_ENABLED: "parental_control_enabled";
				public static PARENTAL_CONTROL_LAST_UPDATE: "parental_control_last_update";
				public static PARENTAL_CONTROL_REDIRECT_URL: "parental_control_redirect_url";
				public static RADIO_BLUETOOTH: "bluetooth";
				public static RADIO_CELL: "cell";
				public static RADIO_NFC: "nfc";
				public static RADIO_WIFI: "wifi";
				public static RINGTONE: "ringtone";
				public static SCREEN_BRIGHTNESS: "screen_brightness";
				public static SCREEN_BRIGHTNESS_MODE: "screen_brightness_mode";
				public static SCREEN_BRIGHTNESS_MODE_AUTOMATIC: 1;
				public static SCREEN_BRIGHTNESS_MODE_MANUAL: 0;
				public static SCREEN_OFF_TIMEOUT: "screen_off_timeout";
				public static SETTINGS_CLASSNAME: "settings_classname";
				public static SETUP_WIZARD_HAS_RUN: "setup_wizard_has_run";
				public static SHOW_GTALK_SERVICE_STATUS: "SHOW_GTALK_SERVICE_STATUS";
				public static SHOW_PROCESSES: "show_processes";
				public static SHOW_WEB_SUGGESTIONS: "show_web_suggestions";
				public static SOUND_EFFECTS_ENABLED: "sound_effects_enabled";
				public static STAY_ON_WHILE_PLUGGED_IN: "stay_on_while_plugged_in";
				public static TEXT_AUTO_CAPS: "auto_caps";
				public static TEXT_AUTO_PUNCTUATE: "auto_punctuate";
				public static TEXT_AUTO_REPLACE: "auto_replace";
				public static TEXT_SHOW_PASSWORD: "show_password";
				public static TIME_12_24: "time_12_24";
				public static TRANSITION_ANIMATION_SCALE: "transition_animation_scale";
				public static USB_MASS_STORAGE_ENABLED: "usb_mass_storage_enabled";
				public static USER_ROTATION: "user_rotation";
				public static USE_GOOGLE_MAIL: "use_google_mail";
				public static VIBRATE_ON: "vibrate_on";
				public static VIBRATE_WHEN_RINGING: "vibrate_when_ringing";
				public static WAIT_FOR_DEBUGGER: "wait_for_debugger";
				public static WALLPAPER_ACTIVITY: "wallpaper_activity";
				public static WIFI_MAX_DHCP_RETRY_COUNT: "wifi_max_dhcp_retry_count";
				public static WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS: "wifi_mobile_data_transition_wakelock_timeout_ms";
				public static WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON: "wifi_networks_available_notification_on";
				public static WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY: "wifi_networks_available_repeat_delay";
				public static WIFI_NUM_OPEN_NETWORKS_KEPT: "wifi_num_open_networks_kept";
				public static WIFI_ON: "wifi_on";
				public static WIFI_SLEEP_POLICY: "wifi_sleep_policy";
				public static WIFI_SLEEP_POLICY_DEFAULT: 0;
				public static WIFI_SLEEP_POLICY_NEVER: 2;
				public static WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED: 1;
				public static WIFI_STATIC_DNS1: "wifi_static_dns1";
				public static WIFI_STATIC_DNS2: "wifi_static_dns2";
				public static WIFI_STATIC_GATEWAY: "wifi_static_gateway";
				public static WIFI_STATIC_IP: "wifi_static_ip";
				public static WIFI_STATIC_NETMASK: "wifi_static_netmask";
				public static WIFI_USE_STATIC_IP: "wifi_use_static_ip";
				public static WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE: "wifi_watchdog_acceptable_packet_loss_percentage";
				public static WIFI_WATCHDOG_AP_COUNT: "wifi_watchdog_ap_count";
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS: "wifi_watchdog_background_check_delay_ms";
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED: "wifi_watchdog_background_check_enabled";
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS: "wifi_watchdog_background_check_timeout_ms";
				public static WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT: "wifi_watchdog_initial_ignored_ping_count";
				public static WIFI_WATCHDOG_MAX_AP_CHECKS: "wifi_watchdog_max_ap_checks";
				public static WIFI_WATCHDOG_ON: "wifi_watchdog_on";
				public static WIFI_WATCHDOG_PING_COUNT: "wifi_watchdog_ping_count";
				public static WIFI_WATCHDOG_PING_DELAY_MS: "wifi_watchdog_ping_delay_ms";
				public static WIFI_WATCHDOG_PING_TIMEOUT_MS: "wifi_watchdog_ping_timeout_ms";
				public static WINDOW_ANIMATION_SCALE: "window_animation_scale";
				public static putString(resolver: android.content.ContentResolver, uri: android.net.Uri, name: string, value: string): boolean;
				public static getLong(cr: android.content.ContentResolver, name: string): number;
				public static getFloat(cr: android.content.ContentResolver, name: string): number;
				public static putString(resolver: android.content.ContentResolver, name: string, value: string): boolean;
				public static putLong(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public constructor();
				public static getUriFor(uri: android.net.Uri, name: string): android.net.Uri;
				public static getInt(cr: android.content.ContentResolver, name: string, def: number): number;
				public static getFloat(cr: android.content.ContentResolver, name: string, def: number): number;
				public static getUriFor(name: string): android.net.Uri;
				public static getConfiguration(cr: android.content.ContentResolver, outConfig: android.content.res.Configuration): void;
				/** @deprecated */
				public static getShowGTalkServiceStatus(cr: android.content.ContentResolver): boolean;
				public static getString(resolver: android.content.ContentResolver, name: string): string;
				public static getLong(cr: android.content.ContentResolver, name: string, def: number): number;
				/** @deprecated */
				public static setShowGTalkServiceStatus(cr: android.content.ContentResolver, flag: boolean): void;
				public static canWrite(context: android.content.Context): boolean;
				public static putFloat(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public static putInt(cr: android.content.ContentResolver, name: string, value: number): boolean;
				public static putConfiguration(cr: android.content.ContentResolver, config: android.content.res.Configuration): boolean;
				public static getInt(cr: android.content.ContentResolver, name: string): number;
			}
		}
	}
}

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: "android.settings.slices";
			public static BASE_URI: android.net.Uri;
			public static KEY_AIRPLANE_MODE: "airplane_mode";
			public static KEY_BATTERY_SAVER: "battery_saver";
			public static KEY_BLUETOOTH: "bluetooth";
			public static KEY_LOCATION: "location";
			public static KEY_WIFI: "wifi";
			public static PATH_SETTING_ACTION: "action";
			public static PATH_SETTING_INTENT: "intent";
		}
	}
}

declare module android {
	export module provider {
		export class SimPhonebookContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.SimPhonebookContract>;
			public static AUTHORITY: "com.android.simphonebook";
			public static AUTHORITY_URI: android.net.Uri;
		}
		export module SimPhonebookContract {
			export class ElementaryFiles extends java.lang.Object {
				public static class: java.lang.Class<android.provider.SimPhonebookContract.ElementaryFiles>;
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/sim-elementary-file";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/sim-elementary-file";
				public static CONTENT_URI: android.net.Uri;
				public static EF_ADN: 1;
				public static EF_FDN: 2;
				public static EF_SDN: 3;
				public static EF_TYPE: "ef_type";
				public static EF_UNKNOWN: 0;
				public static MAX_RECORDS: "max_records";
				public static NAME_MAX_LENGTH: "name_max_length";
				public static PHONE_NUMBER_MAX_LENGTH: "phone_number_max_length";
				public static RECORD_COUNT: "record_count";
				public static SLOT_INDEX: "slot_index";
				public static SUBSCRIPTION_ID: "subscription_id";
				public static getItemUri(subscriptionId: number, efType: number): android.net.Uri;
			}
			export class SimRecords extends java.lang.Object {
				public static class: java.lang.Class<android.provider.SimPhonebookContract.SimRecords>;
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/sim-contact_v2";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/sim-contact_v2";
				public static ELEMENTARY_FILE_TYPE: "elementary_file_type";
				public static ERROR_NAME_UNSUPPORTED: -1;
				public static NAME: "name";
				public static PHONE_NUMBER: "phone_number";
				public static RECORD_NUMBER: "record_number";
				public static SUBSCRIPTION_ID: "subscription_id";
				public static getItemUri(subscriptionId: number, efType: number, recordNumber: number): android.net.Uri;
				public static getEncodedNameLength(resolver: android.content.ContentResolver, name: string): number;
				public static getContentUri(subscriptionId: number, efType: number): android.net.Uri;
			}
		}
	}
}

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 DATA: "data";
				public static ACCOUNT_TYPE: "account_type";
				public static _ID: "_id";
				public static _COUNT: "_count";
				public static ACCOUNT_NAME: "account_name";
			}
			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: "syncstate";
				public constructor();
			}
			export class Helpers extends java.lang.Object {
				public static class: java.lang.Class<android.provider.SyncStateContract.Helpers>;
				public static insert(provider: android.content.ContentProviderClient, uri: android.net.Uri, account: android.accounts.Account, data: androidNative.Array<number>): android.net.Uri;
				public static update(provider: android.content.ContentProviderClient, uri: android.net.Uri, data: androidNative.Array<number>): void;
				public static newUpdateOperation(uri: android.net.Uri, data: androidNative.Array<number>): android.content.ContentProviderOperation;
				public static set(provider: android.content.ContentProviderClient, uri: android.net.Uri, account: android.accounts.Account, data: androidNative.Array<number>): void;
				public static newSetOperation(uri: android.net.Uri, account: android.accounts.Account, data: androidNative.Array<number>): android.content.ContentProviderOperation;
				public constructor();
				public static get(provider: android.content.ContentProviderClient, uri: android.net.Uri, account: android.accounts.Account): androidNative.Array<number>;
				public static getWithUri(provider: android.content.ContentProviderClient, uri: android.net.Uri, account: android.accounts.Account): android.util.Pair<android.net.Uri,androidNative.Array<number>>;
			}
		}
	}
}

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 MMS_VERSION: "v";
				public static REPORT_ALLOWED: "rpt_a";
				public static DATE: "date";
				public static DATE_SENT: "date_sent";
				public static MESSAGE_BOX_OUTBOX: 4;
				public static CONTENT_CLASS: "ct_cls";
				public static STATUS: "st";
				public static MESSAGE_BOX_FAILED: 5;
				public static MESSAGE_ID: "m_id";
				public static RESPONSE_TEXT: "resp_txt";
				public static RESPONSE_STATUS: "resp_st";
				public static DELIVERY_REPORT: "d_rpt";
				public static MESSAGE_BOX_ALL: 0;
				public static SUBJECT_CHARSET: "sub_cs";
				public static _COUNT: "_count";
				public static EXPIRY: "exp";
				public static MESSAGE_BOX: "msg_box";
				public static CREATOR: "creator";
				public static MESSAGE_BOX_SENT: 2;
				public static DELIVERY_TIME: "d_tm";
				public static SEEN: "seen";
				public static THREAD_ID: "thread_id";
				public static RETRIEVE_TEXT_CHARSET: "retr_txt_cs";
				public static RETRIEVE_TEXT: "retr_txt";
				public static MESSAGE_CLASS: "m_cls";
				public static MESSAGE_SIZE: "m_size";
				public static READ: "read";
				public static CONTENT_LOCATION: "ct_l";
				public static LOCKED: "locked";
				public static CONTENT_TYPE: "ct_t";
				public static TRANSACTION_ID: "tr_id";
				public static MESSAGE_TYPE: "m_type";
				public static SUBSCRIPTION_ID: "sub_id";
				public static _ID: "_id";
				public static PRIORITY: "pri";
				public static SUBJECT: "sub";
				public static TEXT_ONLY: "text_only";
				public static MESSAGE_BOX_DRAFTS: 3;
				public static READ_REPORT: "rr";
				public static RETRIEVE_STATUS: "retr_st";
				public static MESSAGE_BOX_INBOX: 1;
				public static READ_STATUS: "read_status";
			}
			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 _ID: "_id";
				public static _COUNT: "_count";
				public static ADDRESS: "address";
			}
			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: "carrier_id";
				public static CARRIER_NAME: "carrier_name";
				public static CONTENT_URI: android.net.Uri;
				public static SPECIFIC_CARRIER_ID: "specific_carrier_id";
				public static SPECIFIC_CARRIER_ID_NAME: "specific_carrier_id_name";
				public static getSpecificCarrierIdUriForSubscriptionId(subscriptionId: number): android.net.Uri;
				public static getUriForSubscriptionId(subscriptionId: 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 ALWAYS_ON: "always_on";
				public static APN: "apn";
				public static AUTH_TYPE: "authtype";
				public static BEARER: "bearer";
				public static CARRIER_ENABLED: "carrier_enabled";
				public static CARRIER_ID: "carrier_id";
				public static CONTENT_URI: android.net.Uri;
				public static CURRENT: "current";
				public static DEFAULT_SORT_ORDER: "name ASC";
				public static MCC: "mcc";
				public static MMSC: "mmsc";
				public static MMSPORT: "mmsport";
				public static MMSPROXY: "mmsproxy";
				public static MNC: "mnc";
				public static MTU_V4: "mtu_v4";
				public static MTU_V6: "mtu_v6";
				public static MVNO_MATCH_DATA: "mvno_match_data";
				public static MVNO_TYPE: "mvno_type";
				public static NAME: "name";
				public static NETWORK_TYPE_BITMASK: "network_type_bitmask";
				public static NUMERIC: "numeric";
				public static PASSWORD: "password";
				public static PORT: "port";
				public static PROTOCOL: "protocol";
				public static PROXY: "proxy";
				public static ROAMING_PROTOCOL: "roaming_protocol";
				public static SERVER: "server";
				public static SIM_APN_URI: android.net.Uri;
				public static SUBSCRIPTION_ID: "sub_id";
				public static TYPE: "type";
				public static USER: "user";
				public static USER_EDITABLE: "user_editable";
				public static USER_VISIBLE: "user_visible";
			}
			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: "date DESC";
				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: "address";
					public static CHARSET: "charset";
					public static CONTACT_ID: "contact_id";
					public static MSG_ID: "msg_id";
					public static TYPE: "type";
					public static getAddrUriForMessage(messageId: string): android.net.Uri;
				}
				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: "date DESC";
				}
				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: "date DESC";
				}
				export class Intents extends java.lang.Object {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Intents>;
					public static CONTENT_CHANGED_ACTION: "android.intent.action.CONTENT_CHANGED";
					public static DELETED_CONTENTS: "deleted_contents";
				}
				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: "date DESC";
				}
				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: "chset";
					public static CONTENT_DISPOSITION: "cd";
					public static CONTENT_ID: "cid";
					public static CONTENT_LOCATION: "cl";
					public static CONTENT_TYPE: "ct";
					public static CONTENT_URI: android.net.Uri;
					public static CT_START: "ctt_s";
					public static CT_TYPE: "ctt_t";
					public static FILENAME: "fn";
					public static MSG_ID: "mid";
					public static NAME: "name";
					public static SEQ: "seq";
					public static TEXT: "text";
					public static _DATA: "_data";
					public static getPartUriForMessage(messageId: string): android.net.Uri;
				}
				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: "sent_time";
				}
				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: "date DESC";
				}
			}
			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: 1;
				public static ERR_TYPE_GENERIC_PERMANENT: 10;
				public static ERR_TYPE_MMS_PROTO_PERMANENT: 12;
				public static ERR_TYPE_MMS_PROTO_TRANSIENT: 3;
				public static ERR_TYPE_SMS_PROTO_PERMANENT: 11;
				public static ERR_TYPE_SMS_PROTO_TRANSIENT: 2;
				public static ERR_TYPE_TRANSPORT_FAILURE: 4;
				public static MMS_PROTO: 1;
				public static NO_ERROR: 0;
				public static SEARCH_URI: android.net.Uri;
				public static SMS_PROTO: 0;
				public static TYPE_DISCRIMINATOR_COLUMN: "transport_type";
			}
			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: "due_time";
					public static ERROR_CODE: "err_code";
					public static ERROR_TYPE: "err_type";
					public static LAST_TRY: "last_try";
					public static MSG_ID: "msg_id";
					public static MSG_TYPE: "msg_type";
					public static PROTO_TYPE: "proto_type";
					public static RETRY_INDEX: "retry_index";
					public static SUBSCRIPTION_ID: "pending_sub_id";
				}
			}
			export class ServiceStateTable extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Telephony.ServiceStateTable>;
				public static AUTHORITY: "service-state";
				public static CONTENT_URI: android.net.Uri;
				public static DATA_NETWORK_TYPE: "data_network_type";
				public static DATA_REG_STATE: "data_reg_state";
				public static DUPLEX_MODE: "duplex_mode";
				public static IS_MANUAL_NETWORK_SELECTION: "is_manual_network_selection";
				public static VOICE_OPERATOR_NUMERIC: "voice_operator_numeric";
				public static VOICE_REG_STATE: "voice_reg_state";
				public static getUriForSubscriptionIdAndField(subscriptionId: number, field: string): android.net.Uri;
				public static getUriForSubscriptionId(subscriptionId: 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: "date DESC";
				public static getDefaultSmsPackage(context: 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: "date DESC";
					public static MESSAGE_COUNT: "msg_count";
					public static SNIPPET: "snippet";
				}
				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: "date DESC";
				}
				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: "date DESC";
				}
				export class Intents extends java.lang.Object {
					public static class: java.lang.Class<android.provider.Telephony.Sms.Intents>;
					public static ACTION_CHANGE_DEFAULT: "android.provider.Telephony.ACTION_CHANGE_DEFAULT";
					public static ACTION_DEFAULT_SMS_PACKAGE_CHANGED: "android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED";
					public static ACTION_EXTERNAL_PROVIDER_CHANGE: "android.provider.action.EXTERNAL_PROVIDER_CHANGE";
					public static DATA_SMS_RECEIVED_ACTION: "android.intent.action.DATA_SMS_RECEIVED";
					public static EXTRA_IS_DEFAULT_SMS_APP: "android.provider.extra.IS_DEFAULT_SMS_APP";
					public static EXTRA_PACKAGE_NAME: "package";
					public static RESULT_SMS_DATABASE_ERROR: 10;
					public static RESULT_SMS_DISPATCH_FAILURE: 6;
					public static RESULT_SMS_DUPLICATED: 5;
					public static RESULT_SMS_GENERIC_ERROR: 2;
					public static RESULT_SMS_HANDLED: 1;
					public static RESULT_SMS_INVALID_URI: 11;
					public static RESULT_SMS_NULL_MESSAGE: 8;
					public static RESULT_SMS_NULL_PDU: 7;
					public static RESULT_SMS_OUT_OF_MEMORY: 3;
					public static RESULT_SMS_RECEIVED_WHILE_ENCRYPTED: 9;
					public static RESULT_SMS_UNSUPPORTED: 4;
					public static SECRET_CODE_ACTION: "android.provider.Telephony.SECRET_CODE";
					public static SIM_FULL_ACTION: "android.provider.Telephony.SIM_FULL";
					public static SMS_CB_RECEIVED_ACTION: "android.provider.Telephony.SMS_CB_RECEIVED";
					public static SMS_DELIVER_ACTION: "android.provider.Telephony.SMS_DELIVER";
					public static SMS_RECEIVED_ACTION: "android.provider.Telephony.SMS_RECEIVED";
					public static SMS_REJECTED_ACTION: "android.provider.Telephony.SMS_REJECTED";
					public static SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION: "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED";
					public static WAP_PUSH_DELIVER_ACTION: "android.provider.Telephony.WAP_PUSH_DELIVER";
					public static WAP_PUSH_RECEIVED_ACTION: "android.provider.Telephony.WAP_PUSH_RECEIVED";
					public static getMessagesFromIntent(intent: android.content.Intent): androidNative.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: "date DESC";
				}
				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: "date DESC";
				}
			}
			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 SERVICE_CENTER: "service_center";
				public static STATUS_FAILED: 64;
				public static DATE: "date";
				public static MESSAGE_TYPE_INBOX: 1;
				public static REPLY_PATH_PRESENT: "reply_path_present";
				public static DATE_SENT: "date_sent";
				public static MESSAGE_TYPE_FAILED: 5;
				public static STATUS_NONE: -1;
				public static STATUS_PENDING: 32;
				public static STATUS: "status";
				public static MESSAGE_TYPE_SENT: 2;
				public static CREATOR: "creator";
				public static TYPE: "type";
				public static SEEN: "seen";
				public static MESSAGE_TYPE_QUEUED: 6;
				public static THREAD_ID: "thread_id";
				public static MESSAGE_TYPE_DRAFT: 3;
				public static MESSAGE_TYPE_ALL: 0;
				public static READ: "read";
				public static LOCKED: "locked";
				public static ADDRESS: "address";
				public static SUBSCRIPTION_ID: "sub_id";
				public static PERSON: "person";
				public static SUBJECT: "subject";
				public static ERROR_CODE: "error_code";
				public static BODY: "body";
				public static STATUS_COMPLETE: 0;
				public static MESSAGE_TYPE_OUTBOX: 4;
				public static PROTOCOL: "protocol";
			}
			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: 1;
				public static COMMON_THREAD: 0;
				public static CONTENT_URI: android.net.Uri;
				public static OBSOLETE_THREADS_URI: android.net.Uri;
				public static getOrCreateThreadId(context: android.content.Context, recipient: string): number;
				public static getOrCreateThreadId(context: android.content.Context, recipients: java.util.Set<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 HAS_ATTACHMENT: "has_attachment";
				public static ARCHIVED: "archived";
				public static _ID: "_id";
				public static DATE: "date";
				public static _COUNT: "_count";
				public static SNIPPET_CHARSET: "snippet_cs";
				public static TYPE: "type";
				public static MESSAGE_COUNT: "message_count";
				public static READ: "read";
				public static RECIPIENT_IDS: "recipient_ids";
				public static ERROR: "error";
				public static SNIPPET: "snippet";
			}
		}
	}
}

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: "user_dictionary";
			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: "appid";
				public static CONTENT_ITEM_TYPE: "vnd.android.cursor.item/vnd.google.userword";
				public static CONTENT_TYPE: "vnd.android.cursor.dir/vnd.google.userword";
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: "frequency DESC";
				public static FREQUENCY: "frequency";
				public static LOCALE: "locale";
				public static LOCALE_TYPE_ALL: 0;
				public static LOCALE_TYPE_CURRENT: 1;
				public static SHORTCUT: "shortcut";
				public static WORD: "word";
				public static _ID: "_id";
				/** @deprecated */
				public static addWord(context: android.content.Context, word: string, frequency: number, localeType: number): void;
				public static addWord(context: android.content.Context, word: string, frequency: number, shortcut: string, locale: 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: "android.intent.action.FETCH_VOICEMAIL";
			public static ACTION_NEW_VOICEMAIL: "android.intent.action.NEW_VOICEMAIL";
			public static ACTION_SYNC_VOICEMAIL: "android.provider.action.SYNC_VOICEMAIL";
			public static AUTHORITY: "com.android.voicemail";
			public static EXTRA_PHONE_ACCOUNT_HANDLE: "android.provider.extra.PHONE_ACCOUNT_HANDLE";
			public static EXTRA_SELF_CHANGE: "com.android.voicemail.extra.SELF_CHANGE";
			public static PARAM_KEY_SOURCE_PACKAGE: "source_package";
		}
		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: "configuration_state";
				public static CONFIGURATION_STATE_CAN_BE_CONFIGURED: 2;
				public static CONFIGURATION_STATE_CONFIGURING: 3;
				public static CONFIGURATION_STATE_DISABLED: 5;
				public static CONFIGURATION_STATE_FAILED: 4;
				public static CONFIGURATION_STATE_NOT_CONFIGURED: 1;
				public static CONFIGURATION_STATE_OK: 0;
				public static CONTENT_URI: android.net.Uri;
				public static DATA_CHANNEL_STATE: "data_channel_state";
				public static DATA_CHANNEL_STATE_BAD_CONFIGURATION: 3;
				public static DATA_CHANNEL_STATE_COMMUNICATION_ERROR: 4;
				public static DATA_CHANNEL_STATE_NO_CONNECTION: 1;
				public static DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED: 2;
				public static DATA_CHANNEL_STATE_OK: 0;
				public static DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR: 6;
				public static DATA_CHANNEL_STATE_SERVER_ERROR: 5;
				public static DIR_TYPE: "vnd.android.cursor.dir/voicemail.source.status";
				public static ITEM_TYPE: "vnd.android.cursor.item/voicemail.source.status";
				public static NOTIFICATION_CHANNEL_STATE: "notification_channel_state";
				public static NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING: 2;
				public static NOTIFICATION_CHANNEL_STATE_NO_CONNECTION: 1;
				public static NOTIFICATION_CHANNEL_STATE_OK: 0;
				public static PHONE_ACCOUNT_COMPONENT_NAME: "phone_account_component_name";
				public static PHONE_ACCOUNT_ID: "phone_account_id";
				public static QUOTA_OCCUPIED: "quota_occupied";
				public static QUOTA_TOTAL: "quota_total";
				public static QUOTA_UNAVAILABLE: -1;
				public static SETTINGS_URI: "settings_uri";
				public static SOURCE_PACKAGE: "source_package";
				public static SOURCE_TYPE: "source_type";
				public static VOICEMAIL_ACCESS_URI: "voicemail_access_uri";
				public static buildSourceUri(packageName: 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: "archived";
				public static BACKED_UP: "backed_up";
				public static CONTENT_URI: android.net.Uri;
				public static DATE: "date";
				public static DELETED: "deleted";
				public static DIRTY: "dirty";
				public static DIRTY_RETAIN: -1;
				public static DIR_TYPE: "vnd.android.cursor.dir/voicemails";
				public static DURATION: "duration";
				public static HAS_CONTENT: "has_content";
				public static IS_OMTP_VOICEMAIL: "is_omtp_voicemail";
				public static IS_READ: "is_read";
				public static ITEM_TYPE: "vnd.android.cursor.item/voicemail";
				public static LAST_MODIFIED: "last_modified";
				public static MIME_TYPE: "mime_type";
				public static NEW: "new";
				public static NUMBER: "number";
				public static PHONE_ACCOUNT_COMPONENT_NAME: "subscription_component_name";
				public static PHONE_ACCOUNT_ID: "subscription_id";
				public static RESTORED: "restored";
				public static SOURCE_DATA: "source_data";
				public static SOURCE_PACKAGE: "source_package";
				public static TRANSCRIPTION: "transcription";
				public static buildSourceUri(packageName: 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: 8;
			public static USAGE_GRAPHICS_RENDER_TARGET: 16;
			public static USAGE_GRAPHICS_TEXTURE: 2;
			public static USAGE_GRAPHICS_VERTEX: 4;
			public static USAGE_IO_INPUT: 32;
			public static USAGE_IO_OUTPUT: 64;
			public static USAGE_SCRIPT: 1;
			public static USAGE_SHARED: 128;
			/** @deprecated */
			public setAutoPadding(useAutoPadding: boolean): void;
			/** @deprecated */
			public static createTyped(rs: android.renderscript.RenderScript, type: android.renderscript.Type): android.renderscript.Allocation;
			/** @deprecated */
			public setFromFieldPacker(xoff: number, yoff: number, zoff: number, component_number: number, fp: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public getStride(): number;
			/** @deprecated */
			public static createAllocations(rs: android.renderscript.RenderScript, t: android.renderscript.Type, usage: number, numAlloc: number): androidNative.Array<android.renderscript.Allocation>;
			/** @deprecated */
			public setFromFieldPacker(xoff: number, fp: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public copy2DRangeFrom(xoff: number, yoff: number, w: number, h: number, data: android.renderscript.Allocation, dataXoff: number, dataYoff: number): void;
			/** @deprecated */
			public generateMipmaps(): void;
			/** @deprecated */
			public static createFromBitmap(rs: android.renderscript.RenderScript, b: android.graphics.Bitmap): android.renderscript.Allocation;
			/** @deprecated */
			public destroy(): void;
			/** @deprecated */
			public copy2DRangeFrom(xoff: number, yoff: number, w: number, h: number, data: androidNative.Array<number>): void;
			/** @deprecated */
			public getBytesSize(): number;
			/** @deprecated */
			public copyFromUnchecked(d: androidNative.Array<number>): void;
			/** @deprecated */
			public getElement(): android.renderscript.Element;
			/** @deprecated */
			public getSurface(): android.view.Surface;
			/** @deprecated */
			public copyFrom(d: androidNative.Array<android.renderscript.BaseObj>): void;
			/** @deprecated */
			public copy2DRangeTo(xoff: number, yoff: number, w: number, h: number, array: any): void;
			/** @deprecated */
			public static createCubemapFromCubeFaces(rs: android.renderscript.RenderScript, xpos: android.graphics.Bitmap, xneg: android.graphics.Bitmap, ypos: android.graphics.Bitmap, yneg: android.graphics.Bitmap, zpos: android.graphics.Bitmap, zneg: android.graphics.Bitmap): android.renderscript.Allocation;
			/** @deprecated */
			public copyFrom(a: android.renderscript.Allocation): void;
			/** @deprecated */
			public copy3DRangeFrom(xoff: number, yoff: number, zoff: number, w: number, h: number, d: number, array: any): void;
			/** @deprecated */
			public ioReceive(): void;
			/** @deprecated */
			public copy1DRangeToUnchecked(off: number, count: number, array: any): void;
			/** @deprecated */
			public setFromFieldPacker(xoff: number, component_number: number, fp: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public static createFromBitmapResource(rs: android.renderscript.RenderScript, res: android.content.res.Resources, id: number): android.renderscript.Allocation;
			/** @deprecated */
			public ioSend(): void;
			/** @deprecated */
			public copy1DRangeTo(off: number, count: number, d: androidNative.Array<number>): void;
			/** @deprecated */
			public copyFrom(d: androidNative.Array<number>): void;
			/** @deprecated */
			public copyFromUnchecked(array: any): void;
			/** @deprecated */
			public copy1DRangeTo(off: number, count: number, array: any): void;
			/** @deprecated */
			public copy1DRangeToUnchecked(off: number, count: number, d: androidNative.Array<number>): void;
			/** @deprecated */
			public static createFromBitmap(rs: android.renderscript.RenderScript, b: android.graphics.Bitmap, mips: android.renderscript.Allocation.MipmapControl, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public getUsage(): number;
			/** @deprecated */
			public copy1DRangeFrom(off: number, count: number, array: any): void;
			/** @deprecated */
			public static createCubemapFromBitmap(rs: android.renderscript.RenderScript, b: android.graphics.Bitmap): android.renderscript.Allocation;
			/** @deprecated */
			public static createFromString(rs: android.renderscript.RenderScript, str: string, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public copyTo(array: any): void;
			/** @deprecated */
			public copy2DRangeTo(xoff: number, yoff: number, w: number, h: number, data: androidNative.Array<number>): void;
			/** @deprecated */
			public static createCubemapFromCubeFaces(rs: android.renderscript.RenderScript, xpos: android.graphics.Bitmap, xneg: android.graphics.Bitmap, ypos: android.graphics.Bitmap, yneg: android.graphics.Bitmap, zpos: android.graphics.Bitmap, zneg: android.graphics.Bitmap, mips: android.renderscript.Allocation.MipmapControl, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public copyFrom(array: any): void;
			/** @deprecated */
			public copy1DRangeFromUnchecked(off: number, count: number, array: any): void;
			/** @deprecated */
			public resize(dimX: number): void;
			/** @deprecated */
			public copyFrom(b: android.graphics.Bitmap): void;
			/** @deprecated */
			public static createTyped(rs: android.renderscript.RenderScript, type: android.renderscript.Type, mips: android.renderscript.Allocation.MipmapControl, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public static createTyped(rs: android.renderscript.RenderScript, type: android.renderscript.Type, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public copy3DRangeTo(xoff: number, yoff: number, zoff: number, w: number, h: number, d: number, array: any): void;
			/** @deprecated */
			public copy1DRangeFrom(off: number, count: number, d: androidNative.Array<number>): void;
			/** @deprecated */
			public static createCubemapFromBitmap(rs: android.renderscript.RenderScript, b: android.graphics.Bitmap, mips: android.renderscript.Allocation.MipmapControl, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public syncAll(srcLocation: number): void;
			/** @deprecated */
			public getByteBuffer(): java.nio.ByteBuffer;
			/** @deprecated */
			public copy1DRangeFromUnchecked(off: number, count: number, d: androidNative.Array<number>): void;
			/** @deprecated */
			public copy3DRangeFrom(xoff: number, yoff: number, zoff: number, w: number, h: number, d: number, data: android.renderscript.Allocation, dataXoff: number, dataYoff: number, dataZoff: number): void;
			/** @deprecated */
			public getTimeStamp(): number;
			/** @deprecated */
			public static createSized(rs: android.renderscript.RenderScript, e: android.renderscript.Element, count: number): android.renderscript.Allocation;
			/** @deprecated */
			public setOnBufferAvailableListener(callback: android.renderscript.Allocation.OnBufferAvailableListener): void;
			/** @deprecated */
			public setSurface(sur: android.view.Surface): void;
			/** @deprecated */
			public copy1DRangeFrom(off: number, count: number, data: android.renderscript.Allocation, dataOff: number): void;
			/** @deprecated */
			public copy2DRangeFrom(xoff: number, yoff: number, data: android.graphics.Bitmap): void;
			/** @deprecated */
			public finalize(): void;
			/** @deprecated */
			public copy2DRangeFrom(xoff: number, yoff: number, w: number, h: number, array: any): void;
			/** @deprecated */
			public getType(): android.renderscript.Type;
			/** @deprecated */
			public copyTo(d: androidNative.Array<number>): void;
			/** @deprecated */
			public static createSized(rs: android.renderscript.RenderScript, e: android.renderscript.Element, count: number, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public copyTo(b: android.graphics.Bitmap): void;
			/** @deprecated */
			public static createFromBitmapResource(rs: android.renderscript.RenderScript, res: android.content.res.Resources, id: number, mips: android.renderscript.Allocation.MipmapControl, usage: number): android.renderscript.Allocation;
		}
		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(): androidNative.Array<android.renderscript.Allocation.MipmapControl>;
				public static valueOf(name: string): android.renderscript.Allocation.MipmapControl;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			}
			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();
				/** @deprecated */
				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 static createTyped(rs: android.renderscript.RenderScript, type: android.renderscript.Type, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public setLOD(lod: number): void;
			/** @deprecated */
			public static create2D(rs: android.renderscript.RenderScript, a: android.renderscript.Allocation): android.renderscript.AllocationAdapter;
			/** @deprecated */
			public static createTyped(rs: android.renderscript.RenderScript, type: android.renderscript.Type): android.renderscript.Allocation;
			/** @deprecated */
			public setZ(z: number): void;
			/** @deprecated */
			public static create1D(rs: android.renderscript.RenderScript, a: android.renderscript.Allocation): android.renderscript.AllocationAdapter;
			/** @deprecated */
			public setX(x: number): void;
			/** @deprecated */
			public setY(y: number): void;
			/** @deprecated */
			public resize(dimX: number): void;
			/** @deprecated */
			public setFace(cf: android.renderscript.Type.CubemapFace): void;
			/** @deprecated */
			public static createTyped(rs: android.renderscript.RenderScript, type: android.renderscript.Type, mips: android.renderscript.Allocation.MipmapControl, usage: number): android.renderscript.Allocation;
			/** @deprecated */
			public static createTyped(rs: android.renderscript.RenderScript, a: android.renderscript.Allocation, t: android.renderscript.Type): android.renderscript.AllocationAdapter;
		}
	}
}

declare module android {
	export module renderscript {
		export class BaseObj extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.BaseObj>;
			/** @deprecated */
			public destroy(): void;
			/** @deprecated */
			public equals(obj: any): boolean;
			/** @deprecated */
			public getName(): string;
			/** @deprecated */
			public finalize(): void;
			/** @deprecated */
			public hashCode(): number;
			/** @deprecated */
			public setName(name: string): void;
		}
	}
}

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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(initX: number, initY: 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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(initX: number, initY: number, initZ: number);
		}
	}
}

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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(initX: number, initY: number, initZ: number, initW: 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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: 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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: number, z: number);
		}
	}
}

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;
			/** @deprecated */
			public constructor(x: number, y: number, z: number, w: number);
			/** @deprecated */
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Element extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.Element>;
			/** @deprecated */
			public static RGB_888(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static RGBA_4444(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static createPixel(rs: android.renderscript.RenderScript, dt: android.renderscript.Element.DataType, dk: android.renderscript.Element.DataKind): android.renderscript.Element;
			/** @deprecated */
			public static F16_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static createVector(rs: android.renderscript.RenderScript, dt: android.renderscript.Element.DataType, size: number): android.renderscript.Element;
			/** @deprecated */
			public static U16_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static TYPE(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static SAMPLER(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static SCRIPT(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F64_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U32(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static MATRIX_4X4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static YUV(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static PROGRAM_RASTER(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I32_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public getBytesSize(): number;
			/** @deprecated */
			public static I16_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static FONT(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F64(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I64_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U64(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U16_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F32_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static BOOLEAN(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public getDataType(): android.renderscript.Element.DataType;
			/** @deprecated */
			public static I16_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U8_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F16(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I8_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U64_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U64_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static MATRIX4X4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F32(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public getSubElementName(index: number): string;
			/** @deprecated */
			public static I8_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I64(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I32_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public isCompatible(e: android.renderscript.Element): boolean;
			/** @deprecated */
			public static PROGRAM_VERTEX(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static RGB_565(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F64_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static A_8(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public getSubElementCount(): number;
			/** @deprecated */
			public static I16_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U64_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I32_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public getSubElement(index: number): android.renderscript.Element;
			/** @deprecated */
			public getDataKind(): android.renderscript.Element.DataKind;
			/** @deprecated */
			public static I8_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U16(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I16(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static RGBA_8888(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U8(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F64_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public getSubElementOffsetBytes(index: number): number;
			/** @deprecated */
			public static F16_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public getSubElementArraySize(index: number): number;
			/** @deprecated */
			public static U8_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static ALLOCATION(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I8(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U32_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public isComplex(): boolean;
			/** @deprecated */
			public getVectorSize(): number;
			/** @deprecated */
			public static MESH(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I64_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F32_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static ELEMENT(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U16_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static PROGRAM_FRAGMENT(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static PROGRAM_STORE(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F32_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I32(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U32_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U32_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static I64_4(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static MATRIX_3X3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static RGBA_5551(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static F16_3(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static U8_2(rs: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static MATRIX_2X2(rs: android.renderscript.RenderScript): android.renderscript.Element;
		}
		export module Element {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Element.Builder>;
				/** @deprecated */
				public create(): android.renderscript.Element;
				/** @deprecated */
				public constructor(rs: android.renderscript.RenderScript);
				/** @deprecated */
				public add(element: android.renderscript.Element, name: string, arraySize: number): android.renderscript.Element.Builder;
				/** @deprecated */
				public add(element: android.renderscript.Element, name: string): 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(): androidNative.Array<android.renderscript.Element.DataKind>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.renderscript.Element.DataKind;
			}
			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 values(): androidNative.Array<android.renderscript.Element.DataType>;
				public static valueOf(name: string): android.renderscript.Element.DataType;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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>;
			/** @deprecated */
			public addU16(v: android.renderscript.Int4): void;
			/** @deprecated */
			public subByte4(): android.renderscript.Byte4;
			/** @deprecated */
			public reset(i: number): void;
			/** @deprecated */
			public subInt4(): android.renderscript.Int4;
			/** @deprecated */
			public subBoolean(): boolean;
			/** @deprecated */
			public subInt3(): android.renderscript.Int3;
			/** @deprecated */
			public addU64(v: number): void;
			/** @deprecated */
			public addF32(v: number): void;
			/** @deprecated */
			public addU64(v: android.renderscript.Long2): void;
			/** @deprecated */
			public subalign(v: number): void;
			/** @deprecated */
			public addI8(v: android.renderscript.Byte4): void;
			/** @deprecated */
			public subFloat4(): android.renderscript.Float4;
			/** @deprecated */
			public subI32(): number;
			/** @deprecated */
			public subLong4(): android.renderscript.Long4;
			/** @deprecated */
			public addU16(v: android.renderscript.Int2): void;
			/** @deprecated */
			public addI16(v: android.renderscript.Short3): void;
			/** @deprecated */
			public addI64(v: android.renderscript.Long2): void;
			/** @deprecated */
			public subByte2(): android.renderscript.Byte2;
			/** @deprecated */
			public align(v: number): void;
			/** @deprecated */
			public reset(): void;
			/** @deprecated */
			public subDouble4(): android.renderscript.Double4;
			/** @deprecated */
			public subFloat2(): android.renderscript.Float2;
			/** @deprecated */
			public subF64(): number;
			/** @deprecated */
			public addF32(v: android.renderscript.Float3): void;
			/** @deprecated */
			public subShort3(): android.renderscript.Short3;
			/** @deprecated */
			public addBoolean(v: boolean): void;
			/** @deprecated */
			public addF64(v: number): void;
			/** @deprecated */
			public subLong3(): android.renderscript.Long3;
			/** @deprecated */
			public subMatrix2f(): android.renderscript.Matrix2f;
			/** @deprecated */
			public subI64(): number;
			/** @deprecated */
			public addU32(v: number): void;
			/** @deprecated */
			public subShort4(): android.renderscript.Short4;
			/** @deprecated */
			public addU8(v: android.renderscript.Short3): void;
			/** @deprecated */
			public addU32(v: android.renderscript.Long3): void;
			/** @deprecated */
			public addU64(v: android.renderscript.Long3): void;
			/** @deprecated */
			public addI8(v: android.renderscript.Byte2): void;
			/** @deprecated */
			public addF64(v: android.renderscript.Double3): void;
			/** @deprecated */
			public addI16(v: number): void;
			/** @deprecated */
			public addMatrix(v: android.renderscript.Matrix2f): void;
			/** @deprecated */
			public subDouble3(): android.renderscript.Double3;
			/** @deprecated */
			public subShort2(): android.renderscript.Short2;
			/** @deprecated */
			public addI32(v: android.renderscript.Int3): void;
			/** @deprecated */
			public addMatrix(v: android.renderscript.Matrix3f): void;
			/** @deprecated */
			public addI32(v: android.renderscript.Int4): void;
			/** @deprecated */
			public subFloat3(): android.renderscript.Float3;
			/** @deprecated */
			public addI16(v: android.renderscript.Short2): void;
			/** @deprecated */
			public subMatrix3f(): android.renderscript.Matrix3f;
			/** @deprecated */
			public subByte3(): android.renderscript.Byte3;
			/** @deprecated */
			public subI8(): number;
			/** @deprecated */
			public getData(): androidNative.Array<number>;
			/** @deprecated */
			public addU8(v: android.renderscript.Short4): void;
			/** @deprecated */
			public subF32(): number;
			/** @deprecated */
			public subI16(): number;
			/** @deprecated */
			public addI64(v: android.renderscript.Long3): void;
			/** @deprecated */
			public subDouble2(): android.renderscript.Double2;
			/** @deprecated */
			public skip(i: number): void;
			/** @deprecated */
			public addF32(v: android.renderscript.Float4): void;
			/** @deprecated */
			public addI32(v: number): void;
			/** @deprecated */
			public addU16(v: android.renderscript.Int3): void;
			/** @deprecated */
			public addI16(v: android.renderscript.Short4): void;
			/** @deprecated */
			public addObj(obj: android.renderscript.BaseObj): void;
			/** @deprecated */
			public addF32(v: android.renderscript.Float2): void;
			/** @deprecated */
			public constructor(data: androidNative.Array<number>);
			/** @deprecated */
			public addU8(v: android.renderscript.Short2): void;
			/** @deprecated */
			public subMatrix4f(): android.renderscript.Matrix4f;
			/** @deprecated */
			public addI64(v: number): void;
			/** @deprecated */
			public addI64(v: android.renderscript.Long4): void;
			/** @deprecated */
			public addF64(v: android.renderscript.Double4): void;
			/** @deprecated */
			public addI8(v: android.renderscript.Byte3): void;
			/** @deprecated */
			public subInt2(): android.renderscript.Int2;
			/** @deprecated */
			public addU64(v: android.renderscript.Long4): void;
			/** @deprecated */
			public constructor(len: number);
			/** @deprecated */
			public addU32(v: android.renderscript.Long2): void;
			/** @deprecated */
			public addMatrix(v: android.renderscript.Matrix4f): void;
			/** @deprecated */
			public addI8(v: number): void;
			/** @deprecated */
			public addF64(v: android.renderscript.Double2): void;
			/** @deprecated */
			public addU8(v: number): void;
			/** @deprecated */
			public subLong2(): android.renderscript.Long2;
			/** @deprecated */
			public addI32(v: android.renderscript.Int2): void;
			/** @deprecated */
			public addU16(v: number): void;
			/** @deprecated */
			public addU32(v: android.renderscript.Long4): void;
		}
	}
}

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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: 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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: number, z: number);
		}
	}
}

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;
			/** @deprecated */
			public constructor(x: number, y: number, z: number, w: number);
			/** @deprecated */
			public constructor();
		}
	}
}

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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: 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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: number, z: number);
		}
	}
}

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;
			/** @deprecated */
			public constructor(x: number, y: number, z: number, w: number);
			/** @deprecated */
			public constructor();
		}
	}
}

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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: 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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: number, z: number);
		}
	}
}

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;
			/** @deprecated */
			public constructor(x: number, y: number, z: number, w: number);
			/** @deprecated */
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Matrix2f extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Matrix2f>;
			/** @deprecated */
			public scale(x: number, y: number): void;
			/** @deprecated */
			public load(src: android.renderscript.Matrix2f): void;
			/** @deprecated */
			public get(x: number, y: number): number;
			/** @deprecated */
			public multiply(rhs: android.renderscript.Matrix2f): void;
			/** @deprecated */
			public loadIdentity(): void;
			/** @deprecated */
			public loadScale(x: number, y: number): void;
			/** @deprecated */
			public rotate(rot: number): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public loadMultiply(lhs: android.renderscript.Matrix2f, rhs: android.renderscript.Matrix2f): void;
			/** @deprecated */
			public set(x: number, y: number, v: number): void;
			/** @deprecated */
			public loadRotate(rot: number): void;
			/** @deprecated */
			public transpose(): void;
			/** @deprecated */
			public constructor(dataArray: androidNative.Array<number>);
			/** @deprecated */
			public getArray(): androidNative.Array<number>;
		}
	}
}

declare module android {
	export module renderscript {
		export class Matrix3f extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Matrix3f>;
			/** @deprecated */
			public scale(x: number, y: number): void;
			/** @deprecated */
			public get(x: number, y: number): number;
			/** @deprecated */
			public loadIdentity(): void;
			/** @deprecated */
			public loadScale(x: number, y: number): void;
			/** @deprecated */
			public scale(x: number, y: number, z: number): void;
			/** @deprecated */
			public load(src: android.renderscript.Matrix3f): void;
			/** @deprecated */
			public multiply(rhs: android.renderscript.Matrix3f): void;
			/** @deprecated */
			public loadScale(x: number, y: number, z: number): void;
			/** @deprecated */
			public loadRotate(rot: number, x: number, y: number, z: number): void;
			/** @deprecated */
			public loadMultiply(lhs: android.renderscript.Matrix3f, rhs: android.renderscript.Matrix3f): void;
			/** @deprecated */
			public rotate(rot: number): void;
			/** @deprecated */
			public loadTranslate(x: number, y: number): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public set(x: number, y: number, v: number): void;
			/** @deprecated */
			public loadRotate(rot: number): void;
			/** @deprecated */
			public rotate(rot: number, x: number, y: number, z: number): void;
			/** @deprecated */
			public translate(x: number, y: number): void;
			/** @deprecated */
			public transpose(): void;
			/** @deprecated */
			public constructor(dataArray: androidNative.Array<number>);
			/** @deprecated */
			public getArray(): androidNative.Array<number>;
		}
	}
}

declare module android {
	export module renderscript {
		export class Matrix4f extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Matrix4f>;
			/** @deprecated */
			public loadOrthoWindow(w: number, h: number): void;
			/** @deprecated */
			public loadFrustum(l: number, r: number, b: number, t: number, n: number, f: number): void;
			/** @deprecated */
			public multiply(rhs: android.renderscript.Matrix4f): void;
			/** @deprecated */
			public loadTranslate(x: number, y: number, z: number): void;
			/** @deprecated */
			public loadOrtho(l: number, r: number, b: number, t: number, n: number, f: number): void;
			/** @deprecated */
			public get(x: number, y: number): number;
			/** @deprecated */
			public loadIdentity(): void;
			/** @deprecated */
			public scale(x: number, y: number, z: number): void;
			/** @deprecated */
			public loadScale(x: number, y: number, z: number): void;
			/** @deprecated */
			public loadRotate(rot: number, x: number, y: number, z: number): void;
			/** @deprecated */
			public load(src: android.renderscript.Matrix4f): void;
			/** @deprecated */
			public loadProjectionNormalized(w: number, h: number): void;
			/** @deprecated */
			public translate(x: number, y: number, z: number): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public loadMultiply(lhs: android.renderscript.Matrix4f, rhs: android.renderscript.Matrix4f): void;
			/** @deprecated */
			public set(x: number, y: number, v: number): void;
			/** @deprecated */
			public rotate(rot: number, x: number, y: number, z: number): void;
			/** @deprecated */
			public inverseTranspose(): boolean;
			/** @deprecated */
			public transpose(): void;
			/** @deprecated */
			public constructor(dataArray: androidNative.Array<number>);
			/** @deprecated */
			public loadPerspective(fovy: number, aspect: number, near: number, far: number): void;
			/** @deprecated */
			public getArray(): androidNative.Array<number>;
			/** @deprecated */
			public inverse(): boolean;
		}
	}
}

declare module android {
	export module renderscript {
		export class RSDriverException extends android.renderscript.RSRuntimeException {
			public static class: java.lang.Class<android.renderscript.RSDriverException>;
			/** @deprecated */
			public constructor(string: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class RSIllegalArgumentException extends android.renderscript.RSRuntimeException {
			public static class: java.lang.Class<android.renderscript.RSIllegalArgumentException>;
			/** @deprecated */
			public constructor(string: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class RSInvalidStateException extends android.renderscript.RSRuntimeException {
			public static class: java.lang.Class<android.renderscript.RSInvalidStateException>;
			/** @deprecated */
			public constructor(string: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class RSRuntimeException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.renderscript.RSRuntimeException>;
			/** @deprecated */
			public constructor(string: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: 2;
			public static CREATE_FLAG_LOW_POWER: 4;
			public static CREATE_FLAG_NONE: 0;
			/** @deprecated */
			public setErrorHandler(msg: android.renderscript.RenderScript.RSErrorHandler): void;
			/** @deprecated */
			public static getMinorVersion(): number;
			/** @deprecated */
			public static create(ctx: android.content.Context, ct: android.renderscript.RenderScript.ContextType, flags: number): android.renderscript.RenderScript;
			/** @deprecated */
			public finish(): void;
			/** @deprecated */
			public getErrorHandler(): android.renderscript.RenderScript.RSErrorHandler;
			/** @deprecated */
			public setMessageHandler(msg: android.renderscript.RenderScript.RSMessageHandler): void;
			/** @deprecated */
			public destroy(): void;
			/** @deprecated */
			public static create(ctx: android.content.Context): android.renderscript.RenderScript;
			/** @deprecated */
			public getMessageHandler(): android.renderscript.RenderScript.RSMessageHandler;
			/** @deprecated */
			public setPriority(p: android.renderscript.RenderScript.Priority): void;
			/** @deprecated */
			public static releaseAllContexts(): void;
			/** @deprecated */
			public sendMessage(id: number, data: androidNative.Array<number>): void;
			/** @deprecated */
			public static create(ctx: android.content.Context, ct: android.renderscript.RenderScript.ContextType): android.renderscript.RenderScript;
			/** @deprecated */
			public finalize(): void;
			/** @deprecated */
			public static createMultiContext(ctx: android.content.Context, ct: android.renderscript.RenderScript.ContextType, flags: number, API_number: number): android.renderscript.RenderScript;
			/** @deprecated */
			public contextDump(): void;
			/** @deprecated */
			public getApplicationContext(): android.content.Context;
		}
		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 valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.renderscript.RenderScript.ContextType;
				public static values(): androidNative.Array<android.renderscript.RenderScript.ContextType>;
			}
			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 valueOf(name: string): android.renderscript.RenderScript.Priority;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.renderscript.RenderScript.Priority>;
			}
			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;
				/** @deprecated */
				public constructor();
				public run(): void;
				/** @deprecated */
				public run(): void;
			}
			export class RSMessageHandler extends java.lang.Object implements java.lang.Runnable {
				public static class: java.lang.Class<android.renderscript.RenderScript.RSMessageHandler>;
				public mData: androidNative.Array<number>;
				public mID: number;
				public mLength: number;
				/** @deprecated */
				public constructor();
				public run(): void;
				/** @deprecated */
				public run(): void;
			}
		}
	}
}

declare module android {
	export module renderscript {
		export class Sampler extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.Sampler>;
			/** @deprecated */
			public getWrapS(): android.renderscript.Sampler.Value;
			/** @deprecated */
			public getAnisotropy(): number;
			/** @deprecated */
			public static WRAP_LINEAR_MIP_LINEAR(rs: android.renderscript.RenderScript): android.renderscript.Sampler;
			/** @deprecated */
			public getMinification(): android.renderscript.Sampler.Value;
			/** @deprecated */
			public static MIRRORED_REPEAT_NEAREST(rs: android.renderscript.RenderScript): android.renderscript.Sampler;
			/** @deprecated */
			public getWrapT(): android.renderscript.Sampler.Value;
			/** @deprecated */
			public static CLAMP_LINEAR_MIP_LINEAR(rs: android.renderscript.RenderScript): android.renderscript.Sampler;
			/** @deprecated */
			public static WRAP_LINEAR(rs: android.renderscript.RenderScript): android.renderscript.Sampler;
			/** @deprecated */
			public static WRAP_NEAREST(rs: android.renderscript.RenderScript): android.renderscript.Sampler;
			/** @deprecated */
			public getMagnification(): android.renderscript.Sampler.Value;
			/** @deprecated */
			public static CLAMP_LINEAR(rs: android.renderscript.RenderScript): android.renderscript.Sampler;
			/** @deprecated */
			public static CLAMP_NEAREST(rs: android.renderscript.RenderScript): android.renderscript.Sampler;
			/** @deprecated */
			public static MIRRORED_REPEAT_LINEAR(rs: android.renderscript.RenderScript): android.renderscript.Sampler;
			/** @deprecated */
			public static MIRRORED_REPEAT_LINEAR_MIP_LINEAR(rs: 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>;
				/** @deprecated */
				public create(): android.renderscript.Sampler;
				/** @deprecated */
				public setWrapT(v: android.renderscript.Sampler.Value): void;
				/** @deprecated */
				public setMinification(v: android.renderscript.Sampler.Value): void;
				/** @deprecated */
				public constructor(rs: android.renderscript.RenderScript);
				/** @deprecated */
				public setMagnification(v: android.renderscript.Sampler.Value): void;
				/** @deprecated */
				public setWrapS(v: android.renderscript.Sampler.Value): void;
				/** @deprecated */
				public setAnisotropy(v: number): 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 valueOf(name: string): android.renderscript.Sampler.Value;
				public static values(): androidNative.Array<android.renderscript.Sampler.Value>;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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>;
			/** @deprecated */
			public createFieldID(slot: number, e: android.renderscript.Element): android.renderscript.Script.FieldID;
			/** @deprecated */
			public setVar(index: number, v: number): void;
			/** @deprecated */
			public setVar(index: number, v: android.renderscript.FieldPacker, e: android.renderscript.Element, dims: androidNative.Array<number>): void;
			/** @deprecated */
			public getVarJ(index: number): number;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public getVarD(index: number): number;
			/** @deprecated */
			public invoke(slot: number, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public getVarB(index: number): boolean;
			/** @deprecated */
			public bindAllocation(va: android.renderscript.Allocation, slot: number): void;
			/** @deprecated */
			public getVarF(index: number): number;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public createKernelID(slot: number, sig: number, ein: android.renderscript.Element, eout: android.renderscript.Element): android.renderscript.Script.KernelID;
			/** @deprecated */
			public setVar(index: number, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public getVarI(index: number): number;
			/** @deprecated */
			public getVarV(index: number, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public createInvokeID(slot: number): android.renderscript.Script.InvokeID;
			/** @deprecated */
			public setVar(index: number, o: android.renderscript.BaseObj): void;
			/** @deprecated */
			public setTimeZone(timeZone: string): void;
			/** @deprecated */
			public invoke(slot: number): void;
			/** @deprecated */
			public reduce(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public setVar(index: number, v: boolean): 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;
				/** @deprecated */
				public getType(): android.renderscript.Type;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public init(rs: android.renderscript.RenderScript, dimx: number): void;
				/** @deprecated */
				public updateAllocation(): void;
				/** @deprecated */
				public getElement(): android.renderscript.Element;
				/** @deprecated */
				public getAllocation(): android.renderscript.Allocation;
				/** @deprecated */
				public init(rs: android.renderscript.RenderScript, dimx: number, usages: number): void;
			}
			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>;
				/** @deprecated */
				public setY(ystartArg: number, yendArg: number): android.renderscript.Script.LaunchOptions;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public getXStart(): number;
				/** @deprecated */
				public setX(xstartArg: number, xendArg: number): android.renderscript.Script.LaunchOptions;
				/** @deprecated */
				public getYStart(): number;
				/** @deprecated */
				public setZ(zstartArg: number, zendArg: number): android.renderscript.Script.LaunchOptions;
				/** @deprecated */
				public getZEnd(): number;
				/** @deprecated */
				public getYEnd(): number;
				/** @deprecated */
				public getXEnd(): number;
				/** @deprecated */
				public getZStart(): number;
			}
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptC extends android.renderscript.Script {
			public static class: java.lang.Class<android.renderscript.ScriptC>;
			/** @deprecated */
			public constructor(id: number, rs: android.renderscript.RenderScript);
			/** @deprecated */
			public constructor(rs: android.renderscript.RenderScript, resources: android.content.res.Resources, resourceID: number);
			/** @deprecated */
			public constructor(rs: android.renderscript.RenderScript, resName: string, bitcode32: androidNative.Array<number>, bitcode64: androidNative.Array<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 destroy(): void;
			/** @deprecated */
			public setOutput(s: android.renderscript.Script.KernelID, a: android.renderscript.Allocation): void;
			/** @deprecated */
			public execute(inputs: androidNative.Array<any>): androidNative.Array<any>;
			/** @deprecated */
			public setInput(s: android.renderscript.Script.KernelID, a: 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>;
				/** @deprecated */
				public constructor(field: android.renderscript.Script.FieldID, value: any);
			}
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Builder>;
				/** @deprecated */
				public create(): android.renderscript.ScriptGroup;
				/** @deprecated */
				public constructor(rs: android.renderscript.RenderScript);
				/** @deprecated */
				public addKernel(k: android.renderscript.Script.KernelID): android.renderscript.ScriptGroup.Builder;
				/** @deprecated */
				public addConnection(t: android.renderscript.Type, from: android.renderscript.Script.KernelID, to: android.renderscript.Script.KernelID): android.renderscript.ScriptGroup.Builder;
				/** @deprecated */
				public addConnection(t: android.renderscript.Type, from: android.renderscript.Script.KernelID, to: android.renderscript.Script.FieldID): android.renderscript.ScriptGroup.Builder;
			}
			export class Builder2 extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Builder2>;
				/** @deprecated */
				public create(name: string, outputs: androidNative.Array<android.renderscript.ScriptGroup.Future>): android.renderscript.ScriptGroup;
				/** @deprecated */
				public addKernel(k: android.renderscript.Script.KernelID, returnType: android.renderscript.Type, argsAndBindings: androidNative.Array<any>): android.renderscript.ScriptGroup.Closure;
				/** @deprecated */
				public constructor(rs: android.renderscript.RenderScript);
				/** @deprecated */
				public addInput(): android.renderscript.ScriptGroup.Input;
				/** @deprecated */
				public addInvoke(invoke: android.renderscript.Script.InvokeID, argsAndBindings: androidNative.Array<any>): android.renderscript.ScriptGroup.Closure;
			}
			export class Closure extends android.renderscript.BaseObj {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Closure>;
				/** @deprecated */
				public getReturn(): android.renderscript.ScriptGroup.Future;
				/** @deprecated */
				public finalize(): void;
				/** @deprecated */
				public getGlobal(field: android.renderscript.Script.FieldID): android.renderscript.ScriptGroup.Future;
				/** @deprecated */
				public destroy(): void;
			}
			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>;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public setLUT(lut: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public forEach(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsic3DLUT;
			/** @deprecated */
			public getKernelID(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public forEach(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: 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: 113;
			public static LEFT: 141;
			public static LOWER: 122;
			public static NON_UNIT: 131;
			public static NO_TRANSPOSE: 111;
			public static RIGHT: 142;
			public static TRANSPOSE: 112;
			public static UNIT: 132;
			public static UPPER: 121;
			/** @deprecated */
			public DTBSV(Uplo: number, TransA: number, Diag: number, K: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CHPR2(Uplo: number, alpha: android.renderscript.Float2, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, Ap: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZHEMV(Uplo: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Double2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DSYR2(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZHPMV(Uplo: number, alpha: android.renderscript.Double2, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Double2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public ZTRMM(Side: number, Uplo: number, TransA: number, Diag: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, B: android.renderscript.Allocation): void;
			/** @deprecated */
			public CGBMV(TransA: number, KL: number, KU: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Float2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public ZSYRK(Uplo: number, Trans: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, beta: android.renderscript.Double2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public CTBSV(Uplo: number, TransA: number, Diag: number, K: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CTRSV(Uplo: number, TransA: number, Diag: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public ZTPMV(Uplo: number, TransA: number, Diag: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public SGER(alpha: number, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public STPSV(Uplo: number, TransA: number, Diag: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public DSBMV(Uplo: number, K: number, alpha: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public ZHPR(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, Ap: android.renderscript.Allocation): void;
			/** @deprecated */
			public CTPSV(Uplo: number, TransA: number, Diag: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CHPMV(Uplo: number, alpha: android.renderscript.Float2, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Float2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public CHER2(Uplo: number, alpha: android.renderscript.Float2, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public CGERU(alpha: android.renderscript.Float2, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public STRMM(Side: number, Uplo: number, TransA: number, Diag: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZHER2K(Uplo: number, Trans: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public DTRMM(Side: number, Uplo: number, TransA: number, Diag: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation): void;
			/** @deprecated */
			public DSYMV(Uplo: number, alpha: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DGER(alpha: number, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public DSYRK(Uplo: number, Trans: number, alpha: number, A: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public CHPR(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, Ap: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZHEMM(Side: number, Uplo: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: android.renderscript.Double2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public DGEMV(TransA: number, alpha: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DTPSV(Uplo: number, TransA: number, Diag: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CHER(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public SSPR2(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, Ap: android.renderscript.Allocation): void;
			/** @deprecated */
			public SSYMV(Uplo: number, alpha: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public STRSM(Side: number, Uplo: number, TransA: number, Diag: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZGERC(alpha: android.renderscript.Double2, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public CSYRK(Uplo: number, Trans: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, beta: android.renderscript.Float2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public SGEMV(TransA: number, alpha: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DTBMV(Uplo: number, TransA: number, Diag: number, K: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public ZHBMV(Uplo: number, K: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Double2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DSPR(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, Ap: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZGERU(alpha: android.renderscript.Double2, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZGBMV(TransA: number, KL: number, KU: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Double2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public SSYMM(Side: number, Uplo: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZTBMV(Uplo: number, TransA: number, Diag: number, K: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public DTRMV(Uplo: number, TransA: number, Diag: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public ZSYR2K(Uplo: number, Trans: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: android.renderscript.Double2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public CTBMV(Uplo: number, TransA: number, Diag: number, K: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CTRMM(Side: number, Uplo: number, TransA: number, Diag: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, B: android.renderscript.Allocation): void;
			/** @deprecated */
			public STBMV(Uplo: number, TransA: number, Diag: number, K: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public STPMV(Uplo: number, TransA: number, Diag: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public ZSYMM(Side: number, Uplo: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: android.renderscript.Double2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public DSYR2K(Uplo: number, Trans: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public DSPR2(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, Ap: android.renderscript.Allocation): void;
			/** @deprecated */
			public CTRSM(Side: number, Uplo: number, TransA: number, Diag: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, B: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZHER2(Uplo: number, alpha: android.renderscript.Double2, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public STRSV(Uplo: number, TransA: number, Diag: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public ZHER(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public BNNM(A: android.renderscript.Allocation, a_offset: number, B: android.renderscript.Allocation, b_offset: number, C: android.renderscript.Allocation, c_offset: number, c_mult: number): void;
			/** @deprecated */
			public DSYMM(Side: number, Uplo: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public SGBMV(TransA: number, KL: number, KU: number, alpha: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DTRSV(Uplo: number, TransA: number, Diag: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CGEMV(TransA: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Float2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public CHEMV(Uplo: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Float2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DGBMV(TransA: number, KL: number, KU: number, alpha: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public ZTRMV(Uplo: number, TransA: number, Diag: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CHERK(Uplo: number, Trans: number, alpha: number, A: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public SSYRK(Uplo: number, Trans: number, alpha: number, A: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public SSYR(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZTRSV(Uplo: number, TransA: number, Diag: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public ZHERK(Uplo: number, Trans: number, alpha: number, A: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public SGEMM(TransA: number, TransB: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public STRMV(Uplo: number, TransA: number, Diag: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CHBMV(Uplo: number, K: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Float2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript): android.renderscript.ScriptIntrinsicBLAS;
			/** @deprecated */
			public DSPMV(Uplo: number, alpha: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DTRSM(Side: number, Uplo: number, TransA: number, Diag: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation): void;
			/** @deprecated */
			public CHEMM(Side: number, Uplo: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: android.renderscript.Float2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public SSYR2K(Uplo: number, Trans: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public CGERC(alpha: android.renderscript.Float2, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public STBSV(Uplo: number, TransA: number, Diag: number, K: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public DSYR(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public SSPR(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, Ap: android.renderscript.Allocation): void;
			/** @deprecated */
			public CSYMM(Side: number, Uplo: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: android.renderscript.Float2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public CSYR2K(Uplo: number, Trans: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: android.renderscript.Float2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public CGEMM(TransA: number, TransB: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: android.renderscript.Float2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZGEMM(TransA: number, TransB: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: android.renderscript.Double2, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public SSYR2(Uplo: number, alpha: number, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, A: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZTRSM(Side: number, Uplo: number, TransA: number, Diag: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, B: android.renderscript.Allocation): void;
			/** @deprecated */
			public CTPMV(Uplo: number, TransA: number, Diag: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public ZHPR2(Uplo: number, alpha: android.renderscript.Double2, X: android.renderscript.Allocation, incX: number, Y: android.renderscript.Allocation, incY: number, Ap: android.renderscript.Allocation): void;
			/** @deprecated */
			public ZTBSV(Uplo: number, TransA: number, Diag: number, K: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public ZTPSV(Uplo: number, TransA: number, Diag: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public CHER2K(Uplo: number, Trans: number, alpha: android.renderscript.Float2, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: number, C: android.renderscript.Allocation): void;
			/** @deprecated */
			public DTPMV(Uplo: number, TransA: number, Diag: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public SSPMV(Uplo: number, alpha: number, Ap: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public ZGEMV(TransA: number, alpha: android.renderscript.Double2, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: android.renderscript.Double2, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public CTRMV(Uplo: number, TransA: number, Diag: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number): void;
			/** @deprecated */
			public SSBMV(Uplo: number, K: number, alpha: number, A: android.renderscript.Allocation, X: android.renderscript.Allocation, incX: number, beta: number, Y: android.renderscript.Allocation, incY: number): void;
			/** @deprecated */
			public DGEMM(TransA: number, TransB: number, alpha: number, A: android.renderscript.Allocation, B: android.renderscript.Allocation, beta: number, C: 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>;
			/** @deprecated */
			public getKernelIDSrcOut(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachAdd(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public getKernelIDDstOver(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsicBlend;
			/** @deprecated */
			public forEachSrcIn(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachDstIn(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getKernelIDSubtract(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public getKernelIDXor(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachDst(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public getKernelIDSrcIn(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachSubtract(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachMultiply(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getKernelIDSrc(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachMultiply(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public getKernelIDSrcOver(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachSrc(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachDstOver(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getKernelIDDstIn(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachSrcOut(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachClear(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachDstOut(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachSrcIn(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public getKernelIDMultiply(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachXor(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachAdd(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachSrcOut(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getKernelIDAdd(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public getKernelIDDstAtop(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachDstAtop(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachXor(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getKernelIDDstOut(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachClear(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachDstOut(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachSrcAtop(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachSrcOver(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachDstOver(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachDstIn(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEachDst(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachSrcOver(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachSubtract(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEachSrc(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getKernelIDSrcAtop(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public getKernelIDClear(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachSrcAtop(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public getKernelIDDst(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEachDstAtop(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: 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>;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public setRadius(radius: number): void;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsicBlur;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public forEach(aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			/** @deprecated */
			public setInput(ain: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEach(aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public getKernelID(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicColorMatrix extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicColorMatrix>;
			/** @deprecated */
			public setAdd(r: number, g: number, b: number, a: number): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public setColorMatrix(m: android.renderscript.Matrix4f): void;
			/** @deprecated */
			public forEach(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public setRGBtoYUV(): void;
			/** @deprecated */
			public setYUVtoRGB(): void;
			/** @deprecated */
			public forEach(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public setGreyscale(): void;
			/** @deprecated */
			public getKernelID(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public setColorMatrix(m: android.renderscript.Matrix3f): void;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsicColorMatrix;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript): android.renderscript.ScriptIntrinsicColorMatrix;
			/** @deprecated */
			public setAdd(f: android.renderscript.Float4): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicConvolve3x3 extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicConvolve3x3>;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsicConvolve3x3;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public setCoefficients(v: androidNative.Array<number>): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public forEach(aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			/** @deprecated */
			public setInput(ain: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEach(aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public getKernelID(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicConvolve5x5 extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicConvolve5x5>;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsicConvolve5x5;
			/** @deprecated */
			public setCoefficients(v: androidNative.Array<number>): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public forEach(aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			/** @deprecated */
			public setInput(ain: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEach(aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public getKernelID(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicHistogram extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicHistogram>;
			/** @deprecated */
			public forEach_Dot(ain: android.renderscript.Allocation): void;
			/** @deprecated */
			public getKernelID_Separate(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public setOutput(aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			/** @deprecated */
			public forEach(ain: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach_Dot(ain: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public setDotCoefficients(r: number, g: number, b: number, a: number): void;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsicHistogram;
			/** @deprecated */
			public forEach(ain: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicLUT extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicLUT>;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public forEach(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public setGreen(index: number, value: number): void;
			/** @deprecated */
			public setAlpha(index: number, value: number): void;
			/** @deprecated */
			public forEach(ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, opt: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public destroy(): void;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsicLUT;
			/** @deprecated */
			public setRed(index: number, value: number): void;
			/** @deprecated */
			public setBlue(index: number, value: number): void;
			/** @deprecated */
			public getKernelID(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicResize extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicResize>;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript): android.renderscript.ScriptIntrinsicResize;
			/** @deprecated */
			public getKernelID_bicubic(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			/** @deprecated */
			public setInput(ain: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEach_bicubic(aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public forEach_bicubic(aout: android.renderscript.Allocation, opt: 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>;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker, sc: android.renderscript.Script.LaunchOptions): void;
			/** @deprecated */
			public static create(rs: android.renderscript.RenderScript, e: android.renderscript.Element): android.renderscript.ScriptIntrinsicYuvToRGB;
			/** @deprecated */
			public forEach(slot: number, ains: androidNative.Array<android.renderscript.Allocation>, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): void;
			/** @deprecated */
			public forEach(aout: android.renderscript.Allocation): void;
			/** @deprecated */
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			/** @deprecated */
			public setInput(ain: android.renderscript.Allocation): void;
			/** @deprecated */
			public getKernelID(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public forEach(slot: number, ain: android.renderscript.Allocation, aout: android.renderscript.Allocation, v: android.renderscript.FieldPacker): 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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: 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;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(x: number, y: number, z: number);
		}
	}
}

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;
			/** @deprecated */
			public constructor(x: number, y: number, z: number, w: number);
			/** @deprecated */
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Type extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.Type>;
			/** @deprecated */
			public static createX(rs: android.renderscript.RenderScript, e: android.renderscript.Element, dimX: number): android.renderscript.Type;
			/** @deprecated */
			public getY(): number;
			/** @deprecated */
			public static createXY(rs: android.renderscript.RenderScript, e: android.renderscript.Element, dimX: number, dimY: number): android.renderscript.Type;
			/** @deprecated */
			public getZ(): number;
			/** @deprecated */
			public getElement(): android.renderscript.Element;
			/** @deprecated */
			public getX(): number;
			/** @deprecated */
			public hasFaces(): boolean;
			/** @deprecated */
			public getYuv(): number;
			/** @deprecated */
			public getCount(): number;
			/** @deprecated */
			public hasMipmaps(): boolean;
			/** @deprecated */
			public static createXYZ(rs: android.renderscript.RenderScript, e: android.renderscript.Element, dimX: number, dimY: number, dimZ: number): android.renderscript.Type;
		}
		export module Type {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Type.Builder>;
				/** @deprecated */
				public setZ(value: number): android.renderscript.Type.Builder;
				/** @deprecated */
				public setYuvFormat(yuvFormat: number): android.renderscript.Type.Builder;
				/** @deprecated */
				public setX(value: number): android.renderscript.Type.Builder;
				/** @deprecated */
				public setFaces(value: boolean): android.renderscript.Type.Builder;
				/** @deprecated */
				public setY(value: number): android.renderscript.Type.Builder;
				/** @deprecated */
				public create(): android.renderscript.Type;
				/** @deprecated */
				public constructor(rs: android.renderscript.RenderScript, e: android.renderscript.Element);
				/** @deprecated */
				public setMipmaps(value: boolean): 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 valueOf(name: string): android.renderscript.Type.CubemapFace;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.renderscript.Type.CubemapFace>;
			}
		}
	}
}

declare module android {
	export module sax {
		export class Element extends java.lang.Object {
			public static class: java.lang.Class<android.sax.Element>;
			public setEndElementListener(endElementListener: android.sax.EndElementListener): void;
			public toString(): string;
			public setStartElementListener(startElementListener: android.sax.StartElementListener): void;
			public requireChild(uri: string, localName: string): android.sax.Element;
			public setTextElementListener(elementListener: android.sax.TextElementListener): void;
			public requireChild(localName: string): android.sax.Element;
			public getChild(localName: string): android.sax.Element;
			public getChild(uri: string, localName: string): android.sax.Element;
			public setEndTextElementListener(endTextElementListener: android.sax.EndTextElementListener): void;
			public setElementListener(elementListener: android.sax.ElementListener): 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(uri: string, localName: string);
			public constructor(localName: 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 getSelectResponse(): androidNative.Array<number>;
				public close(): void;
				public isBasicChannel(): boolean;
				public selectNext(): boolean;
				public transmit(command: androidNative.Array<number>): androidNative.Array<number>;
				public isOpen(): boolean;
				public getSession(): android.se.omapi.Session;
			}
		}
	}
}

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 static ACTION_SECURE_ELEMENT_STATE_CHANGED: "android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED";
				public static EXTRA_READER_NAME: "android.se.omapi.extra.READER_NAME";
				public static EXTRA_READER_STATE: "android.se.omapi.extra.READER_STATE";
				public getVersion(): string;
				public isConnected(): boolean;
				public shutdown(): void;
				public getUiccReader(slotNumber: number): android.se.omapi.Reader;
				public constructor(context: android.content.Context, executor: java.util.concurrent.Executor, listener: android.se.omapi.SEService.OnConnectedListener);
				public getReaders(): androidNative.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 getATR(): androidNative.Array<number>;
				public close(): void;
				public openBasicChannel(aid: androidNative.Array<number>, p2: number): android.se.omapi.Channel;
				public closeChannels(): void;
				public openLogicalChannel(aid: androidNative.Array<number>): android.se.omapi.Channel;
				public getReader(): android.se.omapi.Reader;
				public isClosed(): boolean;
				public openLogicalChannel(aid: androidNative.Array<number>, p2: number): android.se.omapi.Channel;
				public openBasicChannel(aid: androidNative.Array<number>): android.se.omapi.Channel;
			}
		}
	}
}

declare module android {
	export module security {
		export class AppUriAuthenticationPolicy extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.security.AppUriAuthenticationPolicy>;
			public static CREATOR: android.os.Parcelable.Creator<android.security.AppUriAuthenticationPolicy>;
			public toString(): string;
			public getAppAndUriMappings(): java.util.Map<string,java.util.Map<android.net.Uri,string>>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module AppUriAuthenticationPolicy {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.security.AppUriAuthenticationPolicy.Builder>;
				public build(): android.security.AppUriAuthenticationPolicy;
				public addAppAndUriMapping(appPackageName: string, uri: android.net.Uri, alias: string): android.security.AppUriAuthenticationPolicy.Builder;
				public constructor();
			}
		}
	}
}

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 constructor(keyPair: java.security.KeyPair, attestationRecord: java.util.List<java.security.cert.Certificate>);
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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(dataThatWasConfirmed: androidNative.Array<number>): void;
			public onDismissed(): void;
			public constructor();
			public onCanceled(): void;
			public onError(e: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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(context: android.content.Context): boolean;
			public cancelPrompt(): void;
			public presentPrompt(executor: java.util.concurrent.Executor, callback: android.security.ConfirmationCallback): 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 setExtraData(extraData: androidNative.Array<number>): android.security.ConfirmationPrompt.Builder;
				public constructor(context: android.content.Context);
				public setPromptText(promptText: string): android.security.ConfirmationPrompt.Builder;
			}
		}
	}
}

declare module android {
	export module security {
		export class FileIntegrityManager extends java.lang.Object {
			public static class: java.lang.Class<android.security.FileIntegrityManager>;
			public isApkVeritySupported(): boolean;
			/** @deprecated */
			public isAppSourceCertificateTrusted(certificate: java.security.cert.X509Certificate): boolean;
		}
	}
}

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: "android.security.action.KEYCHAIN_CHANGED";
			public static ACTION_KEY_ACCESS_CHANGED: "android.security.action.KEY_ACCESS_CHANGED";
			public static ACTION_STORAGE_CHANGED: "android.security.STORAGE_CHANGED";
			public static ACTION_TRUST_STORE_CHANGED: "android.security.action.TRUST_STORE_CHANGED";
			public static EXTRA_CERTIFICATE: "CERT";
			public static EXTRA_KEY_ACCESSIBLE: "android.security.extra.KEY_ACCESSIBLE";
			public static EXTRA_KEY_ALIAS: "android.security.extra.KEY_ALIAS";
			public static EXTRA_NAME: "name";
			public static EXTRA_PKCS12: "PKCS12";
			public static KEY_ALIAS_SELECTION_DENIED: "android:alias-selection-denied";
			public static getPrivateKey(context: android.content.Context, alias: string): java.security.PrivateKey;
			public static createInstallIntent(): android.content.Intent;
			public static choosePrivateKeyAlias(activity: android.app.Activity, response: android.security.KeyChainAliasCallback, keyTypes: androidNative.Array<string>, issuers: androidNative.Array<java.security.Principal>, uri: android.net.Uri, alias: string): void;
			public static getCredentialManagementAppPolicy(context: android.content.Context): android.security.AppUriAuthenticationPolicy;
			public static createManageCredentialsIntent(policy: android.security.AppUriAuthenticationPolicy): android.content.Intent;
			public static choosePrivateKeyAlias(activity: android.app.Activity, response: android.security.KeyChainAliasCallback, keyTypes: androidNative.Array<string>, issuers: androidNative.Array<java.security.Principal>, host: string, port: number, alias: string): void;
			public static isCredentialManagementApp(context: android.content.Context): boolean;
			public static isKeyAlgorithmSupported(algorithm: string): boolean;
			public constructor();
			public static removeCredentialManagementApp(context: android.content.Context): boolean;
			/** @deprecated */
			public static isBoundKeyAlgorithm(algorithm: string): boolean;
			public static getCertificateChain(context: android.content.Context, alias: string): androidNative.Array<java.security.cert.X509Certificate>;
		}
	}
}

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(message: string);
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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>;
			/** @deprecated */
			public getAlgorithmParameterSpec(): java.security.spec.AlgorithmParameterSpec;
			/** @deprecated */
			public getKeystoreAlias(): string;
			/** @deprecated */
			public getSubjectDN(): javax.security.auth.x500.X500Principal;
			/** @deprecated */
			public getKeySize(): number;
			/** @deprecated */
			public getEndDate(): java.util.Date;
			/** @deprecated */
			public isEncryptionRequired(): boolean;
			/** @deprecated */
			public getSerialNumber(): java.math.BigInteger;
			/** @deprecated */
			public getStartDate(): java.util.Date;
			/** @deprecated */
			public getContext(): android.content.Context;
			/** @deprecated */
			public getKeyType(): string;
		}
		export module KeyPairGeneratorSpec {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.security.KeyPairGeneratorSpec.Builder>;
				/** @deprecated */
				public setSubject(subject: javax.security.auth.x500.X500Principal): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public setSerialNumber(serialNumber: java.math.BigInteger): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public setKeyType(keyType: string): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public setEncryptionRequired(): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public constructor(context: android.content.Context);
				/** @deprecated */
				public setEndDate(endDate: java.util.Date): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public setAlgorithmParameterSpec(spec: java.security.spec.AlgorithmParameterSpec): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public setAlias(alias: string): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public setStartDate(startDate: java.util.Date): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public setKeySize(keySize: number): android.security.KeyPairGeneratorSpec.Builder;
				/** @deprecated */
				public build(): android.security.KeyPairGeneratorSpec;
			}
		}
	}
}

declare module android {
	export module security {
		export class KeyStoreException extends java.lang.Exception {
			public static class: java.lang.Class<android.security.KeyStoreException>;
			public static ERROR_ATTESTATION_CHALLENGE_TOO_LARGE: 9;
			public static ERROR_ATTESTATION_KEYS_UNAVAILABLE: 16;
			public static ERROR_ID_ATTESTATION_FAILURE: 8;
			public static ERROR_INCORRECT_USAGE: 13;
			public static ERROR_INTERNAL_SYSTEM_ERROR: 4;
			public static ERROR_KEYMINT_FAILURE: 10;
			public static ERROR_KEYSTORE_FAILURE: 11;
			public static ERROR_KEYSTORE_UNINITIALIZED: 3;
			public static ERROR_KEY_CORRUPTED: 7;
			public static ERROR_KEY_DOES_NOT_EXIST: 6;
			public static ERROR_KEY_NOT_TEMPORALLY_VALID: 14;
			public static ERROR_KEY_OPERATION_EXPIRED: 15;
			public static ERROR_OTHER: 1;
			public static ERROR_PERMISSION_DENIED: 5;
			public static ERROR_UNIMPLEMENTED: 12;
			public static ERROR_USER_AUTHENTICATION_REQUIRED: 2;
			public static RETRY_AFTER_NEXT_REBOOT: 4;
			public static RETRY_NEVER: 1;
			public static RETRY_WHEN_CONNECTIVITY_AVAILABLE: 3;
			public static RETRY_WITH_EXPONENTIAL_BACKOFF: 2;
			public isSystemError(): boolean;
			public toString(): string;
			public getNumericErrorCode(): number;
			public isTransientFailure(): boolean;
			public requiresUserAuthentication(): boolean;
			public getRetryPolicy(): number;
		}
	}
}

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>;
			/** @deprecated */
			public isEncryptionRequired(): boolean;
		}
		export module KeyStoreParameter {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.security.KeyStoreParameter.Builder>;
				/** @deprecated */
				public build(): android.security.KeyStoreParameter;
				/** @deprecated */
				public constructor(context: android.content.Context);
				/** @deprecated */
				public setEncryptionRequired(required: 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(hostname: string): boolean;
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class AccessControlProfile extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.AccessControlProfile>;
			}
			export module AccessControlProfile {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.security.identity.AccessControlProfile.Builder>;
					public constructor(accessControlProfileId: android.security.identity.AccessControlProfileId);
					public setReaderCertificate(readerCertificate: java.security.cert.X509Certificate): android.security.identity.AccessControlProfile.Builder;
					public setUserAuthenticationRequired(userAuthenticationRequired: boolean): android.security.identity.AccessControlProfile.Builder;
					public build(): android.security.identity.AccessControlProfile;
					public setUserAuthenticationTimeout(userAuthenticationTimeoutMillis: number): android.security.identity.AccessControlProfile.Builder;
				}
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class AccessControlProfileId extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.AccessControlProfileId>;
				public constructor(id: number);
				public getId(): number;
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class AlreadyPersonalizedException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.AlreadyPersonalizedException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class AuthenticationKeyMetadata extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.AuthenticationKeyMetadata>;
				public getUsageCount(): number;
				public getExpirationDate(): java.time.Instant;
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class CipherSuiteNotSupportedException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.CipherSuiteNotSupportedException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class CredentialDataRequest extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.CredentialDataRequest>;
				public getIssuerSignedEntriesToRequest(): java.util.Map<string,java.util.Collection<string>>;
				public getReaderSignature(): androidNative.Array<number>;
				public getDeviceSignedEntriesToRequest(): java.util.Map<string,java.util.Collection<string>>;
				public isAllowUsingExhaustedKeys(): boolean;
				public isIncrementUseCount(): boolean;
				public isAllowUsingExpiredKeys(): boolean;
				public getRequestMessage(): androidNative.Array<number>;
			}
			export module CredentialDataRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.security.identity.CredentialDataRequest.Builder>;
					public setAllowUsingExpiredKeys(allowUsingExpiredKeys: boolean): android.security.identity.CredentialDataRequest.Builder;
					public setIncrementUseCount(incrementUseCount: boolean): android.security.identity.CredentialDataRequest.Builder;
					public setDeviceSignedEntriesToRequest(entriesToRequest: java.util.Map<string,java.util.Collection<string>>): android.security.identity.CredentialDataRequest.Builder;
					public setIssuerSignedEntriesToRequest(entriesToRequest: java.util.Map<string,java.util.Collection<string>>): android.security.identity.CredentialDataRequest.Builder;
					public constructor();
					public setAllowUsingExhaustedKeys(allowUsingExhaustedKeys: boolean): android.security.identity.CredentialDataRequest.Builder;
					public build(): android.security.identity.CredentialDataRequest;
					public setReaderSignature(readerSignature: androidNative.Array<number>): android.security.identity.CredentialDataRequest.Builder;
					public setRequestMessage(requestMessage: androidNative.Array<number>): android.security.identity.CredentialDataRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export abstract class CredentialDataResult extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.CredentialDataResult>;
				public getDeviceNameSpaces(): androidNative.Array<number>;
				public getStaticAuthenticationData(): androidNative.Array<number>;
				public getDeviceSignature(): androidNative.Array<number>;
				public getDeviceSignedEntries(): android.security.identity.CredentialDataResult.Entries;
				public getIssuerSignedEntries(): android.security.identity.CredentialDataResult.Entries;
				public getDeviceMac(): androidNative.Array<number>;
			}
			export module CredentialDataResult {
				export class Entries extends java.lang.Object {
					public static class: java.lang.Class<android.security.identity.CredentialDataResult.Entries>;
					/**
					 * Constructs a new instance of the android.security.identity.CredentialDataResult$Entries interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getNamespaces(): java.util.Collection<string>;
						getEntryNames(param0: string): java.util.Collection<string>;
						getRetrievedEntryNames(param0: string): java.util.Collection<string>;
						getStatus(param0: string, param1: string): number;
						getEntry(param0: string, param1: string): androidNative.Array<number>;
					});
					public constructor();
					public static STATUS_OK: 0;
					public static STATUS_NO_ACCESS_CONTROL_PROFILES: 6;
					public static STATUS_READER_AUTHENTICATION_FAILED: 5;
					public static STATUS_NOT_IN_REQUEST_MESSAGE: 3;
					public static STATUS_NO_SUCH_ENTRY: 1;
					public static STATUS_NOT_REQUESTED: 2;
					public static STATUS_USER_AUTHENTICATION_FAILED: 4;
					public getEntryNames(param0: string): java.util.Collection<string>;
					public getStatus(param0: string, param1: string): number;
					public getEntry(param0: string, param1: string): androidNative.Array<number>;
					public getNamespaces(): java.util.Collection<string>;
					public getRetrievedEntryNames(param0: string): java.util.Collection<string>;
				}
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class DocTypeNotSupportedException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.DocTypeNotSupportedException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class EphemeralPublicKeyNotFoundException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.EphemeralPublicKeyNotFoundException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export abstract class IdentityCredential extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.IdentityCredential>;
				public storeStaticAuthenticationData(authenticationKey: java.security.cert.X509Certificate, expirationDate: java.time.Instant, staticAuthData: androidNative.Array<number>): void;
				public getAuthenticationKeyMetadata(): java.util.List<android.security.identity.AuthenticationKeyMetadata>;
				/** @deprecated */
				public setAvailableAuthenticationKeys(param0: number, param1: number): void;
				/** @deprecated */
				public createEphemeralKeyPair(): java.security.KeyPair;
				/** @deprecated */
				public getEntries(param0: androidNative.Array<number>, param1: java.util.Map<string,java.util.Collection<string>>, param2: androidNative.Array<number>, param3: androidNative.Array<number>): android.security.identity.ResultData;
				/** @deprecated */
				public setReaderEphemeralPublicKey(param0: java.security.PublicKey): void;
				public delete(challenge: androidNative.Array<number>): androidNative.Array<number>;
				public setAvailableAuthenticationKeys(keyCount: number, maxUsesPerKey: number, minValidTimeMillis: number): void;
				/** @deprecated */
				public encryptMessageToReader(param0: androidNative.Array<number>): androidNative.Array<number>;
				/** @deprecated */
				public setAllowUsingExpiredKeys(allowUsingExpiredKeys: boolean): void;
				public getAuthKeysNeedingCertification(): java.util.Collection<java.security.cert.X509Certificate>;
				public proveOwnership(challenge: androidNative.Array<number>): androidNative.Array<number>;
				/** @deprecated */
				public storeStaticAuthenticationData(param0: java.security.cert.X509Certificate, param1: androidNative.Array<number>): void;
				public update(personalizationData: android.security.identity.PersonalizationData): androidNative.Array<number>;
				/** @deprecated */
				public decryptMessageFromReader(param0: androidNative.Array<number>): androidNative.Array<number>;
				/** @deprecated */
				public getAuthenticationDataUsageCount(): androidNative.Array<number>;
				public getCredentialKeyCertificateChain(): java.util.Collection<java.security.cert.X509Certificate>;
				/** @deprecated */
				public setAllowUsingExhaustedKeys(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class IdentityCredentialException extends java.lang.Exception {
				public static class: java.lang.Class<android.security.identity.IdentityCredentialException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export abstract class IdentityCredentialStore extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.IdentityCredentialStore>;
				public static CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256: 1;
				/** @deprecated */
				public deleteCredentialByName(param0: string): androidNative.Array<number>;
				public createCredential(param0: string, param1: string): android.security.identity.WritableIdentityCredential;
				public createPresentationSession(cipherSuite: number): android.security.identity.PresentationSession;
				public getSupportedDocTypes(): androidNative.Array<string>;
				public getCredentialByName(param0: string, param1: number): android.security.identity.IdentityCredential;
				public static getInstance(context: android.content.Context): android.security.identity.IdentityCredentialStore;
				public static getDirectAccessInstance(context: android.content.Context): android.security.identity.IdentityCredentialStore;
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class InvalidReaderSignatureException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.InvalidReaderSignatureException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class InvalidRequestMessageException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.InvalidRequestMessageException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class MessageDecryptionException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.MessageDecryptionException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class NoAuthenticationKeyAvailableException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.NoAuthenticationKeyAvailableException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class PersonalizationData extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.PersonalizationData>;
			}
			export module PersonalizationData {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.security.identity.PersonalizationData.Builder>;
					public constructor();
					public putEntry(namespace: string, name: string, accessControlProfileIds: java.util.Collection<android.security.identity.AccessControlProfileId>, value: androidNative.Array<number>): android.security.identity.PersonalizationData.Builder;
					public addAccessControlProfile(profile: android.security.identity.AccessControlProfile): android.security.identity.PersonalizationData.Builder;
					public build(): android.security.identity.PersonalizationData;
				}
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export abstract class PresentationSession extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.PresentationSession>;
				public getCredentialData(param0: string, param1: android.security.identity.CredentialDataRequest): android.security.identity.CredentialDataResult;
				public setReaderEphemeralPublicKey(param0: java.security.PublicKey): void;
				public setSessionTranscript(param0: androidNative.Array<number>): void;
				public getEphemeralKeyPair(): java.security.KeyPair;
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export abstract class ResultData extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.ResultData>;
				public static STATUS_NOT_IN_REQUEST_MESSAGE: 3;
				public static STATUS_NOT_REQUESTED: 2;
				public static STATUS_NO_ACCESS_CONTROL_PROFILES: 6;
				public static STATUS_NO_SUCH_ENTRY: 1;
				public static STATUS_OK: 0;
				public static STATUS_READER_AUTHENTICATION_FAILED: 5;
				public static STATUS_USER_AUTHENTICATION_FAILED: 4;
				/** @deprecated */
				public getAuthenticatedData(): androidNative.Array<number>;
				/** @deprecated */
				public getMessageAuthenticationCode(): androidNative.Array<number>;
				/** @deprecated */
				public getRetrievedEntryNames(param0: string): java.util.Collection<string>;
				/** @deprecated */
				public getStatus(param0: string, param1: string): number;
				/** @deprecated */
				public getNamespaces(): java.util.Collection<string>;
				/** @deprecated */
				public getEntryNames(param0: string): java.util.Collection<string>;
				/** @deprecated */
				public getStaticAuthenticationData(): androidNative.Array<number>;
				/** @deprecated */
				public getEntry(param0: string, param1: string): androidNative.Array<number>;
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class SessionTranscriptMismatchException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.SessionTranscriptMismatchException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export class UnknownAuthenticationKeyException extends android.security.identity.IdentityCredentialException {
				public static class: java.lang.Class<android.security.identity.UnknownAuthenticationKeyException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module security {
		export module identity {
			export abstract class WritableIdentityCredential extends java.lang.Object {
				public static class: java.lang.Class<android.security.identity.WritableIdentityCredential>;
				public personalize(param0: android.security.identity.PersonalizationData): androidNative.Array<number>;
				public getCredentialKeyCertificateChain(param0: androidNative.Array<number>): java.util.Collection<java.security.cert.X509Certificate>;
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class BackendBusyException extends java.security.ProviderException {
				public static class: java.lang.Class<android.security.keystore.BackendBusyException>;
				public constructor(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(backOffHintMillis: number);
				public constructor(backOffHintMillis: number, message: string, cause: java.lang.Throwable);
				public getBackOffHintMillis(): number;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(backOffHintMillis: number, message: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 isUserAuthenticationRequired(): boolean;
				public getCertificateNotBefore(): java.util.Date;
				public getCertificateSerialNumber(): java.math.BigInteger;
				public getMgf1Digests(): java.util.Set<string>;
				public getKeyValidityStart(): java.util.Date;
				public getUserAuthenticationType(): number;
				public isUserConfirmationRequired(): boolean;
				public getPurposes(): number;
				public getKeyValidityForConsumptionEnd(): java.util.Date;
				public isInvalidatedByBiometricEnrollment(): boolean;
				public isStrongBoxBacked(): boolean;
				public isUserAuthenticationValidWhileOnBody(): boolean;
				public getSignaturePaddings(): androidNative.Array<string>;
				public getAlgorithmParameterSpec(): java.security.spec.AlgorithmParameterSpec;
				public getEncryptionPaddings(): androidNative.Array<string>;
				public getMaxUsageCount(): number;
				public getAttestKeyAlias(): string;
				public isUnlockedDeviceRequired(): boolean;
				public getCertificateNotAfter(): java.util.Date;
				public isMgf1DigestsSpecified(): boolean;
				public getUserAuthenticationValidityDurationSeconds(): number;
				public isDevicePropertiesAttestationIncluded(): boolean;
				public getKeyValidityForOriginationEnd(): java.util.Date;
				public getDigests(): androidNative.Array<string>;
				public isDigestsSpecified(): boolean;
				public getBlockModes(): androidNative.Array<string>;
				public getCertificateSubject(): javax.security.auth.x500.X500Principal;
				public isUserPresenceRequired(): boolean;
				public getKeystoreAlias(): string;
				public getAttestationChallenge(): androidNative.Array<number>;
				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 setIsStrongBoxBacked(isStrongBoxBacked: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeyValidityForConsumptionEnd(endDate: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setCertificateSerialNumber(serialNumber: java.math.BigInteger): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserAuthenticationValidWhileOnBody(remainsValid: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeySize(keySize: number): android.security.keystore.KeyGenParameterSpec.Builder;
					public setCertificateNotAfter(date: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setDigests(digests: androidNative.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setInvalidatedByBiometricEnrollment(invalidateKey: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeyValidityStart(startDate: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setAttestKeyAlias(attestKeyAlias: string): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserPresenceRequired(required: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public build(): android.security.keystore.KeyGenParameterSpec;
					public setAlgorithmParameterSpec(spec: java.security.spec.AlgorithmParameterSpec): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeyValidityForOriginationEnd(endDate: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setRandomizedEncryptionRequired(required: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public constructor(keystoreAlias: string, purposes: number);
					public setEncryptionPaddings(paddings: androidNative.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUnlockedDeviceRequired(unlockedDeviceRequired: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setCertificateSubject(subject: javax.security.auth.x500.X500Principal): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserAuthenticationRequired(required: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserConfirmationRequired(required: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setBlockModes(blockModes: androidNative.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					/** @deprecated */
					public setUserAuthenticationValidityDurationSeconds(seconds: number): android.security.keystore.KeyGenParameterSpec.Builder;
					public setAttestationChallenge(attestationChallenge: androidNative.Array<number>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeyValidityEnd(endDate: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setSignaturePaddings(paddings: androidNative.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setMgf1Digests(mgf1Digests: androidNative.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setMaxUsageCount(maxUsageCount: number): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserAuthenticationParameters(timeout: number, type: number): android.security.keystore.KeyGenParameterSpec.Builder;
					public setDevicePropertiesAttestationIncluded(devicePropertiesAttestationIncluded: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setCertificateNotBefore(date: java.util.Date): 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 getSignaturePaddings(): androidNative.Array<string>;
				public isUserAuthenticationRequired(): boolean;
				public getRemainingUsageCount(): number;
				public getEncryptionPaddings(): androidNative.Array<string>;
				public getUserAuthenticationValidityDurationSeconds(): number;
				public getOrigin(): number;
				public getKeyValidityForOriginationEnd(): java.util.Date;
				public getDigests(): androidNative.Array<string>;
				public getKeyValidityStart(): java.util.Date;
				public getSecurityLevel(): number;
				public getUserAuthenticationType(): number;
				public getBlockModes(): androidNative.Array<string>;
				public isUserConfirmationRequired(): boolean;
				public getPurposes(): number;
				public isUserAuthenticationRequirementEnforcedBySecureHardware(): boolean;
				public isTrustedUserPresenceRequired(): boolean;
				public getKeystoreAlias(): string;
				public getKeyValidityForConsumptionEnd(): java.util.Date;
				/** @deprecated */
				public isInsideSecureHardware(): boolean;
				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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 AUTH_BIOMETRIC_STRONG: 2;
				public static AUTH_DEVICE_CREDENTIAL: 1;
				public static BLOCK_MODE_CBC: "CBC";
				public static BLOCK_MODE_CTR: "CTR";
				public static BLOCK_MODE_ECB: "ECB";
				public static BLOCK_MODE_GCM: "GCM";
				public static DIGEST_MD5: "MD5";
				public static DIGEST_NONE: "NONE";
				public static DIGEST_SHA1: "SHA-1";
				public static DIGEST_SHA224: "SHA-224";
				public static DIGEST_SHA256: "SHA-256";
				public static DIGEST_SHA384: "SHA-384";
				public static DIGEST_SHA512: "SHA-512";
				public static ENCRYPTION_PADDING_NONE: "NoPadding";
				public static ENCRYPTION_PADDING_PKCS7: "PKCS7Padding";
				public static ENCRYPTION_PADDING_RSA_OAEP: "OAEPPadding";
				public static ENCRYPTION_PADDING_RSA_PKCS1: "PKCS1Padding";
				public static KEY_ALGORITHM_3DES: "DESede";
				public static KEY_ALGORITHM_AES: "AES";
				public static KEY_ALGORITHM_EC: "EC";
				public static KEY_ALGORITHM_HMAC_SHA1: "HmacSHA1";
				public static KEY_ALGORITHM_HMAC_SHA224: "HmacSHA224";
				public static KEY_ALGORITHM_HMAC_SHA256: "HmacSHA256";
				public static KEY_ALGORITHM_HMAC_SHA384: "HmacSHA384";
				public static KEY_ALGORITHM_HMAC_SHA512: "HmacSHA512";
				public static KEY_ALGORITHM_RSA: "RSA";
				public static ORIGIN_GENERATED: 1;
				public static ORIGIN_IMPORTED: 2;
				public static ORIGIN_SECURELY_IMPORTED: 8;
				public static ORIGIN_UNKNOWN: 4;
				public static PURPOSE_AGREE_KEY: 64;
				public static PURPOSE_ATTEST_KEY: 128;
				public static PURPOSE_DECRYPT: 2;
				public static PURPOSE_ENCRYPT: 1;
				public static PURPOSE_SIGN: 4;
				public static PURPOSE_VERIFY: 8;
				public static PURPOSE_WRAP_KEY: 32;
				public static SECURITY_LEVEL_SOFTWARE: 0;
				public static SECURITY_LEVEL_STRONGBOX: 2;
				public static SECURITY_LEVEL_TRUSTED_ENVIRONMENT: 1;
				public static SECURITY_LEVEL_UNKNOWN: -2;
				public static SECURITY_LEVEL_UNKNOWN_SECURE: -1;
				public static SIGNATURE_PADDING_RSA_PKCS1: "PKCS1";
				public static SIGNATURE_PADDING_RSA_PSS: "PSS";
				public static UNRESTRICTED_USAGE_COUNT: -1;
			}
		}
	}
}

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 getSignaturePaddings(): androidNative.Array<string>;
				public isUserAuthenticationRequired(): boolean;
				public getEncryptionPaddings(): androidNative.Array<string>;
				public getMaxUsageCount(): number;
				public getMgf1Digests(): java.util.Set<string>;
				public isUnlockedDeviceRequired(): boolean;
				public isMgf1DigestsSpecified(): boolean;
				public getUserAuthenticationValidityDurationSeconds(): number;
				public getKeyValidityForOriginationEnd(): java.util.Date;
				public getDigests(): androidNative.Array<string>;
				public getKeyValidityStart(): java.util.Date;
				public getUserAuthenticationType(): number;
				public isDigestsSpecified(): boolean;
				public getBlockModes(): androidNative.Array<string>;
				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 setMaxUsageCount(maxUsageCount: number): android.security.keystore.KeyProtection.Builder;
					public setUserAuthenticationValidWhileOnBody(remainsValid: boolean): android.security.keystore.KeyProtection.Builder;
					public setUserConfirmationRequired(required: boolean): android.security.keystore.KeyProtection.Builder;
					public setIsStrongBoxBacked(isStrongBoxBacked: boolean): android.security.keystore.KeyProtection.Builder;
					public setDigests(digests: androidNative.Array<string>): android.security.keystore.KeyProtection.Builder;
					public setKeyValidityForConsumptionEnd(endDate: java.util.Date): android.security.keystore.KeyProtection.Builder;
					/** @deprecated */
					public setUserAuthenticationValidityDurationSeconds(seconds: number): android.security.keystore.KeyProtection.Builder;
					public setKeyValidityEnd(endDate: java.util.Date): android.security.keystore.KeyProtection.Builder;
					public setRandomizedEncryptionRequired(required: boolean): android.security.keystore.KeyProtection.Builder;
					public setEncryptionPaddings(paddings: androidNative.Array<string>): android.security.keystore.KeyProtection.Builder;
					public constructor(purposes: number);
					public setUserAuthenticationRequired(required: boolean): android.security.keystore.KeyProtection.Builder;
					public setUserPresenceRequired(required: boolean): android.security.keystore.KeyProtection.Builder;
					public setKeyValidityStart(startDate: java.util.Date): android.security.keystore.KeyProtection.Builder;
					public setBlockModes(blockModes: androidNative.Array<string>): android.security.keystore.KeyProtection.Builder;
					public setKeyValidityForOriginationEnd(endDate: java.util.Date): android.security.keystore.KeyProtection.Builder;
					public setSignaturePaddings(paddings: androidNative.Array<string>): android.security.keystore.KeyProtection.Builder;
					public setUnlockedDeviceRequired(unlockedDeviceRequired: boolean): android.security.keystore.KeyProtection.Builder;
					public setInvalidatedByBiometricEnrollment(invalidateKey: boolean): android.security.keystore.KeyProtection.Builder;
					public setUserAuthenticationParameters(timeout: number, type: number): android.security.keystore.KeyProtection.Builder;
					public setMgf1Digests(mgf1Digests: androidNative.Array<string>): 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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 constructor(wrappedKeyBytes: androidNative.Array<number>, wrappingKeyAlias: string, transformation: string, algorithmParameterSpec: java.security.spec.AlgorithmParameterSpec);
				public getTransformation(): string;
				public getAlgorithmParameterSpec(): java.security.spec.AlgorithmParameterSpec;
				public getWrappedKeyBytes(): androidNative.Array<number>;
				public getWrappingKeyAlias(): string;
				public getAttributes(): java.util.Set<java.security.KeyStore.Entry.Attribute>;
			}
		}
	}
}

declare module android {
	export module service {
		export module assist {
			export module classification {
				export class FieldClassification extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.service.assist.classification.FieldClassification>;
					public static CREATOR: android.os.Parcelable.Creator<android.service.assist.classification.FieldClassification>;
					public toString(): string;
					public describeContents(): number;
					public constructor(autofillId: android.view.autofill.AutofillId, hints: java.util.Set<string>);
					public getAutofillId(): android.view.autofill.AutofillId;
					public getHints(): java.util.Set<string>;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

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 EXTRA_FILL_RESPONSE: "android.service.autofill.extra.FILL_RESPONSE";
				public static SERVICE_INTERFACE: "android.service.autofill.AutofillService";
				public static SERVICE_META_DATA: "android.autofill";
				public onFillRequest(param0: android.service.autofill.FillRequest, param1: android.os.CancellationSignal, param2: android.service.autofill.FillCallback): void;
				public getFillEventHistory(): android.service.autofill.FillEventHistory;
				public onSavedDatasetsInfoRequest(callback: android.service.autofill.SavedDatasetsInfoCallback): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				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(base: android.content.Context);
				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(dest: android.os.Parcel, flags: number): void;
				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 updateTemplate(updates: android.widget.RemoteViews): android.service.autofill.BatchUpdates.Builder;
					public build(): android.service.autofill.BatchUpdates;
					public transformChild(id: number, transformation: android.service.autofill.Transformation): android.service.autofill.BatchUpdates.Builder;
					public constructor();
				}
			}
		}
	}
}

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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 build(): android.service.autofill.CharSequenceTransformation;
					public addField(id: android.view.autofill.AutofillId, regex: java.util.regex.Pattern, subst: string): android.service.autofill.CharSequenceTransformation.Builder;
					public constructor(id: android.view.autofill.AutofillId, regex: java.util.regex.Pattern, subst: string);
				}
			}
		}
	}
}

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(dest: android.os.Parcel, flags: number): void;
				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 constructor(parentPresentation: android.widget.RemoteViews);
					public batchUpdate(condition: android.service.autofill.Validator, updates: android.service.autofill.BatchUpdates): android.service.autofill.CustomDescription.Builder;
					public build(): android.service.autofill.CustomDescription;
					public addOnClickAction(id: number, action: android.service.autofill.OnClickAction): android.service.autofill.CustomDescription.Builder;
					public addChild(id: number, transformation: android.service.autofill.Transformation): android.service.autofill.CustomDescription.Builder;
				}
			}
		}
	}
}

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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 constructor(presentations: android.service.autofill.Presentations);
					/** @deprecated */
					public setInlinePresentation(inlinePresentation: android.service.autofill.InlinePresentation): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public setValue(id: android.view.autofill.AutofillId, value: android.view.autofill.AutofillValue, presentation: android.widget.RemoteViews, inlinePresentation: android.service.autofill.InlinePresentation): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public constructor(presentation: android.widget.RemoteViews);
					public setId(id: string): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public setValue(id: android.view.autofill.AutofillId, value: android.view.autofill.AutofillValue): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public setValue(id: android.view.autofill.AutofillId, value: android.view.autofill.AutofillValue, presentation: android.widget.RemoteViews, inlinePresentation: android.service.autofill.InlinePresentation, inlineTooltipPresentation: android.service.autofill.InlinePresentation): android.service.autofill.Dataset.Builder;
					public build(): android.service.autofill.Dataset;
					public setFieldForAllHints(field: android.service.autofill.Field): android.service.autofill.Dataset.Builder;
					public setField(hint: string, field: android.service.autofill.Field): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public setInlinePresentation(inlinePresentation: android.service.autofill.InlinePresentation, inlineTooltipPresentation: android.service.autofill.InlinePresentation): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public setValue(id: android.view.autofill.AutofillId, value: android.view.autofill.AutofillValue, filter: java.util.regex.Pattern, presentation: android.widget.RemoteViews, inlinePresentation: android.service.autofill.InlinePresentation, inlineTooltipPresentation: android.service.autofill.InlinePresentation): android.service.autofill.Dataset.Builder;
					public constructor();
					/** @deprecated */
					public setValue(id: android.view.autofill.AutofillId, value: android.view.autofill.AutofillValue, presentation: android.widget.RemoteViews): android.service.autofill.Dataset.Builder;
					public setAuthentication(authentication: android.content.IntentSender): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public setValue(id: android.view.autofill.AutofillId, value: android.view.autofill.AutofillValue, filter: java.util.regex.Pattern): android.service.autofill.Dataset.Builder;
					public setField(id: android.view.autofill.AutofillId, field: android.service.autofill.Field): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public setValue(id: android.view.autofill.AutofillId, value: android.view.autofill.AutofillValue, filter: java.util.regex.Pattern, presentation: android.widget.RemoteViews, inlinePresentation: android.service.autofill.InlinePresentation): android.service.autofill.Dataset.Builder;
					/** @deprecated */
					public setValue(id: android.view.autofill.AutofillId, value: android.view.autofill.AutofillValue, filter: java.util.regex.Pattern, presentation: android.widget.RemoteViews): android.service.autofill.Dataset.Builder;
				}
			}
		}
	}
}

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 writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public constructor(id: android.view.autofill.AutofillId, dateFormat: android.icu.text.DateFormat);
				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 describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public toString(): string;
				public constructor(dateFormat: android.icu.text.DateFormat);
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class Field extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.Field>;
				public getFilter(): java.util.regex.Pattern;
				public getValue(): android.view.autofill.AutofillValue;
				public getPresentations(): android.service.autofill.Presentations;
			}
			export module Field {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.Field.Builder>;
					public setPresentations(value: android.service.autofill.Presentations): android.service.autofill.Field.Builder;
					public setValue(value: android.view.autofill.AutofillValue): android.service.autofill.Field.Builder;
					public constructor();
					public setFilter(value: java.util.regex.Pattern): android.service.autofill.Field.Builder;
					public build(): android.service.autofill.Field;
				}
			}
		}
	}
}

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(response: android.service.autofill.FillResponse): void;
				public onFailure(message: 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(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getStructure(): android.app.assist.AssistStructure;
				public describeContents(): number;
				public toString(): string;
				public getFocusedId(): android.view.autofill.AutofillId;
			}
		}
	}
}

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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 NO_SAVE_UI_REASON_DATASET_MATCH: 6;
					public static NO_SAVE_UI_REASON_FIELD_VALIDATION_FAILED: 5;
					public static NO_SAVE_UI_REASON_HAS_EMPTY_REQUIRED: 3;
					public static NO_SAVE_UI_REASON_NONE: 0;
					public static NO_SAVE_UI_REASON_NO_SAVE_INFO: 1;
					public static NO_SAVE_UI_REASON_NO_VALUE_CHANGED: 4;
					public static NO_SAVE_UI_REASON_WITH_DELAY_SAVE_FLAG: 2;
					public static TYPE_AUTHENTICATION_SELECTED: 2;
					public static TYPE_CONTEXT_COMMITTED: 4;
					public static TYPE_DATASETS_SHOWN: 5;
					public static TYPE_DATASET_AUTHENTICATION_SELECTED: 1;
					public static TYPE_DATASET_SELECTED: 0;
					public static TYPE_SAVE_SHOWN: 3;
					public static TYPE_VIEW_REQUESTED_AUTOFILL: 6;
					public static UI_TYPE_DIALOG: 3;
					public static UI_TYPE_INLINE: 2;
					public static UI_TYPE_MENU: 1;
					public static UI_TYPE_UNKNOWN: 0;
					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 getUiType(): number;
					public getChangedFields(): java.util.Map<android.view.autofill.AutofillId,string>;
					public getNoSaveUiReason(): number;
				}
			}
		}
	}
}

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_COMPATIBILITY_MODE_REQUEST: 2;
				public static FLAG_MANUAL_REQUEST: 1;
				public static FLAG_SUPPORTS_FILL_DIALOG: 64;
				public getHints(): java.util.List<string>;
				public getClientState(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				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 getInlineSuggestionsRequest(): android.view.inputmethod.InlineSuggestionsRequest;
				public toString(): string;
				public getDelayedFillIntentSender(): android.content.IntentSender;
			}
		}
	}
}

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_DELAY_FILL: 4;
				public static FLAG_DISABLE_ACTIVITY_ONLY: 2;
				public static FLAG_TRACK_CONTEXT_COMMITED: 1;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 setShowSaveDialogIcon(show: boolean): android.service.autofill.FillResponse.Builder;
					public setDialogHeader(header: android.widget.RemoteViews): android.service.autofill.FillResponse.Builder;
					public setAuthentication(ids: androidNative.Array<android.view.autofill.AutofillId>, authentication: android.content.IntentSender, presentations: android.service.autofill.Presentations): android.service.autofill.FillResponse.Builder;
					public setFlags(flags: number): android.service.autofill.FillResponse.Builder;
					/** @deprecated */
					public setAuthentication(ids: androidNative.Array<android.view.autofill.AutofillId>, authentication: android.content.IntentSender, presentation: android.widget.RemoteViews, inlinePresentation: android.service.autofill.InlinePresentation): android.service.autofill.FillResponse.Builder;
					public setSaveInfo(saveInfo: android.service.autofill.SaveInfo): android.service.autofill.FillResponse.Builder;
					public setPresentationCancelIds(ids: androidNative.Array<number>): android.service.autofill.FillResponse.Builder;
					public setIconResourceId(id: number): android.service.autofill.FillResponse.Builder;
					public setFillDialogTriggerIds(ids: androidNative.Array<android.view.autofill.AutofillId>): android.service.autofill.FillResponse.Builder;
					/** @deprecated */
					public setAuthentication(ids: androidNative.Array<android.view.autofill.AutofillId>, authentication: android.content.IntentSender, presentation: android.widget.RemoteViews): android.service.autofill.FillResponse.Builder;
					/** @deprecated */
					public setAuthentication(ids: androidNative.Array<android.view.autofill.AutofillId>, authentication: android.content.IntentSender, presentation: android.widget.RemoteViews, inlinePresentation: android.service.autofill.InlinePresentation, inlineTooltipPresentation: android.service.autofill.InlinePresentation): android.service.autofill.FillResponse.Builder;
					public setShowFillDialogIcon(show: boolean): android.service.autofill.FillResponse.Builder;
					public setDetectedFieldClassifications(fieldInfos: java.util.Set<android.service.assist.classification.FieldClassification>): android.service.autofill.FillResponse.Builder;
					public setUserData(userData: android.service.autofill.UserData): android.service.autofill.FillResponse.Builder;
					public setIgnoredIds(ids: androidNative.Array<android.view.autofill.AutofillId>): android.service.autofill.FillResponse.Builder;
					public setClientState(clientState: android.os.Bundle): android.service.autofill.FillResponse.Builder;
					public constructor();
					public setFooter(footer: android.widget.RemoteViews): android.service.autofill.FillResponse.Builder;
					public setFieldClassificationIds(ids: androidNative.Array<android.view.autofill.AutofillId>): android.service.autofill.FillResponse.Builder;
					public setServiceDisplayNameResourceId(id: number): android.service.autofill.FillResponse.Builder;
					public setHeader(header: android.widget.RemoteViews): android.service.autofill.FillResponse.Builder;
					public disableAutofill(duration: number): android.service.autofill.FillResponse.Builder;
					public build(): android.service.autofill.FillResponse;
					public addDataset(dataset: android.service.autofill.Dataset): 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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public toString(): string;
			}
			export module ImageTransformation {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.ImageTransformation.Builder>;
					/** @deprecated */
					public constructor(id: android.view.autofill.AutofillId, regex: java.util.regex.Pattern, resId: number);
					public build(): android.service.autofill.ImageTransformation;
					public constructor(id: android.view.autofill.AutofillId, regex: java.util.regex.Pattern, resId: number, contentDescription: string);
					public addOption(regex: java.util.regex.Pattern, resId: number, contentDescription: string): android.service.autofill.ImageTransformation.Builder;
					/** @deprecated */
					public addOption(regex: java.util.regex.Pattern, resId: number): android.service.autofill.ImageTransformation.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class InlinePresentation extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.InlinePresentation>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.InlinePresentation>;
				public constructor(slice: android.app.slice.Slice, inlinePresentationSpec: android.widget.inline.InlinePresentationSpec, pinned: boolean);
				public getInlinePresentationSpec(): android.widget.inline.InlinePresentationSpec;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public static createTooltipPresentation(slice: android.app.slice.Slice, spec: android.widget.inline.InlinePresentationSpec): android.service.autofill.InlinePresentation;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public isPinned(): boolean;
				public getSlice(): android.app.slice.Slice;
			}
		}
	}
}

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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public constructor(ids: androidNative.Array<android.view.autofill.AutofillId>);
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class OnClickAction extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.OnClickAction>;
				/**
				 * Constructs a new instance of the android.service.autofill.OnClickAction 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 Presentations extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.Presentations>;
				public getInlineTooltipPresentation(): android.service.autofill.InlinePresentation;
				public getInlinePresentation(): android.service.autofill.InlinePresentation;
				public getMenuPresentation(): android.widget.RemoteViews;
				public getDialogPresentation(): android.widget.RemoteViews;
			}
			export module Presentations {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.Presentations.Builder>;
					public setInlinePresentation(value: android.service.autofill.InlinePresentation): android.service.autofill.Presentations.Builder;
					public setDialogPresentation(value: android.widget.RemoteViews): android.service.autofill.Presentations.Builder;
					public constructor();
					public setInlineTooltipPresentation(value: android.service.autofill.InlinePresentation): android.service.autofill.Presentations.Builder;
					public build(): android.service.autofill.Presentations;
					public setMenuPresentation(value: android.widget.RemoteViews): android.service.autofill.Presentations.Builder;
				}
			}
		}
	}
}

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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public constructor(id: android.view.autofill.AutofillId, regex: java.util.regex.Pattern);
				public toString(): string;
			}
		}
	}
}

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(): void;
				public onSuccess(intentSender: android.content.IntentSender): void;
				public onFailure(message: string): 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_DELAY_SAVE: 4;
				public static FLAG_DONT_SAVE_ON_FINISH: 2;
				public static FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE: 1;
				public static NEGATIVE_BUTTON_STYLE_CANCEL: 0;
				public static NEGATIVE_BUTTON_STYLE_NEVER: 2;
				public static NEGATIVE_BUTTON_STYLE_REJECT: 1;
				public static POSITIVE_BUTTON_STYLE_CONTINUE: 1;
				public static POSITIVE_BUTTON_STYLE_SAVE: 0;
				public static SAVE_DATA_TYPE_ADDRESS: 2;
				public static SAVE_DATA_TYPE_CREDIT_CARD: 4;
				public static SAVE_DATA_TYPE_DEBIT_CARD: 32;
				public static SAVE_DATA_TYPE_EMAIL_ADDRESS: 16;
				public static SAVE_DATA_TYPE_GENERIC: 0;
				public static SAVE_DATA_TYPE_GENERIC_CARD: 128;
				public static SAVE_DATA_TYPE_PASSWORD: 1;
				public static SAVE_DATA_TYPE_PAYMENT_CARD: 64;
				public static SAVE_DATA_TYPE_USERNAME: 8;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 setTriggerId(id: android.view.autofill.AutofillId): android.service.autofill.SaveInfo.Builder;
					public constructor(type: number);
					public setDescription(description: string): android.service.autofill.SaveInfo.Builder;
					public constructor(type: number, requiredIds: androidNative.Array<android.view.autofill.AutofillId>);
					public setFlags(flags: number): android.service.autofill.SaveInfo.Builder;
					public setNegativeAction(style: number, listener: android.content.IntentSender): android.service.autofill.SaveInfo.Builder;
					public setCustomDescription(customDescription: android.service.autofill.CustomDescription): android.service.autofill.SaveInfo.Builder;
					public addSanitizer(sanitizer: android.service.autofill.Sanitizer, ids: androidNative.Array<android.view.autofill.AutofillId>): android.service.autofill.SaveInfo.Builder;
					public setValidator(validator: android.service.autofill.Validator): android.service.autofill.SaveInfo.Builder;
					public setOptionalIds(ids: androidNative.Array<android.view.autofill.AutofillId>): android.service.autofill.SaveInfo.Builder;
					public setPositiveAction(style: number): android.service.autofill.SaveInfo.Builder;
					public build(): android.service.autofill.SaveInfo;
				}
			}
		}
	}
}

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 writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 SavedDatasetsInfo extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.SavedDatasetsInfo>;
				public static TYPE_OTHER: "other";
				public static TYPE_PASSWORDS: "passwords";
				public getType(): string;
				public constructor(type: string, count: number);
				public hashCode(): number;
				public getCount(): number;
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class SavedDatasetsInfoCallback extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.SavedDatasetsInfoCallback>;
				/**
				 * Constructs a new instance of the android.service.autofill.SavedDatasetsInfoCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSuccess(param0: java.util.Set<android.service.autofill.SavedDatasetsInfo>): void;
					onError(param0: number): void;
				});
				public constructor();
				public static ERROR_NEEDS_USER_ACTION: 2;
				public static ERROR_OTHER: 0;
				public static ERROR_UNSUPPORTED: 1;
				public onSuccess(param0: java.util.Set<android.service.autofill.SavedDatasetsInfo>): void;
				public onError(param0: number): void;
			}
		}
	}
}

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(regex: java.util.regex.Pattern, subst: string);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 getFieldClassificationAlgorithmForCategory(categoryId: string): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				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 constructor(id: string, value: string, categoryId: string);
					public setFieldClassificationAlgorithm(name: string, args: android.os.Bundle): android.service.autofill.UserData.Builder;
					public setFieldClassificationAlgorithmForCategory(categoryId: string, name: string, args: android.os.Bundle): android.service.autofill.UserData.Builder;
					public add(value: string, categoryId: string): android.service.autofill.UserData.Builder;
					public build(): android.service.autofill.UserData;
				}
			}
		}
	}
}

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 or(validators: androidNative.Array<android.service.autofill.Validator>): android.service.autofill.Validator;
				public static and(validators: androidNative.Array<android.service.autofill.Validator>): android.service.autofill.Validator;
				public static not(validator: android.service.autofill.Validator): android.service.autofill.Validator;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class VisibilitySetterAction extends java.lang.Object implements android.service.autofill.OnClickAction, android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.VisibilitySetterAction>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.VisibilitySetterAction>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public toString(): string;
			}
			export module VisibilitySetterAction {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.VisibilitySetterAction.Builder>;
					public build(): android.service.autofill.VisibilitySetterAction;
					public constructor(id: number, visibility: number);
					public setVisibility(id: number, visibility: number): android.service.autofill.VisibilitySetterAction.Builder;
				}
			}
		}
	}
}

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(mcc: string, mnc: string, spn: string, imsi: string, gid1: string, gid2: string);
				public constructor(mcc: string, mnc: string, spn: string, imsi: string, gid1: string, gid2: string, carrierid: number, specificCarrierId: number);
				public constructor(mccMnc: androidNative.Array<number>, gid1: string, gid2: string);
				public getSpecificCarrierId(): number;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getMcc(): string;
				public getSpn(): string;
				public getCarrierId(): number;
				public toString(): string;
				public equals(obj: any): boolean;
				public getGid2(): string;
				public hashCode(): number;
				public describeContents(): number;
				public getMnc(): string;
			}
		}
	}
}

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

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: 2;
				public static DOWNLOAD_STATUS_OK: 0;
				public static DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK: 1;
				public static RECEIVE_OPTIONS_DEFAULT: 0;
				public static RECEIVE_OPTIONS_DROP: 1;
				public static RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE: 2;
				public static SEND_FLAG_REQUEST_DELIVERY_STATUS: 1;
				public static SEND_STATUS_ERROR: 2;
				public static SEND_STATUS_OK: 0;
				public static SEND_STATUS_RETRY_ON_CARRIER_NETWORK: 1;
				public static SERVICE_INTERFACE: "android.service.carrier.CarrierMessagingService";
				public onSendMultipartTextSms(parts: java.util.List<string>, subId: number, destAddress: string, sendSmsFlag: number, callback: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>): void;
				public onReceiveTextSms(pdu: android.service.carrier.MessagePdu, format: string, destPort: number, subId: number, callback: android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>): void;
				public onDownloadMms(contentUri: android.net.Uri, subId: number, location: android.net.Uri, callback: android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>): void;
				/** @deprecated */
				public onFilterSms(pdu: android.service.carrier.MessagePdu, format: string, destPort: number, subId: number, callback: android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>): void;
				/** @deprecated */
				public onSendTextSms(text: string, subId: number, destAddress: string, callback: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>): void;
				public onSendDataSms(data: androidNative.Array<number>, subId: number, destAddress: string, destPort: number, sendSmsFlag: number, callback: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>): void;
				/** @deprecated */
				public onSendDataSms(data: androidNative.Array<number>, subId: number, destAddress: string, destPort: number, callback: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>): void;
				public onSendTextSms(text: string, subId: number, destAddress: string, sendSmsFlag: number, callback: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>): void;
				public onSendMms(pduUri: android.net.Uri, subId: number, location: android.net.Uri, callback: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMmsResult>): void;
				public constructor(base: android.content.Context);
				public constructor();
				/** @deprecated */
				public onSendMultipartTextSms(parts: java.util.List<string>, subId: number, destAddress: string, callback: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onTrimMemory(param0: number): 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 constructor(sendStatus: number, sendConfPdu: androidNative.Array<number>);
					public getSendStatus(): number;
					public getSendConfPdu(): androidNative.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(sendStatus: number, messageRefs: androidNative.Array<number>);
					public getMessageRefs(): androidNative.Array<number>;
				}
				export class SendSmsResult extends java.lang.Object {
					public static class: java.lang.Class<android.service.carrier.CarrierMessagingService.SendSmsResult>;
					public getSendStatus(): number;
					public constructor(sendStatus: number, messageRef: number);
					public getMessageRef(): 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: "android.service.carrier.CarrierService";
				public onLoadConfig(subscriptionId: number, id: android.service.carrier.CarrierIdentifier): any;
				/** @deprecated */
				public onLoadConfig(param0: android.service.carrier.CarrierIdentifier): any;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				/** @deprecated */
				public notifyCarrierNetworkChange(active: boolean): void;
				public notifyCarrierNetworkChange(subscriptionId: number, active: boolean): void;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				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 constructor(pduList: java.util.List<androidNative.Array<number>>);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getPdus(): java.util.List<androidNative.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 AdditionalContentContract extends java.lang.Object {
				public static class: java.lang.Class<android.service.chooser.AdditionalContentContract>;
				/**
				 * Constructs a new instance of the android.service.chooser.AdditionalContentContract interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
			export module AdditionalContentContract {
				export class Columns extends java.lang.Object {
					public static class: java.lang.Class<android.service.chooser.AdditionalContentContract.Columns>;
					/**
					 * Constructs a new instance of the android.service.chooser.AdditionalContentContract$Columns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static URI: "uri";
				}
				export class CursorExtraKeys extends java.lang.Object {
					public static class: java.lang.Class<android.service.chooser.AdditionalContentContract.CursorExtraKeys>;
					/**
					 * Constructs a new instance of the android.service.chooser.AdditionalContentContract$CursorExtraKeys interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static POSITION: "position";
				}
				export class MethodNames extends java.lang.Object {
					public static class: java.lang.Class<android.service.chooser.AdditionalContentContract.MethodNames>;
					/**
					 * Constructs a new instance of the android.service.chooser.AdditionalContentContract$MethodNames interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static ON_SELECTION_CHANGED: "onSelectionChanged";
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module chooser {
			export class ChooserAction extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.chooser.ChooserAction>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.chooser.ChooserAction>;
				public getAction(): android.app.PendingIntent;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getLabel(): string;
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module ChooserAction {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.chooser.ChooserAction.Builder>;
					public build(): android.service.chooser.ChooserAction;
					public constructor(icon: any, label: string, action: android.app.PendingIntent);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module chooser {
			export class ChooserResult extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.chooser.ChooserResult>;
				public static CHOOSER_RESULT_COPY: 1;
				public static CHOOSER_RESULT_EDIT: 2;
				public static CHOOSER_RESULT_SELECTED_COMPONENT: 0;
				public static CHOOSER_RESULT_UNKNOWN: -1;
				public static CREATOR: android.os.Parcelable.Creator<android.service.chooser.ChooserResult>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getType(): number;
				public isShortcut(): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getSelectedComponent(): android.content.ComponentName;
			}
		}
	}
}

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>;
				/** @deprecated */
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				/** @deprecated */
				public getIntentExtras(): android.os.Bundle;
				/** @deprecated */
				public getTitle(): string;
				/** @deprecated */
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public getScore(): number;
				public describeContents(): number;
				/** @deprecated */
				public getComponentName(): android.content.ComponentName;
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public describeContents(): number;
				/** @deprecated */
				public constructor(title: string, icon: any, score: number, componentName: android.content.ComponentName, intentExtras: android.os.Bundle);
			}
		}
	}
}

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: "android.permission.BIND_CHOOSER_TARGET_SERVICE";
				public static META_DATA_NAME: "android.service.chooser.chooser_target_service";
				public static SERVICE_INTERFACE: "android.service.chooser.ChooserTargetService";
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public onGetChooserTargets(param0: android.content.ComponentName, param1: android.content.IntentFilter): java.util.List<android.service.chooser.ChooserTarget>;
				/** @deprecated */
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export class Control extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.controls.Control>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.controls.Control>;
				public static STATUS_DISABLED: 4;
				public static STATUS_ERROR: 3;
				public static STATUS_NOT_FOUND: 2;
				public static STATUS_OK: 1;
				public static STATUS_UNKNOWN: 0;
				public getControlId(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getStructure(): string;
				public getStatus(): number;
				public getStatusText(): string;
				public getTitle(): string;
				public getControlTemplate(): android.service.controls.templates.ControlTemplate;
				public isAuthRequired(): boolean;
				public getAppIntent(): android.app.PendingIntent;
				public getZone(): string;
				public describeContents(): number;
				public getDeviceType(): number;
				public getSubtitle(): string;
				public getCustomIcon(): any;
				public getCustomColor(): android.content.res.ColorStateList;
			}
			export module Control {
				export class StatefulBuilder extends java.lang.Object {
					public static class: java.lang.Class<android.service.controls.Control.StatefulBuilder>;
					public setCustomColor(customColor: android.content.res.ColorStateList): android.service.controls.Control.StatefulBuilder;
					public setControlId(controlId: string): android.service.controls.Control.StatefulBuilder;
					public setDeviceType(deviceType: number): android.service.controls.Control.StatefulBuilder;
					public setAuthRequired(authRequired: boolean): android.service.controls.Control.StatefulBuilder;
					public setSubtitle(subtitle: string): android.service.controls.Control.StatefulBuilder;
					public constructor(controlId: string, appIntent: android.app.PendingIntent);
					public setCustomIcon(customIcon: any): android.service.controls.Control.StatefulBuilder;
					public build(): android.service.controls.Control;
					public setStatus(status: number): android.service.controls.Control.StatefulBuilder;
					public setZone(zone: string): android.service.controls.Control.StatefulBuilder;
					public constructor(control: android.service.controls.Control);
					public setTitle(title: string): android.service.controls.Control.StatefulBuilder;
					public setStructure(structure: string): android.service.controls.Control.StatefulBuilder;
					public setControlTemplate(controlTemplate: android.service.controls.templates.ControlTemplate): android.service.controls.Control.StatefulBuilder;
					public setAppIntent(appIntent: android.app.PendingIntent): android.service.controls.Control.StatefulBuilder;
					public setStatusText(statusText: string): android.service.controls.Control.StatefulBuilder;
				}
				export class StatelessBuilder extends java.lang.Object {
					public static class: java.lang.Class<android.service.controls.Control.StatelessBuilder>;
					public setStructure(structure: string): android.service.controls.Control.StatelessBuilder;
					public setCustomIcon(customIcon: any): android.service.controls.Control.StatelessBuilder;
					public setTitle(title: string): android.service.controls.Control.StatelessBuilder;
					public setCustomColor(customColor: android.content.res.ColorStateList): android.service.controls.Control.StatelessBuilder;
					public constructor(control: android.service.controls.Control);
					public setDeviceType(deviceType: number): android.service.controls.Control.StatelessBuilder;
					public setControlId(controlId: string): android.service.controls.Control.StatelessBuilder;
					public setAppIntent(appIntent: android.app.PendingIntent): android.service.controls.Control.StatelessBuilder;
					public setSubtitle(subtitle: string): android.service.controls.Control.StatelessBuilder;
					public constructor(controlId: string, appIntent: android.app.PendingIntent);
					public build(): android.service.controls.Control;
					public setZone(zone: string): android.service.controls.Control.StatelessBuilder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export abstract class ControlsProviderService extends android.app.Service {
				public static class: java.lang.Class<android.service.controls.ControlsProviderService>;
				public static CONTROLS_SURFACE_ACTIVITY_PANEL: 0;
				public static CONTROLS_SURFACE_DREAM: 1;
				public static EXTRA_CONTROLS_SURFACE: "android.service.controls.extra.CONTROLS_SURFACE";
				public static EXTRA_LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS: "android.service.controls.extra.LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS";
				public static META_DATA_PANEL_ACTIVITY: "android.service.controls.META_DATA_PANEL_ACTIVITY";
				public static SERVICE_CONTROLS: "android.service.controls.ControlsProviderService";
				public static TAG: "ControlsProviderService";
				public createPublisherForSuggested(): java.util.concurrent.Flow.Publisher<android.service.controls.Control>;
				public performControlAction(param0: string, param1: android.service.controls.actions.ControlAction, param2: any /* any*/): void;
				public createPublisherForAllAvailable(): java.util.concurrent.Flow.Publisher<android.service.controls.Control>;
				public static requestAddControl(context: android.content.Context, componentName: android.content.ComponentName, control: android.service.controls.Control): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public createPublisherFor(param0: java.util.List<string>): java.util.concurrent.Flow.Publisher<android.service.controls.Control>;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				public constructor();
				public onUnbind(intent: android.content.Intent): boolean;
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export class DeviceTypes extends java.lang.Object {
				public static class: java.lang.Class<android.service.controls.DeviceTypes>;
				public static TYPE_AC_HEATER: 1;
				public static TYPE_AC_UNIT: 2;
				public static TYPE_AIR_FRESHENER: 3;
				public static TYPE_AIR_PURIFIER: 4;
				public static TYPE_AWNING: 33;
				public static TYPE_BLINDS: 34;
				public static TYPE_CAMERA: 50;
				public static TYPE_CLOSET: 35;
				public static TYPE_COFFEE_MAKER: 5;
				public static TYPE_CURTAIN: 36;
				public static TYPE_DEHUMIDIFIER: 6;
				public static TYPE_DISHWASHER: 24;
				public static TYPE_DISPLAY: 7;
				public static TYPE_DOOR: 37;
				public static TYPE_DOORBELL: 51;
				public static TYPE_DRAWER: 38;
				public static TYPE_DRYER: 25;
				public static TYPE_FAN: 8;
				public static TYPE_GARAGE: 39;
				public static TYPE_GATE: 40;
				public static TYPE_GENERIC_ARM_DISARM: -5;
				public static TYPE_GENERIC_LOCK_UNLOCK: -4;
				public static TYPE_GENERIC_ON_OFF: -1;
				public static TYPE_GENERIC_OPEN_CLOSE: -3;
				public static TYPE_GENERIC_START_STOP: -2;
				public static TYPE_GENERIC_TEMP_SETTING: -6;
				public static TYPE_GENERIC_VIEWSTREAM: -7;
				public static TYPE_HEATER: 47;
				public static TYPE_HOOD: 10;
				public static TYPE_HUMIDIFIER: 11;
				public static TYPE_KETTLE: 12;
				public static TYPE_LIGHT: 13;
				public static TYPE_LOCK: 45;
				public static TYPE_MICROWAVE: 14;
				public static TYPE_MOP: 26;
				public static TYPE_MOWER: 27;
				public static TYPE_MULTICOOKER: 28;
				public static TYPE_OUTLET: 15;
				public static TYPE_PERGOLA: 41;
				public static TYPE_RADIATOR: 16;
				public static TYPE_REFRIGERATOR: 48;
				public static TYPE_REMOTE_CONTROL: 17;
				public static TYPE_ROUTINE: 52;
				public static TYPE_SECURITY_SYSTEM: 46;
				public static TYPE_SET_TOP: 18;
				public static TYPE_SHOWER: 29;
				public static TYPE_SHUTTER: 42;
				public static TYPE_SPRINKLER: 30;
				public static TYPE_STANDMIXER: 19;
				public static TYPE_STYLER: 20;
				public static TYPE_SWITCH: 21;
				public static TYPE_THERMOSTAT: 49;
				public static TYPE_TV: 22;
				public static TYPE_UNKNOWN: 0;
				public static TYPE_VACUUM: 32;
				public static TYPE_VALVE: 44;
				public static TYPE_WASHER: 31;
				public static TYPE_WATER_HEATER: 23;
				public static TYPE_WINDOW: 43;
				public static validDeviceType(deviceType: number): boolean;
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module actions {
				export class BooleanAction extends android.service.controls.actions.ControlAction {
					public static class: java.lang.Class<android.service.controls.actions.BooleanAction>;
					public getActionType(): number;
					public getNewState(): boolean;
					public constructor(templateId: string, newState: boolean);
					public constructor(templateId: string, newState: boolean, challengeValue: string);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module actions {
				export class CommandAction extends android.service.controls.actions.ControlAction {
					public static class: java.lang.Class<android.service.controls.actions.CommandAction>;
					public getActionType(): number;
					public constructor(templateId: string);
					public constructor(templateId: string, challengeValue: string);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module actions {
				export abstract class ControlAction extends java.lang.Object {
					public static class: java.lang.Class<android.service.controls.actions.ControlAction>;
					public static RESPONSE_CHALLENGE_ACK: 3;
					public static RESPONSE_CHALLENGE_PASSPHRASE: 5;
					public static RESPONSE_CHALLENGE_PIN: 4;
					public static RESPONSE_FAIL: 2;
					public static RESPONSE_OK: 1;
					public static RESPONSE_UNKNOWN: 0;
					public static TYPE_BOOLEAN: 1;
					public static TYPE_COMMAND: 5;
					public static TYPE_ERROR: -1;
					public static TYPE_FLOAT: 2;
					public static TYPE_MODE: 4;
					public getActionType(): number;
					public static getErrorAction(): android.service.controls.actions.ControlAction;
					public getTemplateId(): string;
					public static isValidResponse(response: number): boolean;
					public getChallengeValue(): string;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module actions {
				export class FloatAction extends android.service.controls.actions.ControlAction {
					public static class: java.lang.Class<android.service.controls.actions.FloatAction>;
					public getActionType(): number;
					public constructor(templateId: string, newValue: number);
					public getNewValue(): number;
					public constructor(templateId: string, newValue: number, challengeValue: string);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module actions {
				export class ModeAction extends android.service.controls.actions.ControlAction {
					public static class: java.lang.Class<android.service.controls.actions.ModeAction>;
					public constructor(templateId: string, newMode: number, challengeValue: string);
					public getActionType(): number;
					public getNewMode(): number;
					public constructor(templateId: string, newMode: number);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module templates {
				export class ControlButton extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.service.controls.templates.ControlButton>;
					public static CREATOR: android.os.Parcelable.Creator<android.service.controls.templates.ControlButton>;
					public describeContents(): number;
					public getActionDescription(): string;
					public constructor(checked: boolean, actionDescription: string);
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public isChecked(): boolean;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module templates {
				export abstract class ControlTemplate extends java.lang.Object {
					public static class: java.lang.Class<android.service.controls.templates.ControlTemplate>;
					public static TYPE_ERROR: -1;
					public static TYPE_NO_TEMPLATE: 0;
					public static TYPE_RANGE: 2;
					public static TYPE_STATELESS: 8;
					public static TYPE_TEMPERATURE: 7;
					public static TYPE_THUMBNAIL: 3;
					public static TYPE_TOGGLE: 1;
					public static TYPE_TOGGLE_RANGE: 6;
					public static getNoTemplateObject(): android.service.controls.templates.ControlTemplate;
					public getTemplateId(): string;
					public static getErrorTemplate(): android.service.controls.templates.ControlTemplate;
					public getTemplateType(): number;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module templates {
				export class RangeTemplate extends android.service.controls.templates.ControlTemplate {
					public static class: java.lang.Class<android.service.controls.templates.RangeTemplate>;
					public getMaxValue(): number;
					public getStepValue(): number;
					public constructor(templateId: string, minValue: number, maxValue: number, currentValue: number, stepValue: number, formatString: string);
					public getCurrentValue(): number;
					public getFormatString(): string;
					public getTemplateType(): number;
					public getMinValue(): number;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module templates {
				export class StatelessTemplate extends android.service.controls.templates.ControlTemplate {
					public static class: java.lang.Class<android.service.controls.templates.StatelessTemplate>;
					public constructor(templateId: string);
					public getTemplateType(): number;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module templates {
				export class TemperatureControlTemplate extends android.service.controls.templates.ControlTemplate {
					public static class: java.lang.Class<android.service.controls.templates.TemperatureControlTemplate>;
					public static FLAG_MODE_COOL: 8;
					public static FLAG_MODE_ECO: 32;
					public static FLAG_MODE_HEAT: 4;
					public static FLAG_MODE_HEAT_COOL: 16;
					public static FLAG_MODE_OFF: 2;
					public static MODE_COOL: 3;
					public static MODE_ECO: 5;
					public static MODE_HEAT: 2;
					public static MODE_HEAT_COOL: 4;
					public static MODE_OFF: 1;
					public static MODE_UNKNOWN: 0;
					public constructor(templateId: string, controlTemplate: android.service.controls.templates.ControlTemplate, currentMode: number, currentActiveMode: number, modesFlag: number);
					public getTemplate(): android.service.controls.templates.ControlTemplate;
					public getCurrentActiveMode(): number;
					public getTemplateType(): number;
					public getCurrentMode(): number;
					public getModes(): number;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module templates {
				export class ThumbnailTemplate extends android.service.controls.templates.ControlTemplate {
					public static class: java.lang.Class<android.service.controls.templates.ThumbnailTemplate>;
					public isActive(): boolean;
					public getThumbnail(): any;
					public constructor(templateId: string, active: boolean, thumbnail: any, contentDescription: string);
					public getContentDescription(): string;
					public getTemplateType(): number;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module templates {
				export class ToggleRangeTemplate extends android.service.controls.templates.ControlTemplate {
					public static class: java.lang.Class<android.service.controls.templates.ToggleRangeTemplate>;
					public constructor(templateId: string, button: android.service.controls.templates.ControlButton, range: android.service.controls.templates.RangeTemplate);
					public getRange(): android.service.controls.templates.RangeTemplate;
					public getActionDescription(): string;
					public constructor(templateId: string, checked: boolean, actionDescription: string, range: android.service.controls.templates.RangeTemplate);
					public getTemplateType(): number;
					public isChecked(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module controls {
			export module templates {
				export class ToggleTemplate extends android.service.controls.templates.ControlTemplate {
					public static class: java.lang.Class<android.service.controls.templates.ToggleTemplate>;
					public constructor(templateId: string, button: android.service.controls.templates.ControlButton);
					public getContentDescription(): string;
					public getTemplateType(): number;
					public isChecked(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class Action extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.Action>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.Action>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(slice: android.app.slice.Slice);
				public getSlice(): android.app.slice.Slice;
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class BeginCreateCredentialRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.BeginCreateCredentialRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.BeginCreateCredentialRequest>;
				public constructor(type: string, data: android.os.Bundle, callingAppInfo: android.service.credentials.CallingAppInfo);
				public getType(): string;
				public getData(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCallingAppInfo(): android.service.credentials.CallingAppInfo;
				public constructor(type: string, data: android.os.Bundle);
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class BeginCreateCredentialResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.BeginCreateCredentialResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.BeginCreateCredentialResponse>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getRemoteCreateEntry(): android.service.credentials.RemoteEntry;
				public getCreateEntries(): java.util.List<android.service.credentials.CreateEntry>;
				public constructor();
			}
			export module BeginCreateCredentialResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.credentials.BeginCreateCredentialResponse.Builder>;
					public addCreateEntry(createEntry: android.service.credentials.CreateEntry): android.service.credentials.BeginCreateCredentialResponse.Builder;
					public constructor();
					public build(): android.service.credentials.BeginCreateCredentialResponse;
					public setRemoteCreateEntry(remoteCreateEntry: android.service.credentials.RemoteEntry): android.service.credentials.BeginCreateCredentialResponse.Builder;
					public setCreateEntries(createEntries: java.util.List<android.service.credentials.CreateEntry>): android.service.credentials.BeginCreateCredentialResponse.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class BeginGetCredentialOption extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.BeginGetCredentialOption>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.BeginGetCredentialOption>;
				public getType(): string;
				public getId(): string;
				public getCandidateQueryData(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public constructor(id: string, type: string, candidateQueryData: android.os.Bundle);
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class BeginGetCredentialRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.BeginGetCredentialRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.BeginGetCredentialRequest>;
				public getBeginGetCredentialOptions(): java.util.List<android.service.credentials.BeginGetCredentialOption>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCallingAppInfo(): android.service.credentials.CallingAppInfo;
			}
			export module BeginGetCredentialRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.credentials.BeginGetCredentialRequest.Builder>;
					public setBeginGetCredentialOptions(getBeginCredentialOptions: java.util.List<android.service.credentials.BeginGetCredentialOption>): android.service.credentials.BeginGetCredentialRequest.Builder;
					public build(): android.service.credentials.BeginGetCredentialRequest;
					public setCallingAppInfo(callingAppInfo: android.service.credentials.CallingAppInfo): android.service.credentials.BeginGetCredentialRequest.Builder;
					public constructor();
					public addBeginGetCredentialOption(beginGetCredentialOption: android.service.credentials.BeginGetCredentialOption): android.service.credentials.BeginGetCredentialRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class BeginGetCredentialResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.BeginGetCredentialResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.BeginGetCredentialResponse>;
				public getCredentialEntries(): java.util.List<android.service.credentials.CredentialEntry>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getAuthenticationActions(): java.util.List<android.service.credentials.Action>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getActions(): java.util.List<android.service.credentials.Action>;
				public getRemoteCredentialEntry(): android.service.credentials.RemoteEntry;
				public constructor();
			}
			export module BeginGetCredentialResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.credentials.BeginGetCredentialResponse.Builder>;
					public build(): android.service.credentials.BeginGetCredentialResponse;
					public setRemoteCredentialEntry(remoteCredentialEntry: android.service.credentials.RemoteEntry): android.service.credentials.BeginGetCredentialResponse.Builder;
					public setAuthenticationActions(authenticationActions: java.util.List<android.service.credentials.Action>): android.service.credentials.BeginGetCredentialResponse.Builder;
					public constructor();
					public addAuthenticationAction(authenticationAction: android.service.credentials.Action): android.service.credentials.BeginGetCredentialResponse.Builder;
					public addCredentialEntry(credentialEntry: android.service.credentials.CredentialEntry): android.service.credentials.BeginGetCredentialResponse.Builder;
					public setCredentialEntries(credentialEntries: java.util.List<android.service.credentials.CredentialEntry>): android.service.credentials.BeginGetCredentialResponse.Builder;
					public addAction(action: android.service.credentials.Action): android.service.credentials.BeginGetCredentialResponse.Builder;
					public setActions(actions: java.util.List<android.service.credentials.Action>): android.service.credentials.BeginGetCredentialResponse.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class CallingAppInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.CallingAppInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.CallingAppInfo>;
				public constructor(packageName: string, signingInfo: android.content.pm.SigningInfo);
				public getSigningInfo(): android.content.pm.SigningInfo;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(packageName: string, signingInfo: android.content.pm.SigningInfo, origin: string);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public describeContents(): number;
				public toString(): string;
				public getOrigin(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class ClearCredentialStateRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.ClearCredentialStateRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.ClearCredentialStateRequest>;
				public getData(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCallingAppInfo(): android.service.credentials.CallingAppInfo;
				public constructor(callingAppInfo: android.service.credentials.CallingAppInfo, data: android.os.Bundle);
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class CreateCredentialRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.CreateCredentialRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.CreateCredentialRequest>;
				public getType(): string;
				public constructor(callingAppInfo: android.service.credentials.CallingAppInfo, type: string, data: android.os.Bundle);
				public getData(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCallingAppInfo(): android.service.credentials.CallingAppInfo;
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class CreateEntry extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.CreateEntry>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.CreateEntry>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(slice: android.app.slice.Slice);
				public getSlice(): android.app.slice.Slice;
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class CredentialEntry extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.CredentialEntry>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.CredentialEntry>;
				public constructor(beginGetCredentialOption: android.service.credentials.BeginGetCredentialOption, slice: android.app.slice.Slice);
				public getType(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(beginGetCredentialOptionId: string, type: string, slice: android.app.slice.Slice);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(type: string, slice: android.app.slice.Slice);
				public describeContents(): number;
				public getBeginGetCredentialOptionId(): string;
				public getSlice(): android.app.slice.Slice;
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export abstract class CredentialProviderService extends android.app.Service {
				public static class: java.lang.Class<android.service.credentials.CredentialProviderService>;
				public static EXTRA_BEGIN_GET_CREDENTIAL_REQUEST: "android.service.credentials.extra.BEGIN_GET_CREDENTIAL_REQUEST";
				public static EXTRA_BEGIN_GET_CREDENTIAL_RESPONSE: "android.service.credentials.extra.BEGIN_GET_CREDENTIAL_RESPONSE";
				public static EXTRA_CREATE_CREDENTIAL_EXCEPTION: "android.service.credentials.extra.CREATE_CREDENTIAL_EXCEPTION";
				public static EXTRA_CREATE_CREDENTIAL_REQUEST: "android.service.credentials.extra.CREATE_CREDENTIAL_REQUEST";
				public static EXTRA_CREATE_CREDENTIAL_RESPONSE: "android.service.credentials.extra.CREATE_CREDENTIAL_RESPONSE";
				public static EXTRA_GET_CREDENTIAL_EXCEPTION: "android.service.credentials.extra.GET_CREDENTIAL_EXCEPTION";
				public static EXTRA_GET_CREDENTIAL_REQUEST: "android.service.credentials.extra.GET_CREDENTIAL_REQUEST";
				public static EXTRA_GET_CREDENTIAL_RESPONSE: "android.service.credentials.extra.GET_CREDENTIAL_RESPONSE";
				public static SERVICE_INTERFACE: "android.service.credentials.CredentialProviderService";
				public static SERVICE_META_DATA: "android.credentials.provider";
				public onBeginGetCredential(param0: android.service.credentials.BeginGetCredentialRequest, param1: android.os.CancellationSignal, param2: android.os.OutcomeReceiver<android.service.credentials.BeginGetCredentialResponse,android.credentials.GetCredentialException>): void;
				public onClearCredentialState(param0: android.service.credentials.ClearCredentialStateRequest, param1: android.os.CancellationSignal, param2: android.os.OutcomeReceiver<java.lang.Void,android.credentials.ClearCredentialStateException>): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onCreate(): void;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				public constructor();
				public onBeginCreateCredential(param0: android.service.credentials.BeginCreateCredentialRequest, param1: android.os.CancellationSignal, param2: android.os.OutcomeReceiver<android.service.credentials.BeginCreateCredentialResponse,android.credentials.CreateCredentialException>): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class GetCredentialRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.GetCredentialRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.GetCredentialRequest>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getCredentialOptions(): java.util.List<android.credentials.CredentialOption>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCallingAppInfo(): android.service.credentials.CallingAppInfo;
				public constructor(callingAppInfo: android.service.credentials.CallingAppInfo, credentialOptions: java.util.List<android.credentials.CredentialOption>);
			}
		}
	}
}

declare module android {
	export module service {
		export module credentials {
			export class RemoteEntry extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.credentials.RemoteEntry>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.credentials.RemoteEntry>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(slice: android.app.slice.Slice);
				public getSlice(): android.app.slice.Slice;
			}
		}
	}
}

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: "android.service.dream";
				public static SERVICE_INTERFACE: "android.service.dreams.DreamService";
				public onActionModeStarted(mode: android.view.ActionMode): void;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
				public onPanelClosed(featureId: number, menu: android.view.Menu): void;
				public onMenuItemSelected(featureId: number, item: android.view.MenuItem): boolean;
				public isFullscreen(): boolean;
				public getWindowManager(): android.view.WindowManager;
				public onDreamingStarted(): void;
				public dispatchKeyShortcutEvent(event: android.view.KeyEvent): boolean;
				public finish(): void;
				public constructor();
				public setInteractive(interactive: boolean): void;
				public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
				public setFullscreen(fullscreen: boolean): void;
				public onSearchRequested(param0: any): boolean;
				public onWindowFocusChanged(hasFocus: boolean): void;
				public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onPanelClosed(param0: number, param1: android.view.Menu): void;
				public onTrimMemory(param0: number): void;
				public requireViewById(id: number): android.view.View;
				public onUnbind(intent: android.content.Intent): boolean;
				public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
				public setContentView(layoutResID: number): void;
				public setContentView(view: android.view.View): void;
				public onWakeUp(): void;
				public getWindow(): android.view.Window;
				public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
				public dump(fd: java.io.FileDescriptor, pw: java.io.PrintWriter, args: androidNative.Array<string>): void;
				public findViewById(id: number): android.view.View;
				public onActionModeFinished(mode: android.view.ActionMode): void;
				public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
				public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
				public onContentChanged(): void;
				public onMenuOpened(featureId: number, menu: android.view.Menu): boolean;
				public onDetachedFromWindow(): void;
				public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
				public onPreparePanel(featureId: number, view: android.view.View, menu: android.view.Menu): boolean;
				public onPointerCaptureChanged(hasCapture: boolean): void;
				public onSearchRequested(): boolean;
				public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
				public onCreatePanelMenu(featureId: number, menu: android.view.Menu): boolean;
				public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
				public isInteractive(): boolean;
				public onSearchRequested(event: any): boolean;
				public addContentView(view: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
				public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
				public isScreenBright(): boolean;
				public onCreatePanelView(featureId: number): android.view.View;
				public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
				public onWindowStartingActionMode(callback: android.view.ActionMode.Callback): android.view.ActionMode;
				public dispatchTrackballEvent(event: android.view.MotionEvent): boolean;
				public dispatchGenericMotionEvent(event: android.view.MotionEvent): boolean;
				public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
				public onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
				public onCreatePanelView(param0: number): android.view.View;
				public onActionModeStarted(param0: android.view.ActionMode): void;
				public setScreenBright(screenBright: boolean): void;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
				public onActionModeFinished(param0: android.view.ActionMode): void;
				public setContentView(view: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
				public constructor(base: android.content.Context);
				public onWindowAttributesChanged(attrs: android.view.WindowManager.LayoutParams): void;
				public dispatchTouchEvent(event: android.view.MotionEvent): boolean;
				public dispatchPopulateAccessibilityEvent(event: android.view.accessibility.AccessibilityEvent): boolean;
				public onCreate(): void;
				public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
				public wakeUp(): void;
				public onDreamingStopped(): void;
				public onDestroy(): void;
				public onWindowFocusChanged(param0: boolean): 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: 2;
				public static FLAG_RELEVANT_NOW: 1;
				public static SCHEME: "condition";
				public static SOURCE_CONTEXT: 3;
				public static SOURCE_SCHEDULE: 2;
				public static SOURCE_UNKNOWN: 0;
				public static SOURCE_USER_ACTION: 1;
				public static STATE_ERROR: 3;
				public static STATE_FALSE: 0;
				public static STATE_TRUE: 1;
				public static STATE_UNKNOWN: 2;
				public flags: number;
				public icon: number;
				public id: android.net.Uri;
				public line1: string;
				public line2: string;
				public source: number;
				public state: number;
				public summary: string;
				public constructor(id: android.net.Uri, summary: string, state: number, source: number);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public static relevanceToString(flags: number): string;
				public toString(): string;
				public constructor(source: android.os.Parcel);
				public static isValidId(id: android.net.Uri, pkg: string): boolean;
				public static stateToString(state: number): string;
				public constructor(id: android.net.Uri, summary: string, state: number);
				public static newId(context: android.content.Context): android.net.Uri.Builder;
				public hashCode(): number;
				public describeContents(): number;
				public equals(o: any): boolean;
				public copy(): android.service.notification.Condition;
				public constructor(id: android.net.Uri, summary: string, line1: string, line2: string, icon: number, state: number, source: number, flags: number);
				public constructor(id: android.net.Uri, summary: string, line1: string, line2: string, icon: number, state: number, flags: 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: "android.service.notification.extra.RULE_ID";
				public static META_DATA_CONFIGURATION_ACTIVITY: "android.service.zen.automatic.configurationActivity";
				public static META_DATA_RULE_INSTANCE_LIMIT: "android.service.zen.automatic.ruleInstanceLimit";
				public static META_DATA_RULE_TYPE: "android.service.zen.automatic.ruleType";
				public static SERVICE_INTERFACE: "android.service.notification.ConditionProviderService";
				/** @deprecated */
				public static requestRebind(componentName: android.content.ComponentName): void;
				/** @deprecated */
				public requestUnbind(): void;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public onConnected(): void;
				/** @deprecated */
				public notifyCondition(condition: android.service.notification.Condition): void;
				/** @deprecated */
				public onRequestConditions(relevance: number): void;
				/** @deprecated */
				public onSubscribe(param0: android.net.Uri): void;
				/** @deprecated */
				public onUnsubscribe(param0: android.net.Uri): void;
				/** @deprecated */
				public notifyConditions(conditions: androidNative.Array<android.service.notification.Condition>): void;
				/** @deprecated */
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
			}
		}
	}
}

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 ACTION_SETTINGS_HOME: "android.service.notification.action.SETTINGS_HOME";
				public static FLAG_FILTER_TYPE_ALERTING: 2;
				public static FLAG_FILTER_TYPE_CONVERSATIONS: 1;
				public static FLAG_FILTER_TYPE_ONGOING: 8;
				public static FLAG_FILTER_TYPE_SILENT: 4;
				public static HINT_HOST_DISABLE_CALL_EFFECTS: 4;
				public static HINT_HOST_DISABLE_EFFECTS: 1;
				public static HINT_HOST_DISABLE_NOTIFICATION_EFFECTS: 2;
				public static INTERRUPTION_FILTER_ALARMS: 4;
				public static INTERRUPTION_FILTER_ALL: 1;
				public static INTERRUPTION_FILTER_NONE: 3;
				public static INTERRUPTION_FILTER_PRIORITY: 2;
				public static INTERRUPTION_FILTER_UNKNOWN: 0;
				public static META_DATA_DEFAULT_AUTOBIND: "android.service.notification.default_autobind_listenerservice";
				public static META_DATA_DEFAULT_FILTER_TYPES: "android.service.notification.default_filter_types";
				public static META_DATA_DISABLED_FILTER_TYPES: "android.service.notification.disabled_filter_types";
				public static NOTIFICATION_CHANNEL_OR_GROUP_ADDED: 1;
				public static NOTIFICATION_CHANNEL_OR_GROUP_DELETED: 3;
				public static NOTIFICATION_CHANNEL_OR_GROUP_UPDATED: 2;
				public static REASON_APP_CANCEL: 8;
				public static REASON_APP_CANCEL_ALL: 9;
				public static REASON_ASSISTANT_CANCEL: 22;
				public static REASON_CANCEL: 2;
				public static REASON_CANCEL_ALL: 3;
				public static REASON_CHANNEL_BANNED: 17;
				public static REASON_CHANNEL_REMOVED: 20;
				public static REASON_CLEAR_DATA: 21;
				public static REASON_CLICK: 1;
				public static REASON_ERROR: 4;
				public static REASON_GROUP_OPTIMIZATION: 13;
				public static REASON_GROUP_SUMMARY_CANCELED: 12;
				public static REASON_LISTENER_CANCEL: 10;
				public static REASON_LISTENER_CANCEL_ALL: 11;
				public static REASON_LOCKDOWN: 23;
				public static REASON_PACKAGE_BANNED: 7;
				public static REASON_PACKAGE_CHANGED: 5;
				public static REASON_PACKAGE_SUSPENDED: 14;
				public static REASON_PROFILE_TURNED_OFF: 15;
				public static REASON_SNOOZED: 18;
				public static REASON_TIMEOUT: 19;
				public static REASON_UNAUTOBUNDLED: 16;
				public static REASON_USER_STOPPED: 6;
				public static SERVICE_INTERFACE: "android.service.notification.NotificationListenerService";
				public static SUPPRESSED_EFFECT_SCREEN_OFF: 1;
				public static SUPPRESSED_EFFECT_SCREEN_ON: 2;
				public onNotificationRemoved(sbn: android.service.notification.StatusBarNotification, rankingMap: android.service.notification.NotificationListenerService.RankingMap): void;
				public getCurrentListenerHints(): number;
				public migrateNotificationFilter(defaultTypes: number, disallowedPkgs: java.util.List<string>): void;
				public constructor();
				public cancelNotifications(keys: androidNative.Array<string>): void;
				public requestUnbind(): void;
				public onNotificationChannelModified(pkg: string, user: android.os.UserHandle, channel: android.app.NotificationChannel, modificationType: number): void;
				public getSnoozedNotifications(): androidNative.Array<android.service.notification.StatusBarNotification>;
				public onListenerHintsChanged(hints: number): void;
				public onSilentStatusBarIconsVisibilityChanged(hideSilentStatusIcons: boolean): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public requestInterruptionFilter(interruptionFilter: number): void;
				public onInterruptionFilterChanged(interruptionFilter: number): void;
				public updateNotificationChannel(pkg: string, user: android.os.UserHandle, channel: android.app.NotificationChannel): void;
				public getNotificationChannels(pkg: string, user: android.os.UserHandle): java.util.List<android.app.NotificationChannel>;
				public onTrimMemory(param0: number): void;
				public onNotificationRankingUpdate(rankingMap: android.service.notification.NotificationListenerService.RankingMap): void;
				public onNotificationChannelGroupModified(pkg: string, user: android.os.UserHandle, group: android.app.NotificationChannelGroup, modificationType: number): void;
				public getActiveNotifications(keys: androidNative.Array<string>): androidNative.Array<android.service.notification.StatusBarNotification>;
				public snoozeNotification(key: string, durationMs: number): void;
				public getCurrentInterruptionFilter(): number;
				public getNotificationChannelGroups(pkg: string, user: android.os.UserHandle): java.util.List<android.app.NotificationChannelGroup>;
				public onNotificationRemoved(sbn: android.service.notification.StatusBarNotification, rankingMap: android.service.notification.NotificationListenerService.RankingMap, reason: number): void;
				public onNotificationPosted(sbn: android.service.notification.StatusBarNotification, rankingMap: android.service.notification.NotificationListenerService.RankingMap): void;
				public cancelAllNotifications(): void;
				public onListenerDisconnected(): void;
				public getCurrentRanking(): android.service.notification.NotificationListenerService.RankingMap;
				public clearRequestedListenerHints(): void;
				public attachBaseContext(base: android.content.Context): void;
				/** @deprecated */
				public cancelNotification(pkg: string, tag: string, id: number): void;
				public cancelNotification(key: string): void;
				public setNotificationsShown(keys: androidNative.Array<string>): void;
				public getActiveNotifications(): androidNative.Array<android.service.notification.StatusBarNotification>;
				public static requestUnbind(componentName: android.content.ComponentName): void;
				public constructor(base: android.content.Context);
				public onNotificationRemoved(sbn: android.service.notification.StatusBarNotification): void;
				public onNotificationPosted(sbn: android.service.notification.StatusBarNotification): void;
				public static requestRebind(componentName: android.content.ComponentName): void;
				public onDestroy(): void;
				public onListenerConnected(): void;
				public requestListenerHints(hints: number): 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: -1;
					public static USER_SENTIMENT_NEUTRAL: 0;
					public static USER_SENTIMENT_POSITIVE: 1;
					public static VISIBILITY_NO_OVERRIDE: -1000;
					public getImportance(): number;
					public getUserSentiment(): number;
					public matchesInterruptionFilter(): boolean;
					public canShowBadge(): boolean;
					public equals(o: any): boolean;
					public getImportanceExplanation(): string;
					public getKey(): string;
					public isSuspended(): boolean;
					public getSmartActions(): java.util.List<android.app.Notification.Action>;
					public getLastAudiblyAlertedMillis(): number;
					public constructor();
					public getLockscreenVisibilityOverride(): number;
					public getSuppressedVisualEffects(): number;
					public canBubble(): boolean;
					public isAmbient(): boolean;
					public getSmartReplies(): java.util.List<string>;
					public isConversation(): boolean;
					public getRank(): number;
					public getOverrideGroupKey(): string;
					public getConversationShortcutInfo(): any;
					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(key: string, outRanking: android.service.notification.NotificationListenerService.Ranking): boolean;
					public describeContents(): number;
					public getOrderedKeys(): androidNative.Array<string>;
					public writeToParcel(out: android.os.Parcel, flags: number): void;
					public equals(o: any): boolean;
					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 isClearable(): boolean;
				public isGroup(): boolean;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getKey(): string;
				public isAppGroup(): boolean;
				public setOverrideGroupKey(overrideGroupKey: string): void;
				public clone(): any;
				/** @deprecated */
				public constructor(pkg: string, opPkg: string, id: number, tag: string, uid: number, initialPid: number, score: number, notification: android.app.Notification, user: android.os.UserHandle, postTime: number);
				public clone(): android.service.notification.StatusBarNotification;
				public isOngoing(): boolean;
				public getUid(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public getId(): number;
				public getTag(): string;
				/** @deprecated */
				public getUserId(): number;
				public toString(): string;
				public getOpPkg(): string;
				public describeContents(): number;
				public getNotification(): android.app.Notification;
				public constructor(in_: android.os.Parcel);
				public getGroupKey(): string;
				public getOverrideGroupKey(): string;
				public getUser(): android.os.UserHandle;
			}
		}
	}
}

declare module android {
	export module service {
		export module notification {
			export class ZenDeviceEffects extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.notification.ZenDeviceEffects>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.notification.ZenDeviceEffects>;
				public shouldDisplayGrayscale(): boolean;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public shouldSuppressAmbientDisplay(): boolean;
				public shouldUseNightMode(): boolean;
				public toString(): string;
				public shouldDimWallpaper(): boolean;
			}
			export module ZenDeviceEffects {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.notification.ZenDeviceEffects.Builder>;
					public setShouldDimWallpaper(dimWallpaper: boolean): android.service.notification.ZenDeviceEffects.Builder;
					public constructor();
					public setShouldUseNightMode(nightMode: boolean): android.service.notification.ZenDeviceEffects.Builder;
					public build(): android.service.notification.ZenDeviceEffects;
					public setShouldSuppressAmbientDisplay(suppressAmbientDisplay: boolean): android.service.notification.ZenDeviceEffects.Builder;
					public setShouldDisplayGrayscale(grayscale: boolean): android.service.notification.ZenDeviceEffects.Builder;
					public constructor(zenDeviceEffects: android.service.notification.ZenDeviceEffects);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module notification {
			export class ZenPolicy extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.notification.ZenPolicy>;
				public static CONVERSATION_SENDERS_ANYONE: 1;
				public static CONVERSATION_SENDERS_IMPORTANT: 2;
				public static CONVERSATION_SENDERS_NONE: 3;
				public static CONVERSATION_SENDERS_UNSET: 0;
				public static CREATOR: android.os.Parcelable.Creator<android.service.notification.ZenPolicy>;
				public static PEOPLE_TYPE_ANYONE: 1;
				public static PEOPLE_TYPE_CONTACTS: 2;
				public static PEOPLE_TYPE_NONE: 4;
				public static PEOPLE_TYPE_STARRED: 3;
				public static PEOPLE_TYPE_UNSET: 0;
				public static STATE_ALLOW: 1;
				public static STATE_DISALLOW: 2;
				public static STATE_UNSET: 0;
				public getVisualEffectAmbient(): number;
				public getPriorityCategoryAlarms(): number;
				public getVisualEffectNotificationList(): number;
				public getVisualEffectLights(): number;
				public getVisualEffectStatusBar(): number;
				public getPriorityCategoryMedia(): number;
				public getVisualEffectBadge(): number;
				public getPriorityCategoryRepeatCallers(): number;
				public getPriorityCategoryReminders(): number;
				public hashCode(): number;
				public equals(o: any): boolean;
				public getVisualEffectFullScreenIntent(): number;
				public getVisualEffectPeek(): number;
				public getPriorityCategoryCalls(): number;
				public getPriorityCategoryEvents(): number;
				public getPriorityCategoryMessages(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPriorityConversationSenders(): number;
				public getPriorityChannelsAllowed(): number;
				public toString(): string;
				public getPriorityCategorySystem(): number;
				public getPriorityMessageSenders(): number;
				public describeContents(): number;
				public getPriorityCallSenders(): number;
				public getPriorityCategoryConversations(): number;
			}
			export module ZenPolicy {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.notification.ZenPolicy.Builder>;
					public allowAllSounds(): android.service.notification.ZenPolicy.Builder;
					public showBadges(show: boolean): android.service.notification.ZenPolicy.Builder;
					public allowRepeatCallers(allow: boolean): android.service.notification.ZenPolicy.Builder;
					public showAllVisualEffects(): android.service.notification.ZenPolicy.Builder;
					public allowCalls(audienceType: number): android.service.notification.ZenPolicy.Builder;
					public showStatusBarIcons(show: boolean): android.service.notification.ZenPolicy.Builder;
					public showLights(show: boolean): android.service.notification.ZenPolicy.Builder;
					public allowConversations(audienceType: number): android.service.notification.ZenPolicy.Builder;
					public allowAlarms(allow: boolean): android.service.notification.ZenPolicy.Builder;
					public showInNotificationList(show: boolean): android.service.notification.ZenPolicy.Builder;
					public build(): android.service.notification.ZenPolicy;
					public allowReminders(allow: boolean): android.service.notification.ZenPolicy.Builder;
					public showFullScreenIntent(show: boolean): android.service.notification.ZenPolicy.Builder;
					public constructor();
					public allowMessages(audienceType: number): android.service.notification.ZenPolicy.Builder;
					public allowSystem(allow: boolean): android.service.notification.ZenPolicy.Builder;
					public allowPriorityChannels(allow: boolean): android.service.notification.ZenPolicy.Builder;
					public allowMedia(allow: boolean): android.service.notification.ZenPolicy.Builder;
					public hideAllVisualEffects(): android.service.notification.ZenPolicy.Builder;
					public disallowAllSounds(): android.service.notification.ZenPolicy.Builder;
					public showInAmbientDisplay(show: boolean): android.service.notification.ZenPolicy.Builder;
					public allowEvents(allow: boolean): android.service.notification.ZenPolicy.Builder;
					public showPeeking(show: boolean): android.service.notification.ZenPolicy.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module persistentdata {
			export class PersistentDataBlockManager extends java.lang.Object {
				public static class: java.lang.Class<android.service.persistentdata.PersistentDataBlockManager>;
				public isFactoryResetProtectionActive(): boolean;
			}
		}
	}
}

declare module android {
	export module service {
		export module quickaccesswallet {
			export class GetWalletCardsCallback extends java.lang.Object {
				public static class: java.lang.Class<android.service.quickaccesswallet.GetWalletCardsCallback>;
				/**
				 * Constructs a new instance of the android.service.quickaccesswallet.GetWalletCardsCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSuccess(param0: android.service.quickaccesswallet.GetWalletCardsResponse): void;
					onFailure(param0: android.service.quickaccesswallet.GetWalletCardsError): void;
				});
				public constructor();
				public onFailure(param0: android.service.quickaccesswallet.GetWalletCardsError): void;
				public onSuccess(param0: android.service.quickaccesswallet.GetWalletCardsResponse): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module quickaccesswallet {
			export class GetWalletCardsError extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.quickaccesswallet.GetWalletCardsError>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsError>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getMessage(): string;
				public constructor(icon: any, message: string);
			}
		}
	}
}

declare module android {
	export module service {
		export module quickaccesswallet {
			export class GetWalletCardsRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.quickaccesswallet.GetWalletCardsRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsRequest>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCardHeightPx(): number;
				public getMaxCards(): number;
				public constructor(cardWidthPx: number, cardHeightPx: number, iconSizePx: number, maxCards: number);
				public getCardWidthPx(): number;
				public getIconSizePx(): number;
			}
		}
	}
}

declare module android {
	export module service {
		export module quickaccesswallet {
			export class GetWalletCardsResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.quickaccesswallet.GetWalletCardsResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsResponse>;
				public getWalletCards(): java.util.List<android.service.quickaccesswallet.WalletCard>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSelectedIndex(): number;
				public describeContents(): number;
				public constructor(walletCards: java.util.List<android.service.quickaccesswallet.WalletCard>, selectedIndex: number);
			}
		}
	}
}

declare module android {
	export module service {
		export module quickaccesswallet {
			export abstract class QuickAccessWalletService extends android.app.Service {
				public static class: java.lang.Class<android.service.quickaccesswallet.QuickAccessWalletService>;
				public static ACTION_VIEW_WALLET: "android.service.quickaccesswallet.action.VIEW_WALLET";
				public static ACTION_VIEW_WALLET_SETTINGS: "android.service.quickaccesswallet.action.VIEW_WALLET_SETTINGS";
				public static SERVICE_INTERFACE: "android.service.quickaccesswallet.QuickAccessWalletService";
				public static SERVICE_META_DATA: "android.quickaccesswallet";
				public sendWalletServiceEvent(serviceEvent: android.service.quickaccesswallet.WalletServiceEvent): void;
				public onWalletCardsRequested(param0: android.service.quickaccesswallet.GetWalletCardsRequest, param1: android.service.quickaccesswallet.GetWalletCardsCallback): void;
				public getTargetActivityPendingIntent(): android.app.PendingIntent;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onWalletDismissed(): void;
				public onTrimMemory(param0: number): void;
				public onWalletCardSelected(param0: android.service.quickaccesswallet.SelectWalletCardRequest): void;
				public constructor(base: android.content.Context);
				public constructor();
			}
		}
	}
}

declare module android {
	export module service {
		export module quickaccesswallet {
			export class SelectWalletCardRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.quickaccesswallet.SelectWalletCardRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.quickaccesswallet.SelectWalletCardRequest>;
				public constructor(cardId: string);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCardId(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module quickaccesswallet {
			export class WalletCard extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.quickaccesswallet.WalletCard>;
				public static CARD_TYPE_NON_PAYMENT: 2;
				public static CARD_TYPE_PAYMENT: 1;
				public static CARD_TYPE_UNKNOWN: 0;
				public static CREATOR: android.os.Parcelable.Creator<android.service.quickaccesswallet.WalletCard>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getCardImage(): any;
				public getCardIcon(): any;
				public getContentDescription(): string;
				public getCardLabel(): string;
				public getCardLocations(): java.util.List<android.location.Location>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCardType(): number;
				public getPendingIntent(): android.app.PendingIntent;
				public getCardId(): string;
				public getNonPaymentCardSecondaryImage(): any;
			}
			export module WalletCard {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.quickaccesswallet.WalletCard.Builder>;
					public setCardLocations(cardLocations: java.util.List<android.location.Location>): android.service.quickaccesswallet.WalletCard.Builder;
					public setCardIcon(cardIcon: any): android.service.quickaccesswallet.WalletCard.Builder;
					public build(): android.service.quickaccesswallet.WalletCard;
					public constructor(cardId: string, cardImage: any, contentDescription: string, pendingIntent: android.app.PendingIntent);
					public setCardLabel(cardLabel: string): android.service.quickaccesswallet.WalletCard.Builder;
					public setNonPaymentCardSecondaryImage(nonPaymentCardSecondaryImage: any): android.service.quickaccesswallet.WalletCard.Builder;
					public constructor(cardId: string, cardType: number, cardImage: any, contentDescription: string, pendingIntent: android.app.PendingIntent);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module quickaccesswallet {
			export class WalletServiceEvent extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.quickaccesswallet.WalletServiceEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.quickaccesswallet.WalletServiceEvent>;
				public static TYPE_NFC_PAYMENT_STARTED: 1;
				public getEventType(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(eventType: number);
				public describeContents(): number;
			}
		}
	}
}

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: 2;
				public static STATE_INACTIVE: 1;
				public static STATE_UNAVAILABLE: 0;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getContentDescription(): string;
				public getIcon(): any;
				public getLabel(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setActivityLaunchForClick(pendingIntent: android.app.PendingIntent): void;
				public setStateDescription(stateDescription: string): void;
				public setSubtitle(subtitle: string): void;
				public setContentDescription(contentDescription: string): void;
				public updateTile(): void;
				public getActivityLaunchForClick(): android.app.PendingIntent;
				public setState(state: number): void;
				public getState(): number;
				public setIcon(icon: any): void;
				public describeContents(): number;
				public getSubtitle(): string;
				public setLabel(label: string): void;
				public getStateDescription(): string;
			}
		}
	}
}

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: "android.service.quicksettings.action.QS_TILE";
				public static ACTION_QS_TILE_PREFERENCES: "android.service.quicksettings.action.QS_TILE_PREFERENCES";
				public static META_DATA_ACTIVE_TILE: "android.service.quicksettings.ACTIVE_TILE";
				public static META_DATA_TOGGLEABLE_TILE: "android.service.quicksettings.TOGGLEABLE_TILE";
				public static requestListeningState(context: android.content.Context, component: android.content.ComponentName): void;
				public unlockAndRun(runnable: java.lang.Runnable): void;
				public showDialog(dialog: android.app.Dialog): void;
				public startActivityAndCollapse(pendingIntent: android.app.PendingIntent): void;
				public onTileRemoved(): void;
				public onStartListening(): void;
				public constructor(base: android.content.Context);
				public constructor();
				public getQsTile(): android.service.quicksettings.Tile;
				public onTileAdded(): void;
				public onClick(): void;
				/** @deprecated */
				public startActivityAndCollapse(intent: android.content.Intent): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				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 constructor();
				public onReceive(context: android.content.Context, intent: android.content.Intent): void;
			}
		}
	}
}

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: "android.service.textservice.SpellCheckerService";
				public createSession(): android.service.textservice.SpellCheckerService.Session;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				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 onGetSentenceSuggestionsMultiple(textInfos: androidNative.Array<android.view.textservice.TextInfo>, suggestionsLimit: number): androidNative.Array<android.view.textservice.SentenceSuggestionsInfo>;
					public onCreate(): void;
					public onClose(): void;
					public getLocale(): string;
					public constructor();
					public getSupportedAttributes(): number;
					public onGetSuggestions(param0: android.view.textservice.TextInfo, param1: number): android.view.textservice.SuggestionsInfo;
					public onGetSuggestionsMultiple(textInfos: androidNative.Array<android.view.textservice.TextInfo>, suggestionsLimit: number, sequentialWords: boolean): androidNative.Array<android.view.textservice.SuggestionsInfo>;
					public onCancel(): void;
					public getBundle(): android.os.Bundle;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module voice {
			export class VisibleActivityInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.voice.VisibleActivityInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.voice.VisibleActivityInfo>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getActivityId(): android.service.voice.VoiceInteractionSession.ActivityId;
			}
		}
	}
}

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: "android.service.voice.VoiceInteractionService";
				public static SERVICE_META_DATA: "android.voice_interaction";
				public static isActiveService(context: android.content.Context, service: android.content.ComponentName): boolean;
				public onLaunchVoiceAssistFromKeyguard(): void;
				public dump(fd: java.io.FileDescriptor, pw: java.io.PrintWriter, args: androidNative.Array<string>): void;
				public onShutdown(): void;
				public setUiHints(hints: android.os.Bundle): void;
				public getDisabledShowContext(): number;
				public setDisabledShowContext(flags: number): void;
				public onShowSessionFailed(args: android.os.Bundle): void;
				public constructor(base: android.content.Context);
				public constructor();
				public onPrepareToShowSession(args: android.os.Bundle, flags: number): void;
				public showSession(args: android.os.Bundle, flags: number): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onReady(): void;
				public onGetSupportedVoiceActions(voiceActions: java.util.Set<string>): java.util.Set<string>;
				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 KEY_FOREGROUND_ACTIVITIES: "android.service.voice.FOREGROUND_ACTIVITIES";
				public static KEY_SHOW_SESSION_ID: "android.service.voice.SHOW_SESSION_ID";
				public static SHOW_SOURCE_ACTIVITY: 16;
				public static SHOW_SOURCE_APPLICATION: 8;
				public static SHOW_SOURCE_ASSIST_GESTURE: 4;
				public static SHOW_SOURCE_AUTOMOTIVE_SYSTEM_UI: 128;
				public static SHOW_SOURCE_NOTIFICATION: 64;
				public static SHOW_SOURCE_PUSH_TO_TALK: 32;
				public static SHOW_WITH_ASSIST: 1;
				public static SHOW_WITH_SCREENSHOT: 2;
				public onLockscreenShown(): void;
				public onHandleScreenshot(screenshot: android.graphics.Bitmap): void;
				public startVoiceActivity(intent: android.content.Intent): void;
				public requestDirectActions(activityId: android.service.voice.VoiceInteractionSession.ActivityId, cancellationSignal: android.os.CancellationSignal, resultExecutor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public onShow(args: android.os.Bundle, showFlags: number): void;
				public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
				public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
				public finish(): void;
				public setTheme(theme: number): void;
				public onConfigurationChanged(param0: android.content.res.Configuration): void;
				public onTaskStarted(intent: android.content.Intent, taskId: number): void;
				public onTrimMemory(param0: number): void;
				public onDirectActionsInvalidated(activityId: android.service.voice.VoiceInteractionSession.ActivityId): void;
				public onAssistStructureFailure(failure: java.lang.Throwable): void;
				public constructor(context: android.content.Context, handler: android.os.Handler);
				public onKeyMultiple(keyCode: number, count: number, event: android.view.KeyEvent): boolean;
				public onRequestAbortVoice(request: android.service.voice.VoiceInteractionSession.AbortVoiceRequest): void;
				public setContentView(view: android.view.View): void;
				public constructor(context: android.content.Context);
				public performDirectAction(action: android.app.DirectAction, extras: android.os.Bundle, cancellationSignal: android.os.CancellationSignal, resultExecutor: java.util.concurrent.Executor, resultListener: any /* any*/): void;
				/** @deprecated */
				public onHandleAssist(data: android.os.Bundle, structure: android.app.assist.AssistStructure, content: android.app.assist.AssistContent): void;
				public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
				public unregisterVisibleActivityCallback(callback: android.service.voice.VoiceInteractionSession.VisibleActivityCallback): void;
				public onRequestConfirmation(request: android.service.voice.VoiceInteractionSession.ConfirmationRequest): void;
				public onRequestCommand(request: android.service.voice.VoiceInteractionSession.CommandRequest): void;
				public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				public onComputeInsets(outInsets: android.service.voice.VoiceInteractionSession.Insets): void;
				public getUserDisabledShowContext(): number;
				public onCreateContentView(): android.view.View;
				public getLayoutInflater(): android.view.LayoutInflater;
				public getContext(): android.content.Context;
				public onTaskFinished(intent: android.content.Intent, taskId: number): void;
				public onHandleAssist(state: android.service.voice.VoiceInteractionSession.AssistState): void;
				public onKeyLongPress(keyCode: number, event: android.view.KeyEvent): boolean;
				public onBackPressed(): void;
				public registerVisibleActivityCallback(executor: java.util.concurrent.Executor, callback: android.service.voice.VoiceInteractionSession.VisibleActivityCallback): void;
				public getDisabledShowContext(): number;
				public setDisabledShowContext(flags: number): void;
				/** @deprecated */
				public onLowMemory(): void;
				public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
				public show(args: android.os.Bundle, flags: number): void;
				public onTrimMemory(level: number): void;
				public startAssistantActivity(intent: android.content.Intent, bundle: android.os.Bundle): void;
				public onCloseSystemDialogs(): void;
				public setKeepAwake(keepAwake: boolean): void;
				public onHide(): void;
				public getWindow(): android.app.Dialog;
				/** @deprecated */
				public onHandleAssistSecondary(data: android.os.Bundle, structure: android.app.assist.AssistStructure, content: android.app.assist.AssistContent, index: number, count: number): void;
				public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
				public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
				public onCancelRequest(request: android.service.voice.VoiceInteractionSession.Request): void;
				public onLowMemory(): void;
				public closeSystemDialogs(): void;
				public hide(): void;
				public dump(prefix: string, fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
				public onGetSupportedCommands(commands: androidNative.Array<string>): androidNative.Array<boolean>;
				public startAssistantActivity(intent: android.content.Intent): void;
				public onCreate(): void;
				public onRequestCompleteVoice(request: android.service.voice.VoiceInteractionSession.CompleteVoiceRequest): void;
				public onPrepareShow(args: android.os.Bundle, showFlags: number): void;
				public onRequestPickOption(request: android.service.voice.VoiceInteractionSession.PickOptionRequest): void;
				public onDestroy(): void;
				public setUiEnabled(enabled: boolean): 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;
					/** @deprecated */
					public getMessage(): string;
					public sendAbortResult(result: android.os.Bundle): void;
				}
				export class ActivityId extends java.lang.Object {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.ActivityId>;
					public equals(o: any): boolean;
					public hashCode(): number;
				}
				export class AssistState extends java.lang.Object {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.AssistState>;
					public getIndex(): number;
					public getCount(): number;
					public isFocused(): boolean;
					public getAssistStructure(): android.app.assist.AssistStructure;
					public getActivityId(): android.service.voice.VoiceInteractionSession.ActivityId;
					public getAssistData(): android.os.Bundle;
					public getAssistContent(): android.app.assist.AssistContent;
				}
				export class CommandRequest extends android.service.voice.VoiceInteractionSession.Request {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.CommandRequest>;
					public getCommand(): string;
					public sendResult(result: android.os.Bundle): void;
					public sendIntermediateResult(result: 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 sendCompleteResult(result: android.os.Bundle): void;
					public getVoicePrompt(): android.app.VoiceInteractor.Prompt;
					/** @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(confirmed: boolean, result: 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: 1;
					public static TOUCHABLE_INSETS_FRAME: 0;
					public static TOUCHABLE_INSETS_REGION: 3;
					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 getVoicePrompt(): android.app.VoiceInteractor.Prompt;
					/** @deprecated */
					public getPrompt(): string;
					public sendIntermediatePickOptionResult(selections: androidNative.Array<android.app.VoiceInteractor.PickOptionRequest.Option>, result: android.os.Bundle): void;
					public sendPickOptionResult(selections: androidNative.Array<android.app.VoiceInteractor.PickOptionRequest.Option>, result: android.os.Bundle): void;
					public getOptions(): androidNative.Array<android.app.VoiceInteractor.PickOptionRequest.Option>;
				}
				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;
				}
				export class VisibleActivityCallback extends java.lang.Object {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.VisibleActivityCallback>;
					/**
					 * Constructs a new instance of the android.service.voice.VoiceInteractionSession$VisibleActivityCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onVisible(activityInfo: android.service.voice.VisibleActivityInfo): void;
						onInvisible(activityId: android.service.voice.VoiceInteractionSession.ActivityId): void;
					});
					public constructor();
					public onVisible(activityInfo: android.service.voice.VisibleActivityInfo): void;
					public onInvisible(activityId: android.service.voice.VoiceInteractionSession.ActivityId): void;
				}
			}
		}
	}
}

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 onTrimMemory(level: number): void;
				public onNewSession(param0: android.os.Bundle): android.service.voice.VoiceInteractionSession;
				public onLowMemory(): void;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onCreate(): void;
				public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
				public dump(fd: java.io.FileDescriptor, writer: java.io.PrintWriter, args: androidNative.Array<string>): void;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				public constructor();
			}
		}
	}
}

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: "android.service.vr.VrListenerService";
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onCurrentVrActivityChanged(component: android.content.ComponentName): void;
				public static isVrModePackageEnabled(context: android.content.Context, requestedComponent: android.content.ComponentName): boolean;
				public onTrimMemory(param0: number): void;
				public constructor(base: android.content.Context);
				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: "android.service.wallpaper.WallpaperService";
				public static SERVICE_META_DATA: "android.service.wallpaper";
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onCreate(): void;
				public dump(fd: java.io.FileDescriptor, out: java.io.PrintWriter, args: androidNative.Array<string>): void;
				public onDestroy(): void;
				public onTrimMemory(param0: number): void;
				public onCreateEngine(): android.service.wallpaper.WallpaperService.Engine;
				public constructor(base: android.content.Context);
				public constructor();
			}
			export module WallpaperService {
				export class Engine extends java.lang.Object {
					public static class: java.lang.Class<android.service.wallpaper.WallpaperService.Engine>;
					public onWallpaperFlagsChanged(which: number): void;
					public constructor(this$0: android.service.wallpaper.WallpaperService);
					public setTouchEventsEnabled(enabled: boolean): void;
					public onDestroy(): void;
					public getDesiredMinimumHeight(): number;
					public onApplyWindowInsets(insets: android.view.WindowInsets): void;
					public onSurfaceCreated(holder: android.view.SurfaceHolder): void;
					public getWallpaperFlags(): number;
					public onZoomChanged(zoom: number): void;
					public getSurfaceHolder(): android.view.SurfaceHolder;
					public onTouchEvent(event: android.view.MotionEvent): void;
					public onCommand(action: string, x: number, y: number, z: number, extras: android.os.Bundle, resultRequested: boolean): android.os.Bundle;
					public onSurfaceRedrawNeeded(holder: android.view.SurfaceHolder): void;
					public onComputeColors(): android.app.WallpaperColors;
					public onDesiredSizeChanged(desiredWidth: number, desiredHeight: number): void;
					public setOffsetNotificationsEnabled(enabled: boolean): void;
					public onOffsetsChanged(xOffset: number, yOffset: number, xOffsetStep: number, yOffsetStep: number, xPixelOffset: number, yPixelOffset: number): void;
					public notifyColorsChanged(): void;
					public onCreate(surfaceHolder: android.view.SurfaceHolder): void;
					public getDisplayContext(): android.content.Context;
					public isPreview(): boolean;
					public isVisible(): boolean;
					public dump(prefix: string, fd: java.io.FileDescriptor, out: java.io.PrintWriter, args: androidNative.Array<string>): void;
					public onVisibilityChanged(visible: boolean): void;
					public onSurfaceChanged(holder: android.view.SurfaceHolder, format: number, width: number, height: number): void;
					public onSurfaceDestroyed(holder: android.view.SurfaceHolder): void;
					public getDesiredMinimumWidth(): number;
				}
			}
		}
	}
}

declare module android {
	export module speech {
		export class AlternativeSpan extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.speech.AlternativeSpan>;
			public static CREATOR: android.os.Parcelable.Creator<android.speech.AlternativeSpan>;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getStartPosition(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(startPosition: number, endPosition: number, alternatives: java.util.List<string>);
			public getEndPosition(): number;
			public getAlternatives(): java.util.List<string>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module speech {
		export class AlternativeSpans extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.speech.AlternativeSpans>;
			public static CREATOR: android.os.Parcelable.Creator<android.speech.AlternativeSpans>;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getSpans(): java.util.List<android.speech.AlternativeSpan>;
			public constructor(spans: java.util.List<android.speech.AlternativeSpan>);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module speech {
		export class ModelDownloadListener extends java.lang.Object {
			public static class: java.lang.Class<android.speech.ModelDownloadListener>;
			/**
			 * Constructs a new instance of the android.speech.ModelDownloadListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onProgress(param0: number): void;
				onSuccess(): void;
				onScheduled(): void;
				onError(param0: number): void;
			});
			public constructor();
			public onScheduled(): void;
			public onSuccess(): void;
			public onProgress(param0: number): void;
			public onError(param0: number): 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: androidNative.Array<number>): void;
				onEndOfSpeech(): void;
				onError(param0: number): void;
				onResults(param0: android.os.Bundle): void;
				onPartialResults(param0: android.os.Bundle): void;
				onSegmentResults(segmentResults: android.os.Bundle): void;
				onEndOfSegmentedSession(): void;
				onLanguageDetection(results: android.os.Bundle): void;
				onEvent(param0: number, param1: android.os.Bundle): void;
			});
			public constructor();
			public onEndOfSpeech(): void;
			public onLanguageDetection(results: android.os.Bundle): void;
			public onBufferReceived(param0: androidNative.Array<number>): void;
			public onEndOfSegmentedSession(): void;
			public onRmsChanged(param0: number): void;
			public onEvent(param0: number, param1: android.os.Bundle): void;
			public onSegmentResults(segmentResults: 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 class RecognitionPart extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.speech.RecognitionPart>;
			public static CONFIDENCE_LEVEL_HIGH: 5;
			public static CONFIDENCE_LEVEL_LOW: 1;
			public static CONFIDENCE_LEVEL_MEDIUM: 3;
			public static CONFIDENCE_LEVEL_MEDIUM_HIGH: 4;
			public static CONFIDENCE_LEVEL_MEDIUM_LOW: 2;
			public static CONFIDENCE_LEVEL_UNKNOWN: 0;
			public static CREATOR: android.os.Parcelable.Creator<android.speech.RecognitionPart>;
			public getFormattedText(): string;
			public getTimestampMillis(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getRawText(): string;
			public getConfidenceLevel(): number;
			public hashCode(): number;
		}
		export module RecognitionPart {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.speech.RecognitionPart.Builder>;
				public build(): android.speech.RecognitionPart;
				public setTimestampMillis(value: number): android.speech.RecognitionPart.Builder;
				public constructor(rawText: string);
				public setFormattedText(value: string): android.speech.RecognitionPart.Builder;
				public setRawText(value: string): android.speech.RecognitionPart.Builder;
				public setConfidenceLevel(value: number): android.speech.RecognitionPart.Builder;
			}
		}
	}
}

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: "android.speech.RecognitionService";
			public static SERVICE_META_DATA: "android.speech";
			public onStopListening(param0: android.speech.RecognitionService.Callback): void;
			public onCheckRecognitionSupport(recognizerIntent: android.content.Intent, supportCallback: android.speech.RecognitionService.SupportCallback): void;
			public constructor();
			public onDestroy(): void;
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public onTriggerModelDownload(recognizerIntent: android.content.Intent, attributionSource: android.content.AttributionSource): void;
			public onCancel(param0: android.speech.RecognitionService.Callback): void;
			public onCheckRecognitionSupport(recognizerIntent: android.content.Intent, attributionSource: android.content.AttributionSource, supportCallback: android.speech.RecognitionService.SupportCallback): void;
			public onTrimMemory(param0: number): void;
			public onStartListening(param0: android.content.Intent, param1: android.speech.RecognitionService.Callback): void;
			public getMaxConcurrentSessionsCount(): number;
			public constructor(base: android.content.Context);
			public createContext(contextParams: android.content.ContextParams): android.content.Context;
			public onTriggerModelDownload(recognizerIntent: android.content.Intent, attributionSource: android.content.AttributionSource, listener: android.speech.ModelDownloadListener): void;
			public onTriggerModelDownload(recognizerIntent: android.content.Intent): void;
		}
		export module RecognitionService {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.speech.RecognitionService.Callback>;
				public error(error: number): void;
				public getCallingUid(): number;
				public readyForSpeech(params: android.os.Bundle): void;
				public bufferReceived(buffer: androidNative.Array<number>): void;
				public languageDetection(results: android.os.Bundle): void;
				public beginningOfSpeech(): void;
				public partialResults(partialResults: android.os.Bundle): void;
				public segmentResults(results: android.os.Bundle): void;
				public getCallingAttributionSource(): android.content.AttributionSource;
				public endOfSpeech(): void;
				public rmsChanged(rmsdB: number): void;
				public endOfSegmentedSession(): void;
				public results(results: android.os.Bundle): void;
			}
			export class SupportCallback extends java.lang.Object {
				public static class: java.lang.Class<android.speech.RecognitionService.SupportCallback>;
				public onSupportResult(recognitionSupport: android.speech.RecognitionSupport): void;
				public onError(errorCode: number): void;
			}
		}
	}
}

declare module android {
	export module speech {
		export class RecognitionSupport extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.speech.RecognitionSupport>;
			public static CREATOR: android.os.Parcelable.Creator<android.speech.RecognitionSupport>;
			public getOnlineLanguages(): java.util.List<string>;
			public toString(): string;
			public getSupportedOnDeviceLanguages(): java.util.List<string>;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getInstalledOnDeviceLanguages(): java.util.List<string>;
			public getPendingOnDeviceLanguages(): java.util.List<string>;
			public hashCode(): number;
		}
		export module RecognitionSupport {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.speech.RecognitionSupport.Builder>;
				public addInstalledOnDeviceLanguage(value: string): android.speech.RecognitionSupport.Builder;
				public build(): android.speech.RecognitionSupport;
				public setPendingOnDeviceLanguages(value: java.util.List<string>): android.speech.RecognitionSupport.Builder;
				public addPendingOnDeviceLanguage(value: string): android.speech.RecognitionSupport.Builder;
				public setOnlineLanguages(value: java.util.List<string>): android.speech.RecognitionSupport.Builder;
				public setInstalledOnDeviceLanguages(value: java.util.List<string>): android.speech.RecognitionSupport.Builder;
				public addOnlineLanguage(value: string): android.speech.RecognitionSupport.Builder;
				public setSupportedOnDeviceLanguages(value: java.util.List<string>): android.speech.RecognitionSupport.Builder;
				public addSupportedOnDeviceLanguage(value: string): android.speech.RecognitionSupport.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module speech {
		export class RecognitionSupportCallback extends java.lang.Object {
			public static class: java.lang.Class<android.speech.RecognitionSupportCallback>;
			/**
			 * Constructs a new instance of the android.speech.RecognitionSupportCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onSupportResult(param0: android.speech.RecognitionSupport): void;
				onError(param0: number): void;
			});
			public constructor();
			public onSupportResult(param0: android.speech.RecognitionSupport): void;
			public onError(param0: number): 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: "android.speech.action.GET_LANGUAGE_DETAILS";
			public static ACTION_RECOGNIZE_SPEECH: "android.speech.action.RECOGNIZE_SPEECH";
			public static ACTION_VOICE_SEARCH_HANDS_FREE: "android.speech.action.VOICE_SEARCH_HANDS_FREE";
			public static ACTION_WEB_SEARCH: "android.speech.action.WEB_SEARCH";
			public static DETAILS_META_DATA: "android.speech.DETAILS";
			public static EXTRA_AUDIO_INJECT_SOURCE: "android.speech.extra.AUDIO_INJECT_SOURCE";
			public static EXTRA_AUDIO_SOURCE: "android.speech.extra.AUDIO_SOURCE";
			public static EXTRA_AUDIO_SOURCE_CHANNEL_COUNT: "android.speech.extra.AUDIO_SOURCE_CHANNEL_COUNT";
			public static EXTRA_AUDIO_SOURCE_ENCODING: "android.speech.extra.AUDIO_SOURCE_ENCODING";
			public static EXTRA_AUDIO_SOURCE_SAMPLING_RATE: "android.speech.extra.AUDIO_SOURCE_SAMPLING_RATE";
			public static EXTRA_BIASING_STRINGS: "android.speech.extra.BIASING_STRINGS";
			public static EXTRA_CALLING_PACKAGE: "calling_package";
			public static EXTRA_CONFIDENCE_SCORES: "android.speech.extra.CONFIDENCE_SCORES";
			public static EXTRA_ENABLE_BIASING_DEVICE_CONTEXT: "android.speech.extra.ENABLE_BIASING_DEVICE_CONTEXT";
			public static EXTRA_ENABLE_FORMATTING: "android.speech.extra.ENABLE_FORMATTING";
			public static EXTRA_ENABLE_LANGUAGE_DETECTION: "android.speech.extra.ENABLE_LANGUAGE_DETECTION";
			public static EXTRA_ENABLE_LANGUAGE_SWITCH: "android.speech.extra.ENABLE_LANGUAGE_SWITCH";
			public static EXTRA_HIDE_PARTIAL_TRAILING_PUNCTUATION: "android.speech.extra.HIDE_PARTIAL_TRAILING_PUNCTUATION";
			public static EXTRA_LANGUAGE: "android.speech.extra.LANGUAGE";
			public static EXTRA_LANGUAGE_DETECTION_ALLOWED_LANGUAGES: "android.speech.extra.LANGUAGE_DETECTION_ALLOWED_LANGUAGES";
			public static EXTRA_LANGUAGE_MODEL: "android.speech.extra.LANGUAGE_MODEL";
			public static EXTRA_LANGUAGE_PREFERENCE: "android.speech.extra.LANGUAGE_PREFERENCE";
			public static EXTRA_LANGUAGE_SWITCH_ALLOWED_LANGUAGES: "android.speech.extra.LANGUAGE_SWITCH_ALLOWED_LANGUAGES";
			public static EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS: "android.speech.extra.LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS";
			public static EXTRA_LANGUAGE_SWITCH_MAX_SWITCHES: "android.speech.extra.LANGUAGE_SWITCH_MAX_SWITCHES";
			public static EXTRA_MASK_OFFENSIVE_WORDS: "android.speech.extra.MASK_OFFENSIVE_WORDS";
			public static EXTRA_MAX_RESULTS: "android.speech.extra.MAX_RESULTS";
			public static EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE: "android.speech.extra.ONLY_RETURN_LANGUAGE_PREFERENCE";
			public static EXTRA_ORIGIN: "android.speech.extra.ORIGIN";
			public static EXTRA_PARTIAL_RESULTS: "android.speech.extra.PARTIAL_RESULTS";
			public static EXTRA_PREFER_OFFLINE: "android.speech.extra.PREFER_OFFLINE";
			public static EXTRA_PROMPT: "android.speech.extra.PROMPT";
			public static EXTRA_REQUEST_WORD_CONFIDENCE: "android.speech.extra.REQUEST_WORD_CONFIDENCE";
			public static EXTRA_REQUEST_WORD_TIMING: "android.speech.extra.REQUEST_WORD_TIMING";
			public static EXTRA_RESULTS: "android.speech.extra.RESULTS";
			public static EXTRA_RESULTS_PENDINGINTENT: "android.speech.extra.RESULTS_PENDINGINTENT";
			public static EXTRA_RESULTS_PENDINGINTENT_BUNDLE: "android.speech.extra.RESULTS_PENDINGINTENT_BUNDLE";
			public static EXTRA_SECURE: "android.speech.extras.EXTRA_SECURE";
			public static EXTRA_SEGMENTED_SESSION: "android.speech.extra.SEGMENTED_SESSION";
			public static EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS: "android.speech.extras.SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS";
			public static EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS: "android.speech.extras.SPEECH_INPUT_MINIMUM_LENGTH_MILLIS";
			public static EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS: "android.speech.extras.SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS";
			public static EXTRA_SUPPORTED_LANGUAGES: "android.speech.extra.SUPPORTED_LANGUAGES";
			public static EXTRA_WEB_SEARCH_ONLY: "android.speech.extra.WEB_SEARCH_ONLY";
			public static FORMATTING_OPTIMIZE_LATENCY: "latency";
			public static FORMATTING_OPTIMIZE_QUALITY: "quality";
			public static LANGUAGE_MODEL_FREE_FORM: "free_form";
			public static LANGUAGE_MODEL_WEB_SEARCH: "web_search";
			public static LANGUAGE_SWITCH_BALANCED: "balanced";
			public static LANGUAGE_SWITCH_HIGH_PRECISION: "high_precision";
			public static LANGUAGE_SWITCH_QUICK_RESPONSE: "quick_response";
			public static RESULT_AUDIO_ERROR: 5;
			public static RESULT_CLIENT_ERROR: 2;
			public static RESULT_NETWORK_ERROR: 4;
			public static RESULT_NO_MATCH: 1;
			public static RESULT_SERVER_ERROR: 3;
			public static getVoiceDetailsIntent(context: 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: "android.speech.action.VOICE_SEARCH_RESULTS";
			public static EXTRA_VOICE_SEARCH_RESULT_HTML: "android.speech.extras.VOICE_SEARCH_RESULT_HTML";
			public static EXTRA_VOICE_SEARCH_RESULT_HTML_BASE_URLS: "android.speech.extras.VOICE_SEARCH_RESULT_HTML_BASE_URLS";
			public static EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS: "android.speech.extras.EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS";
			public static EXTRA_VOICE_SEARCH_RESULT_STRINGS: "android.speech.extras.VOICE_SEARCH_RESULT_STRINGS";
			public static EXTRA_VOICE_SEARCH_RESULT_URLS: "android.speech.extras.VOICE_SEARCH_RESULT_URLS";
			public static URI_SCHEME_INLINE: "inline";
		}
	}
}

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: "confidence_scores";
			public static DETECTED_LANGUAGE: "detected_language";
			public static ERROR_AUDIO: 3;
			public static ERROR_CANNOT_CHECK_SUPPORT: 14;
			public static ERROR_CANNOT_LISTEN_TO_DOWNLOAD_EVENTS: 15;
			public static ERROR_CLIENT: 5;
			public static ERROR_INSUFFICIENT_PERMISSIONS: 9;
			public static ERROR_LANGUAGE_NOT_SUPPORTED: 12;
			public static ERROR_LANGUAGE_UNAVAILABLE: 13;
			public static ERROR_NETWORK: 2;
			public static ERROR_NETWORK_TIMEOUT: 1;
			public static ERROR_NO_MATCH: 7;
			public static ERROR_RECOGNIZER_BUSY: 8;
			public static ERROR_SERVER: 4;
			public static ERROR_SERVER_DISCONNECTED: 11;
			public static ERROR_SPEECH_TIMEOUT: 6;
			public static ERROR_TOO_MANY_REQUESTS: 10;
			public static LANGUAGE_DETECTION_CONFIDENCE_LEVEL: "language_detection_confidence_level";
			public static LANGUAGE_DETECTION_CONFIDENCE_LEVEL_CONFIDENT: 2;
			public static LANGUAGE_DETECTION_CONFIDENCE_LEVEL_HIGHLY_CONFIDENT: 3;
			public static LANGUAGE_DETECTION_CONFIDENCE_LEVEL_NOT_CONFIDENT: 1;
			public static LANGUAGE_DETECTION_CONFIDENCE_LEVEL_UNKNOWN: 0;
			public static LANGUAGE_SWITCH_RESULT: "language_switch_result";
			public static LANGUAGE_SWITCH_RESULT_FAILED: 2;
			public static LANGUAGE_SWITCH_RESULT_NOT_ATTEMPTED: 0;
			public static LANGUAGE_SWITCH_RESULT_SKIPPED_NO_MODEL: 3;
			public static LANGUAGE_SWITCH_RESULT_SUCCEEDED: 1;
			public static RECOGNITION_PARTS: "recognition_parts";
			public static RESULTS_ALTERNATIVES: "results_alternatives";
			public static RESULTS_RECOGNITION: "results_recognition";
			public static TOP_LOCALE_ALTERNATIVES: "top_locale_alternatives";
			public static createSpeechRecognizer(context: android.content.Context): android.speech.SpeechRecognizer;
			public destroy(): void;
			public triggerModelDownload(recognizerIntent: android.content.Intent, executor: java.util.concurrent.Executor, listener: android.speech.ModelDownloadListener): void;
			public static isOnDeviceRecognitionAvailable(context: android.content.Context): boolean;
			public stopListening(): void;
			public cancel(): void;
			public triggerModelDownload(recognizerIntent: android.content.Intent): void;
			public static createSpeechRecognizer(context: android.content.Context, serviceComponent: android.content.ComponentName): android.speech.SpeechRecognizer;
			public checkRecognitionSupport(recognizerIntent: android.content.Intent, executor: java.util.concurrent.Executor, supportListener: android.speech.RecognitionSupportCallback): void;
			public static createOnDeviceSpeechRecognizer(context: android.content.Context): android.speech.SpeechRecognizer;
			public setRecognitionListener(listener: android.speech.RecognitionListener): void;
			public static isRecognitionAvailable(context: android.content.Context): boolean;
			public startListening(recognizerIntent: android.content.Intent): void;
		}
	}
}

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: androidNative.Array<number>, param1: number, param2: number): number;
					done(): number;
					error(): void;
					error(param0: number): void;
					hasStarted(): boolean;
					hasFinished(): boolean;
					rangeStart(markerInFrames: number, start: number, end: number): void;
				});
				public constructor();
				public error(param0: number): void;
				public error(): void;
				public start(param0: number, param1: number, param2: number): number;
				public audioAvailable(param0: androidNative.Array<number>, param1: number, param2: number): number;
				public hasStarted(): boolean;
				public hasFinished(): boolean;
				public getMaxBufferSize(): number;
				public done(): number;
				public rangeStart(markerInFrames: number, start: number, end: 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 getCharSequenceText(): string;
				public getParams(): android.os.Bundle;
				public getCallerUid(): number;
				public getSpeechRate(): number;
				public getVoiceName(): string;
				/** @deprecated */
				public getText(): string;
				public getCountry(): string;
				public constructor(text: string, params: android.os.Bundle);
				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: "android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED";
				public static ERROR: -1;
				public static ERROR_INVALID_REQUEST: -8;
				public static ERROR_NETWORK: -6;
				public static ERROR_NETWORK_TIMEOUT: -7;
				public static ERROR_NOT_INSTALLED_YET: -9;
				public static ERROR_OUTPUT: -5;
				public static ERROR_SERVICE: -4;
				public static ERROR_SYNTHESIS: -3;
				public static LANG_AVAILABLE: 0;
				public static LANG_COUNTRY_AVAILABLE: 1;
				public static LANG_COUNTRY_VAR_AVAILABLE: 2;
				public static LANG_MISSING_DATA: -1;
				public static LANG_NOT_SUPPORTED: -2;
				public static QUEUE_ADD: 1;
				public static QUEUE_FLUSH: 0;
				public static STOPPED: -2;
				public static SUCCESS: 0;
				public constructor(context: android.content.Context, listener: android.speech.tts.TextToSpeech.OnInitListener, engine: string);
				public setSpeechRate(speechRate: number): number;
				public setPitch(pitch: number): number;
				public getVoice(): android.speech.tts.Voice;
				public playSilentUtterance(durationInMs: number, queueMode: number, utteranceId: string): number;
				public getAvailableLanguages(): java.util.Set<java.util.Locale>;
				/** @deprecated */
				public getLanguage(): java.util.Locale;
				public getVoices(): java.util.Set<android.speech.tts.Voice>;
				public setLanguage(loc: java.util.Locale): number;
				public setOnUtteranceProgressListener(listener: android.speech.tts.UtteranceProgressListener): number;
				public addEarcon(earcon: string, packagename: string, resourceId: number): number;
				public shutdown(): void;
				public isSpeaking(): boolean;
				public synthesizeToFile(text: string, params: android.os.Bundle, fileDescriptor: android.os.ParcelFileDescriptor, utteranceId: string): number;
				/** @deprecated */
				public setEngineByPackageName(enginePackageName: string): number;
				/** @deprecated */
				public speak(text: string, queueMode: number, params: java.util.HashMap<string,string>): number;
				public addSpeech(text: string, filename: string): number;
				public getDefaultEngine(): string;
				public addSpeech(text: string, packagename: string, resourceId: number): number;
				/** @deprecated */
				public setOnUtteranceCompletedListener(listener: android.speech.tts.TextToSpeech.OnUtteranceCompletedListener): number;
				public addSpeech(text: string, file: java.io.File): number;
				/** @deprecated */
				public addEarcon(earcon: string, filename: string): number;
				public constructor(context: android.content.Context, listener: android.speech.tts.TextToSpeech.OnInitListener);
				/** @deprecated */
				public getDefaultLanguage(): java.util.Locale;
				public getDefaultVoice(): android.speech.tts.Voice;
				/** @deprecated */
				public synthesizeToFile(text: string, params: java.util.HashMap<string,string>, filename: string): number;
				public speak(text: string, queueMode: number, params: android.os.Bundle, utteranceId: string): number;
				/** @deprecated */
				public playEarcon(earcon: string, queueMode: number, params: java.util.HashMap<string,string>): number;
				public addEarcon(earcon: string, uri: android.net.Uri): number;
				public playEarcon(earcon: string, queueMode: number, params: android.os.Bundle, utteranceId: string): number;
				public getEngines(): java.util.List<android.speech.tts.TextToSpeech.EngineInfo>;
				public isLanguageAvailable(loc: java.util.Locale): number;
				public setVoice(voice: android.speech.tts.Voice): number;
				/** @deprecated */
				public playSilence(durationInMs: number, queueMode: number, params: java.util.HashMap<string,string>): number;
				/** @deprecated */
				public getFeatures(locale: java.util.Locale): java.util.Set<string>;
				/** @deprecated */
				public areDefaultsEnforced(): boolean;
				public synthesizeToFile(text: string, params: android.os.Bundle, file: java.io.File, utteranceId: string): number;
				public addSpeech(text: string, uri: android.net.Uri): number;
				public stop(): number;
				public static getMaxSpeechInputLength(): number;
				public addEarcon(earcon: string, file: java.io.File): number;
				public setAudioAttributes(audioAttributes: any): 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: "android.speech.tts.engine.CHECK_TTS_DATA";
					public static ACTION_GET_SAMPLE_TEXT: "android.speech.tts.engine.GET_SAMPLE_TEXT";
					public static ACTION_INSTALL_TTS_DATA: "android.speech.tts.engine.INSTALL_TTS_DATA";
					public static ACTION_TTS_DATA_INSTALLED: "android.speech.tts.engine.TTS_DATA_INSTALLED";
					public static CHECK_VOICE_DATA_BAD_DATA: -1;
					public static CHECK_VOICE_DATA_FAIL: 0;
					public static CHECK_VOICE_DATA_MISSING_DATA: -2;
					public static CHECK_VOICE_DATA_MISSING_VOLUME: -3;
					public static CHECK_VOICE_DATA_PASS: 1;
					public static DEFAULT_STREAM: 3;
					public static EXTRA_AVAILABLE_VOICES: "availableVoices";
					public static EXTRA_CHECK_VOICE_DATA_FOR: "checkVoiceDataFor";
					public static EXTRA_SAMPLE_TEXT: "sampleText";
					public static EXTRA_TTS_DATA_INSTALLED: "dataInstalled";
					public static EXTRA_UNAVAILABLE_VOICES: "unavailableVoices";
					public static EXTRA_VOICE_DATA_FILES: "dataFiles";
					public static EXTRA_VOICE_DATA_FILES_INFO: "dataFilesInfo";
					public static EXTRA_VOICE_DATA_ROOT_DIRECTORY: "dataRoot";
					public static INTENT_ACTION_TTS_SERVICE: "android.intent.action.TTS_SERVICE";
					public static KEY_FEATURE_EMBEDDED_SYNTHESIS: "embeddedTts";
					public static KEY_FEATURE_NETWORK_RETRIES_COUNT: "networkRetriesCount";
					public static KEY_FEATURE_NETWORK_SYNTHESIS: "networkTts";
					public static KEY_FEATURE_NETWORK_TIMEOUT_MS: "networkTimeoutMs";
					public static KEY_FEATURE_NOT_INSTALLED: "notInstalled";
					public static KEY_PARAM_PAN: "pan";
					public static KEY_PARAM_SESSION_ID: "sessionId";
					public static KEY_PARAM_STREAM: "streamType";
					public static KEY_PARAM_UTTERANCE_ID: "utteranceId";
					public static KEY_PARAM_VOLUME: "volume";
					public static SERVICE_META_DATA: "android.speech.tts";
					public constructor(this$0: 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();
					/** @deprecated */
					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(lang: string, country: string, variant: string): string;
				public onGetVoices(): java.util.List<android.speech.tts.Voice>;
				public onGetFeaturesForLanguage(lang: string, country: string, variant: string): java.util.Set<string>;
				public onGetLanguage(): androidNative.Array<string>;
				public constructor(base: android.content.Context);
				public constructor();
				public onLoadLanguage(param0: string, param1: string, param2: string): number;
				public onIsLanguageAvailable(param0: string, param1: string, param2: string): number;
				public onBind(intent: android.content.Intent): android.os.IBinder;
				public onCreate(): void;
				public onSynthesizeText(param0: android.speech.tts.SynthesisRequest, param1: android.speech.tts.SynthesisCallback): void;
				public onStop(): void;
				public onDestroy(): void;
				public onTrimMemory(param0: number): void;
				public onLoadVoice(voiceName: string): number;
				public onIsValidVoiceName(voiceName: 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 onStop(utteranceId: string, interrupted: boolean): void;
				/** @deprecated */
				public onError(param0: string): void;
				public onBeginSynthesis(utteranceId: string, sampleRateInHz: number, audioFormat: number, channelCount: number): void;
				public onDone(param0: string): void;
				public onError(utteranceId: string, errorCode: number): void;
				public onAudioAvailable(utteranceId: string, audio: androidNative.Array<number>): void;
				public onRangeStart(utteranceId: string, start: number, end: number, frame: 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: 400;
				public static LATENCY_LOW: 200;
				public static LATENCY_NORMAL: 300;
				public static LATENCY_VERY_HIGH: 500;
				public static LATENCY_VERY_LOW: 100;
				public static QUALITY_HIGH: 400;
				public static QUALITY_LOW: 200;
				public static QUALITY_NORMAL: 300;
				public static QUALITY_VERY_HIGH: 500;
				public static QUALITY_VERY_LOW: 100;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getFeatures(): java.util.Set<string>;
				public getQuality(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(name: string, locale: java.util.Locale, quality: number, latency: number, requiresNetworkConnection: boolean, features: java.util.Set<string>);
				public getLocale(): java.util.Locale;
				public isNetworkConnectionRequired(): boolean;
				public getName(): string;
				public toString(): string;
				public getLatency(): number;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public describeContents(): 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 rethrowAsIOException(): java.io.IOException;
			public constructor(message: string);
			public constructor(functionName: string, errno: number);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public rethrowAsSocketException(): java.net.SocketException;
			public constructor(functionName: string, errno: number, cause: java.lang.Throwable);
		}
	}
}

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 toString(): string;
			public constructor(value: number);
		}
	}
}

declare module android {
	export module system {
		export class Os extends java.lang.Object {
			public static class: java.lang.Class<android.system.Os>;
			/** @deprecated */
			public static seteuid(euid: number): void;
			public static stat(path: string): android.system.StructStat;
			public static msync(address: number, byteCount: number, flags: number): void;
			public static setenv(name: string, value: string, overwrite: boolean): void;
			public static fstatvfs(fd: java.io.FileDescriptor): android.system.StructStatVfs;
			public static gettid(): number;
			public static mkdir(path: string, mode: number): void;
			public static setxattr(path: string, name: string, value: androidNative.Array<number>, flags: number): void;
			public static fsync(fd: java.io.FileDescriptor): void;
			public static uname(): android.system.StructUtsname;
			public static access(path: string, mode: number): boolean;
			public static bind(fd: java.io.FileDescriptor, address: java.net.SocketAddress): void;
			public static getpid(): number;
			public static prctl(option: number, arg2: number, arg3: number, arg4: number, arg5: number): number;
			/** @deprecated */
			public static setuid(uid: number): void;
			public static sendto(fd: java.io.FileDescriptor, buffer: java.nio.ByteBuffer, flags: number, inetAddress: java.net.InetAddress, port: number): number;
			public static accept(fd: java.io.FileDescriptor, peerAddress: java.net.InetSocketAddress): java.io.FileDescriptor;
			public static posix_fallocate(fd: java.io.FileDescriptor, offset: number, length: number): void;
			public static write(fd: java.io.FileDescriptor, buffer: java.nio.ByteBuffer): number;
			public static remove(path: string): void;
			public static mmap(address: number, byteCount: number, prot: number, flags: number, fd: java.io.FileDescriptor, offset: number): number;
			public static writev(fd: java.io.FileDescriptor, buffers: androidNative.Array<any>, offsets: androidNative.Array<number>, byteCounts: androidNative.Array<number>): number;
			public static removexattr(path: string, name: string): void;
			public static sendto(fd: java.io.FileDescriptor, bytes: androidNative.Array<number>, byteOffset: number, byteCount: number, flags: number, inetAddress: java.net.InetAddress, port: number): number;
			public static write(fd: java.io.FileDescriptor, bytes: androidNative.Array<number>, byteOffset: number, byteCount: number): number;
			public static getppid(): number;
			public static recvmsg(fd: java.io.FileDescriptor, msg: android.system.StructMsghdr, flags: number): number;
			public static inet_pton(family: number, address: string): java.net.InetAddress;
			public static getgid(): number;
			public static listen(fd: java.io.FileDescriptor, backlog: number): void;
			public static chmod(path: string, mode: number): void;
			public static gai_strerror(error: number): string;
			public static socketpair(domain: number, type: number, protocol: number, fd1: java.io.FileDescriptor, fd2: java.io.FileDescriptor): void;
			public static open(path: string, flags: number, mode: number): java.io.FileDescriptor;
			public static mincore(address: number, byteCount: number, vector: androidNative.Array<number>): void;
			public static getegid(): number;
			public static lchown(path: string, uid: number, gid: number): void;
			public static dup2(oldFd: java.io.FileDescriptor, newFd: number): java.io.FileDescriptor;
			public static execve(filename: string, argv: androidNative.Array<string>, envp: androidNative.Array<string>): void;
			public static connect(fd: java.io.FileDescriptor, address: java.net.InetAddress, port: number): void;
			public static symlink(oldPath: string, newPath: string): void;
			public static poll(fds: androidNative.Array<android.system.StructPollfd>, timeoutMs: number): number;
			public static setsockoptInt(fd: java.io.FileDescriptor, level: number, option: number, value: number): void;
			public static fchmod(fd: java.io.FileDescriptor, mode: number): void;
			public static getenv(name: string): string;
			public static sysconf(name: number): number;
			public static memfd_create(name: string, flags: number): java.io.FileDescriptor;
			public static read(fd: java.io.FileDescriptor, buffer: java.nio.ByteBuffer): number;
			public static umask(mask: number): number;
			public static if_nametoindex(name: string): number;
			public static rename(oldPath: string, newPath: string): void;
			public static sendfile(outFd: java.io.FileDescriptor, inFd: java.io.FileDescriptor, offset: android.system.Int64Ref, byteCount: number): number;
			public static tcdrain(fd: java.io.FileDescriptor): void;
			public static geteuid(): number;
			public static execv(filename: string, argv: androidNative.Array<string>): void;
			public static link(oldPath: string, newPath: string): void;
			public static tcsendbreak(fd: java.io.FileDescriptor, duration: number): void;
			public static getsockname(fd: java.io.FileDescriptor): java.net.SocketAddress;
			public static readv(fd: java.io.FileDescriptor, buffers: androidNative.Array<any>, offsets: androidNative.Array<number>, byteCounts: androidNative.Array<number>): number;
			public static fdatasync(fd: java.io.FileDescriptor): void;
			public static munmap(address: number, byteCount: number): void;
			public static recvfrom(fd: java.io.FileDescriptor, bytes: androidNative.Array<number>, byteOffset: number, byteCount: number, flags: number, srcAddress: java.net.InetSocketAddress): number;
			public static bind(fd: java.io.FileDescriptor, address: java.net.InetAddress, port: number): void;
			public static lstat(path: string): android.system.StructStat;
			public static mkfifo(path: string, mode: number): void;
			public static fstat(fd: java.io.FileDescriptor): android.system.StructStat;
			public static pread(fd: java.io.FileDescriptor, bytes: androidNative.Array<number>, byteOffset: number, byteCount: number, offset: number): number;
			public static shutdown(fd: java.io.FileDescriptor, how: number): void;
			public static kill(pid: number, signal: number): void;
			public static connect(fd: java.io.FileDescriptor, address: java.net.SocketAddress): void;
			public static pwrite(fd: java.io.FileDescriptor, bytes: androidNative.Array<number>, byteOffset: number, byteCount: number, offset: number): number;
			public static close(fd: java.io.FileDescriptor): void;
			public static dup(oldFd: java.io.FileDescriptor): java.io.FileDescriptor;
			public static pipe(): androidNative.Array<java.io.FileDescriptor>;
			public static sendto(fd: java.io.FileDescriptor, bytes: androidNative.Array<number>, byteOffset: number, byteCount: number, flags: number, address: java.net.SocketAddress): number;
			public static strsignal(signal: number): string;
			/** @deprecated */
			public static setegid(egid: number): void;
			public static chown(path: string, uid: number, gid: number): void;
			public static fchown(fd: java.io.FileDescriptor, uid: number, gid: number): void;
			public static sendmsg(fd: java.io.FileDescriptor, msg: android.system.StructMsghdr, flags: number): number;
			public static fcntlInt(fd: java.io.FileDescriptor, cmd: number, arg: number): number;
			public static getxattr(path: string, name: string): androidNative.Array<number>;
			public static getpeername(fd: java.io.FileDescriptor): java.net.SocketAddress;
			public static getuid(): number;
			public static socket(domain: number, type: number, protocol: number): java.io.FileDescriptor;
			public static pread(fd: java.io.FileDescriptor, buffer: java.nio.ByteBuffer, offset: number): number;
			public static setsockoptTimeval(fd: java.io.FileDescriptor, level: number, option: number, value: android.system.StructTimeval): void;
			public static statvfs(path: string): android.system.StructStatVfs;
			public static strerror(errno: number): string;
			public static mlock(address: number, byteCount: number): void;
			public static read(fd: java.io.FileDescriptor, bytes: androidNative.Array<number>, byteOffset: number, byteCount: number): number;
			public static ftruncate(fd: java.io.FileDescriptor, length: number): void;
			public static environ(): androidNative.Array<string>;
			public static lseek(fd: java.io.FileDescriptor, offset: number, whence: number): number;
			public static munlock(address: number, byteCount: number): void;
			public static isatty(fd: java.io.FileDescriptor): boolean;
			public static setsid(): number;
			public static readlink(path: string): string;
			public static listxattr(path: string): androidNative.Array<string>;
			public static unsetenv(name: string): void;
			public static pwrite(fd: java.io.FileDescriptor, buffer: java.nio.ByteBuffer, offset: number): number;
			public static getsockoptTimeval(fd: java.io.FileDescriptor, level: number, option: number): android.system.StructTimeval;
			public static if_indextoname(index: number): string;
			public static recvfrom(fd: java.io.FileDescriptor, buffer: java.nio.ByteBuffer, flags: number, srcAddress: java.net.InetSocketAddress): number;
			/** @deprecated */
			public static setgid(gid: 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_NETLINK: number;
			public static AF_PACKET: number;
			public static AF_UNIX: number;
			public static AF_UNSPEC: number;
			public static AF_VSOCK: 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 ARPHRD_ETHER: 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 ENONET: 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 ETH_P_ALL: number;
			public static ETH_P_ARP: number;
			public static ETH_P_IP: number;
			public static ETH_P_IPV6: 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 ICMP6_ECHO_REPLY: number;
			public static ICMP6_ECHO_REQUEST: number;
			public static ICMP_ECHO: number;
			public static ICMP_ECHOREPLY: number;
			public static IFA_F_DADFAILED: number;
			public static IFA_F_DEPRECATED: number;
			public static IFA_F_HOMEADDRESS: number;
			public static IFA_F_MANAGETEMPADDR: number;
			public static IFA_F_NODAD: number;
			public static IFA_F_NOPREFIXROUTE: 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_ESP: 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_PKTINFO: 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_ANONYMOUS: 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 MFD_CLOEXEC: 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 NETLINK_INET_DIAG: number;
			public static NETLINK_NETFILTER: number;
			public static NETLINK_ROUTE: number;
			public static NETLINK_XFRM: 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 PACKET_IGNORE_OUTGOING: 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 RTMGRP_NEIGH: 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_CLOEXEC: number;
			public static SOCK_DGRAM: number;
			public static SOCK_NONBLOCK: number;
			public static SOCK_RAW: number;
			public static SOCK_SEQPACKET: number;
			public static SOCK_STREAM: number;
			public static SOL_PACKET: number;
			public static SOL_SOCKET: number;
			public static SOL_UDP: 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 UDP_GRO: number;
			public static UDP_SEGMENT: number;
			public static VMADDR_CID_ANY: number;
			public static VMADDR_CID_HOST: number;
			public static VMADDR_CID_LOCAL: number;
			public static VMADDR_PORT_ANY: 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_ISSOCK(mode: number): boolean;
			public static WCOREDUMP(status: number): boolean;
			public static S_ISLNK(mode: number): boolean;
			public static S_ISDIR(mode: number): boolean;
			public static S_ISCHR(mode: number): boolean;
			public static errnoName(errno: number): string;
			public static S_ISREG(mode: number): boolean;
			public static WSTOPSIG(status: number): number;
			public static WIFEXITED(status: number): boolean;
			public static WIFSIGNALED(status: number): boolean;
			public static WIFSTOPPED(status: number): boolean;
			public static gaiName(error: number): string;
			public static WEXITSTATUS(status: number): number;
			public static S_ISBLK(mode: number): boolean;
			public static S_ISFIFO(mode: number): boolean;
			public static WTERMSIG(status: number): number;
		}
	}
}

declare module android {
	export module system {
		export class StructCmsghdr extends java.lang.Object {
			public static class: java.lang.Class<android.system.StructCmsghdr>;
			public cmsg_data: androidNative.Array<number>;
			public cmsg_level: number;
			public cmsg_type: number;
			public constructor(cmsg_level: number, cmsg_type: number, value: androidNative.Array<number>);
			public constructor(cmsg_level: number, cmsg_type: number, value: number);
		}
	}
}

declare module android {
	export module system {
		export class StructMsghdr extends java.lang.Object {
			public static class: java.lang.Class<android.system.StructMsghdr>;
			public msg_control: androidNative.Array<android.system.StructCmsghdr>;
			public msg_flags: number;
			public msg_iov: androidNative.Array<java.nio.ByteBuffer>;
			public msg_name: java.net.SocketAddress;
			public constructor(msg_name: java.net.SocketAddress, msg_iov: androidNative.Array<java.nio.ByteBuffer>, msg_control: androidNative.Array<android.system.StructCmsghdr>, msg_flags: number);
		}
	}
}

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(st_dev: number, st_ino: number, st_mode: number, st_nlink: number, st_uid: number, st_gid: number, st_rdev: number, st_size: number, st_atim: android.system.StructTimespec, st_mtim: android.system.StructTimespec, st_ctim: android.system.StructTimespec, st_blksize: number, st_blocks: number);
			public constructor(st_dev: number, st_ino: number, st_mode: number, st_nlink: number, st_uid: number, st_gid: number, st_rdev: number, st_size: number, st_atime: number, st_mtime: number, st_ctime: number, st_blksize: number, st_blocks: 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(f_bsize: number, f_frsize: number, f_blocks: number, f_bfree: number, f_bavail: number, f_files: number, f_ffree: number, f_favail: number, f_fsid: number, f_flag: number, f_namemax: 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 constructor(tv_sec: number, tv_nsec: number);
			public toString(): string;
			public equals(o: any): boolean;
			public compareTo(other: android.system.StructTimespec): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module system {
		export class StructTimeval extends java.lang.Object {
			public static class: java.lang.Class<android.system.StructTimeval>;
			public tv_sec: number;
			public tv_usec: number;
			public toString(): string;
			public equals(o: any): boolean;
			public static fromMillis(millis: number): android.system.StructTimeval;
			public toMillis(): 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 toString(): string;
			public constructor(sysname: string, nodename: string, release: string, version: string, machine: string);
		}
	}
}

declare module android {
	export module system {
		export class SystemCleaner extends java.lang.Object {
			public static class: java.lang.Class<android.system.SystemCleaner>;
			public static cleaner(): java.lang.ref.Cleaner;
		}
	}
}

declare module android {
	export module system {
		export class VmSocketAddress extends java.net.SocketAddress {
			public static class: java.lang.Class<android.system.VmSocketAddress>;
			public constructor(svmPort: number, svmCid: number);
			public getSvmCid(): number;
			public constructor();
			public getSvmPort(): number;
		}
	}
}

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: "selectPhoneAccountAccounts";
			public static EVENT_CLEAR_DIAGNOSTIC_MESSAGE: "android.telecom.event.CLEAR_DIAGNOSTIC_MESSAGE";
			public static EVENT_DISPLAY_DIAGNOSTIC_MESSAGE: "android.telecom.event.DISPLAY_DIAGNOSTIC_MESSAGE";
			public static EXTRA_ASSERTED_DISPLAY_NAME: "android.telecom.extra.ASSERTED_DISPLAY_NAME";
			public static EXTRA_DIAGNOSTIC_MESSAGE: "android.telecom.extra.DIAGNOSTIC_MESSAGE";
			public static EXTRA_DIAGNOSTIC_MESSAGE_ID: "android.telecom.extra.DIAGNOSTIC_MESSAGE_ID";
			public static EXTRA_IS_BUSINESS_CALL: "android.telecom.extra.IS_BUSINESS_CALL";
			public static EXTRA_IS_SUPPRESSED_BY_DO_NOT_DISTURB: "android.telecom.extra.IS_SUPPRESSED_BY_DO_NOT_DISTURB";
			public static EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS: "android.telecom.extra.LAST_EMERGENCY_CALLBACK_TIME_MILLIS";
			public static EXTRA_SILENT_RINGING_REQUESTED: "android.telecom.extra.SILENT_RINGING_REQUESTED";
			public static EXTRA_SUGGESTED_PHONE_ACCOUNTS: "android.telecom.extra.SUGGESTED_PHONE_ACCOUNTS";
			public static REJECT_REASON_DECLINED: 1;
			public static REJECT_REASON_UNWANTED: 2;
			public static STATE_ACTIVE: 4;
			public static STATE_AUDIO_PROCESSING: 12;
			public static STATE_CONNECTING: 9;
			public static STATE_DIALING: 1;
			public static STATE_DISCONNECTED: 7;
			public static STATE_DISCONNECTING: 10;
			public static STATE_HOLDING: 3;
			public static STATE_NEW: 0;
			public static STATE_PULLING_CALL: 11;
			public static STATE_RINGING: 2;
			public static STATE_SELECT_PHONE_ACCOUNT: 8;
			public static STATE_SIMULATED_RINGING: 13;
			public unhold(): void;
			public removeExtras(keys: androidNative.Array<string>): void;
			public postDialContinue(proceed: boolean): void;
			public reject(rejectReason: number): void;
			public swapConference(): void;
			public getChildren(): java.util.List<android.telecom.Call>;
			public getGenericConferenceActiveChildCall(): android.telecom.Call;
			public sendRttRequest(): void;
			public getParent(): android.telecom.Call;
			public answer(videoState: number): void;
			public conference(callToConferenceWith: android.telecom.Call): void;
			public phoneAccountSelected(accountHandle: android.telecom.PhoneAccountHandle, setDefault: boolean): void;
			public getCannedTextResponses(): java.util.List<string>;
			public addConferenceParticipants(participants: java.util.List<android.net.Uri>): void;
			public handoverTo(toHandle: android.telecom.PhoneAccountHandle, videoState: number, extras: android.os.Bundle): void;
			public stopRtt(): void;
			public respondToRttRequest(id: number, accept: boolean): void;
			public mergeConference(): void;
			public pullExternalCall(): void;
			public registerCallback(callback: android.telecom.Call.Callback): void;
			public getRemainingPostDialSequence(): string;
			/** @deprecated */
			public getState(): number;
			public getDetails(): android.telecom.Call.Details;
			public reject(rejectWithMessage: boolean, textMessage: string): void;
			public putExtras(extras: android.os.Bundle): void;
			public splitFromConference(): void;
			public removeExtras(keys: java.util.List<string>): void;
			public unregisterCallback(callback: android.telecom.Call.Callback): void;
			public getConferenceableCalls(): java.util.List<android.telecom.Call>;
			public playDtmfTone(digit: string): void;
			public isRttActive(): boolean;
			public registerCallback(callback: android.telecom.Call.Callback, handler: android.os.Handler): void;
			public toString(): string;
			public getVideoCall(): android.telecom.InCallService.VideoCall;
			public getRttCall(): android.telecom.Call.RttCall;
			public sendCallEvent(event: string, extras: android.os.Bundle): void;
			public deflect(address: android.net.Uri): void;
			public hold(): void;
			public stopDtmfTone(): 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: 1;
				public static HANDOVER_FAILURE_NOT_SUPPORTED: 2;
				public static HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL: 4;
				public static HANDOVER_FAILURE_UNKNOWN: 5;
				public static HANDOVER_FAILURE_USER_REJECTED: 3;
				public onCannedTextResponsesLoaded(call: android.telecom.Call, cannedTextResponses: java.util.List<string>): void;
				public onHandoverComplete(call: android.telecom.Call): void;
				public onCallDestroyed(call: android.telecom.Call): void;
				public onConnectionEvent(call: android.telecom.Call, event: string, extras: android.os.Bundle): void;
				public onStateChanged(call: android.telecom.Call, state: number): void;
				public onChildrenChanged(call: android.telecom.Call, children: java.util.List<android.telecom.Call>): void;
				public onHandoverFailed(call: android.telecom.Call, failureReason: number): void;
				public onPostDialWait(call: android.telecom.Call, remainingPostDialSequence: string): void;
				public constructor();
				public onRttStatusChanged(call: android.telecom.Call, enabled: boolean, rttCall: android.telecom.Call.RttCall): void;
				public onDetailsChanged(call: android.telecom.Call, details: android.telecom.Call.Details): void;
				public onRttInitiationFailure(call: android.telecom.Call, reason: number): void;
				public onConferenceableCallsChanged(call: android.telecom.Call, conferenceableCalls: java.util.List<android.telecom.Call>): void;
				public onParentChanged(call: android.telecom.Call, parent: android.telecom.Call): void;
				public onRttModeChanged(call: android.telecom.Call, mode: number): void;
				public onRttRequest(call: android.telecom.Call, id: number): void;
				public onVideoCallChanged(call: android.telecom.Call, videoCall: android.telecom.InCallService.VideoCall): void;
			}
			export class Details extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.Call.Details>;
				public static CAPABILITY_ADD_PARTICIPANT: 33554432;
				public static CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO: 4194304;
				public static CAPABILITY_CAN_PAUSE_VIDEO: 1048576;
				public static CAPABILITY_CAN_PULL_CALL: 8388608;
				public static CAPABILITY_DISCONNECT_FROM_CONFERENCE: 8192;
				public static CAPABILITY_HOLD: 1;
				public static CAPABILITY_MANAGE_CONFERENCE: 128;
				public static CAPABILITY_MERGE_CONFERENCE: 4;
				public static CAPABILITY_MUTE: 64;
				public static CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT: 268435456;
				public static CAPABILITY_RESPOND_VIA_TEXT: 32;
				public static CAPABILITY_SEPARATE_FROM_CONFERENCE: 4096;
				public static CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL: 768;
				public static CAPABILITY_SUPPORTS_VT_LOCAL_RX: 256;
				public static CAPABILITY_SUPPORTS_VT_LOCAL_TX: 512;
				public static CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL: 3072;
				public static CAPABILITY_SUPPORTS_VT_REMOTE_RX: 1024;
				public static CAPABILITY_SUPPORTS_VT_REMOTE_TX: 2048;
				public static CAPABILITY_SUPPORT_DEFLECT: 16777216;
				public static CAPABILITY_SUPPORT_HOLD: 2;
				public static CAPABILITY_SWAP_CONFERENCE: 8;
				public static DIRECTION_INCOMING: 0;
				public static DIRECTION_OUTGOING: 1;
				public static DIRECTION_UNKNOWN: -1;
				public static PROPERTY_ASSISTED_DIALING: 512;
				public static PROPERTY_CONFERENCE: 1;
				public static PROPERTY_CROSS_SIM: 16384;
				public static PROPERTY_EMERGENCY_CALLBACK_MODE: 4;
				public static PROPERTY_ENTERPRISE_CALL: 32;
				public static PROPERTY_GENERIC_CONFERENCE: 2;
				public static PROPERTY_HAS_CDMA_VOICE_PRIVACY: 128;
				public static PROPERTY_HIGH_DEF_AUDIO: 16;
				public static PROPERTY_IS_ADHOC_CONFERENCE: 8192;
				public static PROPERTY_IS_EXTERNAL_CALL: 64;
				public static PROPERTY_IS_TRANSACTIONAL: 32768;
				public static PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL: 2048;
				public static PROPERTY_RTT: 1024;
				public static PROPERTY_SELF_MANAGED: 256;
				public static PROPERTY_VOIP_AUDIO_MODE: 4096;
				public static PROPERTY_WIFI: 8;
				public getId(): string;
				public getCallerDisplayNamePresentation(): number;
				public getContactDisplayName(): string;
				public getStatusHints(): android.telecom.StatusHints;
				public getHandlePresentation(): number;
				public getIntentExtras(): android.os.Bundle;
				public getCallProperties(): number;
				public hashCode(): number;
				public getVideoState(): number;
				public getCallerNumberVerificationStatus(): number;
				public static can(capabilities: number, capability: number): boolean;
				public getExtras(): android.os.Bundle;
				public equals(o: any): boolean;
				public getGatewayInfo(): android.telecom.GatewayInfo;
				public static capabilitiesToString(capabilities: number): string;
				public getDisconnectCause(): android.telecom.DisconnectCause;
				public getCallCapabilities(): number;
				public getHandle(): android.net.Uri;
				public static hasProperty(properties: number, property: number): boolean;
				public getCallerDisplayName(): string;
				public getConnectTimeMillis(): number;
				public getCallDirection(): number;
				public toString(): string;
				public static propertiesToString(properties: number): string;
				public getContactPhotoUri(): android.net.Uri;
				public hasProperty(property: number): boolean;
				public getState(): number;
				public can(capability: number): boolean;
				public getAccountHandle(): android.telecom.PhoneAccountHandle;
				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: 1;
				public static RTT_MODE_HCO: 2;
				public static RTT_MODE_VCO: 3;
				public setRttMode(mode: number): void;
				public readImmediately(): string;
				public read(): string;
				public getRttAudioMode(): number;
				public write(input: string): void;
			}
		}
	}
}

declare module android {
	export module telecom {
		export class CallAttributes extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.CallAttributes>;
			public static AUDIO_CALL: 1;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.CallAttributes>;
			public static DIRECTION_INCOMING: 1;
			public static DIRECTION_OUTGOING: 2;
			public static SUPPORTS_SET_INACTIVE: 2;
			public static SUPPORTS_STREAM: 4;
			public static SUPPORTS_TRANSFER: 8;
			public static SUPPORTS_VIDEO_CALLING: 16;
			public static VIDEO_CALL: 2;
			public toString(): string;
			public getPhoneAccountHandle(): android.telecom.PhoneAccountHandle;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(obj: any): boolean;
			public getAddress(): android.net.Uri;
			public describeContents(): number;
			public getCallCapabilities(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCallType(): number;
			public getDisplayName(): string;
			public getDirection(): number;
			public hashCode(): number;
		}
		export module CallAttributes {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.CallAttributes.Builder>;
				public setCallCapabilities(callCapabilities: number): android.telecom.CallAttributes.Builder;
				public constructor(phoneAccountHandle: android.telecom.PhoneAccountHandle, callDirection: number, displayName: string, address: android.net.Uri);
				public setCallType(callType: number): android.telecom.CallAttributes.Builder;
				public build(): android.telecom.CallAttributes;
			}
		}
	}
}

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: 2;
			public static ROUTE_EARPIECE: 1;
			public static ROUTE_SPEAKER: 8;
			public static ROUTE_STREAMING: 16;
			public static ROUTE_WIRED_HEADSET: 4;
			public static ROUTE_WIRED_OR_EARPIECE: 5;
			public toString(): string;
			public equals(obj: any): boolean;
			public isMuted(): boolean;
			public getActiveBluetoothDevice(): android.bluetooth.BluetoothDevice;
			public constructor(muted: boolean, route: number, supportedRouteMask: number);
			public getSupportedRouteMask(): number;
			public describeContents(): number;
			public writeToParcel(destination: android.os.Parcel, flags: number): void;
			public getSupportedBluetoothDevices(): java.util.Collection<android.bluetooth.BluetoothDevice>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static audioRouteToString(route: number): string;
			public getRoute(): number;
		}
	}
}

declare module android {
	export module telecom {
		export class CallControl extends java.lang.Object {
			public static class: java.lang.Class<android.telecom.CallControl>;
			public requestMuteState(isMuted: boolean, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>): void;
			public setInactive(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>): void;
			public disconnect(disconnectCause: android.telecom.DisconnectCause, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>): void;
			public requestCallEndpointChange(callEndpoint: android.telecom.CallEndpoint, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>): void;
			public getCallId(): android.os.ParcelUuid;
			public requestVideoState(videoState: number, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>): void;
			public answer(videoState: number, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>): void;
			public startCallStreaming(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>): void;
			public sendEvent(event: string, extras: android.os.Bundle): void;
			public setActive(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>): void;
		}
	}
}

declare module android {
	export module telecom {
		export class CallControlCallback extends java.lang.Object {
			public static class: java.lang.Class<android.telecom.CallControlCallback>;
			/**
			 * Constructs a new instance of the android.telecom.CallControlCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onSetActive(param0: any /* any*/): void;
				onSetInactive(param0: any /* any*/): void;
				onAnswer(param0: number, param1: any /* any*/): void;
				onDisconnect(param0: android.telecom.DisconnectCause, param1: any /* any*/): void;
				onCallStreamingStarted(param0: any /* any*/): void;
			});
			public constructor();
			public onSetInactive(param0: any /* any*/): void;
			public onDisconnect(param0: android.telecom.DisconnectCause, param1: any /* any*/): void;
			public onAnswer(param0: number, param1: any /* any*/): void;
			public onSetActive(param0: any /* any*/): void;
			public onCallStreamingStarted(param0: any /* any*/): void;
		}
	}
}

declare module android {
	export module telecom {
		export class CallEndpoint extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.CallEndpoint>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.CallEndpoint>;
			public static TYPE_BLUETOOTH: 2;
			public static TYPE_EARPIECE: 1;
			public static TYPE_SPEAKER: 4;
			public static TYPE_STREAMING: 5;
			public static TYPE_UNKNOWN: -1;
			public static TYPE_WIRED_HEADSET: 3;
			public toString(): string;
			public getEndpointName(): string;
			public equals(obj: any): boolean;
			public getIdentifier(): android.os.ParcelUuid;
			public describeContents(): number;
			public writeToParcel(destination: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getEndpointType(): number;
			public constructor(name: string, type: number, id: android.os.ParcelUuid);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telecom {
		export class CallEndpointException extends java.lang.RuntimeException implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.CallEndpointException>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.CallEndpointException>;
			public static ERROR_ANOTHER_REQUEST: 3;
			public static ERROR_ENDPOINT_DOES_NOT_EXIST: 1;
			public static ERROR_REQUEST_TIME_OUT: 2;
			public static ERROR_UNSPECIFIED: 4;
			public constructor(message: string);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(message: string, code: number);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getCode(): number;
		}
	}
}

declare module android {
	export module telecom {
		export class CallEventCallback extends java.lang.Object {
			public static class: java.lang.Class<android.telecom.CallEventCallback>;
			/**
			 * Constructs a new instance of the android.telecom.CallEventCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onCallEndpointChanged(param0: android.telecom.CallEndpoint): void;
				onAvailableCallEndpointsChanged(param0: java.util.List<android.telecom.CallEndpoint>): void;
				onMuteStateChanged(param0: boolean): void;
				onVideoStateChanged(videoState: number): void;
				onCallStreamingFailed(param0: number): void;
				onEvent(param0: string, param1: android.os.Bundle): void;
			});
			public constructor();
			public onCallEndpointChanged(param0: android.telecom.CallEndpoint): void;
			public onCallStreamingFailed(param0: number): void;
			public onEvent(param0: string, param1: android.os.Bundle): void;
			public onMuteStateChanged(param0: boolean): void;
			public onVideoStateChanged(videoState: number): void;
			public onAvailableCallEndpointsChanged(param0: java.util.List<android.telecom.CallEndpoint>): void;
		}
	}
}

declare module android {
	export module telecom {
		export class CallException extends java.lang.RuntimeException implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.CallException>;
			public static CODE_CALL_CANNOT_BE_SET_TO_ACTIVE: 4;
			public static CODE_CALL_IS_NOT_BEING_TRACKED: 3;
			public static CODE_CALL_NOT_PERMITTED_AT_PRESENT_TIME: 5;
			public static CODE_CANNOT_HOLD_CURRENT_ACTIVE_CALL: 2;
			public static CODE_ERROR_UNKNOWN: 1;
			public static CODE_OPERATION_TIMED_OUT: 6;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.CallException>;
			public constructor(message: string);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(message: string, code: number);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getCode(): number;
		}
	}
}

declare module android {
	export module telecom {
		export abstract class CallRedirectionService extends android.app.Service {
			public static class: java.lang.Class<android.telecom.CallRedirectionService>;
			public static SERVICE_INTERFACE: "android.telecom.CallRedirectionService";
			public onUnbind(intent: android.content.Intent): boolean;
			public onTrimMemory(param0: number): void;
			public onRedirectionTimeout(): void;
			public placeCallUnmodified(): void;
			public redirectCall(gatewayUri: android.net.Uri, targetPhoneAccount: android.telecom.PhoneAccountHandle, confirmFirst: boolean): void;
			public constructor();
			public constructor(base: android.content.Context);
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public cancelCall(): void;
			public onPlaceCall(param0: android.net.Uri, param1: android.telecom.PhoneAccountHandle, param2: boolean): void;
		}
	}
}

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: "android.telecom.CallScreeningService";
			public onUnbind(intent: android.content.Intent): boolean;
			public onScreenCall(param0: android.telecom.Call.Details): void;
			public onTrimMemory(param0: number): void;
			public constructor();
			public constructor(base: android.content.Context);
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public respondToCall(callDetails: android.telecom.Call.Details, response: 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 static CALL_COMPOSER_ATTACHMENT_LOCATION: 2;
				public static CALL_COMPOSER_ATTACHMENT_PICTURE: 1;
				public static CALL_COMPOSER_ATTACHMENT_PRIORITY: 8;
				public static CALL_COMPOSER_ATTACHMENT_SUBJECT: 4;
				public getSkipCallLog(): boolean;
				public getSkipNotification(): boolean;
				public hashCode(): number;
				public getSilenceCall(): boolean;
				public equals(o: any): boolean;
				public getDisallowCall(): boolean;
				public getCallComposerAttachmentsToShow(): number;
				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 setCallComposerAttachmentsToShow(callComposerAttachmentsToShow: number): android.telecom.CallScreeningService.CallResponse.Builder;
					public setDisallowCall(shouldDisallowCall: boolean): android.telecom.CallScreeningService.CallResponse.Builder;
					public constructor();
					public setRejectCall(shouldRejectCall: boolean): android.telecom.CallScreeningService.CallResponse.Builder;
					public build(): android.telecom.CallScreeningService.CallResponse;
					public setSkipNotification(shouldSkipNotification: boolean): android.telecom.CallScreeningService.CallResponse.Builder;
					public setSkipCallLog(shouldSkipCallLog: boolean): android.telecom.CallScreeningService.CallResponse.Builder;
					public setSilenceCall(shouldSilenceCall: 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: 0;
			public getConnectionProperties(): number;
			public addConnection(connection: android.telecom.Connection): boolean;
			public setExtras(extras: android.os.Bundle): void;
			public onDisconnect(): void;
			public setOnHold(): void;
			public setDialing(): void;
			public onConnectionAdded(connection: android.telecom.Connection): void;
			public getDisconnectCause(): android.telecom.DisconnectCause;
			/** @deprecated */
			public onCallAudioStateChanged(state: android.telecom.CallAudioState): void;
			public getState(): number;
			public onHold(): void;
			public setConferenceableConnections(conferenceableConnections: java.util.List<android.telecom.Connection>): void;
			public onMerge(): void;
			public onAnswer(videoState: number): void;
			/** @deprecated */
			public getCallAudioState(): android.telecom.CallAudioState;
			public setRingbackRequested(ringback: boolean): void;
			public getStatusHints(): android.telecom.StatusHints;
			public setConnectionStartElapsedRealtimeMillis(connectionStartElapsedRealTime: number): void;
			public setVideoProvider(c: android.telecom.Connection, videoProvider: android.telecom.Connection.VideoProvider): void;
			public getVideoProvider(): android.telecom.Connection.VideoProvider;
			public onAvailableCallEndpointsChanged(availableEndpoints: java.util.List<android.telecom.CallEndpoint>): void;
			public onUnhold(): void;
			public getExtras(): android.os.Bundle;
			public setRinging(): void;
			public onSwap(): void;
			public onCallEndpointChanged(callEndpoint: android.telecom.CallEndpoint): void;
			public removeExtras(keys: androidNative.Array<string>): void;
			public getConnections(): java.util.List<android.telecom.Connection>;
			public setActive(): void;
			public sendConferenceEvent(event: string, extras: android.os.Bundle): void;
			public setConnectionCapabilities(connectionCapabilities: number): void;
			public getConferenceableConnections(): java.util.List<android.telecom.Connection>;
			public onMerge(connection: android.telecom.Connection): void;
			public setConnectionTime(connectionTimeMillis: number): void;
			public getPhoneAccountHandle(): android.telecom.PhoneAccountHandle;
			public onSeparate(connection: android.telecom.Connection): void;
			public constructor(phoneAccount: android.telecom.PhoneAccountHandle);
			/** @deprecated */
			public setConnectionStartElapsedRealTime(connectionStartElapsedRealTime: number): void;
			public onPlayDtmfTone(c: string): void;
			public static createFailedConference(disconnectCause: android.telecom.DisconnectCause, phoneAccount: android.telecom.PhoneAccountHandle): android.telecom.Conference;
			public onReject(): void;
			public setVideoState(c: android.telecom.Connection, videoState: number): void;
			public onStopDtmfTone(): void;
			public putExtras(extras: android.os.Bundle): void;
			public destroy(): void;
			public removeExtras(keys: java.util.List<string>): void;
			public removeConnection(connection: android.telecom.Connection): void;
			public getCurrentCallEndpoint(): android.telecom.CallEndpoint;
			public onAddConferenceParticipants(participants: java.util.List<android.net.Uri>): void;
			public getConnectionStartElapsedRealtimeMillis(): number;
			public onMuteStateChanged(isMuted: boolean): void;
			public toString(): string;
			public setConnectionProperties(connectionProperties: number): void;
			public getConnectionTime(): number;
			public setStatusHints(statusHints: android.telecom.StatusHints): void;
			public isRingbackRequested(): boolean;
			public getConnectionCapabilities(): number;
			public onExtrasChanged(extras: android.os.Bundle): void;
			public setDisconnected(disconnectCause: android.telecom.DisconnectCause): void;
			public getVideoState(): number;
		}
	}
}

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 AUDIO_CODEC_AMR: 1;
			public static AUDIO_CODEC_AMR_WB: 2;
			public static AUDIO_CODEC_EVRC: 4;
			public static AUDIO_CODEC_EVRC_B: 5;
			public static AUDIO_CODEC_EVRC_NW: 7;
			public static AUDIO_CODEC_EVRC_WB: 6;
			public static AUDIO_CODEC_EVS_FB: 20;
			public static AUDIO_CODEC_EVS_NB: 17;
			public static AUDIO_CODEC_EVS_SWB: 19;
			public static AUDIO_CODEC_EVS_WB: 18;
			public static AUDIO_CODEC_G711A: 13;
			public static AUDIO_CODEC_G711AB: 15;
			public static AUDIO_CODEC_G711U: 11;
			public static AUDIO_CODEC_G722: 14;
			public static AUDIO_CODEC_G723: 12;
			public static AUDIO_CODEC_G729: 16;
			public static AUDIO_CODEC_GSM_EFR: 8;
			public static AUDIO_CODEC_GSM_FR: 9;
			public static AUDIO_CODEC_GSM_HR: 10;
			public static AUDIO_CODEC_NONE: 0;
			public static AUDIO_CODEC_QCELP13K: 3;
			public static CAPABILITY_ADD_PARTICIPANT: 67108864;
			public static CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO: 8388608;
			public static CAPABILITY_CAN_PAUSE_VIDEO: 1048576;
			public static CAPABILITY_CAN_PULL_CALL: 16777216;
			public static CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION: 4194304;
			public static CAPABILITY_CAN_UPGRADE_TO_VIDEO: 524288;
			public static CAPABILITY_DISCONNECT_FROM_CONFERENCE: 8192;
			public static CAPABILITY_HOLD: 1;
			public static CAPABILITY_MANAGE_CONFERENCE: 128;
			public static CAPABILITY_MERGE_CONFERENCE: 4;
			public static CAPABILITY_MUTE: 64;
			public static CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT: 536870912;
			public static CAPABILITY_RESPOND_VIA_TEXT: 32;
			public static CAPABILITY_SEPARATE_FROM_CONFERENCE: 4096;
			public static CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL: 768;
			public static CAPABILITY_SUPPORTS_VT_LOCAL_RX: 256;
			public static CAPABILITY_SUPPORTS_VT_LOCAL_TX: 512;
			public static CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL: 3072;
			public static CAPABILITY_SUPPORTS_VT_REMOTE_RX: 1024;
			public static CAPABILITY_SUPPORTS_VT_REMOTE_TX: 2048;
			public static CAPABILITY_SUPPORT_DEFLECT: 33554432;
			public static CAPABILITY_SUPPORT_HOLD: 2;
			public static CAPABILITY_SWAP_CONFERENCE: 8;
			public static EVENT_CALL_HOLD_FAILED: "android.telecom.event.CALL_HOLD_FAILED";
			public static EVENT_CALL_MERGE_FAILED: "android.telecom.event.CALL_MERGE_FAILED";
			public static EVENT_CALL_PULL_FAILED: "android.telecom.event.CALL_PULL_FAILED";
			public static EVENT_CALL_REMOTELY_HELD: "android.telecom.event.CALL_REMOTELY_HELD";
			public static EVENT_CALL_REMOTELY_UNHELD: "android.telecom.event.CALL_REMOTELY_UNHELD";
			public static EVENT_CALL_SWITCH_FAILED: "android.telecom.event.CALL_SWITCH_FAILED";
			public static EVENT_MERGE_COMPLETE: "android.telecom.event.MERGE_COMPLETE";
			public static EVENT_MERGE_START: "android.telecom.event.MERGE_START";
			public static EVENT_ON_HOLD_TONE_END: "android.telecom.event.ON_HOLD_TONE_END";
			public static EVENT_ON_HOLD_TONE_START: "android.telecom.event.ON_HOLD_TONE_START";
			public static EVENT_RTT_AUDIO_INDICATION_CHANGED: "android.telecom.event.RTT_AUDIO_INDICATION_CHANGED";
			public static EXTRA_ANSWERING_DROPS_FG_CALL: "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
			public static EXTRA_ANSWERING_DROPS_FG_CALL_APP_NAME: "android.telecom.extra.ANSWERING_DROPS_FG_CALL_APP_NAME";
			public static EXTRA_AUDIO_CODEC: "android.telecom.extra.AUDIO_CODEC";
			public static EXTRA_AUDIO_CODEC_BANDWIDTH_KHZ: "android.telecom.extra.AUDIO_CODEC_BANDWIDTH_KHZ";
			public static EXTRA_AUDIO_CODEC_BITRATE_KBPS: "android.telecom.extra.AUDIO_CODEC_BITRATE_KBPS";
			public static EXTRA_CALL_SUBJECT: "android.telecom.extra.CALL_SUBJECT";
			public static EXTRA_CHILD_ADDRESS: "android.telecom.extra.CHILD_ADDRESS";
			public static EXTRA_IS_RTT_AUDIO_PRESENT: "android.telecom.extra.IS_RTT_AUDIO_PRESENT";
			public static EXTRA_LAST_FORWARDED_NUMBER: "android.telecom.extra.LAST_FORWARDED_NUMBER";
			public static EXTRA_LAST_KNOWN_CELL_IDENTITY: "android.telecom.extra.LAST_KNOWN_CELL_IDENTITY";
			public static EXTRA_SIP_INVITE: "android.telecom.extra.SIP_INVITE";
			public static PROPERTY_ASSISTED_DIALING: 512;
			public static PROPERTY_CROSS_SIM: 8192;
			public static PROPERTY_HAS_CDMA_VOICE_PRIVACY: 32;
			public static PROPERTY_HIGH_DEF_AUDIO: 4;
			public static PROPERTY_IS_ADHOC_CONFERENCE: 4096;
			public static PROPERTY_IS_EXTERNAL_CALL: 16;
			public static PROPERTY_IS_RTT: 256;
			public static PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL: 1024;
			public static PROPERTY_SELF_MANAGED: 128;
			public static PROPERTY_WIFI: 8;
			public static STATE_ACTIVE: 4;
			public static STATE_DIALING: 3;
			public static STATE_DISCONNECTED: 6;
			public static STATE_HOLDING: 5;
			public static STATE_INITIALIZING: 0;
			public static STATE_NEW: 1;
			public static STATE_PULLING_CALL: 7;
			public static STATE_RINGING: 2;
			public static VERIFICATION_STATUS_FAILED: 2;
			public static VERIFICATION_STATUS_NOT_VERIFIED: 0;
			public static VERIFICATION_STATUS_PASSED: 1;
			public getConnectionProperties(): number;
			public onReject(replyMessage: string): void;
			public setExtras(extras: android.os.Bundle): void;
			public onAnswer(): void;
			public static createCanceledConnection(): android.telecom.Connection;
			public setOnHold(): void;
			public onDisconnect(): void;
			public setDialing(): void;
			public onAbort(): void;
			public setPostDialWait(remaining: string): void;
			public setVideoProvider(videoProvider: android.telecom.Connection.VideoProvider): void;
			public queryLocationForEmergency(timeoutMillis: number, provider: string, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.location.Location,android.telecom.QueryLocationException>): void;
			public onSilence(): void;
			public setInitialized(): void;
			public onStateChanged(state: number): void;
			public setAudioModeIsVoip(isVoip: boolean): void;
			public getDisconnectCause(): android.telecom.DisconnectCause;
			/** @deprecated */
			public onCallAudioStateChanged(state: android.telecom.CallAudioState): void;
			public getState(): number;
			public onPullExternalCall(): void;
			/** @deprecated */
			public setAudioRoute(route: number): void;
			public onHandoverComplete(): void;
			public static stateToString(state: number): string;
			public setPulling(): void;
			public setConferenceableConnections(conferenceableConnections: java.util.List<android.telecom.Connection>): void;
			public onHold(): void;
			public onAnswer(videoState: number): void;
			public static propertiesToString(properties: number): string;
			public constructor();
			/** @deprecated */
			public getCallAudioState(): android.telecom.CallAudioState;
			public onSeparate(): void;
			public setRingbackRequested(ringback: boolean): void;
			public getStatusHints(): android.telecom.StatusHints;
			public onReject(rejectReason: number): void;
			public setCallerDisplayName(callerDisplayName: string, presentation: number): void;
			public getConference(): android.telecom.Conference;
			public getVideoProvider(): android.telecom.Connection.VideoProvider;
			public static capabilitiesToString(capabilities: number): string;
			public notifyConferenceMergeFailed(): void;
			public getConferenceables(): java.util.List<android.telecom.Conferenceable>;
			public onAvailableCallEndpointsChanged(availableEndpoints: java.util.List<android.telecom.CallEndpoint>): void;
			public sendConnectionEvent(event: string, extras: android.os.Bundle): void;
			public getCallerDisplayName(): string;
			public getExtras(): android.os.Bundle;
			public sendRemoteRttRequest(): void;
			public onUnhold(): void;
			public setRinging(): void;
			public onCallEndpointChanged(callEndpoint: android.telecom.CallEndpoint): void;
			public removeExtras(keys: androidNative.Array<string>): void;
			public setCallerNumberVerificationStatus(callerNumberVerificationStatus: number): void;
			public getAddress(): android.net.Uri;
			public setActive(): void;
			public static createFailedConnection(disconnectCause: android.telecom.DisconnectCause): android.telecom.Connection;
			public setConnectionCapabilities(connectionCapabilities: number): void;
			/** @deprecated */
			public requestBluetoothAudio(bluetoothDevice: android.bluetooth.BluetoothDevice): void;
			public onUsingAlternativeUi(isUsingAlternativeUi: boolean): void;
			public onPostDialContinue(proceed: boolean): void;
			public handleRttUpgradeResponse(rttTextStream: android.telecom.Connection.RttTextStream): void;
			public requestCallEndpointChange(endpoint: android.telecom.CallEndpoint, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallEndpointException>): void;
			public setVideoState(videoState: number): void;
			public getCallerNumberVerificationStatus(): number;
			public onPlayDtmfTone(c: string): void;
			public getAddressPresentation(): number;
			public onShowIncomingCallUi(): void;
			public setAddress(address: android.net.Uri, presentation: number): void;
			public sendRttSessionRemotelyTerminated(): void;
			public onReject(): void;
			public onTrackedByNonUiService(isTracked: boolean): void;
			public onStartRtt(rttTextStream: android.telecom.Connection.RttTextStream): void;
			public getCallerDisplayNamePresentation(): number;
			public onStopDtmfTone(): void;
			public putExtras(extras: android.os.Bundle): void;
			public setConferenceables(conferenceables: java.util.List<android.telecom.Conferenceable>): void;
			public destroy(): void;
			public removeExtras(keys: java.util.List<string>): void;
			public setInitializing(): void;
			public setNextPostDialChar(nextChar: string): void;
			public onCallEvent(event: string, extras: android.os.Bundle): void;
			public onDeflect(address: android.net.Uri): void;
			public getCurrentCallEndpoint(): android.telecom.CallEndpoint;
			public onAddConferenceParticipants(participants: java.util.List<android.net.Uri>): void;
			public onStopRtt(): void;
			public getAudioModeIsVoip(): boolean;
			public onMuteStateChanged(isMuted: boolean): void;
			public setConnectionProperties(connectionProperties: number): void;
			public setStatusHints(statusHints: android.telecom.StatusHints): void;
			public isRingbackRequested(): boolean;
			public getConnectionCapabilities(): number;
			public sendRttInitiationFailure(reason: number): void;
			public onExtrasChanged(extras: android.os.Bundle): void;
			public setDisconnected(disconnectCause: android.telecom.DisconnectCause): void;
			public getVideoState(): number;
			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: 2;
				public static SESSION_MODIFY_REQUEST_INVALID: 3;
				public static SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE: 5;
				public static SESSION_MODIFY_REQUEST_SUCCESS: 1;
				public static SESSION_MODIFY_REQUEST_TIMED_OUT: 4;
			}
			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(input: 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: 5;
				public static SESSION_EVENT_CAMERA_PERMISSION_ERROR: 7;
				public static SESSION_EVENT_CAMERA_READY: 6;
				public static SESSION_EVENT_RX_PAUSE: 1;
				public static SESSION_EVENT_RX_RESUME: 2;
				public static SESSION_EVENT_TX_START: 3;
				public static SESSION_EVENT_TX_STOP: 4;
				public static SESSION_MODIFY_REQUEST_FAIL: 2;
				public static SESSION_MODIFY_REQUEST_INVALID: 3;
				public static SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE: 5;
				public static SESSION_MODIFY_REQUEST_SUCCESS: 1;
				public static SESSION_MODIFY_REQUEST_TIMED_OUT: 4;
				public receiveSessionModifyRequest(videoProfile: android.telecom.VideoProfile): void;
				public changeCameraCapabilities(cameraCapabilities: android.telecom.VideoProfile.CameraCapabilities): void;
				public onSetDisplaySurface(param0: android.view.Surface): void;
				public onSendSessionModifyRequest(param0: android.telecom.VideoProfile, param1: android.telecom.VideoProfile): 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 setCallDataUsage(dataUsage: number): void;
				public onSetDeviceOrientation(param0: number): void;
				public changeVideoQuality(videoQuality: number): void;
				public onRequestCameraCapabilities(): void;
				public onSetZoom(param0: number): void;
				public changePeerDimensions(width: number, height: number): void;
				public onSendSessionModifyResponse(param0: android.telecom.VideoProfile): void;
				public receiveSessionModifyResponse(status: number, requestedProfile: android.telecom.VideoProfile, responseProfile: android.telecom.VideoProfile): void;
				public handleCallSessionEvent(event: number): 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 constructor(accountHandle: android.telecom.PhoneAccountHandle, handle: android.net.Uri, extras: android.os.Bundle);
			public getAddress(): android.net.Uri;
			public isRequestingRtt(): boolean;
			public constructor(accountHandle: android.telecom.PhoneAccountHandle, handle: android.net.Uri, extras: android.os.Bundle, videoState: number);
			public toString(): string;
			public getRttTextStream(): android.telecom.Connection.RttTextStream;
			public isAdhocConferenceCall(): boolean;
			public describeContents(): number;
			public writeToParcel(destination: android.os.Parcel, flags: number): void;
			public getAccountHandle(): android.telecom.PhoneAccountHandle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getParticipants(): java.util.List<android.net.Uri>;
			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: "android.telecom.ConnectionService";
			public onRemoteExistingConnectionAdded(connection: android.telecom.RemoteConnection): void;
			public onCreateOutgoingConnection(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.Connection;
			public addExistingConnection(phoneAccountHandle: android.telecom.PhoneAccountHandle, connection: android.telecom.Connection): void;
			public addConference(conference: android.telecom.Conference): void;
			public onCreateIncomingConference(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.Conference;
			public onBind(intent: android.content.Intent): android.os.IBinder;
			public onTrimMemory(param0: number): void;
			public onCreateIncomingHandoverConnection(fromPhoneAccountHandle: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.Connection;
			public getAllConferences(): java.util.Collection<android.telecom.Conference>;
			public onCreateOutgoingConference(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.Conference;
			public onHandoverFailed(request: android.telecom.ConnectionRequest, error: number): void;
			public getAllConnections(): java.util.Collection<android.telecom.Connection>;
			public onCreateIncomingConferenceFailed(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): void;
			public onCreateOutgoingHandoverConnection(fromPhoneAccountHandle: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.Connection;
			public onConference(connection1: android.telecom.Connection, connection2: android.telecom.Connection): void;
			public conferenceRemoteConnections(remoteConnection1: android.telecom.RemoteConnection, remoteConnection2: android.telecom.RemoteConnection): void;
			public onCreateOutgoingConferenceFailed(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): void;
			public onUnbind(intent: android.content.Intent): boolean;
			public onCreateIncomingConnectionFailed(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): void;
			public createRemoteIncomingConnection(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.RemoteConnection;
			public createRemoteOutgoingConnection(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.RemoteConnection;
			public onConnectionServiceFocusLost(): void;
			public onConnectionServiceFocusGained(): void;
			public constructor();
			public connectionServiceFocusReleased(): void;
			public onCreateIncomingConnection(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.Connection;
			public createRemoteIncomingConference(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.RemoteConference;
			public onRemoteConferenceAdded(conference: android.telecom.RemoteConference): void;
			public createRemoteOutgoingConference(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): android.telecom.RemoteConference;
			public constructor(base: android.content.Context);
			public onCreateOutgoingConnectionFailed(connectionManagerPhoneAccount: android.telecom.PhoneAccountHandle, request: android.telecom.ConnectionRequest): 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: 11;
			public static BUSY: 7;
			public static CALL_PULLED: 12;
			public static CANCELED: 4;
			public static CONNECTION_MANAGER_NOT_SUPPORTED: 10;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.DisconnectCause>;
			public static ERROR: 1;
			public static LOCAL: 2;
			public static MISSED: 5;
			public static OTHER: 9;
			public static REASON_EMERGENCY_CALL_PLACED: "REASON_EMERGENCY_CALL_PLACED";
			public static REASON_EMULATING_SINGLE_CALL: "EMULATING_SINGLE_CALL";
			public static REASON_IMS_ACCESS_BLOCKED: "REASON_IMS_ACCESS_BLOCKED";
			public static REASON_WIFI_ON_BUT_WFC_OFF: "REASON_WIFI_ON_BUT_WFC_OFF";
			public static REJECTED: 6;
			public static REMOTE: 3;
			public static RESTRICTED: 8;
			public static UNKNOWN: 0;
			public constructor(code: number);
			public getLabel(): string;
			public getTone(): number;
			public constructor(code: number, reason: string);
			public getReason(): string;
			public toString(): string;
			public constructor(code: number, label: string, description: string, reason: string, toneToPlay: number);
			public equals(o: any): boolean;
			public writeToParcel(destination: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public constructor(code: number, label: string, description: string, reason: string);
			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(destination: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getOriginalAddress(): android.net.Uri;
			public constructor(packageName: string, gatewayUri: android.net.Uri, originalAddress: 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: "android.telecom.InCallService";
			/** @deprecated */
			public setAudioRoute(route: number): void;
			public onSilenceRinger(): void;
			public onCallEndpointChanged(callEndpoint: android.telecom.CallEndpoint): void;
			public onUnbind(intent: android.content.Intent): boolean;
			/** @deprecated */
			public onCallAudioStateChanged(audioState: android.telecom.CallAudioState): void;
			public onCanAddCallChanged(canAddCall: boolean): void;
			public setMuted(state: boolean): void;
			public constructor();
			public onBind(intent: android.content.Intent): android.os.IBinder;
			/** @deprecated */
			public getCallAudioState(): android.telecom.CallAudioState;
			/** @deprecated */
			public requestBluetoothAudio(bluetoothDevice: android.bluetooth.BluetoothDevice): void;
			public onBringToForeground(showDialpad: boolean): void;
			public onCallAdded(call: android.telecom.Call): void;
			public requestCallEndpointChange(endpoint: android.telecom.CallEndpoint, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallEndpointException>): void;
			public getCurrentCallEndpoint(): android.telecom.CallEndpoint;
			public onMuteStateChanged(isMuted: boolean): void;
			public onCallRemoved(call: android.telecom.Call): void;
			public onTrimMemory(param0: number): void;
			public canAddCall(): boolean;
			public onConnectionEvent(call: android.telecom.Call, event: string, extras: android.os.Bundle): void;
			public constructor(base: android.content.Context);
			public onAvailableCallEndpointsChanged(availableEndpoints: java.util.List<android.telecom.CallEndpoint>): void;
			public getCalls(): java.util.List<android.telecom.Call>;
		}
		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_ADHOC_CONFERENCE_CALLING: 16384;
			public static CAPABILITY_CALL_COMPOSER: 32768;
			public static CAPABILITY_CALL_PROVIDER: 2;
			public static CAPABILITY_CALL_SUBJECT: 64;
			public static CAPABILITY_CONNECTION_MANAGER: 1;
			public static CAPABILITY_PLACE_EMERGENCY_CALLS: 16;
			public static CAPABILITY_RTT: 4096;
			public static CAPABILITY_SELF_MANAGED: 2048;
			public static CAPABILITY_SIM_SUBSCRIPTION: 4;
			public static CAPABILITY_SUPPORTS_CALL_STREAMING: 524288;
			public static CAPABILITY_SUPPORTS_TRANSACTIONAL_OPERATIONS: 262144;
			public static CAPABILITY_SUPPORTS_VIDEO_CALLING: 1024;
			public static CAPABILITY_SUPPORTS_VOICE_CALLING_INDICATIONS: 65536;
			public static CAPABILITY_VIDEO_CALLING: 8;
			public static CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE: 256;
			public static CAPABILITY_VOICE_CALLING_AVAILABLE: 131072;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.PhoneAccount>;
			public static EXTRA_ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE: "android.telecom.extra.ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE";
			public static EXTRA_ALWAYS_USE_VOIP_AUDIO_MODE: "android.telecom.extra.ALWAYS_USE_VOIP_AUDIO_MODE";
			public static EXTRA_CALL_SUBJECT_CHARACTER_ENCODING: "android.telecom.extra.CALL_SUBJECT_CHARACTER_ENCODING";
			public static EXTRA_CALL_SUBJECT_MAX_LENGTH: "android.telecom.extra.CALL_SUBJECT_MAX_LENGTH";
			public static EXTRA_LOG_SELF_MANAGED_CALLS: "android.telecom.extra.LOG_SELF_MANAGED_CALLS";
			public static EXTRA_SUPPORTS_HANDOVER_FROM: "android.telecom.extra.SUPPORTS_HANDOVER_FROM";
			public static EXTRA_SUPPORTS_HANDOVER_TO: "android.telecom.extra.SUPPORTS_HANDOVER_TO";
			public static NO_HIGHLIGHT_COLOR: 0;
			public static NO_RESOURCE_ID: -1;
			public static SCHEME_SIP: "sip";
			public static SCHEME_TEL: "tel";
			public static SCHEME_VOICEMAIL: "voicemail";
			public getLabel(): string;
			public getShortDescription(): string;
			public getAddress(): android.net.Uri;
			public getCapabilities(): number;
			public getSupportedUriSchemes(): java.util.List<string>;
			public supportsUriScheme(uriScheme: string): boolean;
			public toBuilder(): android.telecom.PhoneAccount.Builder;
			public getSubscriptionAddress(): android.net.Uri;
			public getSimultaneousCallingRestriction(): java.util.Set<android.telecom.PhoneAccountHandle>;
			public static builder(accountHandle: android.telecom.PhoneAccountHandle, label: string): android.telecom.PhoneAccount.Builder;
			public getIcon(): any;
			public getHighlightColor(): number;
			public isEnabled(): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getAccountHandle(): android.telecom.PhoneAccountHandle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasCapabilities(capability: number): boolean;
			public hasSimultaneousCallingRestriction(): boolean;
			public getExtras(): android.os.Bundle;
			public hashCode(): number;
		}
		export module PhoneAccount {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.PhoneAccount.Builder>;
				public setAddress(value: android.net.Uri): android.telecom.PhoneAccount.Builder;
				public setCapabilities(value: number): android.telecom.PhoneAccount.Builder;
				public setExtras(extras: android.os.Bundle): android.telecom.PhoneAccount.Builder;
				public build(): android.telecom.PhoneAccount;
				public setHighlightColor(value: number): android.telecom.PhoneAccount.Builder;
				public setShortDescription(value: string): android.telecom.PhoneAccount.Builder;
				public setSimultaneousCallingRestriction(handles: java.util.Set<android.telecom.PhoneAccountHandle>): android.telecom.PhoneAccount.Builder;
				public constructor(accountHandle: android.telecom.PhoneAccountHandle, label: string);
				public setSubscriptionAddress(value: android.net.Uri): android.telecom.PhoneAccount.Builder;
				public setIcon(icon: any): android.telecom.PhoneAccount.Builder;
				public addSupportedUriScheme(uriScheme: string): android.telecom.PhoneAccount.Builder;
				public clearSimultaneousCallingRestriction(): android.telecom.PhoneAccount.Builder;
				public constructor(phoneAccount: android.telecom.PhoneAccount);
				public setSupportedUriSchemes(uriSchemes: java.util.List<string>): android.telecom.PhoneAccount.Builder;
			}
		}
	}
}

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 constructor(componentName: android.content.ComponentName, id: string);
			public getId(): string;
			public equals(other: any): boolean;
			public constructor(componentName: android.content.ComponentName, id: string, userHandle: android.os.UserHandle);
			public toString(): string;
			public getComponentName(): android.content.ComponentName;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getUserHandle(): android.os.UserHandle;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telecom {
		export class PhoneAccountSuggestion extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.PhoneAccountSuggestion>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.PhoneAccountSuggestion>;
			public static REASON_FREQUENT: 2;
			public static REASON_INTRA_CARRIER: 1;
			public static REASON_NONE: 0;
			public static REASON_OTHER: 4;
			public static REASON_USER_SET: 3;
			public constructor(handle: android.telecom.PhoneAccountHandle, reason: number, shouldAutoSelect: boolean);
			public getPhoneAccountHandle(): android.telecom.PhoneAccountHandle;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public shouldAutoSelect(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getReason(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telecom {
		export class QueryLocationException extends java.lang.RuntimeException implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.QueryLocationException>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.QueryLocationException>;
			public static ERROR_NOT_ALLOWED_FOR_NON_EMERGENCY_CONNECTIONS: 4;
			public static ERROR_NOT_PERMITTED: 3;
			public static ERROR_PREVIOUS_REQUEST_EXISTS: 2;
			public static ERROR_REQUEST_TIME_OUT: 1;
			public static ERROR_SERVICE_UNAVAILABLE: 5;
			public static ERROR_UNSPECIFIED: 6;
			public constructor(message: string);
			public constructor(message: string, code: number, cause: java.lang.Throwable);
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(message: string, code: number);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getCode(): 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 getConnectionProperties(): number;
			public swap(): void;
			public unregisterCallback(callback: android.telecom.RemoteConference.Callback): void;
			public playDtmfTone(digit: string): void;
			public merge(): void;
			public setCallAudioState(state: android.telecom.CallAudioState): void;
			public separate(connection: android.telecom.RemoteConnection): void;
			public registerCallback(callback: android.telecom.RemoteConference.Callback): void;
			public getConnectionCapabilities(): number;
			public getDisconnectCause(): android.telecom.DisconnectCause;
			public hold(): void;
			public stopDtmfTone(): void;
			public registerCallback(callback: android.telecom.RemoteConference.Callback, handler: android.os.Handler): 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 onDestroyed(conference: android.telecom.RemoteConference): void;
				public onExtrasChanged(conference: android.telecom.RemoteConference, extras: android.os.Bundle): void;
				public onConnectionPropertiesChanged(conference: android.telecom.RemoteConference, connectionProperties: number): void;
				public onConnectionRemoved(conference: android.telecom.RemoteConference, connection: android.telecom.RemoteConnection): void;
				public onConnectionCapabilitiesChanged(conference: android.telecom.RemoteConference, connectionCapabilities: number): void;
				public onConferenceableConnectionsChanged(conference: android.telecom.RemoteConference, conferenceableConnections: java.util.List<android.telecom.RemoteConnection>): void;
				public onDisconnected(conference: android.telecom.RemoteConference, disconnectCause: android.telecom.DisconnectCause): void;
				public onConnectionAdded(conference: android.telecom.RemoteConference, connection: android.telecom.RemoteConnection): void;
				public constructor();
				public onStateChanged(conference: android.telecom.RemoteConference, oldState: number, newState: number): void;
			}
		}
	}
}

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 isVoipAudioMode(): boolean;
			public postDialContinue(proceed: boolean): void;
			public unregisterCallback(callback: android.telecom.RemoteConnection.Callback): void;
			public getAddress(): android.net.Uri;
			public abort(): void;
			public getConference(): android.telecom.RemoteConference;
			public addConferenceParticipants(participants: java.util.List<android.net.Uri>): void;
			public registerCallback(callback: android.telecom.RemoteConnection.Callback): 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 getCallerDisplayNamePresentation(): number;
			public getVideoProvider(): android.telecom.RemoteConnection.VideoProvider;
			public playDtmfTone(digit: string): void;
			public reject(): void;
			public setCallAudioState(state: android.telecom.CallAudioState): void;
			public getStatusHints(): android.telecom.StatusHints;
			public registerCallback(callback: android.telecom.RemoteConnection.Callback, handler: android.os.Handler): void;
			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 onPostDialWait(connection: android.telecom.RemoteConnection, remainingPostDialSequence: string): void;
				public onAddressChanged(connection: android.telecom.RemoteConnection, address: android.net.Uri, presentation: number): void;
				public onCallerDisplayNameChanged(connection: android.telecom.RemoteConnection, callerDisplayName: string, presentation: number): void;
				public onDestroyed(connection: android.telecom.RemoteConnection): void;
				public onConnectionEvent(connection: android.telecom.RemoteConnection, event: string, extras: android.os.Bundle): void;
				public constructor();
				public onPostDialChar(connection: android.telecom.RemoteConnection, nextChar: string): void;
				public onRingbackRequested(connection: android.telecom.RemoteConnection, ringback: boolean): void;
				public onConnectionCapabilitiesChanged(connection: android.telecom.RemoteConnection, connectionCapabilities: number): void;
				public onVideoProviderChanged(connection: android.telecom.RemoteConnection, videoProvider: android.telecom.RemoteConnection.VideoProvider): void;
				public onStateChanged(connection: android.telecom.RemoteConnection, state: number): void;
				public onVoipAudioChanged(connection: android.telecom.RemoteConnection, isVoip: boolean): void;
				public onConferenceChanged(connection: android.telecom.RemoteConnection, conference: android.telecom.RemoteConference): void;
				public onConferenceableConnectionsChanged(connection: android.telecom.RemoteConnection, conferenceableConnections: java.util.List<android.telecom.RemoteConnection>): void;
				public onExtrasChanged(connection: android.telecom.RemoteConnection, extras: android.os.Bundle): void;
				public onVideoStateChanged(connection: android.telecom.RemoteConnection, videoState: number): void;
				public onDisconnected(connection: android.telecom.RemoteConnection, disconnectCause: android.telecom.DisconnectCause): void;
				public onConnectionPropertiesChanged(connection: android.telecom.RemoteConnection, connectionProperties: number): void;
				public onStatusHintsChanged(connection: android.telecom.RemoteConnection, statusHints: android.telecom.StatusHints): void;
			}
			export class VideoProvider extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.RemoteConnection.VideoProvider>;
				public setCamera(cameraId: string): void;
				public requestCallDataUsage(): void;
				public registerCallback(l: android.telecom.RemoteConnection.VideoProvider.Callback): void;
				public setPauseImage(uri: android.net.Uri): void;
				public setDeviceOrientation(rotation: number): void;
				public setZoom(value: number): void;
				public sendSessionModifyRequest(fromProfile: android.telecom.VideoProfile, toProfile: android.telecom.VideoProfile): void;
				public sendSessionModifyResponse(responseProfile: android.telecom.VideoProfile): void;
				public unregisterCallback(l: android.telecom.RemoteConnection.VideoProvider.Callback): void;
				public requestCameraCapabilities(): void;
				public setPreviewSurface(surface: android.view.Surface): void;
				public setDisplaySurface(surface: 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(videoProvider: android.telecom.RemoteConnection.VideoProvider, event: number): void;
					public onCallDataUsageChanged(videoProvider: android.telecom.RemoteConnection.VideoProvider, dataUsage: number): void;
					public onVideoQualityChanged(videoProvider: android.telecom.RemoteConnection.VideoProvider, videoQuality: number): void;
					public constructor();
					public onSessionModifyRequestReceived(videoProvider: android.telecom.RemoteConnection.VideoProvider, videoProfile: android.telecom.VideoProfile): void;
					public onCameraCapabilitiesChanged(videoProvider: android.telecom.RemoteConnection.VideoProvider, cameraCapabilities: android.telecom.VideoProfile.CameraCapabilities): void;
					public onSessionModifyResponseReceived(videoProvider: android.telecom.RemoteConnection.VideoProvider, status: number, requestedProfile: android.telecom.VideoProfile, responseProfile: android.telecom.VideoProfile): void;
					public onPeerDimensionsChanged(videoProvider: android.telecom.RemoteConnection.VideoProvider, width: number, height: 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 getLabel(): string;
			public equals(other: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(label: string, icon: any, extras: android.os.Bundle);
			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: "android.telecom.action.CHANGE_DEFAULT_DIALER";
			public static ACTION_CHANGE_PHONE_ACCOUNTS: "android.telecom.action.CHANGE_PHONE_ACCOUNTS";
			public static ACTION_CONFIGURE_PHONE_ACCOUNT: "android.telecom.action.CONFIGURE_PHONE_ACCOUNT";
			public static ACTION_DEFAULT_CALL_SCREENING_APP_CHANGED: "android.telecom.action.DEFAULT_CALL_SCREENING_APP_CHANGED";
			public static ACTION_DEFAULT_DIALER_CHANGED: "android.telecom.action.DEFAULT_DIALER_CHANGED";
			public static ACTION_INCOMING_CALL: "android.telecom.action.INCOMING_CALL";
			public static ACTION_PHONE_ACCOUNT_REGISTERED: "android.telecom.action.PHONE_ACCOUNT_REGISTERED";
			public static ACTION_PHONE_ACCOUNT_UNREGISTERED: "android.telecom.action.PHONE_ACCOUNT_UNREGISTERED";
			public static ACTION_POST_CALL: "android.telecom.action.POST_CALL";
			public static ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS: "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS";
			public static ACTION_SHOW_CALL_SETTINGS: "android.telecom.action.SHOW_CALL_SETTINGS";
			public static ACTION_SHOW_MISSED_CALLS_NOTIFICATION: "android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION";
			public static ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS: "android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS";
			public static DTMF_CHARACTER_PAUSE: "44";
			public static DTMF_CHARACTER_WAIT: "59";
			public static DURATION_LONG: 3;
			public static DURATION_MEDIUM: 2;
			public static DURATION_SHORT: 1;
			public static DURATION_VERY_SHORT: 0;
			public static EXTRA_CALL_BACK_NUMBER: "android.telecom.extra.CALL_BACK_NUMBER";
			public static EXTRA_CALL_DISCONNECT_CAUSE: "android.telecom.extra.CALL_DISCONNECT_CAUSE";
			public static EXTRA_CALL_DISCONNECT_MESSAGE: "android.telecom.extra.CALL_DISCONNECT_MESSAGE";
			public static EXTRA_CALL_DURATION: "android.telecom.extra.CALL_DURATION";
			public static EXTRA_CALL_LOG_URI: "android.telecom.extra.CALL_LOG_URI";
			public static EXTRA_CALL_NETWORK_TYPE: "android.telecom.extra.CALL_NETWORK_TYPE";
			public static EXTRA_CALL_SUBJECT: "android.telecom.extra.CALL_SUBJECT";
			public static EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME: "android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME";
			public static EXTRA_DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME: "android.telecom.extra.DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME";
			public static EXTRA_DISCONNECT_CAUSE: "android.telecom.extra.DISCONNECT_CAUSE";
			public static EXTRA_HANDLE: "android.telecom.extra.HANDLE";
			public static EXTRA_HAS_PICTURE: "android.telecom.extra.HAS_PICTURE";
			public static EXTRA_INCOMING_CALL_ADDRESS: "android.telecom.extra.INCOMING_CALL_ADDRESS";
			public static EXTRA_INCOMING_CALL_EXTRAS: "android.telecom.extra.INCOMING_CALL_EXTRAS";
			public static EXTRA_INCOMING_VIDEO_STATE: "android.telecom.extra.INCOMING_VIDEO_STATE";
			public static EXTRA_IS_DEFAULT_CALL_SCREENING_APP: "android.telecom.extra.IS_DEFAULT_CALL_SCREENING_APP";
			public static EXTRA_LOCATION: "android.telecom.extra.LOCATION";
			public static EXTRA_NOTIFICATION_COUNT: "android.telecom.extra.NOTIFICATION_COUNT";
			public static EXTRA_NOTIFICATION_PHONE_NUMBER: "android.telecom.extra.NOTIFICATION_PHONE_NUMBER";
			public static EXTRA_OUTGOING_CALL_EXTRAS: "android.telecom.extra.OUTGOING_CALL_EXTRAS";
			public static EXTRA_OUTGOING_PICTURE: "android.telecom.extra.OUTGOING_PICTURE";
			public static EXTRA_PHONE_ACCOUNT_HANDLE: "android.telecom.extra.PHONE_ACCOUNT_HANDLE";
			public static EXTRA_PICTURE_URI: "android.telecom.extra.PICTURE_URI";
			public static EXTRA_PRIORITY: "android.telecom.extra.PRIORITY";
			public static EXTRA_START_CALL_WITH_RTT: "android.telecom.extra.START_CALL_WITH_RTT";
			public static EXTRA_START_CALL_WITH_SPEAKERPHONE: "android.telecom.extra.START_CALL_WITH_SPEAKERPHONE";
			public static EXTRA_START_CALL_WITH_VIDEO_STATE: "android.telecom.extra.START_CALL_WITH_VIDEO_STATE";
			public static EXTRA_USE_ASSISTED_DIALING: "android.telecom.extra.USE_ASSISTED_DIALING";
			public static GATEWAY_ORIGINAL_ADDRESS: "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS";
			public static GATEWAY_PROVIDER_PACKAGE: "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE";
			public static METADATA_INCLUDE_EXTERNAL_CALLS: "android.telecom.INCLUDE_EXTERNAL_CALLS";
			public static METADATA_INCLUDE_SELF_MANAGED_CALLS: "android.telecom.INCLUDE_SELF_MANAGED_CALLS";
			public static METADATA_IN_CALL_SERVICE_CAR_MODE_UI: "android.telecom.IN_CALL_SERVICE_CAR_MODE_UI";
			public static METADATA_IN_CALL_SERVICE_RINGING: "android.telecom.IN_CALL_SERVICE_RINGING";
			public static METADATA_IN_CALL_SERVICE_UI: "android.telecom.IN_CALL_SERVICE_UI";
			public static PRESENTATION_ALLOWED: 1;
			public static PRESENTATION_PAYPHONE: 4;
			public static PRESENTATION_RESTRICTED: 2;
			public static PRESENTATION_UNAVAILABLE: 5;
			public static PRESENTATION_UNKNOWN: 3;
			public static PRIORITY_NORMAL: 0;
			public static PRIORITY_URGENT: 1;
			public getSelfManagedPhoneAccounts(): java.util.List<android.telecom.PhoneAccountHandle>;
			public getAdnUriForPhoneAccount(accountHandle: android.telecom.PhoneAccountHandle): android.net.Uri;
			/** @deprecated */
			public acceptRingingCall(videoState: number): void;
			public isVoiceMailNumber(accountHandle: android.telecom.PhoneAccountHandle, number: string): boolean;
			/** @deprecated */
			public getLine1Number(accountHandle: android.telecom.PhoneAccountHandle): string;
			public getSimCallManager(): android.telecom.PhoneAccountHandle;
			public getOwnSelfManagedPhoneAccounts(): java.util.List<android.telecom.PhoneAccountHandle>;
			public getDefaultDialerPackage(): string;
			public startConference(participants: java.util.List<android.net.Uri>, extras: android.os.Bundle): void;
			public getUserSelectedOutgoingPhoneAccount(): android.telecom.PhoneAccountHandle;
			/** @deprecated */
			public acceptRingingCall(): void;
			public handleMmi(dialString: string): boolean;
			public getPhoneAccount(account: android.telecom.PhoneAccountHandle): android.telecom.PhoneAccount;
			public registerPhoneAccount(account: android.telecom.PhoneAccount): void;
			public handleMmi(dialString: string, accountHandle: android.telecom.PhoneAccountHandle): boolean;
			public showInCallScreen(showDialpad: boolean): void;
			public isInCall(): boolean;
			public hasManageOngoingCallsPermission(): boolean;
			public isTtySupported(): boolean;
			public cancelMissedCallsNotification(): void;
			public isInManagedCall(): boolean;
			public createManageBlockedNumbersIntent(): android.content.Intent;
			public addNewIncomingConference(phoneAccount: android.telecom.PhoneAccountHandle, extras: android.os.Bundle): void;
			public acceptHandover(srcAddr: android.net.Uri, videoState: number, destAcct: android.telecom.PhoneAccountHandle): void;
			public getCallCapablePhoneAccounts(): java.util.List<android.telecom.PhoneAccountHandle>;
			public unregisterPhoneAccount(accountHandle: android.telecom.PhoneAccountHandle): void;
			public getSimCallManagerForSubscription(subscriptionId: number): android.telecom.PhoneAccountHandle;
			public addCall(callAttributes: android.telecom.CallAttributes, executor: java.util.concurrent.Executor, pendingControl: android.os.OutcomeReceiver<android.telecom.CallControl,android.telecom.CallException>, handshakes: android.telecom.CallControlCallback, events: android.telecom.CallEventCallback): void;
			public getSystemDialerPackage(): string;
			public addNewIncomingCall(phoneAccount: android.telecom.PhoneAccountHandle, extras: android.os.Bundle): void;
			public isIncomingCallPermitted(phoneAccountHandle: android.telecom.PhoneAccountHandle): boolean;
			public getRegisteredPhoneAccounts(): java.util.List<android.telecom.PhoneAccount>;
			public isOutgoingCallPermitted(phoneAccountHandle: android.telecom.PhoneAccountHandle): boolean;
			public getVoiceMailNumber(accountHandle: android.telecom.PhoneAccountHandle): string;
			public silenceRinger(): void;
			public getDefaultOutgoingPhoneAccount(uriScheme: string): android.telecom.PhoneAccountHandle;
			/** @deprecated */
			public endCall(): boolean;
			public placeCall(address: android.net.Uri, extras: android.os.Bundle): void;
		}
	}
}

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: 4;
			public static QUALITY_HIGH: 1;
			public static QUALITY_LOW: 3;
			public static QUALITY_MEDIUM: 2;
			public static STATE_AUDIO_ONLY: 0;
			public static STATE_BIDIRECTIONAL: 3;
			public static STATE_PAUSED: 4;
			public static STATE_RX_ENABLED: 2;
			public static STATE_TX_ENABLED: 1;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public static isVideo(videoState: number): boolean;
			public constructor(videoState: number, quality: number);
			public static isAudioOnly(videoState: number): boolean;
			public static isBidirectional(videoState: number): boolean;
			public getQuality(): number;
			public constructor(videoState: number);
			public toString(): string;
			public static isPaused(videoState: number): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static isReceptionEnabled(videoState: number): boolean;
			public getVideoState(): number;
			public static videoStateToString(videoState: number): string;
			public static isTransmissionEnabled(videoState: 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 getWidth(): number;
				public getHeight(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(width: number, height: number);
				public describeContents(): number;
				public isZoomSupported(): boolean;
				public constructor(width: number, height: number, zoomSupported: boolean, maxZoom: number);
				public getMaxZoom(): number;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class AccessNetworkConstants extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.AccessNetworkConstants>;
			public static TRANSPORT_TYPE_WLAN: 2;
			public static TRANSPORT_TYPE_WWAN: 1;
		}
		export module AccessNetworkConstants {
			export class AccessNetworkType extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.AccessNetworkType>;
				public static CDMA2000: 4;
				public static EUTRAN: 3;
				public static GERAN: 1;
				public static IWLAN: 5;
				public static NGRAN: 6;
				public static UNKNOWN: 0;
				public static UTRAN: 2;
			}
			export class EutranBand extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.EutranBand>;
				public static BAND_1: 1;
				public static BAND_10: 10;
				public static BAND_11: 11;
				public static BAND_12: 12;
				public static BAND_13: 13;
				public static BAND_14: 14;
				public static BAND_17: 17;
				public static BAND_18: 18;
				public static BAND_19: 19;
				public static BAND_2: 2;
				public static BAND_20: 20;
				public static BAND_21: 21;
				public static BAND_22: 22;
				public static BAND_23: 23;
				public static BAND_24: 24;
				public static BAND_25: 25;
				public static BAND_26: 26;
				public static BAND_27: 27;
				public static BAND_28: 28;
				public static BAND_3: 3;
				public static BAND_30: 30;
				public static BAND_31: 31;
				public static BAND_33: 33;
				public static BAND_34: 34;
				public static BAND_35: 35;
				public static BAND_36: 36;
				public static BAND_37: 37;
				public static BAND_38: 38;
				public static BAND_39: 39;
				public static BAND_4: 4;
				public static BAND_40: 40;
				public static BAND_41: 41;
				public static BAND_42: 42;
				public static BAND_43: 43;
				public static BAND_44: 44;
				public static BAND_45: 45;
				public static BAND_46: 46;
				public static BAND_47: 47;
				public static BAND_48: 48;
				public static BAND_49: 49;
				public static BAND_5: 5;
				public static BAND_50: 50;
				public static BAND_51: 51;
				public static BAND_52: 52;
				public static BAND_53: 53;
				public static BAND_6: 6;
				public static BAND_65: 65;
				public static BAND_66: 66;
				public static BAND_68: 68;
				public static BAND_7: 7;
				public static BAND_70: 70;
				public static BAND_71: 71;
				public static BAND_72: 72;
				public static BAND_73: 73;
				public static BAND_74: 74;
				public static BAND_8: 8;
				public static BAND_85: 85;
				public static BAND_87: 87;
				public static BAND_88: 88;
				public static BAND_9: 9;
			}
			export class GeranBand extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.GeranBand>;
				public static BAND_450: 3;
				public static BAND_480: 4;
				public static BAND_710: 5;
				public static BAND_750: 6;
				public static BAND_850: 8;
				public static BAND_DCS1800: 12;
				public static BAND_E900: 10;
				public static BAND_ER900: 14;
				public static BAND_P900: 9;
				public static BAND_PCS1900: 13;
				public static BAND_R900: 11;
				public static BAND_T380: 1;
				public static BAND_T410: 2;
				public static BAND_T810: 7;
			}
			export class NgranBands extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.NgranBands>;
				public static BAND_1: 1;
				public static BAND_12: 12;
				public static BAND_14: 14;
				public static BAND_18: 18;
				public static BAND_2: 2;
				public static BAND_20: 20;
				public static BAND_25: 25;
				public static BAND_257: 257;
				public static BAND_258: 258;
				public static BAND_26: 26;
				public static BAND_260: 260;
				public static BAND_261: 261;
				public static BAND_28: 28;
				public static BAND_29: 29;
				public static BAND_3: 3;
				public static BAND_30: 30;
				public static BAND_34: 34;
				public static BAND_38: 38;
				public static BAND_39: 39;
				public static BAND_40: 40;
				public static BAND_41: 41;
				public static BAND_46: 46;
				public static BAND_48: 48;
				public static BAND_5: 5;
				public static BAND_50: 50;
				public static BAND_51: 51;
				public static BAND_53: 53;
				public static BAND_65: 65;
				public static BAND_66: 66;
				public static BAND_7: 7;
				public static BAND_70: 70;
				public static BAND_71: 71;
				public static BAND_74: 74;
				public static BAND_75: 75;
				public static BAND_76: 76;
				public static BAND_77: 77;
				public static BAND_78: 78;
				public static BAND_79: 79;
				public static BAND_8: 8;
				public static BAND_80: 80;
				public static BAND_81: 81;
				public static BAND_82: 82;
				public static BAND_83: 83;
				public static BAND_84: 84;
				public static BAND_86: 86;
				public static BAND_89: 89;
				public static BAND_90: 90;
				public static BAND_91: 91;
				public static BAND_92: 92;
				public static BAND_93: 93;
				public static BAND_94: 94;
				public static BAND_95: 95;
				public static BAND_96: 96;
			}
			export class UtranBand extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.UtranBand>;
				public static BAND_1: 1;
				public static BAND_10: 10;
				public static BAND_11: 11;
				public static BAND_12: 12;
				public static BAND_13: 13;
				public static BAND_14: 14;
				public static BAND_19: 19;
				public static BAND_2: 2;
				public static BAND_20: 20;
				public static BAND_21: 21;
				public static BAND_22: 22;
				public static BAND_25: 25;
				public static BAND_26: 26;
				public static BAND_3: 3;
				public static BAND_4: 4;
				public static BAND_5: 5;
				public static BAND_6: 6;
				public static BAND_7: 7;
				public static BAND_8: 8;
				public static BAND_9: 9;
				public static BAND_A: 101;
				public static BAND_B: 102;
				public static BAND_C: 103;
				public static BAND_D: 104;
				public static BAND_E: 105;
				public static BAND_F: 106;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class AvailableNetworkInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.AvailableNetworkInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.AvailableNetworkInfo>;
			public static PRIORITY_HIGH: 1;
			public static PRIORITY_LOW: 3;
			public static PRIORITY_MED: 2;
			public getMccMncs(): java.util.List<string>;
			public getPriority(): number;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public getBands(): java.util.List<java.lang.Integer>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSubId(): number;
			public constructor(subId: number, priority: number, mccMncs: java.util.List<string>, bands: java.util.List<java.lang.Integer>);
			public getRadioAccessSpecifiers(): java.util.List<android.telephony.RadioAccessSpecifier>;
			public hashCode(): number;
		}
		export module AvailableNetworkInfo {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AvailableNetworkInfo.Builder>;
				public build(): android.telephony.AvailableNetworkInfo;
				public setMccMncs(mccMncs: java.util.List<string>): android.telephony.AvailableNetworkInfo.Builder;
				public constructor(subId: number);
				public setPriority(priority: number): android.telephony.AvailableNetworkInfo.Builder;
				public setRadioAccessSpecifiers(radioAccessSpecifiers: java.util.List<android.telephony.RadioAccessSpecifier>): android.telephony.AvailableNetworkInfo.Builder;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class BarringInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.BarringInfo>;
			public static BARRING_SERVICE_TYPE_CS_FALLBACK: 5;
			public static BARRING_SERVICE_TYPE_CS_SERVICE: 0;
			public static BARRING_SERVICE_TYPE_CS_VOICE: 2;
			public static BARRING_SERVICE_TYPE_EMERGENCY: 8;
			public static BARRING_SERVICE_TYPE_MMTEL_VIDEO: 7;
			public static BARRING_SERVICE_TYPE_MMTEL_VOICE: 6;
			public static BARRING_SERVICE_TYPE_MO_DATA: 4;
			public static BARRING_SERVICE_TYPE_MO_SIGNALLING: 3;
			public static BARRING_SERVICE_TYPE_PS_SERVICE: 1;
			public static BARRING_SERVICE_TYPE_SMS: 9;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.BarringInfo>;
			public equals(rhs: any): boolean;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getBarringServiceInfo(service: number): android.telephony.BarringInfo.BarringServiceInfo;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module BarringInfo {
			export class BarringServiceInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.BarringInfo.BarringServiceInfo>;
				public static BARRING_TYPE_CONDITIONAL: 1;
				public static BARRING_TYPE_NONE: 0;
				public static BARRING_TYPE_UNCONDITIONAL: 2;
				public static BARRING_TYPE_UNKNOWN: -1;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.BarringInfo.BarringServiceInfo>;
				public equals(rhs: any): boolean;
				public isBarred(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public isConditionallyBarred(): boolean;
				public getConditionalBarringFactor(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getConditionalBarringTimeSeconds(): number;
				public getBarringType(): number;
				public toString(): string;
			}
		}
	}
}

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: "android.telephony.action.CARRIER_CONFIG_CHANGED";
			public static CARRIER_NR_AVAILABILITY_NSA: 1;
			public static CARRIER_NR_AVAILABILITY_SA: 2;
			public static CROSS_SIM_SPN_FORMAT_CARRIER_NAME_ONLY: 0;
			public static CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING: 1;
			public static DATA_CYCLE_THRESHOLD_DISABLED: -2;
			public static DATA_CYCLE_USE_PLATFORM_DEFAULT: -1;
			public static ENABLE_EAP_METHOD_PREFIX_BOOL: "enable_eap_method_prefix_bool";
			public static EXTRA_REBROADCAST_ON_UNLOCK: "android.telephony.extra.REBROADCAST_ON_UNLOCK";
			public static EXTRA_SLOT_INDEX: "android.telephony.extra.SLOT_INDEX";
			public static EXTRA_SUBSCRIPTION_INDEX: "android.telephony.extra.SUBSCRIPTION_INDEX";
			public static IMSI_KEY_AVAILABILITY_INT: "imsi_key_availability_int";
			public static KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY: "5g_nr_ssrsrp_thresholds_int_array";
			public static KEY_5G_NR_SSRSRQ_THRESHOLDS_INT_ARRAY: "5g_nr_ssrsrq_thresholds_int_array";
			public static KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY: "5g_nr_sssinr_thresholds_int_array";
			public static KEY_ADDITIONAL_CALL_SETTING_BOOL: "additional_call_setting_bool";
			public static KEY_ADDITIONAL_SETTINGS_CALLER_ID_VISIBILITY_BOOL: "additional_settings_caller_id_visibility_bool";
			public static KEY_ADDITIONAL_SETTINGS_CALL_WAITING_VISIBILITY_BOOL: "additional_settings_call_waiting_visibility_bool";
			public static KEY_ALLOW_ADDING_APNS_BOOL: "allow_adding_apns_bool";
			public static KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL: "allow_add_call_during_video_call";
			public static KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL: "allow_emergency_numbers_in_call_log_bool";
			public static KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL: "allow_emergency_video_calls_bool";
			public static KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL: "allow_hold_call_during_emergency_bool";
			public static KEY_ALLOW_HOLD_VIDEO_CALL_BOOL: "allow_hold_video_call_bool";
			public static KEY_ALLOW_LOCAL_DTMF_TONES_BOOL: "allow_local_dtmf_tones_bool";
			public static KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL: "allow_merge_wifi_calls_when_vowifi_off_bool";
			public static KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL: "allow_non_emergency_calls_in_ecm_bool";
			public static KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL: "allow_video_calling_fallback_bool";
			public static KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL: "always_show_data_rat_icon_bool";
			public static KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL: "always_show_emergency_alert_onoff_bool";
			public static KEY_ALWAYS_SHOW_PRIMARY_SIGNAL_BAR_IN_OPPORTUNISTIC_NETWORK_BOOLEAN: "always_show_primary_signal_bar_in_opportunistic_network_boolean";
			public static KEY_APN_EXPAND_BOOL: "apn_expand_bool";
			public static KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY: "apn_settings_default_apn_types_string_array";
			public static KEY_AUTO_RETRY_ENABLED_BOOL: "auto_retry_enabled_bool";
			public static KEY_CALL_BARRING_DEFAULT_SERVICE_CLASS_INT: "call_barring_default_service_class_int";
			public static KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL: "call_barring_supports_deactivate_all_bool";
			public static KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL: "call_barring_supports_password_change_bool";
			public static KEY_CALL_BARRING_VISIBILITY_BOOL: "call_barring_visibility_bool";
			public static KEY_CALL_COMPOSER_PICTURE_SERVER_URL_STRING: "call_composer_picture_server_url_string";
			public static KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY: "call_forwarding_blocks_while_roaming_string_array";
			public static KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING: "call_redirection_service_component_name_string";
			public static KEY_CAPABILITIES_EXEMPT_FROM_SINGLE_DC_CHECK_INT_ARRAY: "capabilities_exempt_from_single_dc_check_int_array";
			public static KEY_CARRIER_ALLOW_DEFLECT_IMS_CALL_BOOL: "carrier_allow_deflect_ims_call_bool";
			public static KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL: "carrier_allow_turnoff_ims_bool";
			public static KEY_CARRIER_APP_REQUIRED_DURING_SIM_SETUP_BOOL: "carrier_app_required_during_setup_bool";
			public static KEY_CARRIER_CALL_SCREENING_APP_STRING: "call_screening_app";
			public static KEY_CARRIER_CERTIFICATE_STRING_ARRAY: "carrier_certificate_string_array";
			public static KEY_CARRIER_CONFIG_APPLIED_BOOL: "carrier_config_applied_bool";
			public static KEY_CARRIER_CONFIG_VERSION_STRING: "carrier_config_version_string";
			public static KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL: "carrier_cross_sim_ims_available_bool";
			public static KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS: "carrier_data_call_permanent_failure_strings";
			public static KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY: "carrier_default_actions_on_dcfailure_string_array";
			public static KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE: "carrier_default_actions_on_default_network_available_string_array";
			public static KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY: "carrier_default_actions_on_redirection_string_array";
			public static KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET: "carrier_default_actions_on_reset_string_array";
			public static KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY: "carrier_default_redirection_url_string_array";
			public static KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL: "carrier_default_wfc_ims_enabled_bool";
			public static KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT: "carrier_default_wfc_ims_mode_int";
			public static KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT: "carrier_default_wfc_ims_roaming_mode_int";
			public static KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL: "carrier_force_disable_etws_cmas_test_bool";
			public static KEY_CARRIER_IMS_GBA_REQUIRED_BOOL: "carrier_ims_gba_required_bool";
			public static KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL: "carrier_instant_lettering_available_bool";
			public static KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING: "carrier_instant_lettering_encoding_string";
			public static KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING: "carrier_instant_lettering_escaped_chars_string";
			public static KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING: "carrier_instant_lettering_invalid_chars_string";
			public static KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT: "carrier_instant_lettering_length_limit_int";
			public static KEY_CARRIER_METERED_APN_TYPES_STRINGS: "carrier_metered_apn_types_strings";
			public static KEY_CARRIER_METERED_ROAMING_APN_TYPES_STRINGS: "carrier_metered_roaming_apn_types_strings";
			public static KEY_CARRIER_NAME_OVERRIDE_BOOL: "carrier_name_override_bool";
			public static KEY_CARRIER_NAME_STRING: "carrier_name_string";
			public static KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY: "carrier_nr_availabilities_int_array";
			public static KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL: "carrier_provisions_wifi_merged_networks_bool";
			public static KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL: "carrier_rcs_provisioning_required_bool";
			public static KEY_CARRIER_SERVICE_NAME_STRING_ARRAY: "carrier_service_name_array";
			public static KEY_CARRIER_SERVICE_NUMBER_STRING_ARRAY: "carrier_service_number_array";
			public static KEY_CARRIER_SETTINGS_ACTIVITY_COMPONENT_NAME_STRING: "carrier_settings_activity_component_name_string";
			public static KEY_CARRIER_SETTINGS_ENABLE_BOOL: "carrier_settings_enable_bool";
			public static KEY_CARRIER_SUPPORTED_SATELLITE_SERVICES_PER_PROVIDER_BUNDLE: "carrier_supported_satellite_services_per_provider_bundle";
			public static KEY_CARRIER_SUPPORTS_OPP_DATA_AUTO_PROVISIONING_BOOL: "carrier_supports_opp_data_auto_provisioning_bool";
			public static KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL: "carrier_supports_ss_over_ut_bool";
			public static KEY_CARRIER_SUPPORTS_TETHERING_BOOL: "carrier_supports_tethering_bool";
			public static KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL: "carrier_use_ims_first_for_emergency_bool";
			public static KEY_CARRIER_USSD_METHOD_INT: "carrier_ussd_method_int";
			public static KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL: "carrier_ut_provisioning_required_bool";
			public static KEY_CARRIER_VOLTE_AVAILABLE_BOOL: "carrier_volte_available_bool";
			public static KEY_CARRIER_VOLTE_OVERRIDE_WFC_PROVISIONING_BOOL: "carrier_volte_override_wfc_provisioning_bool";
			public static KEY_CARRIER_VOLTE_PROVISIONED_BOOL: "carrier_volte_provisioned_bool";
			public static KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL: "carrier_volte_provisioning_required_bool";
			public static KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL: "carrier_volte_tty_supported_bool";
			public static KEY_CARRIER_VT_AVAILABLE_BOOL: "carrier_vt_available_bool";
			public static KEY_CARRIER_VVM_PACKAGE_NAME_STRING: "carrier_vvm_package_name_string";
			public static KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY: "carrier_vvm_package_name_string_array";
			public static KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL: "carrier_wfc_ims_available_bool";
			public static KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL: "carrier_wfc_supports_wifi_only_bool";
			public static KEY_CDMA_3WAYCALL_FLASH_DELAY_INT: "cdma_3waycall_flash_delay_int";
			public static KEY_CDMA_DTMF_TONE_DELAY_INT: "cdma_dtmf_tone_delay_int";
			public static KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY: "cdma_nonroaming_networks_string_array";
			public static KEY_CDMA_ROAMING_MODE_INT: "cdma_roaming_mode_int";
			public static KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY: "cdma_roaming_networks_string_array";
			public static KEY_CELLULAR_SERVICE_CAPABILITIES_INT_ARRAY: "cellular_service_capabilities_int_array";
			public static KEY_CELLULAR_USAGE_SETTING_INT: "cellular_usage_setting_int";
			public static KEY_CHECK_PRICING_WITH_CARRIER_FOR_DATA_ROAMING_BOOL: "check_pricing_with_carrier_data_roaming_bool";
			public static KEY_CI_ACTION_ON_SYS_UPDATE_BOOL: "ci_action_on_sys_update_bool";
			public static KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING: "ci_action_on_sys_update_extra_string";
			public static KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING: "ci_action_on_sys_update_extra_val_string";
			public static KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING: "ci_action_on_sys_update_intent_string";
			public static KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING: "config_ims_mmtel_package_override_string";
			public static KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING: "config_ims_package_override_string";
			public static KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING: "config_ims_rcs_package_override_string";
			public static KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING: "config_plans_package_override_string";
			public static KEY_CONFIG_TELEPHONY_USE_OWN_NUMBER_FOR_VOICEMAIL_BOOL: "config_telephony_use_own_number_for_voicemail_bool";
			public static KEY_CONFIG_WIFI_DISABLE_IN_ECBM: "config_wifi_disable_in_ecbm";
			public static KEY_CROSS_SIM_SPN_FORMAT_INT: "cross_sim_spn_format_int";
			public static KEY_CSP_ENABLED_BOOL: "csp_enabled_bool";
			public static KEY_DATA_LIMIT_NOTIFICATION_BOOL: "data_limit_notification_bool";
			public static KEY_DATA_LIMIT_THRESHOLD_BYTES_LONG: "data_limit_threshold_bytes_long";
			public static KEY_DATA_RAPID_NOTIFICATION_BOOL: "data_rapid_notification_bool";
			public static KEY_DATA_SWITCH_VALIDATION_MIN_INTERVAL_MILLIS_LONG: "data_switch_validation_min_gap_long";
			public static KEY_DATA_SWITCH_VALIDATION_TIMEOUT_LONG: "data_switch_validation_timeout_long";
			public static KEY_DATA_WARNING_NOTIFICATION_BOOL: "data_warning_notification_bool";
			public static KEY_DATA_WARNING_THRESHOLD_BYTES_LONG: "data_warning_threshold_bytes_long";
			public static KEY_DEFAULT_SIM_CALL_MANAGER_STRING: "default_sim_call_manager_string";
			public static KEY_DEFAULT_VM_NUMBER_ROAMING_AND_IMS_UNREGISTERED_STRING: "default_vm_number_roaming_and_ims_unregistered_string";
			public static KEY_DEFAULT_VM_NUMBER_STRING: "default_vm_number_string";
			public static KEY_DIAL_STRING_REPLACE_STRING_ARRAY: "dial_string_replace_string_array";
			public static KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL: "disable_cdma_activation_code_bool";
			public static KEY_DISABLE_CHARGE_INDICATION_BOOL: "disable_charge_indication_bool";
			public static KEY_DISABLE_SUPPLEMENTARY_SERVICES_IN_AIRPLANE_MODE_BOOL: "disable_supplementary_services_in_airplane_mode_bool";
			public static KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY: "disconnect_cause_play_busytone_int_array";
			public static KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL: "display_call_strength_indicator_bool";
			public static KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL: "display_hd_audio_property_bool";
			public static KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL: "drop_video_call_when_answering_audio_call_bool";
			public static KEY_DTMF_TYPE_ENABLED_BOOL: "dtmf_type_enabled_bool";
			public static KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT: "duration_blocking_disabled_after_emergency_int";
			public static KEY_EDITABLE_ENHANCED_4G_LTE_BOOL: "editable_enhanced_4g_lte_bool";
			public static KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL: "editable_voicemail_number_bool";
			public static KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL: "editable_voicemail_number_setting_bool";
			public static KEY_EDITABLE_WFC_MODE_BOOL: "editable_wfc_mode_bool";
			public static KEY_EDITABLE_WFC_ROAMING_MODE_BOOL: "editable_wfc_roaming_mode_bool";
			public static KEY_EMERGENCY_NOTIFICATION_DELAY_INT: "emergency_notification_delay_int";
			public static KEY_EMERGENCY_NUMBER_PREFIX_STRING_ARRAY: "emergency_number_prefix_string_array";
			public static KEY_ENABLE_CROSS_SIM_CALLING_ON_OPPORTUNISTIC_DATA_BOOL: "enable_cross_sim_calling_on_opportunistic_data_bool";
			public static KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL: "enable_dialer_key_vibration_bool";
			public static KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL: "enhanced_4g_lte_on_by_default_bool";
			public static KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT: "enhanced_4g_lte_title_variant_int";
			public static KEY_ESIM_DOWNLOAD_RETRY_BACKOFF_TIMER_SEC_INT: "esim_download_retry_backoff_timer_sec_int";
			public static KEY_ESIM_MAX_DOWNLOAD_RETRY_ATTEMPTS_INT: "esim_max_download_retry_attempts_int";
			public static KEY_FORCE_HOME_NETWORK_BOOL: "force_home_network_bool";
			public static KEY_GSM_DTMF_TONE_DELAY_INT: "gsm_dtmf_tone_delay_int";
			public static KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY: "gsm_nonroaming_networks_string_array";
			public static KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY: "gsm_roaming_networks_string_array";
			public static KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL: "has_in_call_noise_suppression_bool";
			public static KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL: "hide_carrier_network_settings_bool";
			public static KEY_HIDE_ENHANCED_4G_LTE_BOOL: "hide_enhanced_4g_lte_bool";
			public static KEY_HIDE_IMS_APN_BOOL: "hide_ims_apn_bool";
			public static KEY_HIDE_LTE_PLUS_DATA_ICON_BOOL: "hide_lte_plus_data_icon_bool";
			public static KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL: "hide_preferred_network_type_bool";
			public static KEY_HIDE_PRESET_APN_DETAILS_BOOL: "hide_preset_apn_details_bool";
			public static KEY_HIDE_SIM_LOCK_SETTINGS_BOOL: "hide_sim_lock_settings_bool";
			public static KEY_HIDE_TTY_HCO_VCO_WITH_RTT_BOOL: "hide_tty_hco_vco_with_rtt";
			public static KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS: "ignore_data_enabled_changed_for_video_calls";
			public static KEY_IGNORE_RTT_MODE_SETTING_BOOL: "ignore_rtt_mode_setting_bool";
			public static KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL: "ignore_sim_network_locked_events_bool";
			public static KEY_IMS_CONFERENCE_SIZE_LIMIT_INT: "ims_conference_size_limit_int";
			public static KEY_IMS_DTMF_TONE_DELAY_INT: "ims_dtmf_tone_delay_int";
			public static KEY_INCLUDE_LTE_FOR_NR_ADVANCED_THRESHOLD_BANDWIDTH_BOOL: "include_lte_for_nr_advanced_threshold_bandwidth_bool";
			public static KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL: "is_ims_conference_size_enforced_bool";
			public static KEY_IS_OPPORTUNISTIC_SUBSCRIPTION_BOOL: "is_opportunistic_subscription_bool";
			public static KEY_LTE_ENABLED_BOOL: "lte_enabled_bool";
			public static KEY_LTE_RSRQ_THRESHOLDS_INT_ARRAY: "lte_rsrq_thresholds_int_array";
			public static KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY: "lte_rssnr_thresholds_int_array";
			public static KEY_MDN_IS_ADDITIONAL_VOICEMAIL_NUMBER_BOOL: "mdn_is_additional_voicemail_number_bool";
			public static KEY_MMS_ALIAS_ENABLED_BOOL: "aliasEnabled";
			public static KEY_MMS_ALIAS_MAX_CHARS_INT: "aliasMaxChars";
			public static KEY_MMS_ALIAS_MIN_CHARS_INT: "aliasMinChars";
			public static KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL: "allowAttachAudio";
			public static KEY_MMS_APPEND_TRANSACTION_ID_BOOL: "enabledTransID";
			public static KEY_MMS_CLOSE_CONNECTION_BOOL: "mmsCloseConnection";
			public static KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING: "emailGatewayNumber";
			public static KEY_MMS_GROUP_MMS_ENABLED_BOOL: "enableGroupMms";
			public static KEY_MMS_HTTP_PARAMS_STRING: "httpParams";
			public static KEY_MMS_HTTP_SOCKET_TIMEOUT_INT: "httpSocketTimeout";
			public static KEY_MMS_MAX_IMAGE_HEIGHT_INT: "maxImageHeight";
			public static KEY_MMS_MAX_IMAGE_WIDTH_INT: "maxImageWidth";
			public static KEY_MMS_MAX_MESSAGE_SIZE_INT: "maxMessageSize";
			public static KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT: "maxMessageTextSize";
			public static KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL: "enableMMSDeliveryReports";
			public static KEY_MMS_MMS_ENABLED_BOOL: "enabledMMS";
			public static KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL: "enableMMSReadReports";
			public static KEY_MMS_MULTIPART_SMS_ENABLED_BOOL: "enableMultipartSMS";
			public static KEY_MMS_NAI_SUFFIX_STRING: "naiSuffix";
			public static KEY_MMS_NETWORK_RELEASE_TIMEOUT_MILLIS_INT: "mms_network_release_timeout_millis_int";
			public static KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL: "enabledNotifyWapMMSC";
			public static KEY_MMS_RECIPIENT_LIMIT_INT: "recipientLimit";
			public static KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL: "sendMultipartSmsAsSeparateMessages";
			public static KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL: "config_cellBroadcastAppLinks";
			public static KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL: "enableSMSDeliveryReports";
			public static KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT: "smsToMmsTextLengthThreshold";
			public static KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT: "smsToMmsTextThreshold";
			public static KEY_MMS_SUBJECT_MAX_LENGTH_INT: "maxSubjectLength";
			public static KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL: "supportHttpCharsetHeader";
			public static KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL: "supportMmsContentDisposition";
			public static KEY_MMS_UA_PROF_TAG_NAME_STRING: "uaProfTagName";
			public static KEY_MMS_UA_PROF_URL_STRING: "uaProfUrl";
			public static KEY_MMS_USER_AGENT_STRING: "userAgent";
			public static KEY_MONTHLY_DATA_CYCLE_DAY_INT: "monthly_data_cycle_day_int";
			public static KEY_NTN_LTE_RSRP_THRESHOLDS_INT_ARRAY: "ntn_lte_rsrp_thresholds_int_array";
			public static KEY_NTN_LTE_RSRQ_THRESHOLDS_INT_ARRAY: "ntn_lte_rsrq_thresholds_int_array";
			public static KEY_NTN_LTE_RSSNR_THRESHOLDS_INT_ARRAY: "ntn_lte_rssnr_thresholds_int_array";
			public static KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL: "only_auto_select_in_home_network";
			public static KEY_ONLY_SINGLE_DC_ALLOWED_INT_ARRAY: "only_single_dc_allowed_int_array";
			public static KEY_OPERATOR_SELECTION_EXPAND_BOOL: "operator_selection_expand_bool";
			public static KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG: "opportunistic_network_backoff_time_long";
			public static KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_EXIT_HYSTERESIS_TIME_LONG: "opportunistic_network_data_switch_exit_hysteresis_time_long";
			public static KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_HYSTERESIS_TIME_LONG: "opportunistic_network_data_switch_hysteresis_time_long";
			public static KEY_OPPORTUNISTIC_NETWORK_ENTRY_OR_EXIT_HYSTERESIS_TIME_LONG: "opportunistic_network_entry_or_exit_hysteresis_time_long";
			public static KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_BANDWIDTH_INT: "opportunistic_network_entry_threshold_bandwidth_int";
			public static KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSRP_INT: "opportunistic_network_entry_threshold_rsrp_int";
			public static KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSSNR_INT: "opportunistic_network_entry_threshold_rssnr_int";
			public static KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSRP_INT: "opportunistic_network_exit_threshold_rsrp_int";
			public static KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSSNR_INT: "opportunistic_network_exit_threshold_rssnr_int";
			public static KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG: "opportunistic_network_max_backoff_time_long";
			public static KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG: "opportunistic_network_ping_pong_time_long";
			public static KEY_PARAMETERS_USED_FOR_NTN_LTE_SIGNAL_BAR_INT: "parameters_used_for_ntn_lte_signal_bar_int";
			public static KEY_PING_TEST_BEFORE_DATA_SWITCH_BOOL: "ping_test_before_data_switch_bool";
			public static KEY_PREFER_2G_BOOL: "prefer_2g_bool";
			public static KEY_PREFER_3G_VISIBILITY_BOOL: "prefer_3g_visibility_bool";
			public static KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT: "premium_capability_maximum_daily_notification_count_int";
			public static KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT: "premium_capability_maximum_monthly_notification_count_int";
			public static KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG: "premium_capability_network_setup_time_millis_long";
			public static KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG: "premium_capability_notification_backoff_hysteresis_time_millis_long";
			public static KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG: "premium_capability_notification_display_timeout_millis_long";
			public static KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG: "premium_capability_purchase_condition_backoff_hysteresis_time_millis_long";
			public static KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING: "premium_capability_purchase_url_string";
			public static KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL: "premium_capability_supported_on_lte_bool";
			public static KEY_PREVENT_CLIR_ACTIVATION_AND_DEACTIVATION_CODE_BOOL: "prevent_clir_activation_and_deactivation_code_bool";
			public static KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY: "radio_restart_failure_causes_int_array";
			public static KEY_RATCHET_NR_ADVANCED_BANDWIDTH_IF_RRC_IDLE_BOOL: "ratchet_nr_advanced_bandwidth_if_rrc_idle_bool";
			public static KEY_RCS_CONFIG_SERVER_URL_STRING: "rcs_config_server_url_string";
			public static KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY: "read_only_apn_fields_string_array";
			public static KEY_READ_ONLY_APN_TYPES_STRING_ARRAY: "read_only_apn_types_string_array";
			public static KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL: "require_entitlement_checks_bool";
			public static KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL: "restart_radio_on_pdp_fail_regular_deactivation_bool";
			public static KEY_RTT_AUTO_UPGRADE_BOOL: "rtt_auto_upgrade_bool";
			public static KEY_RTT_DOWNGRADE_SUPPORTED_BOOL: "rtt_downgrade_supported_bool";
			public static KEY_RTT_SUPPORTED_BOOL: "rtt_supported_bool";
			public static KEY_RTT_SUPPORTED_FOR_VT_BOOL: "rtt_supported_for_vt_bool";
			public static KEY_RTT_SUPPORTED_WHILE_ROAMING_BOOL: "rtt_supported_while_roaming_bool";
			public static KEY_RTT_UPGRADE_SUPPORTED_BOOL: "rtt_upgrade_supported_bool";
			public static KEY_RTT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_VT_CALL_BOOL: "rtt_upgrade_supported_for_downgraded_vt_call";
			public static KEY_SATELLITE_ATTACH_SUPPORTED_BOOL: "satellite_attach_supported_bool";
			public static KEY_SATELLITE_CONNECTION_HYSTERESIS_SEC_INT: "satellite_connection_hysteresis_sec_int";
			public static KEY_SATELLITE_ENTITLEMENT_STATUS_REFRESH_DAYS_INT: "satellite_entitlement_status_refresh_days_int";
			public static KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL: "satellite_entitlement_supported_bool";
			public static KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL: "show_4g_for_3g_data_icon_bool";
			public static KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL: "show_4g_for_lte_data_icon_bool";
			public static KEY_SHOW_APN_SETTING_CDMA_BOOL: "show_apn_setting_cdma_bool";
			public static KEY_SHOW_BLOCKING_PAY_PHONE_OPTION_BOOL: "show_blocking_pay_phone_option_bool";
			public static KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL: "show_call_blocking_disabled_notification_always_bool";
			public static KEY_SHOW_CDMA_CHOICES_BOOL: "show_cdma_choices_bool";
			public static KEY_SHOW_FORWARDED_NUMBER_BOOL: "show_forwarded_number_bool";
			public static KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL: "show_iccid_in_sim_status_bool";
			public static KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL: "show_ims_registration_status_bool";
			public static KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL: "show_onscreen_dial_button_bool";
			public static KEY_SHOW_ROAMING_INDICATOR_BOOL: "show_roaming_indicator_bool";
			public static KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL: "show_signal_strength_in_sim_status_bool";
			public static KEY_SHOW_VIDEO_CALL_CHARGES_ALERT_DIALOG_BOOL: "show_video_call_charges_alert_dialog_bool";
			public static KEY_SHOW_WFC_LOCATION_PRIVACY_POLICY_BOOL: "show_wfc_location_privacy_policy_bool";
			public static KEY_SIMPLIFIED_NETWORK_SETTINGS_BOOL: "simplified_network_settings_bool";
			public static KEY_SIM_COUNTRY_ISO_OVERRIDE_STRING: "sim_country_iso_override_string";
			public static KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL: "sim_network_unlock_allow_dismiss_bool";
			public static KEY_SMDP_SERVER_ADDRESS_STRING: "smdp_server_address_string";
			public static KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL: "sms_requires_destination_number_conversion_bool";
			public static KEY_SUBSCRIPTION_GROUP_UUID_STRING: "subscription_group_uuid_string";
			public static KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY: "supported_premium_capabilities_int_array";
			public static KEY_SUPPORTS_BUSINESS_CALL_COMPOSER_BOOL: "supports_business_call_composer_bool";
			public static KEY_SUPPORTS_CALL_COMPOSER_BOOL: "supports_call_composer_bool";
			public static KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_DTMF_BOOL: "supports_device_to_device_communication_using_dtmf_bool";
			public static KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL: "supports_device_to_device_communication_using_rtp_bool";
			public static KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL: "supports_sdp_negotiation_of_d2d_rtp_header_extensions_bool";
			public static KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL: "support_3gpp_call_forwarding_while_roaming_bool";
			public static KEY_SUPPORT_ADD_CONFERENCE_PARTICIPANTS_BOOL: "support_add_conference_participants_bool";
			public static KEY_SUPPORT_ADHOC_CONFERENCE_CALLS_BOOL: "support_adhoc_conference_calls_bool";
			public static KEY_SUPPORT_CLIR_NETWORK_DEFAULT_BOOL: "support_clir_network_default_bool";
			public static KEY_SUPPORT_CONFERENCE_CALL_BOOL: "support_conference_call_bool";
			public static KEY_SUPPORT_EMERGENCY_SMS_OVER_IMS_BOOL: "support_emergency_sms_over_ims_bool";
			public static KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL: "support_enhanced_call_blocking_bool";
			public static KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_BOOL: "support_ims_conference_event_package_bool";
			public static KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL: "support_pause_ims_video_calls_bool";
			public static KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL: "support_swap_after_merge_bool";
			public static KEY_SUPPORT_TDSCDMA_BOOL: "support_tdscdma_bool";
			public static KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY: "support_tdscdma_roaming_networks_string_array";
			public static KEY_SWITCH_DATA_TO_PRIMARY_IF_PRIMARY_IS_OOS_BOOL: "switch_data_to_primary_if_primary_is_oos_bool";
			public static KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL: "treat_downgraded_video_calls_as_video_calls_bool";
			public static KEY_TTY_SUPPORTED_BOOL: "tty_supported_bool";
			public static KEY_UNLOGGABLE_NUMBERS_STRING_ARRAY: "unloggable_numbers_string_array";
			public static KEY_USE_ACS_FOR_RCS_BOOL: "use_acs_for_rcs_bool";
			public static KEY_USE_HFA_FOR_PROVISIONING_BOOL: "use_hfa_for_provisioning_bool";
			public static KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL: "use_ip_for_calling_indicator_bool";
			public static KEY_USE_OTASP_FOR_PROVISIONING_BOOL: "use_otasp_for_provisioning_bool";
			public static KEY_USE_RCS_PRESENCE_BOOL: "use_rcs_presence_bool";
			public static KEY_USE_RCS_SIP_OPTIONS_BOOL: "use_rcs_sip_options_bool";
			public static KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL: "use_wfc_home_network_mode_in_roaming_network_bool";
			public static KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL: "voicemail_notification_persistent_bool";
			public static KEY_VOICE_PRIVACY_DISABLE_UI_BOOL: "voice_privacy_disable_ui_bool";
			public static KEY_VOLTE_REPLACEMENT_RAT_INT: "volte_replacement_rat_int";
			public static KEY_VONR_ENABLED_BOOL: "vonr_enabled_bool";
			public static KEY_VONR_ON_BY_DEFAULT_BOOL: "vonr_on_by_default_bool";
			public static KEY_VONR_SETTING_VISIBILITY_BOOL: "vonr_setting_visibility_bool";
			public static KEY_VT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_RTT_CALL_BOOL: "vt_upgrade_supported_for_downgraded_rtt_call";
			public static KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL: "vvm_cellular_data_required_bool";
			public static KEY_VVM_CLIENT_PREFIX_STRING: "vvm_client_prefix_string";
			public static KEY_VVM_DESTINATION_NUMBER_STRING: "vvm_destination_number_string";
			public static KEY_VVM_DISABLED_CAPABILITIES_STRING_ARRAY: "vvm_disabled_capabilities_string_array";
			public static KEY_VVM_LEGACY_MODE_ENABLED_BOOL: "vvm_legacy_mode_enabled_bool";
			public static KEY_VVM_PORT_NUMBER_INT: "vvm_port_number_int";
			public static KEY_VVM_PREFETCH_BOOL: "vvm_prefetch_bool";
			public static KEY_VVM_SSL_ENABLED_BOOL: "vvm_ssl_enabled_bool";
			public static KEY_VVM_TYPE_STRING: "vvm_type_string";
			public static KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING: "wfc_emergency_address_carrier_app_string";
			public static KEY_WORLD_MODE_ENABLED_BOOL: "world_mode_enabled_bool";
			public static KEY_WORLD_PHONE_BOOL: "world_phone_bool";
			public static REMOVE_GROUP_UUID_STRING: "00000000-0000-0000-0000-000000000000";
			public static SERVICE_CLASS_NONE: 0;
			public static SERVICE_CLASS_VOICE: 1;
			public static USSD_OVER_CS_ONLY: 2;
			public static USSD_OVER_CS_PREFERRED: 0;
			public static USSD_OVER_IMS_ONLY: 3;
			public static USSD_OVER_IMS_PREFERRED: 1;
			public notifyConfigChangedForSubId(subId: number): void;
			/** @deprecated */
			public getConfigForSubId(subId: number): any;
			/** @deprecated */
			public getConfig(): any;
			public getConfigForSubId(subId: number, keys: androidNative.Array<string>): any;
			public getConfig(keys: androidNative.Array<string>): any;
			public registerCarrierConfigChangeListener(executor: java.util.concurrent.Executor, listener: android.telephony.CarrierConfigManager.CarrierConfigChangeListener): void;
			public static isConfigForIdentifiedCarrier(bundle: any): boolean;
			public getConfigByComponentForSubId(prefix: string, subId: number): any;
			public unregisterCarrierConfigChangeListener(listener: android.telephony.CarrierConfigManager.CarrierConfigChangeListener): void;
		}
		export module CarrierConfigManager {
			export class Apn extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.Apn>;
				public static KEY_PREFIX: "apn.";
				public static KEY_SETTINGS_DEFAULT_PROTOCOL_STRING: "apn.settings_default_protocol_string";
				public static KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING: "apn.settings_default_roaming_protocol_string";
				public static PROTOCOL_IPV4: "IP";
				public static PROTOCOL_IPV4V6: "IPV4V6";
				public static PROTOCOL_IPV6: "IPV6";
			}
			export class Bsf extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.Bsf>;
				public static KEY_BSF_SERVER_FQDN_STRING: "bsf.bsf_server_fqdn_string";
				public static KEY_BSF_SERVER_PORT_INT: "bsf.bsf_server_port_int";
				public static KEY_BSF_TRANSPORT_TYPE_INT: "bsf.bsf_transport_type_int";
				public static KEY_PREFIX: "bsf.";
			}
			export class CarrierConfigChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.CarrierConfigChangeListener>;
				/**
				 * Constructs a new instance of the android.telephony.CarrierConfigManager$CarrierConfigChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCarrierConfigChanged(param0: number, param1: number, param2: number, param3: number): void;
				});
				public constructor();
				public onCarrierConfigChanged(param0: number, param1: number, param2: number, param3: number): void;
			}
			export class Gps extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.Gps>;
				public static KEY_PERSIST_LPP_MODE_BOOL: "gps.persist_lpp_mode_bool";
				public static KEY_PREFIX: "gps.";
			}
			export class Ims extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.Ims>;
				public static E911_RTCP_INACTIVITY_ON_CONNECTED: 3;
				public static E911_RTP_INACTIVITY_ON_CONNECTED: 4;
				public static GEOLOCATION_PIDF_FOR_EMERGENCY_ON_CELLULAR: 4;
				public static GEOLOCATION_PIDF_FOR_EMERGENCY_ON_WIFI: 2;
				public static GEOLOCATION_PIDF_FOR_NON_EMERGENCY_ON_CELLULAR: 3;
				public static GEOLOCATION_PIDF_FOR_NON_EMERGENCY_ON_WIFI: 1;
				public static IPSEC_AUTHENTICATION_ALGORITHM_HMAC_MD5: 0;
				public static IPSEC_AUTHENTICATION_ALGORITHM_HMAC_SHA1: 1;
				public static IPSEC_ENCRYPTION_ALGORITHM_AES_CBC: 2;
				public static IPSEC_ENCRYPTION_ALGORITHM_DES_EDE3_CBC: 1;
				public static IPSEC_ENCRYPTION_ALGORITHM_NULL: 0;
				public static KEY_CAPABILITY_TYPE_CALL_COMPOSER_INT_ARRAY: "ims.capability_type_call_composer_int_array";
				public static KEY_CAPABILITY_TYPE_OPTIONS_UCE_INT_ARRAY: "ims.capability_type_options_uce_int_array";
				public static KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY: "ims.capability_type_presence_uce_int_array";
				public static KEY_CAPABILITY_TYPE_SMS_INT_ARRAY: "ims.capability_type_sms_int_array";
				public static KEY_CAPABILITY_TYPE_UT_INT_ARRAY: "ims.capability_type_ut_int_array";
				public static KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY: "ims.capability_type_video_int_array";
				public static KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY: "ims.capability_type_voice_int_array";
				public static KEY_ENABLE_PRESENCE_CAPABILITY_EXCHANGE_BOOL: "ims.enable_presence_capability_exchange_bool";
				public static KEY_ENABLE_PRESENCE_GROUP_SUBSCRIBE_BOOL: "ims.enable_presence_group_subscribe_bool";
				public static KEY_ENABLE_PRESENCE_PUBLISH_BOOL: "ims.enable_presence_publish_bool";
				public static KEY_GEOLOCATION_PIDF_IN_SIP_INVITE_SUPPORT_INT_ARRAY: "ims.geolocation_pidf_in_sip_invite_support_int_array";
				public static KEY_GEOLOCATION_PIDF_IN_SIP_REGISTER_SUPPORT_INT_ARRAY: "ims.geolocation_pidf_in_sip_register_support_int_array";
				public static KEY_GRUU_ENABLED_BOOL: "ims.gruu_enabled_bool";
				public static KEY_IMS_PDN_ENABLED_IN_NO_VOPS_SUPPORT_INT_ARRAY: "ims.ims_pdn_enabled_in_no_vops_support_int_array";
				public static KEY_IMS_SINGLE_REGISTRATION_REQUIRED_BOOL: "ims.ims_single_registration_required_bool";
				public static KEY_IMS_USER_AGENT_STRING: "ims.ims_user_agent_string";
				public static KEY_IPSEC_AUTHENTICATION_ALGORITHMS_INT_ARRAY: "ims.ipsec_authentication_algorithms_int_array";
				public static KEY_IPSEC_ENCRYPTION_ALGORITHMS_INT_ARRAY: "ims.ipsec_encryption_algorithms_int_array";
				public static KEY_IPV4_SIP_MTU_SIZE_CELLULAR_INT: "ims.ipv4_sip_mtu_size_cellular_int";
				public static KEY_IPV6_SIP_MTU_SIZE_CELLULAR_INT: "ims.ipv6_sip_mtu_size_cellular_int";
				public static KEY_KEEP_PDN_UP_IN_NO_VOPS_BOOL: "ims.keep_pdn_up_in_no_vops_bool";
				public static KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE: "ims.mmtel_requires_provisioning_bundle";
				public static KEY_NON_RCS_CAPABILITIES_CACHE_EXPIRATION_SEC_INT: "ims.non_rcs_capabilities_cache_expiration_sec_int";
				public static KEY_PHONE_CONTEXT_DOMAIN_NAME_STRING: "ims.phone_context_domain_name_string";
				public static KEY_PREFIX: "ims.";
				public static KEY_RCS_BULK_CAPABILITY_EXCHANGE_BOOL: "ims.rcs_bulk_capability_exchange_bool";
				public static KEY_RCS_FEATURE_TAG_ALLOWED_STRING_ARRAY: "ims.rcs_feature_tag_allowed_string_array";
				public static KEY_RCS_REQUIRES_PROVISIONING_BUNDLE: "ims.rcs_requires_provisioning_bundle";
				public static KEY_REGISTRATION_EVENT_PACKAGE_SUPPORTED_BOOL: "ims.registration_event_package_supported_bool";
				public static KEY_REGISTRATION_EXPIRY_TIMER_SEC_INT: "ims.registration_expiry_timer_sec_int";
				public static KEY_REGISTRATION_RETRY_BASE_TIMER_MILLIS_INT: "ims.registration_retry_base_timer_millis_int";
				public static KEY_REGISTRATION_RETRY_MAX_TIMER_MILLIS_INT: "ims.registration_retry_max_timer_millis_int";
				public static KEY_REGISTRATION_SUBSCRIBE_EXPIRY_TIMER_SEC_INT: "ims.registration_subscribe_expiry_timer_sec_int";
				public static KEY_REQUEST_URI_TYPE_INT: "ims.request_uri_type_int";
				public static KEY_SIP_OVER_IPSEC_ENABLED_BOOL: "ims.sip_over_ipsec_enabled_bool";
				public static KEY_SIP_PREFERRED_TRANSPORT_INT: "ims.sip_preferred_transport_int";
				public static KEY_SIP_SERVER_PORT_NUMBER_INT: "ims.sip_server_port_number_int";
				public static KEY_SIP_TIMER_B_MILLIS_INT: "ims.sip_timer_b_millis_int";
				public static KEY_SIP_TIMER_C_MILLIS_INT: "ims.sip_timer_c_millis_int";
				public static KEY_SIP_TIMER_D_MILLIS_INT: "ims.sip_timer_d_millis_int";
				public static KEY_SIP_TIMER_F_MILLIS_INT: "ims.sip_timer_f_millis_int";
				public static KEY_SIP_TIMER_H_MILLIS_INT: "ims.sip_timer_h_millis_int";
				public static KEY_SIP_TIMER_J_MILLIS_INT: "ims.sip_timer_j_millis_int";
				public static KEY_SIP_TIMER_T1_MILLIS_INT: "ims.sip_timer_t1_millis_int";
				public static KEY_SIP_TIMER_T2_MILLIS_INT: "ims.sip_timer_t2_millis_int";
				public static KEY_SIP_TIMER_T4_MILLIS_INT: "ims.sip_timer_t4_millis_int";
				public static KEY_SUPPORTED_RATS_INT_ARRAY: "ims.supported_rats_int_array";
				public static KEY_USE_SIP_URI_FOR_PRESENCE_SUBSCRIBE_BOOL: "ims.use_sip_uri_for_presence_subscribe_bool";
				public static KEY_WIFI_OFF_DEFERRING_TIME_MILLIS_INT: "ims.wifi_off_deferring_time_millis_int";
				public static NETWORK_TYPE_HOME: 0;
				public static NETWORK_TYPE_ROAMING: 1;
				public static PREFERRED_TRANSPORT_DYNAMIC_UDP_TCP: 2;
				public static PREFERRED_TRANSPORT_TCP: 1;
				public static PREFERRED_TRANSPORT_TLS: 3;
				public static PREFERRED_TRANSPORT_UDP: 0;
				public static REQUEST_URI_FORMAT_SIP: 1;
				public static REQUEST_URI_FORMAT_TEL: 0;
				public static RTCP_INACTIVITY_ON_CONNECTED: 1;
				public static RTCP_INACTIVITY_ON_HOLD: 0;
				public static RTP_INACTIVITY_ON_CONNECTED: 2;
			}
			export class ImsEmergency extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.ImsEmergency>;
				public static DOMAIN_CS: 1;
				public static DOMAIN_PS_3GPP: 2;
				public static DOMAIN_PS_NON_3GPP: 3;
				public static KEY_CROSS_STACK_REDIAL_TIMER_SEC_INT: "imsemergency.cross_stack_redial_timer_sec_int";
				public static KEY_EMERGENCY_CALLBACK_MODE_SUPPORTED_BOOL: "imsemergency.emergency_callback_mode_supported_bool";
				public static KEY_EMERGENCY_CALL_SETUP_TIMER_ON_CURRENT_NETWORK_SEC_INT: "imsemergency.emergency_call_setup_timer_on_current_network_sec_int";
				public static KEY_EMERGENCY_CDMA_PREFERRED_NUMBERS_STRING_ARRAY: "imsemergency.emergency_cdma_preferred_numbers_string_array";
				public static KEY_EMERGENCY_DOMAIN_PREFERENCE_INT_ARRAY: "imsemergency.emergency_domain_preference_int_array";
				public static KEY_EMERGENCY_DOMAIN_PREFERENCE_ROAMING_INT_ARRAY: "imsemergency.emergency_domain_preference_roaming_int_array";
				public static KEY_EMERGENCY_LTE_PREFERRED_AFTER_NR_FAILED_BOOL: "imsemergency.emergency_lte_preferred_after_nr_failed_bool";
				public static KEY_EMERGENCY_NETWORK_SCAN_TYPE_INT: "imsemergency.emergency_network_scan_type_int";
				public static KEY_EMERGENCY_OVER_CS_ROAMING_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY: "imsemergency.emergency_over_cs_roaming_supported_access_network_types_int_array";
				public static KEY_EMERGENCY_OVER_CS_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY: "imsemergency.emergency_over_cs_supported_access_network_types_int_array";
				public static KEY_EMERGENCY_OVER_IMS_ROAMING_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY: "imsemergency.emergency_over_ims_roaming_supported_3gpp_network_types_int_array";
				public static KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY: "imsemergency.emergency_over_ims_supported_3gpp_network_types_int_array";
				public static KEY_EMERGENCY_OVER_IMS_SUPPORTED_RATS_INT_ARRAY: "imsemergency.emergency_over_ims_supported_rats_int_array";
				public static KEY_EMERGENCY_QOS_PRECONDITION_SUPPORTED_BOOL: "imsemergency.emergency_qos_precondition_supported_bool";
				public static KEY_EMERGENCY_REGISTRATION_TIMER_MILLIS_INT: "imsemergency.emergency_registration_timer_millis_int";
				public static KEY_EMERGENCY_REQUIRES_IMS_REGISTRATION_BOOL: "imsemergency.emergency_requires_ims_registration_bool";
				public static KEY_EMERGENCY_REQUIRES_VOLTE_ENABLED_BOOL: "imsemergency.emergency_requires_volte_enabled_bool";
				public static KEY_EMERGENCY_SCAN_TIMER_SEC_INT: "imsemergency.emergency_scan_timer_sec_int";
				public static KEY_EMERGENCY_VOWIFI_REQUIRES_CONDITION_INT: "imsemergency.emergency_vowifi_requires_condition_int";
				public static KEY_MAXIMUM_CELLULAR_SEARCH_TIMER_SEC_INT: "imsemergency.maximum_cellular_search_timer_sec_int";
				public static KEY_MAXIMUM_NUMBER_OF_EMERGENCY_TRIES_OVER_VOWIFI_INT: "imsemergency.maximum_number_of_emergency_tries_over_vowifi_int";
				public static KEY_PREFER_IMS_EMERGENCY_WHEN_VOICE_CALLS_ON_CS_BOOL: "imsemergency.prefer_ims_emergency_when_voice_calls_on_cs_bool";
				public static KEY_PREFIX: "imsemergency.";
				public static KEY_QUICK_CROSS_STACK_REDIAL_TIMER_SEC_INT: "imsemergency.quick_cross_stack_redial_timer_sec_int";
				public static KEY_REFRESH_GEOLOCATION_TIMEOUT_MILLIS_INT: "imsemergency.refresh_geolocation_timeout_millis_int";
				public static KEY_RETRY_EMERGENCY_ON_IMS_PDN_BOOL: "imsemergency.retry_emergency_on_ims_pdn_bool";
				public static KEY_SCAN_LIMITED_SERVICE_AFTER_VOLTE_FAILURE_BOOL: "imsemergency.scan_limited_service_after_volte_failure_bool";
				public static KEY_START_QUICK_CROSS_STACK_REDIAL_TIMER_WHEN_REGISTERED_BOOL: "imsemergency.start_quick_cross_stack_redial_timer_when_registered_bool";
				public static REDIAL_TIMER_DISABLED: 0;
				public static SCAN_TYPE_FULL_SERVICE: 1;
				public static SCAN_TYPE_FULL_SERVICE_FOLLOWED_BY_LIMITED_SERVICE: 2;
				public static SCAN_TYPE_NO_PREFERENCE: 0;
				public static VOWIFI_REQUIRES_NONE: 0;
				public static VOWIFI_REQUIRES_SETTING_ENABLED: 1;
				public static VOWIFI_REQUIRES_VALID_EID: 2;
			}
			export class ImsRtt extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.ImsRtt>;
				public static KEY_PREFIX: "imsrtt.";
				public static KEY_RED_PAYLOAD_TYPE_INT: "imsrtt.red_payload_type_int";
				public static KEY_T140_PAYLOAD_TYPE_INT: "imsrtt.t140_payload_type_int";
				public static KEY_TEXT_AS_BANDWIDTH_KBPS_INT: "imsrtt.text_as_bandwidth_kbps_int";
				public static KEY_TEXT_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE: "imsrtt.text_codec_capability_payload_types_bundle";
				public static KEY_TEXT_ON_DEFAULT_BEARER_SUPPORTED_BOOL: "imsrtt.text_on_default_bearer_supported_bool";
				public static KEY_TEXT_QOS_PRECONDITION_SUPPORTED_BOOL: "imsrtt.text_qos_precondition_supported_bool";
				public static KEY_TEXT_RR_BANDWIDTH_BPS_INT: "imsrtt.text_rr_bandwidth_bps_int";
				public static KEY_TEXT_RS_BANDWIDTH_BPS_INT: "imsrtt.text_rs_bandwidth_bps_int";
			}
			export class ImsServiceEntitlement extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.ImsServiceEntitlement>;
				public static KEY_ENTITLEMENT_SERVER_URL_STRING: "imsserviceentitlement.entitlement_server_url_string";
				public static KEY_FCM_SENDER_ID_STRING: "imsserviceentitlement.fcm_sender_id_string";
				public static KEY_IMS_PROVISIONING_BOOL: "imsserviceentitlement.ims_provisioning_bool";
				public static KEY_PREFIX: "imsserviceentitlement.";
				public static KEY_SHOW_VOWIFI_WEBVIEW_BOOL: "imsserviceentitlement.show_vowifi_webview_bool";
			}
			export class ImsSms extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.ImsSms>;
				public static KEY_PREFIX: "imssms.";
				public static KEY_SMS_CSFB_RETRY_ON_FAILURE_BOOL: "imssms.sms_csfb_retry_on_failure_bool";
				public static KEY_SMS_MAX_RETRY_COUNT_INT: "imssms.sms_max_retry_count_int";
				public static KEY_SMS_MAX_RETRY_OVER_IMS_COUNT_INT: "imssms.sms_max_retry_over_ims_count_int";
				public static KEY_SMS_OVER_IMS_FORMAT_INT: "imssms.sms_over_ims_format_int";
				public static KEY_SMS_OVER_IMS_SEND_RETRY_DELAY_MILLIS_INT: "imssms.sms_over_ims_send_retry_delay_millis_int";
				public static KEY_SMS_OVER_IMS_SUPPORTED_BOOL: "imssms.sms_over_ims_supported_bool";
				public static KEY_SMS_OVER_IMS_SUPPORTED_RATS_INT_ARRAY: "imssms.sms_over_ims_supported_rats_int_array";
				public static KEY_SMS_RP_CAUSE_VALUES_TO_FALLBACK_INT_ARRAY: "imssms.sms_rp_cause_values_to_fallback_int_array";
				public static KEY_SMS_RP_CAUSE_VALUES_TO_RETRY_OVER_IMS_INT_ARRAY: "imssms.sms_rp_cause_values_to_retry_over_ims_int_array";
				public static KEY_SMS_TR1_TIMER_MILLIS_INT: "imssms.sms_tr1_timer_millis_int";
				public static KEY_SMS_TR2_TIMER_MILLIS_INT: "imssms.sms_tr2_timer_millis_int";
				public static SMS_FORMAT_3GPP: 0;
				public static SMS_FORMAT_3GPP2: 1;
			}
			export class ImsSs extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.ImsSs>;
				public static CALL_WAITING_SYNC_FIRST_CHANGE: 3;
				public static CALL_WAITING_SYNC_FIRST_POWER_UP: 2;
				public static CALL_WAITING_SYNC_IMS_ONLY: 4;
				public static CALL_WAITING_SYNC_NONE: 0;
				public static CALL_WAITING_SYNC_USER_CHANGE: 1;
				public static KEY_NETWORK_INITIATED_USSD_OVER_IMS_SUPPORTED_BOOL: "imsss.network_initiated_ussd_over_ims_supported_bool";
				public static KEY_PREFIX: "imsss.";
				public static KEY_TERMINAL_BASED_CALL_WAITING_DEFAULT_ENABLED_BOOL: "imsss.terminal_based_call_waiting_default_enabled_bool";
				public static KEY_TERMINAL_BASED_CALL_WAITING_SYNC_TYPE_INT: "imsss.terminal_based_call_waiting_sync_type_int";
				public static KEY_USE_CSFB_ON_XCAP_OVER_UT_FAILURE_BOOL: "imsss.use_csfb_on_xcap_over_ut_failure_bool";
				public static KEY_UT_AS_SERVER_FQDN_STRING: "imsss.ut_as_server_fqdn_string";
				public static KEY_UT_AS_SERVER_PORT_INT: "imsss.ut_as_server_port_int";
				public static KEY_UT_IPTYPE_HOME_INT: "imsss.ut_iptype_home_int";
				public static KEY_UT_IPTYPE_ROAMING_INT: "imsss.ut_iptype_roaming_int";
				public static KEY_UT_REQUIRES_IMS_REGISTRATION_BOOL: "imsss.ut_requires_ims_registration_bool";
				public static KEY_UT_SERVER_BASED_SERVICES_INT_ARRAY: "imsss.ut_server_based_services_int_array";
				public static KEY_UT_SUPPORTED_WHEN_PS_DATA_OFF_BOOL: "imsss.ut_supported_when_ps_data_off_bool";
				public static KEY_UT_SUPPORTED_WHEN_ROAMING_BOOL: "imsss.ut_supported_when_roaming_bool";
				public static KEY_UT_TERMINAL_BASED_SERVICES_INT_ARRAY: "imsss.ut_terminal_based_services_int_array";
				public static KEY_UT_TRANSPORT_TYPE_INT: "imsss.ut_transport_type_int";
				public static KEY_XCAP_OVER_UT_SUPPORTED_RATS_INT_ARRAY: "imsss.xcap_over_ut_supported_rats_int_array";
				public static SUPPLEMENTARY_SERVICE_CB_ACR: 20;
				public static SUPPLEMENTARY_SERVICE_CB_ALL: 12;
				public static SUPPLEMENTARY_SERVICE_CB_BAIC: 18;
				public static SUPPLEMENTARY_SERVICE_CB_BAOC: 14;
				public static SUPPLEMENTARY_SERVICE_CB_BIC_ROAM: 19;
				public static SUPPLEMENTARY_SERVICE_CB_BIL: 21;
				public static SUPPLEMENTARY_SERVICE_CB_BOIC: 15;
				public static SUPPLEMENTARY_SERVICE_CB_BOIC_EXHC: 16;
				public static SUPPLEMENTARY_SERVICE_CB_IBS: 17;
				public static SUPPLEMENTARY_SERVICE_CB_OBS: 13;
				public static SUPPLEMENTARY_SERVICE_CF_ALL: 1;
				public static SUPPLEMENTARY_SERVICE_CF_ALL_CONDITONAL_FORWARDING: 3;
				public static SUPPLEMENTARY_SERVICE_CF_CFB: 4;
				public static SUPPLEMENTARY_SERVICE_CF_CFNL: 7;
				public static SUPPLEMENTARY_SERVICE_CF_CFNRC: 6;
				public static SUPPLEMENTARY_SERVICE_CF_CFNRY: 5;
				public static SUPPLEMENTARY_SERVICE_CF_CFU: 2;
				public static SUPPLEMENTARY_SERVICE_CW: 0;
				public static SUPPLEMENTARY_SERVICE_IDENTIFICATION_OIP: 8;
				public static SUPPLEMENTARY_SERVICE_IDENTIFICATION_OIR: 10;
				public static SUPPLEMENTARY_SERVICE_IDENTIFICATION_TIP: 9;
				public static SUPPLEMENTARY_SERVICE_IDENTIFICATION_TIR: 11;
			}
			export class ImsVoice extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.ImsVoice>;
				public static ALERTING_SRVCC_SUPPORT: 1;
				public static BANDWIDTH_EFFICIENT: 0;
				public static BASIC_SRVCC_SUPPORT: 0;
				public static CONFERENCE_SUBSCRIBE_TYPE_IN_DIALOG: 0;
				public static CONFERENCE_SUBSCRIBE_TYPE_OUT_OF_DIALOG: 1;
				public static EVS_ENCODED_BW_TYPE_FB: 3;
				public static EVS_ENCODED_BW_TYPE_NB: 0;
				public static EVS_ENCODED_BW_TYPE_NB_WB: 4;
				public static EVS_ENCODED_BW_TYPE_NB_WB_SWB: 5;
				public static EVS_ENCODED_BW_TYPE_NB_WB_SWB_FB: 6;
				public static EVS_ENCODED_BW_TYPE_SWB: 2;
				public static EVS_ENCODED_BW_TYPE_WB: 1;
				public static EVS_ENCODED_BW_TYPE_WB_SWB: 7;
				public static EVS_ENCODED_BW_TYPE_WB_SWB_FB: 8;
				public static EVS_OPERATIONAL_MODE_AMRWB_IO: 1;
				public static EVS_OPERATIONAL_MODE_PRIMARY: 0;
				public static EVS_PRIMARY_MODE_BITRATE_128_0_KBPS: 11;
				public static EVS_PRIMARY_MODE_BITRATE_13_2_KBPS: 4;
				public static EVS_PRIMARY_MODE_BITRATE_16_4_KBPS: 5;
				public static EVS_PRIMARY_MODE_BITRATE_24_4_KBPS: 6;
				public static EVS_PRIMARY_MODE_BITRATE_32_0_KBPS: 7;
				public static EVS_PRIMARY_MODE_BITRATE_48_0_KBPS: 8;
				public static EVS_PRIMARY_MODE_BITRATE_5_9_KBPS: 0;
				public static EVS_PRIMARY_MODE_BITRATE_64_0_KBPS: 9;
				public static EVS_PRIMARY_MODE_BITRATE_7_2_KBPS: 1;
				public static EVS_PRIMARY_MODE_BITRATE_8_0_KBPS: 2;
				public static EVS_PRIMARY_MODE_BITRATE_96_0_KBPS: 10;
				public static EVS_PRIMARY_MODE_BITRATE_9_6_KBPS: 3;
				public static KEY_AMRNB_PAYLOAD_DESCRIPTION_BUNDLE: "imsvoice.amrnb_payload_description_bundle";
				public static KEY_AMRNB_PAYLOAD_TYPE_INT_ARRAY: "imsvoice.amrnb_payload_type_int_array";
				public static KEY_AMRWB_PAYLOAD_DESCRIPTION_BUNDLE: "imsvoice.amrwb_payload_description_bundle";
				public static KEY_AMRWB_PAYLOAD_TYPE_INT_ARRAY: "imsvoice.amrwb_payload_type_int_array";
				public static KEY_AMR_CODEC_ATTRIBUTE_MODESET_INT_ARRAY: "imsvoice.amr_codec_attribute_modeset_int_array";
				public static KEY_AMR_CODEC_ATTRIBUTE_PAYLOAD_FORMAT_INT: "imsvoice.amr_codec_attribute_payload_format_int";
				public static KEY_AUDIO_AS_BANDWIDTH_KBPS_INT: "imsvoice.audio_as_bandwidth_kbps_int";
				public static KEY_AUDIO_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE: "imsvoice.audio_codec_capability_payload_types_bundle";
				public static KEY_AUDIO_INACTIVITY_CALL_END_REASONS_INT_ARRAY: "imsvoice.audio_inactivity_call_end_reasons_int_array";
				public static KEY_AUDIO_RR_BANDWIDTH_BPS_INT: "imsvoice.audio_rr_bandwidth_bps_int";
				public static KEY_AUDIO_RS_BANDWIDTH_BPS_INT: "imsvoice.audio_rs_bandwidth_bps_int";
				public static KEY_AUDIO_RTCP_INACTIVITY_TIMER_MILLIS_INT: "imsvoice.audio_rtcp_inactivity_timer_millis_int";
				public static KEY_AUDIO_RTP_INACTIVITY_TIMER_MILLIS_INT: "imsvoice.audio_rtp_inactivity_timer_millis_int";
				public static KEY_CARRIER_VOLTE_ROAMING_AVAILABLE_BOOL: "imsvoice.carrier_volte_roaming_available_bool";
				public static KEY_CODEC_ATTRIBUTE_MODE_CHANGE_CAPABILITY_INT: "imsvoice.codec_attribute_mode_change_capability_int";
				public static KEY_CODEC_ATTRIBUTE_MODE_CHANGE_NEIGHBOR_INT: "imsvoice.codec_attribute_mode_change_neighbor_int";
				public static KEY_CODEC_ATTRIBUTE_MODE_CHANGE_PERIOD_INT: "imsvoice.codec_attribute_mode_change_period_int";
				public static KEY_CONFERENCE_FACTORY_URI_STRING: "imsvoice.conference_factory_uri_string";
				public static KEY_CONFERENCE_SUBSCRIBE_TYPE_INT: "imsvoice.conference_subscribe_type_int";
				public static KEY_DEDICATED_BEARER_WAIT_TIMER_MILLIS_INT: "imsvoice.dedicated_bearer_wait_timer_millis_int";
				public static KEY_DTMFNB_PAYLOAD_TYPE_INT_ARRAY: "imsvoice.dtmfnb_payload_type_int_array";
				public static KEY_DTMFWB_PAYLOAD_TYPE_INT_ARRAY: "imsvoice.dtmfwb_payload_type_int_array";
				public static KEY_EVS_CODEC_ATTRIBUTE_BANDWIDTH_INT: "imsvoice.evs_codec_attribute_bandwidth_int";
				public static KEY_EVS_CODEC_ATTRIBUTE_BITRATE_INT_ARRAY: "imsvoice.evs_codec_attribute_bitrate_int_array";
				public static KEY_EVS_CODEC_ATTRIBUTE_CHANNELS_INT: "imsvoice.evs_codec_attribute_channels_int";
				public static KEY_EVS_CODEC_ATTRIBUTE_CH_AW_RECV_INT: "imsvoice.evs_codec_attribute_ch_aw_recv_int";
				public static KEY_EVS_CODEC_ATTRIBUTE_CMR_INT: "imsvoice.codec_attribute_cmr_int";
				public static KEY_EVS_CODEC_ATTRIBUTE_DTX_BOOL: "imsvoice.evs_codec_attribute_dtx_bool";
				public static KEY_EVS_CODEC_ATTRIBUTE_DTX_RECV_BOOL: "imsvoice.evs_codec_attribute_dtx_recv_bool";
				public static KEY_EVS_CODEC_ATTRIBUTE_HF_ONLY_INT: "imsvoice.evs_codec_attribute_hf_only_int";
				public static KEY_EVS_CODEC_ATTRIBUTE_MODE_SWITCH_INT: "imsvoice.evs_codec_attribute_mode_switch_int";
				public static KEY_EVS_PAYLOAD_DESCRIPTION_BUNDLE: "imsvoice.evs_payload_description_bundle";
				public static KEY_EVS_PAYLOAD_TYPE_INT_ARRAY: "imsvoice.evs_payload_type_int_array";
				public static KEY_INCLUDE_CALLER_ID_SERVICE_CODES_IN_SIP_INVITE_BOOL: "imsvoice.include_caller_id_service_codes_in_sip_invite_bool";
				public static KEY_MINIMUM_SESSION_EXPIRES_TIMER_SEC_INT: "imsvoice.minimum_session_expires_timer_sec_int";
				public static KEY_MO_CALL_REQUEST_TIMEOUT_MILLIS_INT: "imsvoice.mo_call_request_timeout_millis_int";
				public static KEY_MULTIENDPOINT_SUPPORTED_BOOL: "imsvoice.multiendpoint_supported_bool";
				public static KEY_OIP_SOURCE_FROM_HEADER_BOOL: "imsvoice.oip_source_from_header_bool";
				public static KEY_PRACK_SUPPORTED_FOR_18X_BOOL: "imsvoice.prack_supported_for_18x_bool";
				public static KEY_PREFIX: "imsvoice.";
				public static KEY_RINGBACK_TIMER_MILLIS_INT: "imsvoice.ringback_timer_millis_int";
				public static KEY_RINGING_TIMER_MILLIS_INT: "imsvoice.ringing_timer_millis_int";
				public static KEY_SESSION_EXPIRES_TIMER_SEC_INT: "imsvoice.session_expires_timer_sec_int";
				public static KEY_SESSION_PRIVACY_TYPE_INT: "imsvoice.session_privacy_type_int";
				public static KEY_SESSION_REFRESHER_TYPE_INT: "imsvoice.session_refresher_type_int";
				public static KEY_SESSION_REFRESH_METHOD_INT: "imsvoice.session_refresh_method_int";
				public static KEY_SESSION_TIMER_SUPPORTED_BOOL: "imsvoice.session_timer_supported_bool";
				public static KEY_SRVCC_TYPE_INT_ARRAY: "imsvoice.srvcc_type_int_array";
				public static KEY_VOICE_ON_DEFAULT_BEARER_SUPPORTED_BOOL: "imsvoice.voice_on_default_bearer_supported_bool";
				public static KEY_VOICE_QOS_PRECONDITION_SUPPORTED_BOOL: "imsvoice.voice_qos_precondition_supported_bool";
				public static MIDCALL_SRVCC_SUPPORT: 3;
				public static OCTET_ALIGNED: 1;
				public static PREALERTING_SRVCC_SUPPORT: 2;
				public static SESSION_PRIVACY_TYPE_HEADER: 0;
				public static SESSION_PRIVACY_TYPE_ID: 2;
				public static SESSION_PRIVACY_TYPE_NONE: 1;
				public static SESSION_REFRESHER_TYPE_UAC: 1;
				public static SESSION_REFRESHER_TYPE_UAS: 2;
				public static SESSION_REFRESHER_TYPE_UNKNOWN: 0;
				public static SESSION_REFRESH_METHOD_INVITE: 0;
				public static SESSION_REFRESH_METHOD_UPDATE_PREFERRED: 1;
			}
			export class ImsVt extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.ImsVt>;
				public static KEY_H264_PAYLOAD_DESCRIPTION_BUNDLE: "imsvt.h264_payload_description_bundle";
				public static KEY_H264_PAYLOAD_TYPE_INT_ARRAY: "imsvt.h264_payload_type_int_array";
				public static KEY_H264_VIDEO_CODEC_ATTRIBUTE_PROFILE_LEVEL_ID_STRING: "imsvt.h264_video_codec_attribute_profile_level_id_string";
				public static KEY_PREFIX: "imsvt.";
				public static KEY_VIDEO_AS_BANDWIDTH_KBPS_INT: "imsvt.video_as_bandwidth_kbps_int";
				public static KEY_VIDEO_CODEC_ATTRIBUTE_FRAME_RATE_INT: "imsvt.video_codec_attribute_frame_rate_int";
				public static KEY_VIDEO_CODEC_ATTRIBUTE_PACKETIZATION_MODE_INT: "imsvt.video_codec_attribute_packetization_mode_int";
				public static KEY_VIDEO_CODEC_ATTRIBUTE_RESOLUTION_INT_ARRAY: "imsvt.video_codec_attribute_resolution_int_array";
				public static KEY_VIDEO_CODEC_CAPABILITY_PAYLOAD_TYPES_BUNDLE: "imsvt.video_codec_capability_payload_types_bundle";
				public static KEY_VIDEO_ON_DEFAULT_BEARER_SUPPORTED_BOOL: "imsvt.video_on_default_bearer_supported_bool";
				public static KEY_VIDEO_QOS_PRECONDITION_SUPPORTED_BOOL: "imsvt.video_qos_precondition_supported_bool";
				public static KEY_VIDEO_RR_BANDWIDTH_BPS_INT: "imsvt.video_rr_bandwidth_bps_int";
				public static KEY_VIDEO_RS_BANDWIDTH_BPS_INT: "imsvt.video_rs_bandwidth_bps_int";
				public static KEY_VIDEO_RTCP_INACTIVITY_TIMER_MILLIS_INT: "imsvt.video_rtcp_inactivity_timer_millis_int";
				public static KEY_VIDEO_RTP_DSCP_INT: "imsvt.video_rtp_dscp_int";
				public static KEY_VIDEO_RTP_INACTIVITY_TIMER_MILLIS_INT: "imsvt.video_rtp_inactivity_timer_millis_int";
			}
			export class ImsWfc extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.ImsWfc>;
				public static KEY_EMERGENCY_CALL_OVER_EMERGENCY_PDN_BOOL: "imswfc.emergency_call_over_emergency_pdn_bool";
				public static KEY_PIDF_SHORT_CODE_STRING_ARRAY: "imswfc.pidf_short_code_string_array";
				public static KEY_PREFIX: "imswfc.";
			}
			export class Iwlan extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.CarrierConfigManager.Iwlan>;
				public static AUTHENTICATION_METHOD_CERT: 1;
				public static AUTHENTICATION_METHOD_EAP_ONLY: 0;
				public static EPDG_ADDRESS_CELLULAR_LOC: 3;
				public static EPDG_ADDRESS_IPV4_ONLY: 2;
				public static EPDG_ADDRESS_IPV4_PREFERRED: 0;
				public static EPDG_ADDRESS_IPV6_PREFERRED: 1;
				public static EPDG_ADDRESS_PCO: 2;
				public static EPDG_ADDRESS_PLMN: 1;
				public static EPDG_ADDRESS_STATIC: 0;
				public static EPDG_ADDRESS_VISITED_COUNTRY: 4;
				public static ID_TYPE_FQDN: 2;
				public static ID_TYPE_KEY_ID: 11;
				public static ID_TYPE_RFC822_ADDR: 3;
				public static KEY_ADD_KE_TO_CHILD_SESSION_REKEY_BOOL: "iwlan.add_ke_to_child_session_rekey_bool";
				public static KEY_CHILD_SA_REKEY_HARD_TIMER_SEC_INT: "iwlan.child_sa_rekey_hard_timer_sec_int";
				public static KEY_CHILD_SA_REKEY_SOFT_TIMER_SEC_INT: "iwlan.child_sa_rekey_soft_timer_sec_int";
				public static KEY_CHILD_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY: "iwlan.child_session_aes_cbc_key_size_int_array";
				public static KEY_CHILD_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY: "iwlan.child_session_aes_ctr_key_size_int_array";
				public static KEY_CHILD_SESSION_AES_GCM_KEY_SIZE_INT_ARRAY: "iwlan.child_session_aes_gcm_key_size_int_array";
				public static KEY_DIFFIE_HELLMAN_GROUPS_INT_ARRAY: "iwlan.diffie_hellman_groups_int_array";
				public static KEY_DPD_TIMER_SEC_INT: "iwlan.dpd_timer_sec_int";
				public static KEY_EPDG_ADDRESS_IP_TYPE_PREFERENCE_INT: "iwlan.epdg_address_ip_type_preference_int";
				public static KEY_EPDG_ADDRESS_PRIORITY_INT_ARRAY: "iwlan.epdg_address_priority_int_array";
				public static KEY_EPDG_AUTHENTICATION_METHOD_INT: "iwlan.epdg_authentication_method_int";
				public static KEY_EPDG_PCO_ID_IPV4_INT: "iwlan.epdg_pco_id_ipv4_int";
				public static KEY_EPDG_PCO_ID_IPV6_INT: "iwlan.epdg_pco_id_ipv6_int";
				public static KEY_EPDG_STATIC_ADDRESS_ROAMING_STRING: "iwlan.epdg_static_address_roaming_string";
				public static KEY_EPDG_STATIC_ADDRESS_STRING: "iwlan.epdg_static_address_string";
				public static KEY_IKE_LOCAL_ID_TYPE_INT: "iwlan.ike_local_id_type_int";
				public static KEY_IKE_REKEY_HARD_TIMER_SEC_INT: "iwlan.ike_rekey_hard_timer_in_sec";
				public static KEY_IKE_REKEY_SOFT_TIMER_SEC_INT: "iwlan.ike_rekey_soft_timer_sec_int";
				public static KEY_IKE_REMOTE_ID_TYPE_INT: "iwlan.ike_remote_id_type_int";
				public static KEY_IKE_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY: "iwlan.ike_session_encryption_aes_cbc_key_size_int_array";
				public static KEY_IKE_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY: "iwlan.ike_session_encryption_aes_ctr_key_size_int_array";
				public static KEY_IKE_SESSION_AES_GCM_KEY_SIZE_INT_ARRAY: "iwlan.ike_session_encryption_aes_gcm_key_size_int_array";
				public static KEY_MAX_RETRIES_INT: "iwlan.max_retries_int";
				public static KEY_MCC_MNCS_STRING_ARRAY: "iwlan.mcc_mncs_string_array";
				public static KEY_NATT_KEEP_ALIVE_TIMER_SEC_INT: "iwlan.natt_keep_alive_timer_sec_int";
				public static KEY_PREFIX: "iwlan.";
				public static KEY_RETRANSMIT_TIMER_MSEC_INT_ARRAY: "iwlan.retransmit_timer_sec_int_array";
				public static KEY_SUPPORTED_CHILD_SESSION_AEAD_ALGORITHMS_INT_ARRAY: "iwlan.supported_child_session_aead_algorithms_int_array";
				public static KEY_SUPPORTED_CHILD_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY: "iwlan.supported_child_session_encryption_algorithms_int_array";
				public static KEY_SUPPORTED_IKE_SESSION_AEAD_ALGORITHMS_INT_ARRAY: "iwlan.supported_ike_session_aead_algorithms_int_array";
				public static KEY_SUPPORTED_IKE_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY: "iwlan.supported_ike_session_encryption_algorithms_int_array";
				public static KEY_SUPPORTED_INTEGRITY_ALGORITHMS_INT_ARRAY: "iwlan.supported_integrity_algorithms_int_array";
				public static KEY_SUPPORTED_PRF_ALGORITHMS_INT_ARRAY: "iwlan.supported_prf_algorithms_int_array";
				public static KEY_SUPPORTS_CHILD_SESSION_MULTIPLE_SA_PROPOSALS_BOOL: "iwlan.supports_child_session_multiple_sa_proposals_bool";
				public static KEY_SUPPORTS_EAP_AKA_FAST_REAUTH_BOOL: "iwlan.supports_eap_aka_fast_reauth_bool";
				public static KEY_SUPPORTS_IKE_SESSION_MULTIPLE_SA_PROPOSALS_BOOL: "iwlan.supports_ike_session_multiple_sa_proposals_bool";
			}
		}
	}
}

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(other: any): boolean;
			public getOperatorAlphaLong(): string;
			public describeContents(): number;
			public getOperatorAlphaShort(): string;
			public writeToParcel(dest: android.os.Parcel, type: number): void;
			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(other: any): boolean;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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 getMobileNetworkOperator(): string;
			/** @deprecated */
			public getPsc(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getLac(): number;
			public getBsic(): number;
			public getMccString(): string;
			public equals(other: any): boolean;
			public toString(): string;
			public getAdditionalPlmns(): java.util.Set<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 getClosedSubscriberGroupInfo(): android.telephony.ClosedSubscriberGroupInfo;
			public getMobileNetworkOperator(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getTac(): number;
			public getBands(): androidNative.Array<number>;
			public getPci(): number;
			public getMccString(): string;
			public equals(other: any): boolean;
			public toString(): string;
			public getAdditionalPlmns(): java.util.Set<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 CellIdentityNr extends android.telephony.CellIdentity {
			public static class: java.lang.Class<android.telephony.CellIdentityNr>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellIdentityNr>;
			public getTac(): number;
			public getNci(): number;
			public getBands(): androidNative.Array<number>;
			public getPci(): number;
			public getNrarfcn(): number;
			public getMccString(): string;
			public equals(other: any): boolean;
			public toString(): string;
			public getAdditionalPlmns(): java.util.Set<string>;
			public getMncString(): string;
			public writeToParcel(dest: android.os.Parcel, type: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			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 getClosedSubscriberGroupInfo(): android.telephony.ClosedSubscriberGroupInfo;
			public getMobileNetworkOperator(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getLac(): number;
			public getUarfcn(): number;
			public getMccString(): string;
			public equals(other: any): boolean;
			public toString(): string;
			public getAdditionalPlmns(): java.util.Set<string>;
			public getMncString(): string;
			public describeContents(): 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 getClosedSubscriberGroupInfo(): android.telephony.ClosedSubscriberGroupInfo;
			public getMobileNetworkOperator(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getLac(): number;
			public getPsc(): number;
			public getUarfcn(): number;
			public getMccString(): string;
			public equals(other: any): boolean;
			public toString(): string;
			public getAdditionalPlmns(): java.util.Set<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: 0;
			public static CONNECTION_PRIMARY_SERVING: 1;
			public static CONNECTION_SECONDARY_SERVING: 2;
			public static CONNECTION_UNKNOWN: 2147483647;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellInfo>;
			public static UNAVAILABLE: 2147483647;
			public static UNAVAILABLE_LONG: 9223372036854775807;
			public getTimestampMillis(): number;
			public getCellSignalStrength(): android.telephony.CellSignalStrength;
			public toString(): string;
			public getCellConnectionStatus(): number;
			public equals(o: any): boolean;
			public isRegistered(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getTimeStamp(): number;
			public getCellIdentity(): android.telephony.CellIdentity;
			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 getCellSignalStrength(): android.telephony.CellSignalStrength;
			public equals(other: any): boolean;
			public toString(): string;
			public getCellIdentity(): android.telephony.CellIdentityCdma;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthCdma;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellIdentity(): android.telephony.CellIdentity;
			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 getCellSignalStrength(): android.telephony.CellSignalStrength;
			public equals(other: any): boolean;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthGsm;
			public getCellIdentity(): android.telephony.CellIdentity;
			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 getCellSignalStrength(): android.telephony.CellSignalStrength;
			public equals(other: any): boolean;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthLte;
			public getCellIdentity(): android.telephony.CellIdentityLte;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellIdentity(): android.telephony.CellIdentity;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellInfoNr extends android.telephony.CellInfo {
			public static class: java.lang.Class<android.telephony.CellInfoNr>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellInfoNr>;
			public getCellSignalStrength(): android.telephony.CellSignalStrength;
			public equals(other: any): boolean;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellIdentity(): android.telephony.CellIdentity;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellInfoTdscdma extends android.telephony.CellInfo implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellInfoTdscdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellInfoTdscdma>;
			public getCellSignalStrength(): android.telephony.CellSignalStrength;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthTdscdma;
			public equals(other: any): boolean;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellIdentity(): android.telephony.CellIdentityTdscdma;
			public getCellIdentity(): android.telephony.CellIdentity;
			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 getCellSignalStrength(): android.telephony.CellSignalStrength;
			public equals(other: any): boolean;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellIdentity(): android.telephony.CellIdentityWcdma;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthWcdma;
			public getCellIdentity(): android.telephony.CellIdentity;
			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>;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public static getEmpty(): android.telephony.CellLocation;
			/** @deprecated */
			public static requestLocationUpdate(): void;
		}
	}
}

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: 3;
			public static SIGNAL_STRENGTH_GREAT: 4;
			public static SIGNAL_STRENGTH_MODERATE: 2;
			public static SIGNAL_STRENGTH_NONE_OR_UNKNOWN: 0;
			public static SIGNAL_STRENGTH_POOR: 1;
			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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getCdmaEcio(): number;
			public getCdmaLevel(): number;
			public getLevel(): number;
			public getCdmaDbm(): number;
			public getAsuLevel(): number;
			public toString(): string;
			public equals(o: any): boolean;
			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 getRssi(): number;
			public toString(): string;
			public getBitErrorRate(): number;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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 getCqiTableIndex(): number;
			public getRssi(): number;
			public getRsrp(): number;
			public getCqi(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getRssnr(): number;
			public getLevel(): number;
			public getAsuLevel(): number;
			public toString(): string;
			public equals(o: any): boolean;
			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 CellSignalStrengthNr extends android.telephony.CellSignalStrength implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellSignalStrengthNr>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellSignalStrengthNr>;
			public getCsiSinr(): number;
			public getSsRsrp(): number;
			public getCsiRsrp(): number;
			public getCsiCqiTableIndex(): number;
			public getSsSinr(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getTimingAdvanceMicros(): number;
			public getLevel(): number;
			public getAsuLevel(): number;
			public getCsiRsrq(): number;
			public toString(): string;
			public equals(obj: any): boolean;
			public getSsRsrq(): number;
			public getCsiCqiReport(): java.util.List<java.lang.Integer>;
			public getDbm(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellSignalStrengthTdscdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellSignalStrengthTdscdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellSignalStrengthTdscdma>;
			public getAsuLevel(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getDbm(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getLevel(): number;
			public getRscp(): 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 getEcNo(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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 ClosedSubscriberGroupInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.ClosedSubscriberGroupInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.ClosedSubscriberGroupInfo>;
			public getCsgIdentity(): number;
			public equals(other: any): boolean;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, type: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCsgIndicator(): boolean;
			public getHomeNodebName(): string;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class DataFailCause extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.DataFailCause>;
			public static ACCESS_ATTEMPT_ALREADY_IN_PROGRESS: 2219;
			public static ACCESS_BLOCK: 2087;
			public static ACCESS_BLOCK_ALL: 2088;
			public static ACCESS_CLASS_DSAC_REJECTION: 2108;
			public static ACCESS_CONTROL_LIST_CHECK_FAILURE: 2128;
			public static ACTIVATION_REJECTED_BCM_VIOLATION: 48;
			public static ACTIVATION_REJECT_GGSN: 30;
			public static ACTIVATION_REJECT_UNSPECIFIED: 31;
			public static ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED: 65;
			public static ALL_MATCHING_RULES_FAILED: 2254;
			public static APN_DISABLED: 2045;
			public static APN_DISALLOWED_ON_ROAMING: 2059;
			public static APN_MISMATCH: 2054;
			public static APN_PARAMETERS_CHANGED: 2060;
			public static APN_PENDING_HANDOVER: 2041;
			public static APN_TYPE_CONFLICT: 112;
			public static AUTH_FAILURE_ON_EMERGENCY_CALL: 122;
			public static BEARER_HANDLING_NOT_SUPPORTED: 60;
			public static CALL_DISALLOWED_IN_ROAMING: 2068;
			public static CALL_PREEMPT_BY_EMERGENCY_APN: 127;
			public static CANNOT_ENCODE_OTA_MESSAGE: 2159;
			public static CDMA_ALERT_STOP: 2077;
			public static CDMA_INCOMING_CALL: 2076;
			public static CDMA_INTERCEPT: 2073;
			public static CDMA_LOCK: 2072;
			public static CDMA_RELEASE_DUE_TO_SO_REJECTION: 2075;
			public static CDMA_REORDER: 2074;
			public static CDMA_RETRY_ORDER: 2086;
			public static CHANNEL_ACQUISITION_FAILURE: 2078;
			public static CLOSE_IN_PROGRESS: 2030;
			public static COLLISION_WITH_NETWORK_INITIATED_REQUEST: 56;
			public static COMPANION_IFACE_IN_USE: 118;
			public static CONCURRENT_SERVICES_INCOMPATIBLE: 2083;
			public static CONCURRENT_SERVICES_NOT_ALLOWED: 2091;
			public static CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION: 2080;
			public static CONDITIONAL_IE_ERROR: 100;
			public static CONGESTION: 2106;
			public static CONNECTION_RELEASED: 2113;
			public static CS_DOMAIN_NOT_AVAILABLE: 2181;
			public static CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED: 2188;
			public static DATA_PLAN_EXPIRED: 2198;
			public static DATA_ROAMING_SETTINGS_DISABLED: 2064;
			public static DATA_SETTINGS_DISABLED: 2063;
			public static DBM_OR_SMS_IN_PROGRESS: 2211;
			public static DDS_SWITCHED: 2065;
			public static DDS_SWITCH_IN_PROGRESS: 2067;
			public static DRB_RELEASED_BY_RRC: 2112;
			public static DS_EXPLICIT_DEACTIVATION: 2125;
			public static DUAL_SWITCH: 2227;
			public static DUN_CALL_DISALLOWED: 2056;
			public static DUPLICATE_BEARER_ID: 2118;
			public static EHRPD_TO_HRPD_FALLBACK: 2049;
			public static EMBMS_NOT_ENABLED: 2193;
			public static EMBMS_REGULAR_DEACTIVATION: 2195;
			public static EMERGENCY_IFACE_ONLY: 116;
			public static EMERGENCY_MODE: 2221;
			public static EMM_ACCESS_BARRED: 115;
			public static EMM_ACCESS_BARRED_INFINITE_RETRY: 121;
			public static EMM_ATTACH_FAILED: 2115;
			public static EMM_ATTACH_STARTED: 2116;
			public static EMM_DETACHED: 2114;
			public static EMM_T3417_EXPIRED: 2130;
			public static EMM_T3417_EXT_EXPIRED: 2131;
			public static EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED: 2178;
			public static EPS_SERVICES_NOT_ALLOWED_IN_PLMN: 2179;
			public static ERROR_UNSPECIFIED: 65535;
			public static ESM_BAD_OTA_MESSAGE: 2122;
			public static ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK: 2120;
			public static ESM_COLLISION_SCENARIOS: 2119;
			public static ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT: 2124;
			public static ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL: 2123;
			public static ESM_FAILURE: 2182;
			public static ESM_INFO_NOT_RECEIVED: 53;
			public static ESM_LOCAL_CAUSE_NONE: 2126;
			public static ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER: 2121;
			public static ESM_PROCEDURE_TIME_OUT: 2155;
			public static ESM_UNKNOWN_EPS_BEARER_CONTEXT: 2111;
			public static EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE: 2201;
			public static EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY: 2200;
			public static EVDO_HDR_CHANGED: 2202;
			public static EVDO_HDR_CONNECTION_SETUP_TIMEOUT: 2206;
			public static EVDO_HDR_EXITED: 2203;
			public static EVDO_HDR_NO_SESSION: 2204;
			public static EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL: 2205;
			public static FADE: 2217;
			public static FAILED_TO_ACQUIRE_COLOCATED_HDR: 2207;
			public static FEATURE_NOT_SUPP: 40;
			public static FILTER_SEMANTIC_ERROR: 44;
			public static FILTER_SYTAX_ERROR: 45;
			public static FORBIDDEN_APN_NAME: 2066;
			public static GPRS_REGISTRATION_FAIL: -2;
			public static GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED: 2097;
			public static GPRS_SERVICES_NOT_ALLOWED: 2098;
			public static GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN: 2103;
			public static HANDOFF_PREFERENCE_CHANGED: 2251;
			public static HDR_ACCESS_FAILURE: 2213;
			public static HDR_FADE: 2212;
			public static HDR_NO_LOCK_GRANTED: 2210;
			public static IFACE_AND_POL_FAMILY_MISMATCH: 120;
			public static IFACE_MISMATCH: 117;
			public static ILLEGAL_ME: 2096;
			public static ILLEGAL_MS: 2095;
			public static IMEI_NOT_ACCEPTED: 2177;
			public static IMPLICITLY_DETACHED: 2100;
			public static IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER: 2176;
			public static INCOMING_CALL_REJECTED: 2092;
			public static INSUFFICIENT_RESOURCES: 26;
			public static INTERFACE_IN_USE: 2058;
			public static INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN: 114;
			public static INTERNAL_EPC_NONEPC_TRANSITION: 2057;
			public static INVALID_CONNECTION_ID: 2156;
			public static INVALID_DNS_ADDR: 123;
			public static INVALID_EMM_STATE: 2190;
			public static INVALID_MANDATORY_INFO: 96;
			public static INVALID_MODE: 2223;
			public static INVALID_PCSCF_ADDR: 113;
			public static INVALID_PCSCF_OR_DNS_ADDRESS: 124;
			public static INVALID_PRIMARY_NSAPI: 2158;
			public static INVALID_SIM_STATE: 2224;
			public static INVALID_TRANSACTION_ID: 81;
			public static IPV6_ADDRESS_TRANSFER_FAILED: 2047;
			public static IPV6_PREFIX_UNAVAILABLE: 2250;
			public static IP_ADDRESS_MISMATCH: 119;
			public static IP_VERSION_MISMATCH: 2055;
			public static IRAT_HANDOVER_FAILED: 2194;
			public static IS707B_MAX_ACCESS_PROBES: 2089;
			public static IWLAN_AUTHORIZATION_REJECTED: 9003;
			public static IWLAN_CONGESTION: 15500;
			public static IWLAN_DNS_RESOLUTION_NAME_FAILURE: 16388;
			public static IWLAN_DNS_RESOLUTION_TIMEOUT: 16389;
			public static IWLAN_IKEV2_AUTH_FAILURE: 16385;
			public static IWLAN_IKEV2_CERT_INVALID: 16387;
			public static IWLAN_IKEV2_CONFIG_FAILURE: 16384;
			public static IWLAN_IKEV2_MSG_TIMEOUT: 16386;
			public static IWLAN_ILLEGAL_ME: 9006;
			public static IWLAN_IMEI_NOT_ACCEPTED: 11005;
			public static IWLAN_MAX_CONNECTION_REACHED: 8193;
			public static IWLAN_NETWORK_FAILURE: 10500;
			public static IWLAN_NON_3GPP_ACCESS_TO_EPC_NOT_ALLOWED: 9000;
			public static IWLAN_NO_APN_SUBSCRIPTION: 9002;
			public static IWLAN_PDN_CONNECTION_REJECTION: 8192;
			public static IWLAN_PLMN_NOT_ALLOWED: 11011;
			public static IWLAN_RAT_TYPE_NOT_ALLOWED: 11001;
			public static IWLAN_SEMANTIC_ERRORS_IN_PACKET_FILTERS: 8244;
			public static IWLAN_SEMANTIC_ERROR_IN_THE_TFT_OPERATION: 8241;
			public static IWLAN_SYNTACTICAL_ERRORS_IN_PACKET_FILTERS: 8245;
			public static IWLAN_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION: 8242;
			public static IWLAN_TUNNEL_NOT_FOUND: 16390;
			public static IWLAN_UNAUTHENTICATED_EMERGENCY_NOT_SUPPORTED: 11055;
			public static IWLAN_USER_UNKNOWN: 9001;
			public static LIMITED_TO_IPV4: 2234;
			public static LIMITED_TO_IPV6: 2235;
			public static LLC_SNDCP: 25;
			public static LOCAL_END: 2215;
			public static LOCATION_AREA_NOT_ALLOWED: 2102;
			public static LOST_CONNECTION: 65540;
			public static LOWER_LAYER_REGISTRATION_FAILURE: 2197;
			public static LOW_POWER_MODE_OR_POWERING_DOWN: 2044;
			public static LTE_NAS_SERVICE_REQUEST_FAILED: 2117;
			public static LTE_THROTTLING_NOT_REQUIRED: 2127;
			public static MAC_FAILURE: 2183;
			public static MATCH_ALL_RULE_NOT_ALLOWED: 2253;
			public static MAXIMIUM_NSAPIS_EXCEEDED: 2157;
			public static MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED: 2166;
			public static MAX_ACCESS_PROBE: 2079;
			public static MAX_IPV4_CONNECTIONS: 2052;
			public static MAX_IPV6_CONNECTIONS: 2053;
			public static MAX_PPP_INACTIVITY_TIMER_EXPIRED: 2046;
			public static MESSAGE_INCORRECT_SEMANTIC: 95;
			public static MESSAGE_TYPE_UNSUPPORTED: 97;
			public static MIP_CONFIG_FAILURE: 2050;
			public static MIP_FA_ADMIN_PROHIBITED: 2001;
			public static MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED: 2012;
			public static MIP_FA_ENCAPSULATION_UNAVAILABLE: 2008;
			public static MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE: 2004;
			public static MIP_FA_INSUFFICIENT_RESOURCES: 2002;
			public static MIP_FA_MALFORMED_REPLY: 2007;
			public static MIP_FA_MALFORMED_REQUEST: 2006;
			public static MIP_FA_MISSING_CHALLENGE: 2017;
			public static MIP_FA_MISSING_HOME_ADDRESS: 2015;
			public static MIP_FA_MISSING_HOME_AGENT: 2014;
			public static MIP_FA_MISSING_NAI: 2013;
			public static MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE: 2003;
			public static MIP_FA_REASON_UNSPECIFIED: 2000;
			public static MIP_FA_REQUESTED_LIFETIME_TOO_LONG: 2005;
			public static MIP_FA_REVERSE_TUNNEL_IS_MANDATORY: 2011;
			public static MIP_FA_REVERSE_TUNNEL_UNAVAILABLE: 2010;
			public static MIP_FA_STALE_CHALLENGE: 2018;
			public static MIP_FA_UNKNOWN_CHALLENGE: 2016;
			public static MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE: 2009;
			public static MIP_HA_ADMIN_PROHIBITED: 2020;
			public static MIP_HA_ENCAPSULATION_UNAVAILABLE: 2029;
			public static MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE: 2023;
			public static MIP_HA_INSUFFICIENT_RESOURCES: 2021;
			public static MIP_HA_MALFORMED_REQUEST: 2025;
			public static MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE: 2022;
			public static MIP_HA_REASON_UNSPECIFIED: 2019;
			public static MIP_HA_REGISTRATION_ID_MISMATCH: 2024;
			public static MIP_HA_REVERSE_TUNNEL_IS_MANDATORY: 2028;
			public static MIP_HA_REVERSE_TUNNEL_UNAVAILABLE: 2027;
			public static MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS: 2026;
			public static MISSING_UNKNOWN_APN: 27;
			public static MODEM_APP_PREEMPTED: 2032;
			public static MODEM_RESTART: 2037;
			public static MSC_TEMPORARILY_NOT_REACHABLE: 2180;
			public static MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE: 101;
			public static MSG_TYPE_NONCOMPATIBLE_STATE: 98;
			public static MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK: 2099;
			public static MULTIPLE_PDP_CALL_NOT_ALLOWED: 2192;
			public static MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED: 55;
			public static NAS_LAYER_FAILURE: 2191;
			public static NAS_REQUEST_REJECTED_BY_NETWORK: 2167;
			public static NAS_SIGNALLING: 14;
			public static NETWORK_FAILURE: 38;
			public static NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH: 2154;
			public static NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH: 2153;
			public static NETWORK_INITIATED_TERMINATION: 2031;
			public static NONE: 0;
			public static NON_IP_NOT_SUPPORTED: 2069;
			public static NORMAL_RELEASE: 2218;
			public static NO_CDMA_SERVICE: 2084;
			public static NO_COLLOCATED_HDR: 2225;
			public static NO_EPS_BEARER_CONTEXT_ACTIVATED: 2189;
			public static NO_GPRS_CONTEXT: 2094;
			public static NO_HYBRID_HDR_SERVICE: 2209;
			public static NO_PDP_CONTEXT_ACTIVATED: 2107;
			public static NO_RESPONSE_FROM_BASE_STATION: 2081;
			public static NO_SERVICE: 2216;
			public static NO_SERVICE_ON_GATEWAY: 2093;
			public static NSAPI_IN_USE: 35;
			public static NULL_APN_DISALLOWED: 2061;
			public static OEM_DCFAILCAUSE_1: 4097;
			public static OEM_DCFAILCAUSE_10: 4106;
			public static OEM_DCFAILCAUSE_11: 4107;
			public static OEM_DCFAILCAUSE_12: 4108;
			public static OEM_DCFAILCAUSE_13: 4109;
			public static OEM_DCFAILCAUSE_14: 4110;
			public static OEM_DCFAILCAUSE_15: 4111;
			public static OEM_DCFAILCAUSE_2: 4098;
			public static OEM_DCFAILCAUSE_3: 4099;
			public static OEM_DCFAILCAUSE_4: 4100;
			public static OEM_DCFAILCAUSE_5: 4101;
			public static OEM_DCFAILCAUSE_6: 4102;
			public static OEM_DCFAILCAUSE_7: 4103;
			public static OEM_DCFAILCAUSE_8: 4104;
			public static OEM_DCFAILCAUSE_9: 4105;
			public static ONLY_IPV4V6_ALLOWED: 57;
			public static ONLY_IPV4_ALLOWED: 50;
			public static ONLY_IPV6_ALLOWED: 51;
			public static ONLY_NON_IP_ALLOWED: 58;
			public static ONLY_SINGLE_BEARER_ALLOWED: 52;
			public static OPERATOR_BARRED: 8;
			public static OTASP_COMMIT_IN_PROGRESS: 2208;
			public static PDN_CONN_DOES_NOT_EXIST: 54;
			public static PDN_INACTIVITY_TIMER_EXPIRED: 2051;
			public static PDN_IPV4_CALL_DISALLOWED: 2033;
			public static PDN_IPV4_CALL_THROTTLED: 2034;
			public static PDN_IPV6_CALL_DISALLOWED: 2035;
			public static PDN_IPV6_CALL_THROTTLED: 2036;
			public static PDN_NON_IP_CALL_DISALLOWED: 2071;
			public static PDN_NON_IP_CALL_THROTTLED: 2070;
			public static PDP_ACTIVATE_MAX_RETRY_FAILED: 2109;
			public static PDP_DUPLICATE: 2104;
			public static PDP_ESTABLISH_TIMEOUT_EXPIRED: 2161;
			public static PDP_INACTIVE_TIMEOUT_EXPIRED: 2163;
			public static PDP_LOWERLAYER_ERROR: 2164;
			public static PDP_MODIFY_COLLISION: 2165;
			public static PDP_MODIFY_TIMEOUT_EXPIRED: 2162;
			public static PDP_PPP_NOT_SUPPORTED: 2038;
			public static PDP_WITHOUT_ACTIVE_TFT: 46;
			public static PHONE_IN_USE: 2222;
			public static PHYSICAL_LINK_CLOSE_IN_PROGRESS: 2040;
			public static PLMN_NOT_ALLOWED: 2101;
			public static PPP_AUTH_FAILURE: 2229;
			public static PPP_CHAP_FAILURE: 2232;
			public static PPP_CLOSE_IN_PROGRESS: 2233;
			public static PPP_OPTION_MISMATCH: 2230;
			public static PPP_PAP_FAILURE: 2231;
			public static PPP_TIMEOUT: 2228;
			public static PREF_RADIO_TECH_CHANGED: -4;
			public static PROFILE_BEARER_INCOMPATIBLE: 2042;
			public static PROTOCOL_ERRORS: 111;
			public static QOS_NOT_ACCEPTED: 37;
			public static RADIO_ACCESS_BEARER_FAILURE: 2110;
			public static RADIO_ACCESS_BEARER_SETUP_FAILURE: 2160;
			public static RADIO_NOT_AVAILABLE: 65537;
			public static RADIO_POWER_OFF: -5;
			public static REDIRECTION_OR_HANDOFF_IN_PROGRESS: 2220;
			public static REGISTRATION_FAIL: -1;
			public static REGULAR_DEACTIVATION: 36;
			public static REJECTED_BY_BASE_STATION: 2082;
			public static RRC_CONNECTION_ABORTED_AFTER_HANDOVER: 2173;
			public static RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE: 2174;
			public static RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE: 2171;
			public static RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE: 2175;
			public static RRC_CONNECTION_ABORT_REQUEST: 2151;
			public static RRC_CONNECTION_ACCESS_BARRED: 2139;
			public static RRC_CONNECTION_ACCESS_STRATUM_FAILURE: 2137;
			public static RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS: 2138;
			public static RRC_CONNECTION_CELL_NOT_CAMPED: 2144;
			public static RRC_CONNECTION_CELL_RESELECTION: 2140;
			public static RRC_CONNECTION_CONFIG_FAILURE: 2141;
			public static RRC_CONNECTION_INVALID_REQUEST: 2168;
			public static RRC_CONNECTION_LINK_FAILURE: 2143;
			public static RRC_CONNECTION_NORMAL_RELEASE: 2147;
			public static RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER: 2150;
			public static RRC_CONNECTION_RADIO_LINK_FAILURE: 2148;
			public static RRC_CONNECTION_REESTABLISHMENT_FAILURE: 2149;
			public static RRC_CONNECTION_REJECT_BY_NETWORK: 2146;
			public static RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE: 2172;
			public static RRC_CONNECTION_RF_UNAVAILABLE: 2170;
			public static RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR: 2152;
			public static RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE: 2145;
			public static RRC_CONNECTION_TIMER_EXPIRED: 2142;
			public static RRC_CONNECTION_TRACKING_AREA_ID_CHANGED: 2169;
			public static RRC_UPLINK_CONNECTION_RELEASE: 2134;
			public static RRC_UPLINK_DATA_TRANSMISSION_FAILURE: 2132;
			public static RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER: 2133;
			public static RRC_UPLINK_ERROR_REQUEST_FROM_NAS: 2136;
			public static RRC_UPLINK_RADIO_LINK_FAILURE: 2135;
			public static RUIM_NOT_PRESENT: 2085;
			public static SECURITY_MODE_REJECTED: 2186;
			public static SERVICE_NOT_ALLOWED_ON_PLMN: 2129;
			public static SERVICE_OPTION_NOT_SUBSCRIBED: 33;
			public static SERVICE_OPTION_NOT_SUPPORTED: 32;
			public static SERVICE_OPTION_OUT_OF_ORDER: 34;
			public static SIGNAL_LOST: -3;
			public static SIM_CARD_CHANGED: 2043;
			public static SLICE_REJECTED: 2252;
			public static SYNCHRONIZATION_FAILURE: 2184;
			public static TEST_LOOPBACK_REGULAR_DEACTIVATION: 2196;
			public static TETHERED_CALL_ACTIVE: -6;
			public static TFT_SEMANTIC_ERROR: 41;
			public static TFT_SYTAX_ERROR: 42;
			public static THERMAL_EMERGENCY: 2090;
			public static THERMAL_MITIGATION: 2062;
			public static TRAT_SWAP_FAILED: 2048;
			public static UE_INITIATED_DETACH_OR_DISCONNECT: 128;
			public static UE_IS_ENTERING_POWERSAVE_MODE: 2226;
			public static UE_RAT_CHANGE: 2105;
			public static UE_SECURITY_CAPABILITIES_MISMATCH: 2185;
			public static UMTS_HANDOVER_TO_IWLAN: 2199;
			public static UMTS_REACTIVATION_REQ: 39;
			public static UNACCEPTABLE_NETWORK_PARAMETER: 65538;
			public static UNACCEPTABLE_NON_EPS_AUTHENTICATION: 2187;
			public static UNKNOWN: 65536;
			public static UNKNOWN_INFO_ELEMENT: 99;
			public static UNKNOWN_PDP_ADDRESS_TYPE: 28;
			public static UNKNOWN_PDP_CONTEXT: 43;
			public static UNPREFERRED_RAT: 2039;
			public static UNSUPPORTED_1X_PREV: 2214;
			public static UNSUPPORTED_APN_IN_CURRENT_PLMN: 66;
			public static UNSUPPORTED_QCI_VALUE: 59;
			public static USER_AUTHENTICATION: 29;
			public static VSNCP_ADMINISTRATIVELY_PROHIBITED: 2245;
			public static VSNCP_APN_UNAUTHORIZED: 2238;
			public static VSNCP_GEN_ERROR: 2237;
			public static VSNCP_INSUFFICIENT_PARAMETERS: 2243;
			public static VSNCP_NO_PDN_GATEWAY_ADDRESS: 2240;
			public static VSNCP_PDN_EXISTS_FOR_THIS_APN: 2248;
			public static VSNCP_PDN_GATEWAY_REJECT: 2242;
			public static VSNCP_PDN_GATEWAY_UNREACHABLE: 2241;
			public static VSNCP_PDN_ID_IN_USE: 2246;
			public static VSNCP_PDN_LIMIT_EXCEEDED: 2239;
			public static VSNCP_RECONNECT_NOT_ALLOWED: 2249;
			public static VSNCP_RESOURCE_UNAVAILABLE: 2244;
			public static VSNCP_SUBSCRIBER_LIMITATION: 2247;
			public static VSNCP_TIMEOUT: 2236;
		}
	}
}

declare module android {
	export module telephony {
		export class DisconnectCause extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.DisconnectCause>;
			public static ALREADY_DIALING: 72;
			public static ANSWERED_ELSEWHERE: 52;
			public static BUSY: 4;
			public static CALLING_DISABLED: 74;
			public static CALL_BARRED: 20;
			public static CALL_PULLED: 51;
			public static CANT_CALL_WHILE_RINGING: 73;
			public static CDMA_ACCESS_BLOCKED: 35;
			public static CDMA_ACCESS_FAILURE: 32;
			public static CDMA_ALREADY_ACTIVATED: 49;
			public static CDMA_DROP: 27;
			public static CDMA_INTERCEPT: 28;
			public static CDMA_LOCKED_UNTIL_POWER_CYCLE: 26;
			public static CDMA_NOT_EMERGENCY: 34;
			public static CDMA_PREEMPTED: 33;
			public static CDMA_REORDER: 29;
			public static CDMA_RETRY_ORDER: 31;
			public static CDMA_SO_REJECT: 30;
			public static CONGESTION: 5;
			public static CS_RESTRICTED: 22;
			public static CS_RESTRICTED_EMERGENCY: 24;
			public static CS_RESTRICTED_NORMAL: 23;
			public static DATA_DISABLED: 54;
			public static DATA_LIMIT_REACHED: 55;
			public static DIALED_CALL_FORWARDING_WHILE_ROAMING: 57;
			public static DIALED_MMI: 39;
			public static DIAL_LOW_BATTERY: 62;
			public static DIAL_MODIFIED_TO_DIAL: 48;
			public static DIAL_MODIFIED_TO_DIAL_VIDEO: 66;
			public static DIAL_MODIFIED_TO_SS: 47;
			public static DIAL_MODIFIED_TO_USSD: 46;
			public static DIAL_VIDEO_MODIFIED_TO_DIAL: 69;
			public static DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO: 70;
			public static DIAL_VIDEO_MODIFIED_TO_SS: 67;
			public static DIAL_VIDEO_MODIFIED_TO_USSD: 68;
			public static EMERGENCY_CALL_OVER_WFC_NOT_AVAILABLE: 78;
			public static EMERGENCY_PERM_FAILURE: 64;
			public static EMERGENCY_TEMP_FAILURE: 63;
			public static ERROR_UNSPECIFIED: 36;
			public static FDN_BLOCKED: 21;
			public static ICC_ERROR: 19;
			public static IMEI_NOT_ACCEPTED: 58;
			public static IMS_ACCESS_BLOCKED: 60;
			public static IMS_MERGED_SUCCESSFULLY: 45;
			public static IMS_SIP_ALTERNATE_EMERGENCY_CALL: 71;
			public static INCOMING_AUTO_REJECTED: 81;
			public static INCOMING_MISSED: 1;
			public static INCOMING_REJECTED: 16;
			public static INVALID_CREDENTIALS: 10;
			public static INVALID_NUMBER: 7;
			public static LIMIT_EXCEEDED: 15;
			public static LOCAL: 3;
			public static LOST_SIGNAL: 14;
			public static LOW_BATTERY: 61;
			public static MAXIMUM_NUMBER_OF_CALLS_REACHED: 53;
			public static MEDIA_TIMEOUT: 77;
			public static MMI: 6;
			public static NORMAL: 2;
			public static NORMAL_UNSPECIFIED: 65;
			public static NOT_DISCONNECTED: 0;
			public static NOT_VALID: -1;
			public static NO_PHONE_NUMBER_SUPPLIED: 38;
			public static NUMBER_UNREACHABLE: 8;
			public static OTASP_PROVISIONING_IN_PROCESS: 76;
			public static OUTGOING_CANCELED: 44;
			public static OUTGOING_EMERGENCY_CALL_PLACED: 80;
			public static OUTGOING_FAILURE: 43;
			public static OUT_OF_NETWORK: 11;
			public static OUT_OF_SERVICE: 18;
			public static POWER_OFF: 17;
			public static SATELLITE_ENABLED: 82;
			public static SERVER_ERROR: 12;
			public static SERVER_UNREACHABLE: 9;
			public static TIMED_OUT: 13;
			public static TOO_MANY_ONGOING_CALLS: 75;
			public static UNOBTAINABLE_NUMBER: 25;
			public static VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED: 50;
			public static VOICEMAIL_NUMBER_MISSING: 40;
			public static WFC_SERVICE_NOT_AVAILABLE_IN_THIS_LOCATION: 79;
			public static WIFI_LOST: 59;
		}
	}
}

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: -1;
			public static STATUS_MISSING_RESOURCE: 2;
			public static STATUS_NO_ERROR: 1;
			public static STATUS_NO_SUCH_ELEMENT: 3;
			public static STATUS_UNKNOWN_ERROR: 4;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getChannel(): number;
			public getSelectResponse(): androidNative.Array<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: "androidMbmsTempFileRoot";
			public static EXTRA_MBMS_COMPLETED_FILE_URI: "android.telephony.extra.MBMS_COMPLETED_FILE_URI";
			public static EXTRA_MBMS_DOWNLOAD_REQUEST: "android.telephony.extra.MBMS_DOWNLOAD_REQUEST";
			public static EXTRA_MBMS_DOWNLOAD_RESULT: "android.telephony.extra.MBMS_DOWNLOAD_RESULT";
			public static EXTRA_MBMS_FILE_INFO: "android.telephony.extra.MBMS_FILE_INFO";
			public static RESULT_CANCELLED: 2;
			public static RESULT_DOWNLOAD_FAILURE: 6;
			public static RESULT_EXPIRED: 3;
			public static RESULT_FILE_ROOT_UNREACHABLE: 8;
			public static RESULT_IO_ERROR: 4;
			public static RESULT_OUT_OF_STORAGE: 7;
			public static RESULT_SERVICE_ID_NOT_DEFINED: 5;
			public static RESULT_SUCCESSFUL: 1;
			public static STATUS_ACTIVELY_DOWNLOADING: 1;
			public static STATUS_PENDING_DOWNLOAD: 2;
			public static STATUS_PENDING_DOWNLOAD_WINDOW: 4;
			public static STATUS_PENDING_REPAIR: 3;
			public static STATUS_UNKNOWN: 0;
			public download(request: any): void;
			public cancelDownload(downloadRequest: any): void;
			public requestDownloadState(downloadRequest: any, fileInfo: any): void;
			public static create(context: android.content.Context, executor: java.util.concurrent.Executor, subscriptionId: number, callback: any): android.telephony.MbmsDownloadSession;
			public removeProgressListener(request: any, listener: any): void;
			public static create(context: android.content.Context, executor: java.util.concurrent.Executor, callback: any): android.telephony.MbmsDownloadSession;
			public removeStatusListener(request: any, listener: any): void;
			public addServiceAnnouncement(contents: androidNative.Array<number>): void;
			public resetDownloadKnowledge(downloadRequest: any): void;
			public getTempFileRootDirectory(): java.io.File;
			public addProgressListener(request: any, executor: java.util.concurrent.Executor, listener: any): void;
			public requestUpdateFileServices(classList: java.util.List<string>): void;
			public setTempFileRootDirectory(tempFileRootDirectory: java.io.File): void;
			public listPendingDownloads(): java.util.List<any>;
			public addStatusListener(request: any, executor: java.util.concurrent.Executor, listener: any): void;
			public static getMaximumServiceAnnouncementSize(): number;
			public close(): void;
		}
	}
}

declare module android {
	export module telephony {
		export class MbmsGroupCallSession extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.telephony.MbmsGroupCallSession>;
			public static create(context: android.content.Context, executor: java.util.concurrent.Executor, callback: any): android.telephony.MbmsGroupCallSession;
			public static create(context: android.content.Context, subscriptionId: number, executor: java.util.concurrent.Executor, callback: any): android.telephony.MbmsGroupCallSession;
			public close(): void;
			public startGroupCall(tmgi: number, saiList: java.util.List<java.lang.Integer>, frequencyList: java.util.List<java.lang.Integer>, executor: java.util.concurrent.Executor, callback: any): any;
		}
	}
}

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 static create(context: android.content.Context, executor: java.util.concurrent.Executor, subscriptionId: number, callback: any): android.telephony.MbmsStreamingSession;
			public close(): void;
			public startStreaming(serviceInfo: any, executor: java.util.concurrent.Executor, callback: any): any;
			public static create(context: android.content.Context, executor: java.util.concurrent.Executor, callback: any): android.telephony.MbmsStreamingSession;
			public requestUpdateStreamingServices(serviceClassList: java.util.List<string>): 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: -1;
			public static UNKNOWN_RSSI: 99;
			/** @deprecated */
			public getLac(): number;
			/** @deprecated */
			public getPsc(): number;
			/** @deprecated */
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			/** @deprecated */
			public constructor(in_: android.os.Parcel);
			/** @deprecated */
			public constructor(rssi: number, location: string, radioType: number);
			/** @deprecated */
			public setCid(cid: number): void;
			/** @deprecated */
			public constructor(rssi: number, cid: number);
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public describeContents(): number;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public getCid(): number;
			/** @deprecated */
			public getNetworkType(): number;
			public describeContents(): number;
			/** @deprecated */
			public getRssi(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public setRssi(rssi: number): void;
		}
	}
}

declare module android {
	export module telephony {
		export class NetworkRegistrationInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.NetworkRegistrationInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.NetworkRegistrationInfo>;
			public static DOMAIN_CS: 1;
			public static DOMAIN_CS_PS: 3;
			public static DOMAIN_PS: 2;
			public static DOMAIN_UNKNOWN: 0;
			public static NR_STATE_CONNECTED: 3;
			public static NR_STATE_NONE: 0;
			public static NR_STATE_NOT_RESTRICTED: 2;
			public static NR_STATE_RESTRICTED: 1;
			public static SERVICE_TYPE_DATA: 2;
			public static SERVICE_TYPE_EMERGENCY: 5;
			public static SERVICE_TYPE_MMS: 6;
			public static SERVICE_TYPE_SMS: 3;
			public static SERVICE_TYPE_UNKNOWN: 0;
			public static SERVICE_TYPE_VIDEO: 4;
			public static SERVICE_TYPE_VOICE: 1;
			public isNetworkRegistered(): boolean;
			public getRegisteredPlmn(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getAvailableServices(): java.util.List<java.lang.Integer>;
			public isNonTerrestrialNetwork(): boolean;
			public getDomain(): number;
			public isNetworkSearching(): boolean;
			public isNetworkRoaming(): boolean;
			public getCellIdentity(): android.telephony.CellIdentity;
			public getTransportType(): number;
			/** @deprecated */
			public isRoaming(): boolean;
			public getRejectCause(): number;
			public toString(): string;
			public equals(o: any): boolean;
			/** @deprecated */
			public isRegistered(): boolean;
			public getAccessNetworkTechnology(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public isSearching(): boolean;
			public hashCode(): 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: 10002;
			public static ERROR_INVALID_SCAN: 2;
			public static ERROR_INVALID_SCANID: 10001;
			public static ERROR_MODEM_ERROR: 1;
			public static ERROR_MODEM_UNAVAILABLE: 3;
			public static ERROR_RADIO_INTERFACE_ERROR: 10000;
			public static ERROR_UNSUPPORTED: 4;
			public static SUCCESS: 0;
			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: 0;
			public static SCAN_TYPE_PERIODIC: 1;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getIncrementalResults(): boolean;
			public getMaxSearchTime(): number;
			public getSearchPeriodicity(): number;
			public constructor(scanType: number, specifiers: androidNative.Array<android.telephony.RadioAccessSpecifier>, searchPeriodicity: number, maxSearchTime: number, incrementalResults: boolean, incrementalResultsPeriodicity: number, mccMncs: java.util.ArrayList<string>);
			public equals(other: any): boolean;
			public getSpecifiers(): androidNative.Array<android.telephony.RadioAccessSpecifier>;
			public getPlmns(): java.util.ArrayList<string>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			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>;
			/** @deprecated */
			public constructor(countryCode: string);
			/** @deprecated */
			public beforeTextChanged(s: string, start: number, count: number, after: number): void;
			/** @deprecated */
			public onTextChanged(s: string, start: number, before: number, count: number): void;
			/** @deprecated */
			public afterTextChanged(s: android.text.Editable): void;
			/** @deprecated */
			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 telephony {
		export class PhoneNumberUtils extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.PhoneNumberUtils>;
			public static BCD_EXTENDED_TYPE_CALLED_PARTY: 2;
			public static BCD_EXTENDED_TYPE_EF_ADN: 1;
			public static FORMAT_JAPAN: 2;
			public static FORMAT_NANP: 1;
			public static FORMAT_UNKNOWN: 0;
			public static PAUSE: "44";
			public static TOA_International: 145;
			public static TOA_Unknown: 129;
			public static WAIT: "59";
			public static WILD: "78";
			public static toCallerIDMinMatch(phoneNumber: string): string;
			public static formatNumberToE164(phoneNumber: string, defaultCountryIso: string): string;
			public static addTtsSpan(s: android.text.Spannable, start: number, endExclusive: number): void;
			public static getStrippedReversed(phoneNumber: string): string;
			/** @deprecated */
			public static isEmergencyNumber(number: string): boolean;
			public static formatNumber(phoneNumber: string, phoneNumberE164: string, defaultCountryIso: string): string;
			public static toaFromString(s: string): number;
			/** @deprecated */
			public static getFormatTypeForLocale(locale: java.util.Locale): number;
			/** @deprecated */
			public static formatNumber(text: android.text.Editable, defaultFormattingType: number): void;
			public static isWpsCallNumber(number: string): boolean;
			public static isReallyDialable(c: string): boolean;
			public static isStartsPostDial(c: string): boolean;
			public static stripSeparators(phoneNumber: string): string;
			/** @deprecated */
			public static numberToCalledPartyBCD(number: string): androidNative.Array<number>;
			/** @deprecated */
			public static formatNanpNumber(text: android.text.Editable): void;
			public static createTtsSpannable(phoneNumber: string): string;
			public static numberToCalledPartyBCD(number: string, bcdExtType: number): androidNative.Array<number>;
			public static createTtsSpan(phoneNumberString: string): android.text.style.TtsSpan;
			/** @deprecated */
			public static formatNumber(source: string): string;
			/** @deprecated */
			public static formatJapaneseNumber(text: android.text.Editable): void;
			public static isNonSeparator(c: string): boolean;
			public static formatNumberToRFC3966(phoneNumber: string, defaultCountryIso: string): string;
			public static stringFromStringAndTOA(s: string, TOA: number): string;
			public static is12Key(c: string): boolean;
			public static isISODigit(c: string): boolean;
			/** @deprecated */
			public static isLocalEmergencyNumber(context: android.content.Context, number: string): boolean;
			public static getNumberFromIntent(intent: android.content.Intent, context: android.content.Context): string;
			/** @deprecated */
			public static compare(a: string, b: string): boolean;
			/** @deprecated */
			public static calledPartyBCDFragmentToString(bytes: androidNative.Array<number>, offset: number, length: number): string;
			public static networkPortionToCalledPartyBCD(s: string): androidNative.Array<number>;
			public constructor();
			public static isVoiceMailNumber(number: string): boolean;
			public static extractPostDialPortion(phoneNumber: string): string;
			public static calledPartyBCDFragmentToString(bytes: androidNative.Array<number>, offset: number, length: number, bcdExtType: number): string;
			/** @deprecated */
			public static calledPartyBCDToString(bytes: androidNative.Array<number>, offset: number, length: number): string;
			public static networkPortionToCalledPartyBCDWithLength(s: string): androidNative.Array<number>;
			public static extractNetworkPortion(phoneNumber: string): string;
			public static normalizeNumber(phoneNumber: string): string;
			public static isDialable(c: string): boolean;
			public static isWellFormedSmsAddress(address: string): boolean;
			/** @deprecated */
			public static compare(context: android.content.Context, a: string, b: string): boolean;
			public static calledPartyBCDToString(bytes: androidNative.Array<number>, offset: number, length: number, bcdExtType: number): string;
			public static areSamePhoneNumber(number1: string, number2: string, defaultCountryIso: string): boolean;
			public static replaceUnicodeDigits(number: string): string;
			public static convertKeypadLettersToDigits(input: string): string;
			public static isGlobalPhoneNumber(phoneNumber: string): boolean;
			public static formatNumber(phoneNumber: string, defaultCountryIso: string): string;
		}
	}
}

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_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE: 4194304;
			public static LISTEN_BARRING_INFO: -2147483648;
			public static LISTEN_CALL_DISCONNECT_CAUSES: 33554432;
			public static LISTEN_CALL_FORWARDING_INDICATOR: 8;
			public static LISTEN_CALL_STATE: 32;
			public static LISTEN_CELL_INFO: 1024;
			public static LISTEN_CELL_LOCATION: 16;
			public static LISTEN_DATA_ACTIVITY: 128;
			public static LISTEN_DATA_CONNECTION_STATE: 64;
			public static LISTEN_DISPLAY_INFO_CHANGED: 1048576;
			public static LISTEN_EMERGENCY_NUMBER_LIST: 16777216;
			public static LISTEN_IMS_CALL_DISCONNECT_CAUSES: 134217728;
			public static LISTEN_MESSAGE_WAITING_INDICATOR: 4;
			public static LISTEN_NONE: 0;
			public static LISTEN_PRECISE_DATA_CONNECTION_STATE: 4096;
			public static LISTEN_REGISTRATION_FAILURE: 1073741824;
			public static LISTEN_SERVICE_STATE: 1;
			public static LISTEN_SIGNAL_STRENGTH: 2;
			public static LISTEN_SIGNAL_STRENGTHS: 256;
			public static LISTEN_USER_MOBILE_DATA_STATE: 524288;
			/** @deprecated */
			public onDataConnectionStateChanged(state: number, networkType: number): void;
			/** @deprecated */
			public onPreciseDataConnectionStateChanged(dataConnectionState: android.telephony.PreciseDataConnectionState): void;
			/** @deprecated */
			public onDataActivity(direction: number): void;
			/** @deprecated */
			public constructor(executor: java.util.concurrent.Executor);
			/** @deprecated */
			public onSignalStrengthsChanged(signalStrength: android.telephony.SignalStrength): void;
			/** @deprecated */
			public onUserMobileDataStateChanged(enabled: boolean): void;
			/** @deprecated */
			public onEmergencyNumberListChanged(emergencyNumberList: java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>): void;
			/** @deprecated */
			public onServiceStateChanged(serviceState: android.telephony.ServiceState): void;
			/** @deprecated */
			public onDisplayInfoChanged(telephonyDisplayInfo: android.telephony.TelephonyDisplayInfo): void;
			/** @deprecated */
			public onActiveDataSubscriptionIdChanged(subId: number): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public onCallStateChanged(state: number, phoneNumber: string): void;
			/** @deprecated */
			public onCallDisconnectCauseChanged(disconnectCause: number, preciseDisconnectCause: number): void;
			/** @deprecated */
			public onMessageWaitingIndicatorChanged(mwi: boolean): void;
			/** @deprecated */
			public onCellInfoChanged(cellInfo: java.util.List<android.telephony.CellInfo>): void;
			/** @deprecated */
			public onBarringInfoChanged(barringInfo: android.telephony.BarringInfo): void;
			/** @deprecated */
			public onCellLocationChanged(location: android.telephony.CellLocation): void;
			/** @deprecated */
			public onRegistrationFailed(cellIdentity: android.telephony.CellIdentity, chosenPlmn: string, domain: number, causeCode: number, additionalCauseCode: number): void;
			/** @deprecated */
			public onCallForwardingIndicatorChanged(cfi: boolean): void;
			/** @deprecated */
			public onDataConnectionStateChanged(state: number): void;
			/** @deprecated */
			public onImsCallDisconnectCauseChanged(imsReasonInfo: android.telephony.ims.ImsReasonInfo): void;
			/** @deprecated */
			public onSignalStrengthChanged(asu: number): void;
		}
	}
}

declare module android {
	export module telephony {
		export class PhysicalChannelConfig extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.PhysicalChannelConfig>;
			public static BAND_UNKNOWN: 0;
			public static CELL_BANDWIDTH_UNKNOWN: 0;
			public static CHANNEL_NUMBER_UNKNOWN: 2147483647;
			public static CONNECTION_PRIMARY_SERVING: 1;
			public static CONNECTION_SECONDARY_SERVING: 2;
			public static CONNECTION_UNKNOWN: -1;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.PhysicalChannelConfig>;
			public static FREQUENCY_UNKNOWN: -1;
			public static PHYSICAL_CELL_ID_MAXIMUM_VALUE: 1007;
			public static PHYSICAL_CELL_ID_UNKNOWN: -1;
			public getUplinkChannelNumber(): number;
			public getNetworkType(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getDownlinkFrequencyKhz(): number;
			public getUplinkFrequencyKhz(): number;
			public getCellBandwidthDownlinkKhz(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public getBand(): number;
			public describeContents(): number;
			public getDownlinkChannelNumber(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPhysicalCellId(): number;
			public getCellBandwidthUplinkKhz(): number;
			public getConnectionStatus(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class PreciseDataConnectionState extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.PreciseDataConnectionState>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.PreciseDataConnectionState>;
			public static NETWORK_VALIDATION_FAILURE: 4;
			public static NETWORK_VALIDATION_IN_PROGRESS: 2;
			public static NETWORK_VALIDATION_NOT_REQUESTED: 1;
			public static NETWORK_VALIDATION_SUCCESS: 3;
			public static NETWORK_VALIDATION_UNSUPPORTED: 0;
			public getNetworkType(): number;
			public getLastCauseCode(): number;
			public getTransportType(): number;
			public getApnSetting(): android.telephony.data.ApnSetting;
			public toString(): string;
			public equals(o: any): boolean;
			public getId(): number;
			public getNetworkValidationStatus(): number;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public getLinkProperties(): android.net.LinkProperties;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getState(): number;
			public hashCode(): number;
		}
	}
}

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 toString(): string;
			public getRadioAccessNetwork(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public getBands(): androidNative.Array<number>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(ran: number, bands: androidNative.Array<number>, channels: androidNative.Array<number>);
			public getChannels(): androidNative.Array<number>;
			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: 1;
			public static DUPLEX_MODE_TDD: 2;
			public static DUPLEX_MODE_UNKNOWN: 0;
			public static STATE_EMERGENCY_ONLY: 2;
			public static STATE_IN_SERVICE: 0;
			public static STATE_OUT_OF_SERVICE: 1;
			public static STATE_POWER_OFF: 3;
			public static UNKNOWN_ID: -1;
			public setStateOff(): void;
			public getOperatorAlphaLong(): string;
			public getOperatorAlphaShort(): string;
			/** @deprecated */
			public constructor(in_: android.os.Parcel);
			public getNetworkRegistrationInfoList(): java.util.List<android.telephony.NetworkRegistrationInfo>;
			public getCellBandwidths(): androidNative.Array<number>;
			public constructor(s: android.telephony.ServiceState);
			public getOperatorNumeric(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setRoaming(roaming: boolean): void;
			public copyFrom(s: android.telephony.ServiceState): void;
			public getRoaming(): boolean;
			public getState(): number;
			public isSearching(): boolean;
			public isUsingNonTerrestrialNetwork(): boolean;
			public getCdmaNetworkId(): number;
			public setStateOutOfService(): void;
			public setOperatorName(longName: string, shortName: string, numeric: string): void;
			public constructor();
			public setState(state: number): void;
			public getChannelNumber(): number;
			public toString(): string;
			public getCdmaSystemId(): number;
			public getDuplexMode(): number;
			public equals(o: any): boolean;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getIsManualSelection(): boolean;
			public setIsManualSelection(isManual: boolean): void;
			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 static CREATOR: android.os.Parcelable.Creator<android.telephony.SignalStrength>;
			public static INVALID: 2147483647;
			/** @deprecated */
			public getGsmSignalStrength(): number;
			/** @deprecated */
			public getEvdoEcio(): number;
			/** @deprecated */
			public getCdmaEcio(): number;
			public getCellSignalStrengths(): java.util.List<android.telephony.CellSignalStrength>;
			public getLevel(): number;
			/** @deprecated */
			public getEvdoSnr(): number;
			public getTimestampMillis(): number;
			public constructor(s: android.telephony.SignalStrength);
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellSignalStrengths(clazz: java.lang.Class<any>): java.util.List<any>;
			/** @deprecated */
			public getGsmBitErrorRate(): number;
			/** @deprecated */
			public getEvdoDbm(): number;
			/** @deprecated */
			public isGsm(): boolean;
			/** @deprecated */
			public getCdmaDbm(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class SignalStrengthUpdateRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.SignalStrengthUpdateRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.SignalStrengthUpdateRequest>;
			public equals(other: any): boolean;
			public getSignalThresholdInfos(): java.util.Collection<android.telephony.SignalThresholdInfo>;
			public isReportingRequestedWhileIdle(): boolean;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module SignalStrengthUpdateRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.SignalStrengthUpdateRequest.Builder>;
				public setReportingRequestedWhileIdle(isReportingRequestedWhileIdle: boolean): android.telephony.SignalStrengthUpdateRequest.Builder;
				public setSignalThresholdInfos(signalThresholdInfos: java.util.Collection<android.telephony.SignalThresholdInfo>): android.telephony.SignalStrengthUpdateRequest.Builder;
				public build(): android.telephony.SignalStrengthUpdateRequest;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telephony {
		export class SignalThresholdInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.SignalThresholdInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.SignalThresholdInfo>;
			public static SIGNAL_MEASUREMENT_TYPE_ECNO: 9;
			public static SIGNAL_MEASUREMENT_TYPE_RSCP: 2;
			public static SIGNAL_MEASUREMENT_TYPE_RSRP: 3;
			public static SIGNAL_MEASUREMENT_TYPE_RSRQ: 4;
			public static SIGNAL_MEASUREMENT_TYPE_RSSI: 1;
			public static SIGNAL_MEASUREMENT_TYPE_RSSNR: 5;
			public static SIGNAL_MEASUREMENT_TYPE_SSRSRP: 6;
			public static SIGNAL_MEASUREMENT_TYPE_SSRSRQ: 7;
			public static SIGNAL_MEASUREMENT_TYPE_SSSINR: 8;
			public static SIGNAL_MEASUREMENT_TYPE_UNKNOWN: 0;
			public toString(): string;
			public equals(o: any): boolean;
			public getSignalMeasurementType(): number;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getRadioAccessNetworkType(): number;
			public static getMaximumNumberOfThresholdsAllowed(): number;
			public getHysteresisDb(): number;
			public getThresholds(): androidNative.Array<number>;
			public static getMinimumNumberOfThresholdsAllowed(): number;
			public hashCode(): number;
		}
		export module SignalThresholdInfo {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.SignalThresholdInfo.Builder>;
				public setRadioAccessNetworkType(ran: number): android.telephony.SignalThresholdInfo.Builder;
				public setHysteresisDb(hysteresisDb: number): android.telephony.SignalThresholdInfo.Builder;
				public setSignalMeasurementType(signalMeasurementType: number): android.telephony.SignalThresholdInfo.Builder;
				public setThresholds(thresholds: androidNative.Array<number>): android.telephony.SignalThresholdInfo.Builder;
				public constructor();
				public build(): android.telephony.SignalThresholdInfo;
			}
		}
	}
}

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: "android.telephony.extra.MMS_DATA";
			public static EXTRA_MMS_HTTP_STATUS: "android.telephony.extra.MMS_HTTP_STATUS";
			public static MMS_CONFIG_ALIAS_ENABLED: "aliasEnabled";
			public static MMS_CONFIG_ALIAS_MAX_CHARS: "aliasMaxChars";
			public static MMS_CONFIG_ALIAS_MIN_CHARS: "aliasMinChars";
			public static MMS_CONFIG_ALLOW_ATTACH_AUDIO: "allowAttachAudio";
			public static MMS_CONFIG_APPEND_TRANSACTION_ID: "enabledTransID";
			public static MMS_CONFIG_EMAIL_GATEWAY_NUMBER: "emailGatewayNumber";
			public static MMS_CONFIG_GROUP_MMS_ENABLED: "enableGroupMms";
			public static MMS_CONFIG_HTTP_PARAMS: "httpParams";
			public static MMS_CONFIG_HTTP_SOCKET_TIMEOUT: "httpSocketTimeout";
			public static MMS_CONFIG_MAX_IMAGE_HEIGHT: "maxImageHeight";
			public static MMS_CONFIG_MAX_IMAGE_WIDTH: "maxImageWidth";
			public static MMS_CONFIG_MAX_MESSAGE_SIZE: "maxMessageSize";
			public static MMS_CONFIG_MESSAGE_TEXT_MAX_SIZE: "maxMessageTextSize";
			public static MMS_CONFIG_MMS_DELIVERY_REPORT_ENABLED: "enableMMSDeliveryReports";
			public static MMS_CONFIG_MMS_ENABLED: "enabledMMS";
			public static MMS_CONFIG_MMS_READ_REPORT_ENABLED: "enableMMSReadReports";
			public static MMS_CONFIG_MULTIPART_SMS_ENABLED: "enableMultipartSMS";
			public static MMS_CONFIG_NAI_SUFFIX: "naiSuffix";
			public static MMS_CONFIG_NOTIFY_WAP_MMSC_ENABLED: "enabledNotifyWapMMSC";
			public static MMS_CONFIG_RECIPIENT_LIMIT: "recipientLimit";
			public static MMS_CONFIG_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES: "sendMultipartSmsAsSeparateMessages";
			public static MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS: "config_cellBroadcastAppLinks";
			public static MMS_CONFIG_SMS_DELIVERY_REPORT_ENABLED: "enableSMSDeliveryReports";
			public static MMS_CONFIG_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD: "smsToMmsTextLengthThreshold";
			public static MMS_CONFIG_SMS_TO_MMS_TEXT_THRESHOLD: "smsToMmsTextThreshold";
			public static MMS_CONFIG_SUBJECT_MAX_LENGTH: "maxSubjectLength";
			public static MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER: "supportHttpCharsetHeader";
			public static MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION: "supportMmsContentDisposition";
			public static MMS_CONFIG_UA_PROF_TAG_NAME: "uaProfTagName";
			public static MMS_CONFIG_UA_PROF_URL: "uaProfUrl";
			public static MMS_CONFIG_USER_AGENT: "userAgent";
			public static MMS_ERROR_CONFIGURATION_ERROR: 7;
			public static MMS_ERROR_DATA_DISABLED: 11;
			public static MMS_ERROR_HTTP_FAILURE: 4;
			public static MMS_ERROR_INACTIVE_SUBSCRIPTION: 10;
			public static MMS_ERROR_INVALID_APN: 2;
			public static MMS_ERROR_INVALID_SUBSCRIPTION_ID: 9;
			public static MMS_ERROR_IO_ERROR: 5;
			public static MMS_ERROR_MMS_DISABLED_BY_CARRIER: 12;
			public static MMS_ERROR_NO_DATA_NETWORK: 8;
			public static MMS_ERROR_RETRY: 6;
			public static MMS_ERROR_UNABLE_CONNECT_MMS: 3;
			public static MMS_ERROR_UNSPECIFIED: 1;
			public static RESULT_BLUETOOTH_DISCONNECTED: 27;
			public static RESULT_CANCELLED: 23;
			public static RESULT_ENCODING_ERROR: 18;
			public static RESULT_ERROR_FDN_CHECK_FAILURE: 6;
			public static RESULT_ERROR_GENERIC_FAILURE: 1;
			public static RESULT_ERROR_LIMIT_EXCEEDED: 5;
			public static RESULT_ERROR_NONE: 0;
			public static RESULT_ERROR_NO_SERVICE: 4;
			public static RESULT_ERROR_NULL_PDU: 3;
			public static RESULT_ERROR_RADIO_OFF: 2;
			public static RESULT_ERROR_SHORT_CODE_NEVER_ALLOWED: 8;
			public static RESULT_ERROR_SHORT_CODE_NOT_ALLOWED: 7;
			public static RESULT_INTERNAL_ERROR: 21;
			public static RESULT_INVALID_ARGUMENTS: 11;
			public static RESULT_INVALID_BLUETOOTH_ADDRESS: 26;
			public static RESULT_INVALID_SMSC_ADDRESS: 19;
			public static RESULT_INVALID_SMS_FORMAT: 14;
			public static RESULT_INVALID_STATE: 12;
			public static RESULT_MODEM_ERROR: 16;
			public static RESULT_NETWORK_ERROR: 17;
			public static RESULT_NETWORK_REJECT: 10;
			public static RESULT_NO_BLUETOOTH_SERVICE: 25;
			public static RESULT_NO_DEFAULT_SMS_APP: 32;
			public static RESULT_NO_MEMORY: 13;
			public static RESULT_NO_RESOURCES: 22;
			public static RESULT_OPERATION_NOT_ALLOWED: 20;
			public static RESULT_RADIO_NOT_AVAILABLE: 9;
			public static RESULT_RECEIVE_DISPATCH_FAILURE: 500;
			public static RESULT_RECEIVE_INJECTED_NULL_PDU: 501;
			public static RESULT_RECEIVE_NULL_MESSAGE_FROM_RIL: 503;
			public static RESULT_RECEIVE_RUNTIME_EXCEPTION: 502;
			public static RESULT_RECEIVE_SQL_EXCEPTION: 505;
			public static RESULT_RECEIVE_URI_EXCEPTION: 506;
			public static RESULT_RECEIVE_WHILE_ENCRYPTED: 504;
			public static RESULT_REMOTE_EXCEPTION: 31;
			public static RESULT_REQUEST_NOT_SUPPORTED: 24;
			public static RESULT_RIL_ABORTED: 137;
			public static RESULT_RIL_ACCESS_BARRED: 122;
			public static RESULT_RIL_BLOCKED_DUE_TO_CALL: 123;
			public static RESULT_RIL_CANCELLED: 119;
			public static RESULT_RIL_DEVICE_IN_USE: 136;
			public static RESULT_RIL_ENCODING_ERR: 109;
			public static RESULT_RIL_GENERIC_ERROR: 124;
			public static RESULT_RIL_INTERNAL_ERR: 113;
			public static RESULT_RIL_INVALID_ARGUMENTS: 104;
			public static RESULT_RIL_INVALID_MODEM_STATE: 115;
			public static RESULT_RIL_INVALID_RESPONSE: 125;
			public static RESULT_RIL_INVALID_SIM_STATE: 130;
			public static RESULT_RIL_INVALID_SMSC_ADDRESS: 110;
			public static RESULT_RIL_INVALID_SMS_FORMAT: 107;
			public static RESULT_RIL_INVALID_STATE: 103;
			public static RESULT_RIL_MODEM_ERR: 111;
			public static RESULT_RIL_NETWORK_ERR: 112;
			public static RESULT_RIL_NETWORK_NOT_READY: 116;
			public static RESULT_RIL_NETWORK_REJECT: 102;
			public static RESULT_RIL_NO_MEMORY: 105;
			public static RESULT_RIL_NO_NETWORK_FOUND: 135;
			public static RESULT_RIL_NO_RESOURCES: 118;
			public static RESULT_RIL_NO_SMS_TO_ACK: 131;
			public static RESULT_RIL_NO_SUBSCRIPTION: 134;
			public static RESULT_RIL_OPERATION_NOT_ALLOWED: 117;
			public static RESULT_RIL_RADIO_NOT_AVAILABLE: 100;
			public static RESULT_RIL_REQUEST_NOT_SUPPORTED: 114;
			public static RESULT_RIL_REQUEST_RATE_LIMITED: 106;
			public static RESULT_RIL_SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED: 121;
			public static RESULT_RIL_SIM_ABSENT: 120;
			public static RESULT_RIL_SIM_BUSY: 132;
			public static RESULT_RIL_SIM_ERROR: 129;
			public static RESULT_RIL_SIM_FULL: 133;
			public static RESULT_RIL_SIM_PIN2: 126;
			public static RESULT_RIL_SIM_PUK2: 127;
			public static RESULT_RIL_SMS_SEND_FAIL_RETRY: 101;
			public static RESULT_RIL_SUBSCRIPTION_NOT_AVAILABLE: 128;
			public static RESULT_RIL_SYSTEM_ERR: 108;
			public static RESULT_SMS_BLOCKED_DURING_EMERGENCY: 29;
			public static RESULT_SMS_SEND_RETRY_FAILED: 30;
			public static RESULT_SYSTEM_ERROR: 15;
			public static RESULT_UNEXPECTED_EVENT_STOP_SENDING: 28;
			public static RESULT_USER_NOT_ALLOWED: 33;
			public static SMS_RP_CAUSE_CALL_BARRING: 10;
			public static SMS_RP_CAUSE_CONGESTION: 42;
			public static SMS_RP_CAUSE_DESTINATION_OUT_OF_ORDER: 27;
			public static SMS_RP_CAUSE_FACILITY_NOT_IMPLEMENTED: 69;
			public static SMS_RP_CAUSE_FACILITY_NOT_SUBSCRIBED: 50;
			public static SMS_RP_CAUSE_FACILITY_REJECTED: 29;
			public static SMS_RP_CAUSE_INFORMATION_ELEMENT_NON_EXISTENT: 99;
			public static SMS_RP_CAUSE_INTERWORKING_UNSPECIFIED: 127;
			public static SMS_RP_CAUSE_INVALID_MANDATORY_INFORMATION: 96;
			public static SMS_RP_CAUSE_INVALID_MESSAGE_REFERENCE_VALUE: 81;
			public static SMS_RP_CAUSE_MESSAGE_INCOMPATIBLE_WITH_PROTOCOL_STATE: 98;
			public static SMS_RP_CAUSE_MESSAGE_TYPE_NON_EXISTENT: 97;
			public static SMS_RP_CAUSE_NETWORK_OUT_OF_ORDER: 38;
			public static SMS_RP_CAUSE_OPERATOR_DETERMINED_BARRING: 8;
			public static SMS_RP_CAUSE_PROTOCOL_ERROR: 111;
			public static SMS_RP_CAUSE_RESERVED: 11;
			public static SMS_RP_CAUSE_RESOURCES_UNAVAILABLE: 47;
			public static SMS_RP_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE: 95;
			public static SMS_RP_CAUSE_SHORT_MESSAGE_TRANSFER_REJECTED: 21;
			public static SMS_RP_CAUSE_TEMPORARY_FAILURE: 41;
			public static SMS_RP_CAUSE_UNALLOCATED_NUMBER: 1;
			public static SMS_RP_CAUSE_UNIDENTIFIED_SUBSCRIBER: 28;
			public static SMS_RP_CAUSE_UNKNOWN_SUBSCRIBER: 30;
			public static STATUS_ON_ICC_FREE: 0;
			public static STATUS_ON_ICC_READ: 1;
			public static STATUS_ON_ICC_SENT: 5;
			public static STATUS_ON_ICC_UNREAD: 3;
			public static STATUS_ON_ICC_UNSENT: 7;
			public sendDataMessage(destinationAddress: string, scAddress: string, destinationPort: number, data: androidNative.Array<number>, sentIntent: android.app.PendingIntent, deliveryIntent: android.app.PendingIntent): void;
			public sendMultimediaMessage(context: android.content.Context, contentUri: android.net.Uri, locationUrl: string, configOverrides: android.os.Bundle, sentIntent: android.app.PendingIntent): void;
			public sendTextMessageWithoutPersisting(destinationAddress: string, scAddress: string, text: string, sentIntent: android.app.PendingIntent, deliveryIntent: android.app.PendingIntent): void;
			public sendMultipartTextMessage(destinationAddress: string, scAddress: string, parts: java.util.ArrayList<string>, sentIntents: java.util.ArrayList<android.app.PendingIntent>, deliveryIntents: java.util.ArrayList<android.app.PendingIntent>): void;
			public injectSmsPdu(pdu: androidNative.Array<number>, format: string, receivedIntent: android.app.PendingIntent): void;
			public createForSubscriptionId(subId: number): android.telephony.SmsManager;
			public createAppSpecificSmsToken(intent: android.app.PendingIntent): string;
			public getCarrierConfigValues(): android.os.Bundle;
			public getSubscriptionId(): number;
			public setSmscAddress(smsc: string): boolean;
			/** @deprecated */
			public static getDefault(): android.telephony.SmsManager;
			public downloadMultimediaMessage(context: android.content.Context, locationUrl: string, contentUri: android.net.Uri, configOverrides: android.os.Bundle, downloadedIntent: android.app.PendingIntent): void;
			public sendMultipartTextMessage(destinationAddress: string, scAddress: string, parts: java.util.List<string>, sentIntents: java.util.List<android.app.PendingIntent>, deliveryIntents: java.util.List<android.app.PendingIntent>, messageId: number): void;
			public sendMultimediaMessage(context: android.content.Context, contentUri: android.net.Uri, locationUrl: string, configOverrides: android.os.Bundle, sentIntent: android.app.PendingIntent, messageId: number): void;
			public getSmsMessagesForFinancialApp(params: android.os.Bundle, executor: java.util.concurrent.Executor, callback: android.telephony.SmsManager.FinancialSmsCallback): void;
			public divideMessage(text: string): java.util.ArrayList<string>;
			public sendTextMessage(destinationAddress: string, scAddress: string, text: string, sentIntent: android.app.PendingIntent, deliveryIntent: android.app.PendingIntent): void;
			public sendTextMessage(destinationAddress: string, scAddress: string, text: string, sentIntent: android.app.PendingIntent, deliveryIntent: android.app.PendingIntent, messageId: number): void;
			public sendMultipartTextMessage(destinationAddress: string, scAddress: string, parts: java.util.List<string>, sentIntents: java.util.List<android.app.PendingIntent>, deliveryIntents: java.util.List<android.app.PendingIntent>, packageName: string, attributionTag: string): void;
			public getSmsCapacityOnIcc(): number;
			public getSmscAddress(): string;
			public static getDefaultSmsSubscriptionId(): number;
			/** @deprecated */
			public static getSmsManagerForSubscriptionId(subId: number): android.telephony.SmsManager;
			public downloadMultimediaMessage(context: android.content.Context, locationUrl: string, contentUri: android.net.Uri, configOverrides: android.os.Bundle, downloadedIntent: android.app.PendingIntent, messageId: number): void;
			public createAppSpecificSmsTokenWithPackageInfo(prefixes: string, intent: android.app.PendingIntent): string;
		}
		export module SmsManager {
			export abstract class FinancialSmsCallback extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.SmsManager.FinancialSmsCallback>;
				public constructor();
				public onFinancialSmsMessages(param0: android.database.CursorWindow): void;
			}
		}
	}
}

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: 3;
			public static ENCODING_7BIT: 1;
			public static ENCODING_8BIT: 2;
			public static ENCODING_KSC5601: 4;
			public static ENCODING_UNKNOWN: 0;
			public static FORMAT_3GPP: "3gpp";
			public static FORMAT_3GPP2: "3gpp2";
			public static MAX_USER_DATA_BYTES: 140;
			public static MAX_USER_DATA_BYTES_WITH_HEADER: 134;
			public static MAX_USER_DATA_SEPTETS: 160;
			public static MAX_USER_DATA_SEPTETS_WITH_HEADER: 153;
			public isReplace(): boolean;
			/** @deprecated */
			public getIndexOnSim(): number;
			public getEmailBody(): string;
			public getMessageClass(): android.telephony.SmsMessage.MessageClass;
			public static createFromPdu(pdu: androidNative.Array<number>, format: string): android.telephony.SmsMessage;
			public isStatusReportMessage(): boolean;
			public getTimestampMillis(): number;
			/** @deprecated */
			public getStatusOnSim(): number;
			public getPseudoSubject(): string;
			public static calculateLength(messageBody: string, use7bitOnly: boolean): androidNative.Array<number>;
			public getEmailFrom(): string;
			public static getSubmitPdu(scAddress: string, destinationAddress: string, destinationPort: number, data: androidNative.Array<number>, statusReportRequested: boolean): android.telephony.SmsMessage.SubmitPdu;
			/** @deprecated */
			public static createFromPdu(pdu: androidNative.Array<number>): android.telephony.SmsMessage;
			public isCphsMwiMessage(): boolean;
			public getStatus(): number;
			public getProtocolIdentifier(): number;
			public getDisplayOriginatingAddress(): string;
			public getPdu(): androidNative.Array<number>;
			public getDisplayMessageBody(): string;
			public getOriginatingAddress(): string;
			public getServiceCenterAddress(): string;
			public getIndexOnIcc(): number;
			public getUserData(): androidNative.Array<number>;
			public static calculateLength(msgBody: string, use7bitOnly: boolean): androidNative.Array<number>;
			public isMwiDontStore(): boolean;
			public static getTPLayerLengthForPDU(pdu: string): number;
			public static getSubmitPdu(scAddress: string, destinationAddress: string, message: string, statusReportRequested: boolean): android.telephony.SmsMessage.SubmitPdu;
			public getStatusOnIcc(): number;
			public getMessageBody(): string;
			public isMWIClearMessage(): boolean;
			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(): androidNative.Array<android.telephony.SmsMessage.MessageClass>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.telephony.SmsMessage.MessageClass;
			}
			export class SubmitPdu extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.SmsMessage.SubmitPdu>;
				public encodedMessage: androidNative.Array<number>;
				public encodedScAddress: androidNative.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>;
			/** @deprecated */
			public getNumber(): string;
			public getPortIndex(): number;
			public getUsageSetting(): number;
			public getIccId(): string;
			public getSubscriptionId(): number;
			public getMncString(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getMnc(): number;
			public getDisplayName(): string;
			/** @deprecated */
			public getMcc(): number;
			public getCountryIso(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getSimSlotIndex(): number;
			public getGroupUuid(): android.os.ParcelUuid;
			public getIconTint(): number;
			public getMccString(): string;
			public getCarrierName(): string;
			public isOnlyNonTerrestrialNetwork(): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public getDataRoaming(): number;
			public isOpportunistic(): boolean;
			public getSubscriptionType(): number;
			public isEmbedded(): boolean;
			public getCardId(): number;
			public getServiceCapabilities(): java.util.Set<java.lang.Integer>;
			public getCarrierId(): number;
			public createIconBitmap(context: android.content.Context): android.graphics.Bitmap;
			public hashCode(): number;
		}
	}
}

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: "android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED";
			public static ACTION_DEFAULT_SUBSCRIPTION_CHANGED: "android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED";
			public static ACTION_MANAGE_SUBSCRIPTION_PLANS: "android.telephony.action.MANAGE_SUBSCRIPTION_PLANS";
			public static ACTION_REFRESH_SUBSCRIPTION_PLANS: "android.telephony.action.REFRESH_SUBSCRIPTION_PLANS";
			public static D2D_SHARING_ALL: 3;
			public static D2D_SHARING_ALL_CONTACTS: 1;
			public static D2D_SHARING_DISABLED: 0;
			public static D2D_SHARING_SELECTED_CONTACTS: 2;
			public static D2D_STATUS_SHARING: "d2d_sharing_status";
			public static D2D_STATUS_SHARING_SELECTED_CONTACTS: "d2d_sharing_contacts";
			public static DATA_ROAMING_DISABLE: 0;
			public static DATA_ROAMING_ENABLE: 1;
			public static DEFAULT_SUBSCRIPTION_ID: 2147483647;
			public static EXTRA_SLOT_INDEX: "android.telephony.extra.SLOT_INDEX";
			public static EXTRA_SUBSCRIPTION_INDEX: "android.telephony.extra.SUBSCRIPTION_INDEX";
			public static INVALID_SIM_SLOT_INDEX: -1;
			public static INVALID_SUBSCRIPTION_ID: -1;
			public static PHONE_NUMBER_SOURCE_CARRIER: 2;
			public static PHONE_NUMBER_SOURCE_IMS: 3;
			public static PHONE_NUMBER_SOURCE_UICC: 1;
			public static SERVICE_CAPABILITY_DATA: 3;
			public static SERVICE_CAPABILITY_SMS: 2;
			public static SERVICE_CAPABILITY_VOICE: 1;
			public static SUBSCRIPTION_TYPE_LOCAL_SIM: 0;
			public static SUBSCRIPTION_TYPE_REMOTE_SIM: 1;
			public static USAGE_SETTING_DATA_CENTRIC: 2;
			public static USAGE_SETTING_DEFAULT: 0;
			public static USAGE_SETTING_UNKNOWN: -1;
			public static USAGE_SETTING_VOICE_CENTRIC: 1;
			public getActiveSubscriptionInfo(subId: number): android.telephony.SubscriptionInfo;
			/** @deprecated */
			public getSubscriptionIds(slotIndex: number): androidNative.Array<number>;
			public getSubscriptionsInGroup(groupUuid: android.os.ParcelUuid): java.util.List<android.telephony.SubscriptionInfo>;
			public createSubscriptionGroup(subIdList: java.util.List<java.lang.Integer>): android.os.ParcelUuid;
			/** @deprecated */
			public setSubscriptionPlans(subId: number, plans: java.util.List<android.telephony.SubscriptionPlan>): void;
			public getAccessibleSubscriptionInfoList(): java.util.List<android.telephony.SubscriptionInfo>;
			public getActiveSubscriptionInfoForSimSlotIndex(slotIndex: number): android.telephony.SubscriptionInfo;
			public setSubscriptionOverrideUnmetered(subId: number, overrideUnmetered: boolean, networkTypes: androidNative.Array<number>, expirationDurationMillis: number): void;
			public getActiveSubscriptionInfoCountMax(): number;
			public setSubscriptionOverrideUnmetered(subId: number, overrideUnmetered: boolean, expirationDurationMillis: number): void;
			public addOnOpportunisticSubscriptionsChangedListener(executor: java.util.concurrent.Executor, listener: android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener): void;
			public setSubscriptionOverrideCongested(subId: number, overrideCongested: boolean, expirationDurationMillis: number): void;
			public removeOnSubscriptionsChangedListener(listener: android.telephony.SubscriptionManager.OnSubscriptionsChangedListener): void;
			public static getActiveDataSubscriptionId(): number;
			public addOnSubscriptionsChangedListener(executor: java.util.concurrent.Executor, listener: android.telephony.SubscriptionManager.OnSubscriptionsChangedListener): void;
			public static isValidSubscriptionId(subscriptionId: number): boolean;
			public getActiveSubscriptionInfoList(): java.util.List<android.telephony.SubscriptionInfo>;
			public getDeviceToDeviceStatusSharingContacts(subscriptionId: number): java.util.List<android.net.Uri>;
			public setCarrierPhoneNumber(subscriptionId: number, number: string): void;
			public static getDefaultVoiceSubscriptionId(): number;
			public static getSubscriptionId(slotIndex: number): number;
			public setSubscriptionOverrideCongested(subId: number, overrideCongested: boolean, networkTypes: androidNative.Array<number>, expirationDurationMillis: number): void;
			public removeOnOpportunisticSubscriptionsChangedListener(listener: android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener): void;
			public getSubscriptionPlans(subId: number): java.util.List<android.telephony.SubscriptionPlan>;
			public static isUsableSubscriptionId(subscriptionId: number): boolean;
			public static getDefaultDataSubscriptionId(): number;
			public isNetworkRoaming(subId: number): boolean;
			public isActiveSubscriptionId(subscriptionId: number): boolean;
			public getPhoneNumber(subscriptionId: number): string;
			/** @deprecated */
			public static from(context: android.content.Context): android.telephony.SubscriptionManager;
			public setDeviceToDeviceStatusSharingContacts(subscriptionId: number, contacts: java.util.List<android.net.Uri>): void;
			public getCompleteActiveSubscriptionInfoList(): java.util.List<android.telephony.SubscriptionInfo>;
			public setDeviceToDeviceStatusSharingPreference(subscriptionId: number, sharing: number): void;
			public getAllSubscriptionInfoList(): java.util.List<android.telephony.SubscriptionInfo>;
			public getOpportunisticSubscriptions(): java.util.List<android.telephony.SubscriptionInfo>;
			public canManageSubscription(info: android.telephony.SubscriptionInfo): boolean;
			public getDeviceToDeviceStatusSharingPreference(subscriptionId: number): number;
			/** @deprecated */
			public addOnSubscriptionsChangedListener(listener: android.telephony.SubscriptionManager.OnSubscriptionsChangedListener): void;
			public static getDefaultSubscriptionId(): number;
			public addSubscriptionsIntoGroup(subIdList: java.util.List<java.lang.Integer>, groupUuid: android.os.ParcelUuid): void;
			public removeSubscriptionsFromGroup(subIdList: java.util.List<java.lang.Integer>, groupUuid: android.os.ParcelUuid): void;
			/** @deprecated */
			public switchToSubscription(subId: number, callbackIntent: android.app.PendingIntent): void;
			public getActiveSubscriptionInfoCount(): number;
			public static getDefaultSmsSubscriptionId(): number;
			public setSubscriptionPlans(subId: number, plans: java.util.List<android.telephony.SubscriptionPlan>, expirationDurationMillis: number): void;
			public getPhoneNumber(subscriptionId: number, source: number): string;
			public static getSlotIndex(subscriptionId: number): number;
			public setOpportunistic(opportunistic: boolean, subId: number): boolean;
		}
		export module SubscriptionManager {
			export class OnOpportunisticSubscriptionsChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener>;
				public onOpportunisticSubscriptionsChanged(): void;
				public constructor();
			}
			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: -1;
			public static BYTES_UNLIMITED: 9223372036854775807;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.SubscriptionPlan>;
			public static LIMIT_BEHAVIOR_BILLED: 1;
			public static LIMIT_BEHAVIOR_DISABLED: 0;
			public static LIMIT_BEHAVIOR_THROTTLED: 2;
			public static LIMIT_BEHAVIOR_UNKNOWN: -1;
			public static TIME_UNKNOWN: -1;
			public getTitle(): string;
			public getDataLimitBytes(): number;
			public getDataLimitBehavior(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getDataUsageBytes(): number;
			public cycleIterator(): java.util.Iterator<android.util.Range<java.time.ZonedDateTime>>;
			public toString(): string;
			public equals(obj: any): boolean;
			public getSummary(): string;
			public getNetworkTypes(): androidNative.Array<number>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDataUsageTime(): number;
			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 resetNetworkTypes(): android.telephony.SubscriptionPlan.Builder;
				public setNetworkTypes(networkTypes: androidNative.Array<number>): android.telephony.SubscriptionPlan.Builder;
				public setTitle(title: string): android.telephony.SubscriptionPlan.Builder;
				public setSummary(summary: string): android.telephony.SubscriptionPlan.Builder;
				public setDataUsage(dataUsageBytes: number, dataUsageTime: number): android.telephony.SubscriptionPlan.Builder;
				public static createNonrecurring(start: java.time.ZonedDateTime, end: java.time.ZonedDateTime): android.telephony.SubscriptionPlan.Builder;
				public setDataLimit(dataLimitBytes: number, dataLimitBehavior: number): android.telephony.SubscriptionPlan.Builder;
				public static createRecurring(start: java.time.ZonedDateTime, period: java.time.Period): android.telephony.SubscriptionPlan.Builder;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class TelephonyCallback extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.TelephonyCallback>;
			public constructor();
		}
		export module TelephonyCallback {
			export class ActiveDataSubscriptionIdListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.ActiveDataSubscriptionIdListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$ActiveDataSubscriptionIdListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onActiveDataSubscriptionIdChanged(param0: number): void;
				});
				public constructor();
				public onActiveDataSubscriptionIdChanged(param0: number): void;
			}
			export class BarringInfoListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.BarringInfoListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$BarringInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onBarringInfoChanged(param0: android.telephony.BarringInfo): void;
				});
				public constructor();
				public onBarringInfoChanged(param0: android.telephony.BarringInfo): void;
			}
			export class CallDisconnectCauseListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.CallDisconnectCauseListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$CallDisconnectCauseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCallDisconnectCauseChanged(param0: number, param1: number): void;
				});
				public constructor();
				public onCallDisconnectCauseChanged(param0: number, param1: number): void;
			}
			export class CallForwardingIndicatorListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.CallForwardingIndicatorListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$CallForwardingIndicatorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCallForwardingIndicatorChanged(param0: boolean): void;
				});
				public constructor();
				public onCallForwardingIndicatorChanged(param0: boolean): void;
			}
			export class CallStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.CallStateListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$CallStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCallStateChanged(param0: number): void;
				});
				public constructor();
				public onCallStateChanged(param0: number): void;
			}
			export class CarrierNetworkListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.CarrierNetworkListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$CarrierNetworkListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCarrierNetworkChange(param0: boolean): void;
				});
				public constructor();
				public onCarrierNetworkChange(param0: boolean): void;
			}
			export class CellInfoListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.CellInfoListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$CellInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCellInfoChanged(param0: java.util.List<android.telephony.CellInfo>): void;
				});
				public constructor();
				public onCellInfoChanged(param0: java.util.List<android.telephony.CellInfo>): void;
			}
			export class CellLocationListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.CellLocationListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$CellLocationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCellLocationChanged(param0: android.telephony.CellLocation): void;
				});
				public constructor();
				public onCellLocationChanged(param0: android.telephony.CellLocation): void;
			}
			export class DataActivationStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.DataActivationStateListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$DataActivationStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDataActivationStateChanged(param0: number): void;
				});
				public constructor();
				public onDataActivationStateChanged(param0: number): void;
			}
			export class DataActivityListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.DataActivityListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$DataActivityListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDataActivity(param0: number): void;
				});
				public constructor();
				public onDataActivity(param0: number): void;
			}
			export class DataConnectionStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.DataConnectionStateListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$DataConnectionStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDataConnectionStateChanged(param0: number, param1: number): void;
				});
				public constructor();
				public onDataConnectionStateChanged(param0: number, param1: number): void;
			}
			export class DisplayInfoListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.DisplayInfoListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$DisplayInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDisplayInfoChanged(param0: android.telephony.TelephonyDisplayInfo): void;
				});
				public constructor();
				public onDisplayInfoChanged(param0: android.telephony.TelephonyDisplayInfo): void;
			}
			export class EmergencyNumberListListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.EmergencyNumberListListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$EmergencyNumberListListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onEmergencyNumberListChanged(param0: java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>): void;
				});
				public constructor();
				public onEmergencyNumberListChanged(param0: java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>): void;
			}
			export class ImsCallDisconnectCauseListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.ImsCallDisconnectCauseListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$ImsCallDisconnectCauseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onImsCallDisconnectCauseChanged(param0: android.telephony.ims.ImsReasonInfo): void;
				});
				public constructor();
				public onImsCallDisconnectCauseChanged(param0: android.telephony.ims.ImsReasonInfo): void;
			}
			export class MessageWaitingIndicatorListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.MessageWaitingIndicatorListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$MessageWaitingIndicatorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMessageWaitingIndicatorChanged(param0: boolean): void;
				});
				public constructor();
				public onMessageWaitingIndicatorChanged(param0: boolean): void;
			}
			export class PhysicalChannelConfigListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.PhysicalChannelConfigListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$PhysicalChannelConfigListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPhysicalChannelConfigChanged(param0: java.util.List<android.telephony.PhysicalChannelConfig>): void;
				});
				public constructor();
				public onPhysicalChannelConfigChanged(param0: java.util.List<android.telephony.PhysicalChannelConfig>): void;
			}
			export class PreciseDataConnectionStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.PreciseDataConnectionStateListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$PreciseDataConnectionStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPreciseDataConnectionStateChanged(param0: android.telephony.PreciseDataConnectionState): void;
				});
				public constructor();
				public onPreciseDataConnectionStateChanged(param0: android.telephony.PreciseDataConnectionState): void;
			}
			export class RegistrationFailedListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.RegistrationFailedListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$RegistrationFailedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onRegistrationFailed(param0: android.telephony.CellIdentity, param1: string, param2: number, param3: number, param4: number): void;
				});
				public constructor();
				public onRegistrationFailed(param0: android.telephony.CellIdentity, param1: string, param2: number, param3: number, param4: number): void;
			}
			export class ServiceStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.ServiceStateListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$ServiceStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onServiceStateChanged(param0: android.telephony.ServiceState): void;
				});
				public constructor();
				public onServiceStateChanged(param0: android.telephony.ServiceState): void;
			}
			export class SignalStrengthsListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.SignalStrengthsListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$SignalStrengthsListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSignalStrengthsChanged(param0: android.telephony.SignalStrength): void;
				});
				public constructor();
				public onSignalStrengthsChanged(param0: android.telephony.SignalStrength): void;
			}
			export class UserMobileDataStateListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyCallback.UserMobileDataStateListener>;
				/**
				 * Constructs a new instance of the android.telephony.TelephonyCallback$UserMobileDataStateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onUserMobileDataStateChanged(param0: boolean): void;
				});
				public constructor();
				public onUserMobileDataStateChanged(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class TelephonyDisplayInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.TelephonyDisplayInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.TelephonyDisplayInfo>;
			public static OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO: 2;
			public static OVERRIDE_NETWORK_TYPE_LTE_CA: 1;
			public static OVERRIDE_NETWORK_TYPE_NONE: 0;
			public static OVERRIDE_NETWORK_TYPE_NR_ADVANCED: 5;
			public static OVERRIDE_NETWORK_TYPE_NR_NSA: 3;
			public static OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE: 4;
			public getNetworkType(): number;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public getOverrideNetworkType(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isRoaming(): boolean;
			public hashCode(): number;
		}
	}
}

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_CARRIER_MESSAGING_CLIENT_SERVICE: "android.telephony.action.CARRIER_MESSAGING_CLIENT_SERVICE";
			public static ACTION_CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE: "android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE";
			public static ACTION_CARRIER_SIGNAL_PCO_VALUE: "android.telephony.action.CARRIER_SIGNAL_PCO_VALUE";
			public static ACTION_CARRIER_SIGNAL_REDIRECTED: "android.telephony.action.CARRIER_SIGNAL_REDIRECTED";
			public static ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED: "android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED";
			public static ACTION_CARRIER_SIGNAL_RESET: "android.telephony.action.CARRIER_SIGNAL_RESET";
			public static ACTION_CONFIGURE_VOICEMAIL: "android.telephony.action.CONFIGURE_VOICEMAIL";
			public static ACTION_MULTI_SIM_CONFIG_CHANGED: "android.telephony.action.MULTI_SIM_CONFIG_CHANGED";
			public static ACTION_NETWORK_COUNTRY_CHANGED: "android.telephony.action.NETWORK_COUNTRY_CHANGED";
			public static ACTION_PHONE_STATE_CHANGED: "android.intent.action.PHONE_STATE";
			public static ACTION_RESET_MOBILE_NETWORK_SETTINGS: "android.telephony.action.RESET_MOBILE_NETWORK_SETTINGS";
			public static ACTION_RESPOND_VIA_MESSAGE: "android.intent.action.RESPOND_VIA_MESSAGE";
			public static ACTION_SECRET_CODE: "android.telephony.action.SECRET_CODE";
			public static ACTION_SHOW_VOICEMAIL_NOTIFICATION: "android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION";
			public static ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED: "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED";
			public static ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED: "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED";
			public static ALLOWED_NETWORK_TYPES_REASON_CARRIER: 2;
			public static ALLOWED_NETWORK_TYPES_REASON_USER: 0;
			public static APPTYPE_CSIM: 4;
			public static APPTYPE_ISIM: 5;
			public static APPTYPE_RUIM: 3;
			public static APPTYPE_SIM: 1;
			public static APPTYPE_UNKNOWN: 0;
			public static APPTYPE_USIM: 2;
			public static AUTHTYPE_EAP_AKA: 129;
			public static AUTHTYPE_EAP_SIM: 128;
			public static AUTHTYPE_GBA_BOOTSTRAP: 132;
			public static AUTHTYPE_GBA_NAF_KEY_EXTERNAL: 133;
			public static CALL_COMPOSER_STATUS_BUSINESS_ONLY: 2;
			public static CALL_COMPOSER_STATUS_OFF: 0;
			public static CALL_COMPOSER_STATUS_ON: 1;
			public static CALL_STATE_IDLE: 0;
			public static CALL_STATE_OFFHOOK: 2;
			public static CALL_STATE_RINGING: 1;
			public static CAPABILITY_SLICING_CONFIG_SUPPORTED: "CAPABILITY_SLICING_CONFIG_SUPPORTED";
			public static CARRIER_RESTRICTION_STATUS_NOT_RESTRICTED: 1;
			public static CARRIER_RESTRICTION_STATUS_RESTRICTED: 2;
			public static CARRIER_RESTRICTION_STATUS_RESTRICTED_TO_CALLER: 3;
			public static CARRIER_RESTRICTION_STATUS_UNKNOWN: 0;
			public static CDMA_ROAMING_MODE_AFFILIATED: 1;
			public static CDMA_ROAMING_MODE_ANY: 2;
			public static CDMA_ROAMING_MODE_HOME: 0;
			public static CDMA_ROAMING_MODE_RADIO_DEFAULT: -1;
			public static DATA_ACTIVITY_DORMANT: 4;
			public static DATA_ACTIVITY_IN: 1;
			public static DATA_ACTIVITY_INOUT: 3;
			public static DATA_ACTIVITY_NONE: 0;
			public static DATA_ACTIVITY_OUT: 2;
			public static DATA_CONNECTED: 2;
			public static DATA_CONNECTING: 1;
			public static DATA_DISCONNECTED: 0;
			public static DATA_DISCONNECTING: 4;
			public static DATA_ENABLED_REASON_CARRIER: 2;
			public static DATA_ENABLED_REASON_OVERRIDE: 4;
			public static DATA_ENABLED_REASON_POLICY: 1;
			public static DATA_ENABLED_REASON_THERMAL: 3;
			public static DATA_ENABLED_REASON_UNKNOWN: -1;
			public static DATA_ENABLED_REASON_USER: 0;
			public static DATA_HANDOVER_IN_PROGRESS: 5;
			public static DATA_SUSPENDED: 3;
			public static DATA_UNKNOWN: -1;
			public static DEFAULT_PORT_INDEX: 0;
			public static ERI_FLASH: 2;
			public static ERI_OFF: 1;
			public static ERI_ON: 0;
			public static EVENT_DISPLAY_EMERGENCY_MESSAGE: "android.telephony.event.DISPLAY_EMERGENCY_MESSAGE";
			public static EXTRA_ACTIVE_SIM_SUPPORTED_COUNT: "android.telephony.extra.ACTIVE_SIM_SUPPORTED_COUNT";
			public static EXTRA_APN_PROTOCOL: "android.telephony.extra.APN_PROTOCOL";
			public static EXTRA_APN_TYPE: "android.telephony.extra.APN_TYPE";
			public static EXTRA_CALL_VOICEMAIL_INTENT: "android.telephony.extra.CALL_VOICEMAIL_INTENT";
			public static EXTRA_CARRIER_ID: "android.telephony.extra.CARRIER_ID";
			public static EXTRA_CARRIER_NAME: "android.telephony.extra.CARRIER_NAME";
			public static EXTRA_DATA_FAIL_CAUSE: "android.telephony.extra.DATA_FAIL_CAUSE";
			public static EXTRA_DEFAULT_NETWORK_AVAILABLE: "android.telephony.extra.DEFAULT_NETWORK_AVAILABLE";
			public static EXTRA_EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE: "android.telephony.extra.EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE";
			public static EXTRA_EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT: "android.telephony.extra.EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT";
			public static EXTRA_HIDE_PUBLIC_SETTINGS: "android.telephony.extra.HIDE_PUBLIC_SETTINGS";
			public static EXTRA_INCOMING_NUMBER: "incoming_number";
			public static EXTRA_IS_REFRESH: "android.telephony.extra.IS_REFRESH";
			public static EXTRA_LAST_KNOWN_NETWORK_COUNTRY: "android.telephony.extra.LAST_KNOWN_NETWORK_COUNTRY";
			public static EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT: "android.telephony.extra.LAUNCH_VOICEMAIL_SETTINGS_INTENT";
			public static EXTRA_NETWORK_COUNTRY: "android.telephony.extra.NETWORK_COUNTRY";
			public static EXTRA_NOTIFICATION_COUNT: "android.telephony.extra.NOTIFICATION_COUNT";
			public static EXTRA_PCO_ID: "android.telephony.extra.PCO_ID";
			public static EXTRA_PCO_VALUE: "android.telephony.extra.PCO_VALUE";
			public static EXTRA_PHONE_ACCOUNT_HANDLE: "android.telephony.extra.PHONE_ACCOUNT_HANDLE";
			public static EXTRA_REDIRECTION_URL: "android.telephony.extra.REDIRECTION_URL";
			public static EXTRA_SPECIFIC_CARRIER_ID: "android.telephony.extra.SPECIFIC_CARRIER_ID";
			public static EXTRA_SPECIFIC_CARRIER_NAME: "android.telephony.extra.SPECIFIC_CARRIER_NAME";
			public static EXTRA_STATE: "state";
			public static EXTRA_STATE_IDLE: string;
			public static EXTRA_STATE_OFFHOOK: string;
			public static EXTRA_STATE_RINGING: string;
			public static EXTRA_SUBSCRIPTION_ID: "android.telephony.extra.SUBSCRIPTION_ID";
			public static EXTRA_VOICEMAIL_NUMBER: "android.telephony.extra.VOICEMAIL_NUMBER";
			public static INCLUDE_LOCATION_DATA_COARSE: 1;
			public static INCLUDE_LOCATION_DATA_FINE: 2;
			public static INCLUDE_LOCATION_DATA_NONE: 0;
			public static METADATA_HIDE_VOICEMAIL_SETTINGS_MENU: "android.telephony.HIDE_VOICEMAIL_SETTINGS_MENU";
			public static MULTISIM_ALLOWED: 0;
			public static MULTISIM_NOT_SUPPORTED_BY_CARRIER: 2;
			public static MULTISIM_NOT_SUPPORTED_BY_HARDWARE: 1;
			public static NETWORK_SELECTION_MODE_AUTO: 1;
			public static NETWORK_SELECTION_MODE_MANUAL: 2;
			public static NETWORK_SELECTION_MODE_UNKNOWN: 0;
			public static NETWORK_TYPE_1xRTT: 7;
			public static NETWORK_TYPE_BITMASK_1xRTT: 64;
			public static NETWORK_TYPE_BITMASK_CDMA: 8;
			public static NETWORK_TYPE_BITMASK_EDGE: 2;
			public static NETWORK_TYPE_BITMASK_EHRPD: 8192;
			public static NETWORK_TYPE_BITMASK_EVDO_0: 16;
			public static NETWORK_TYPE_BITMASK_EVDO_A: 32;
			public static NETWORK_TYPE_BITMASK_EVDO_B: 2048;
			public static NETWORK_TYPE_BITMASK_GPRS: 1;
			public static NETWORK_TYPE_BITMASK_GSM: 32768;
			public static NETWORK_TYPE_BITMASK_HSDPA: 128;
			public static NETWORK_TYPE_BITMASK_HSPA: 512;
			public static NETWORK_TYPE_BITMASK_HSPAP: 16384;
			public static NETWORK_TYPE_BITMASK_HSUPA: 256;
			public static NETWORK_TYPE_BITMASK_IWLAN: 131072;
			public static NETWORK_TYPE_BITMASK_LTE: 4096;
			public static NETWORK_TYPE_BITMASK_LTE_CA: 262144;
			public static NETWORK_TYPE_BITMASK_NR: 524288;
			public static NETWORK_TYPE_BITMASK_TD_SCDMA: 65536;
			public static NETWORK_TYPE_BITMASK_UMTS: 4;
			public static NETWORK_TYPE_BITMASK_UNKNOWN: 0;
			public static NETWORK_TYPE_CDMA: 4;
			public static NETWORK_TYPE_EDGE: 2;
			public static NETWORK_TYPE_EHRPD: 14;
			public static NETWORK_TYPE_EVDO_0: 5;
			public static NETWORK_TYPE_EVDO_A: 6;
			public static NETWORK_TYPE_EVDO_B: 12;
			public static NETWORK_TYPE_GPRS: 1;
			public static NETWORK_TYPE_GSM: 16;
			public static NETWORK_TYPE_HSDPA: 8;
			public static NETWORK_TYPE_HSPA: 10;
			public static NETWORK_TYPE_HSPAP: 15;
			public static NETWORK_TYPE_HSUPA: 9;
			public static NETWORK_TYPE_IDEN: 11;
			public static NETWORK_TYPE_IWLAN: 18;
			public static NETWORK_TYPE_LTE: 13;
			public static NETWORK_TYPE_NR: 20;
			public static NETWORK_TYPE_TD_SCDMA: 17;
			public static NETWORK_TYPE_UMTS: 3;
			public static NETWORK_TYPE_UNKNOWN: 0;
			public static PHONE_TYPE_CDMA: 2;
			public static PHONE_TYPE_GSM: 1;
			public static PHONE_TYPE_NONE: 0;
			public static PHONE_TYPE_SIP: 3;
			public static PREMIUM_CAPABILITY_PRIORITIZE_LATENCY: 34;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESS: 4;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASED: 3;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED: 7;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR: 8;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILED: 13;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_FEATURE_NOT_SUPPORTED: 10;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE: 12;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_NOT_DEFAULT_DATA_SUBSCRIPTION: 14;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_NOT_FOREGROUND: 5;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP: 15;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_REQUEST_FAILED: 11;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_SUCCESS: 1;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED: 2;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_TIMEOUT: 9;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_USER_CANCELED: 6;
			public static PURCHASE_PREMIUM_CAPABILITY_RESULT_USER_DISABLED: 16;
			public static SET_OPPORTUNISTIC_SUB_INACTIVE_SUBSCRIPTION: 2;
			public static SET_OPPORTUNISTIC_SUB_NO_OPPORTUNISTIC_SUB_AVAILABLE: 3;
			public static SET_OPPORTUNISTIC_SUB_REMOTE_SERVICE_EXCEPTION: 4;
			public static SET_OPPORTUNISTIC_SUB_SUCCESS: 0;
			public static SET_OPPORTUNISTIC_SUB_VALIDATION_FAILED: 1;
			public static SIM_STATE_ABSENT: 1;
			public static SIM_STATE_CARD_IO_ERROR: 8;
			public static SIM_STATE_CARD_RESTRICTED: 9;
			public static SIM_STATE_NETWORK_LOCKED: 4;
			public static SIM_STATE_NOT_READY: 6;
			public static SIM_STATE_PERM_DISABLED: 7;
			public static SIM_STATE_PIN_REQUIRED: 2;
			public static SIM_STATE_PUK_REQUIRED: 3;
			public static SIM_STATE_READY: 5;
			public static SIM_STATE_UNKNOWN: 0;
			public static UNINITIALIZED_CARD_ID: -2;
			public static UNKNOWN_CARRIER_ID: -1;
			public static UNSUPPORTED_CARD_ID: -1;
			public static UPDATE_AVAILABLE_NETWORKS_ABORTED: 2;
			public static UPDATE_AVAILABLE_NETWORKS_DISABLE_MODEM_FAIL: 5;
			public static UPDATE_AVAILABLE_NETWORKS_ENABLE_MODEM_FAIL: 6;
			public static UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS: 3;
			public static UPDATE_AVAILABLE_NETWORKS_MULTIPLE_NETWORKS_NOT_SUPPORTED: 7;
			public static UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE: 4;
			public static UPDATE_AVAILABLE_NETWORKS_NO_OPPORTUNISTIC_SUB_AVAILABLE: 8;
			public static UPDATE_AVAILABLE_NETWORKS_REMOTE_SERVICE_EXCEPTION: 9;
			public static UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED: 10;
			public static UPDATE_AVAILABLE_NETWORKS_SUCCESS: 0;
			public static UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE: 1;
			public static USSD_ERROR_SERVICE_UNAVAIL: -2;
			public static USSD_RETURN_FAILURE: -1;
			public static VVM_TYPE_CVVM: "vvm_type_cvvm";
			public static VVM_TYPE_OMTP: "vvm_type_omtp";
			public getCarrierIdFromSimMccMnc(): number;
			public setVisualVoicemailSmsFilterSettings(settings: android.telephony.VisualVoicemailSmsFilterSettings): void;
			public getNetworkOperatorName(): string;
			public getVisualVoicemailPackageName(): string;
			public isDataEnabled(): boolean;
			public purchasePremiumCapability(capability: number, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
			public isVoicemailVibrationEnabled(accountHandle: android.telecom.PhoneAccountHandle): boolean;
			public getCallStateForSubscription(): number;
			/** @deprecated */
			public isVoiceCapable(): boolean;
			public getAllowedNetworkTypesForReason(reason: number): number;
			/** @deprecated */
			public setLine1NumberForDisplay(alphaTag: string, number: string): boolean;
			public isDeviceVoiceCapable(): boolean;
			public iccCloseLogicalChannel(channel: number): boolean;
			public isManualNetworkSelectionAllowed(): boolean;
			public getNetworkOperator(): string;
			public getCarrierRestrictionStatus(executor: java.util.concurrent.Executor, resultListener: any /* any*/): void;
			/** @deprecated */
			public getCellLocation(): android.telephony.CellLocation;
			public getSubscriptionId(): number;
			public requestCellInfoUpdate(executor: java.util.concurrent.Executor, callback: android.telephony.TelephonyManager.CellInfoCallback): void;
			public getVoiceNetworkType(): number;
			/** @deprecated */
			public getLine1Number(): string;
			public getManufacturerCode(): string;
			public setNetworkSelectionModeManual(operatorNumeric: string, persistSelection: boolean): boolean;
			public getNetworkCountryIso(): string;
			public getNetworkCountryIso(slotIndex: number): string;
			public getDataState(): number;
			/** @deprecated */
			public getDeviceId(slotIndex: number): string;
			public isConcurrentVoiceAndDataSupported(): boolean;
			public getSupportedModemCount(): number;
			public getSimCountryIso(): string;
			public getMmsUAProfUrl(): string;
			public getMeid(): string;
			public updateAvailableNetworks(availableNetworks: java.util.List<android.telephony.AvailableNetworkInfo>, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
			public getVoiceMailNumber(): string;
			public isHearingAidCompatibilitySupported(): boolean;
			public isDataEnabledForReason(reason: number): boolean;
			public getSubscriberId(): string;
			public registerTelephonyCallback(executor: java.util.concurrent.Executor, callback: android.telephony.TelephonyCallback): void;
			public getNetworkSlicingConfiguration(executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.telephony.data.NetworkSlicingConfig,android.telephony.TelephonyManager.NetworkSlicingException>): void;
			public setDataEnabledForReason(reason: number, enabled: boolean): void;
			public getPreferredOpportunisticDataSubscription(): number;
			public setNetworkSelectionModeManual(operatorNumeric: string, persistSelection: boolean, ran: number): boolean;
			public getMmsUserAgent(): string;
			public isDataCapable(): boolean;
			/** @deprecated */
			public getPhoneCount(): number;
			public getServiceState(): android.telephony.ServiceState;
			/** @deprecated */
			public isSmsCapable(): boolean;
			public hasCarrierPrivileges(): boolean;
			public getSimCarrierIdName(): string;
			public getSimOperatorName(): string;
			public isDataRoamingEnabled(): boolean;
			public setCallComposerStatus(status: number): void;
			public getDataNetworkType(): number;
			public registerTelephonyCallback(includeLocationData: number, executor: java.util.concurrent.Executor, callback: android.telephony.TelephonyCallback): void;
			public getMeid(slotIndex: number): string;
			/** @deprecated */
			public getDeviceId(): string;
			public getIccAuthentication(appType: number, authType: number, data: string): string;
			public uploadCallComposerPicture(pictureToUpload: java.nio.file.Path, contentType: string, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.os.ParcelUuid,android.telephony.TelephonyManager.CallComposerException>): void;
			public setPreferredOpportunisticDataSubscription(subId: number, needValidation: boolean, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
			public getServiceState(includeLocationData: number): android.telephony.ServiceState;
			public getTypeAllocationCode(slotIndex: number): string;
			/** @deprecated */
			public setDataEnabled(enable: boolean): void;
			public unregisterTelephonyCallback(callback: android.telephony.TelephonyCallback): void;
			public iccExchangeSimIO(fileID: number, command: number, p1: number, p2: number, p3: number, filePath: string): androidNative.Array<number>;
			public getSimSerialNumber(): string;
			public getSimCarrierId(): number;
			public getEmergencyNumberList(categories: number): java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>;
			public getDataActivity(): number;
			public getSupportedRadioAccessFamily(): number;
			public uploadCallComposerPicture(pictureToUpload: java.io.InputStream, contentType: string, executor: java.util.concurrent.Executor, callback: android.os.OutcomeReceiver<android.os.ParcelUuid,android.telephony.TelephonyManager.CallComposerException>): void;
			/** @deprecated */
			public getCallState(): number;
			public getImei(slotIndex: number): string;
			public setVoiceMailNumber(alphaTag: string, number: string): boolean;
			/** @deprecated */
			public isTtyModeSupported(): boolean;
			/** @deprecated */
			public iccOpenLogicalChannel(AID: string): android.telephony.IccOpenLogicalChannelResponse;
			public iccTransmitApduLogicalChannel(channel: number, cla: number, instruction: number, p1: number, p2: number, p3: number, data: string): string;
			public getNetworkSpecifier(): string;
			public setNetworkSelectionModeAutomatic(): void;
			public getSimSpecificCarrierIdName(): string;
			public getSimOperator(): string;
			public canChangeDtmfToneLength(): boolean;
			public getManufacturerCode(slotIndex: number): string;
			public createForPhoneAccountHandle(phoneAccountHandle: android.telecom.PhoneAccountHandle): android.telephony.TelephonyManager;
			public isModemEnabledForSlot(slotIndex: number): boolean;
			public isRttSupported(): boolean;
			public getUiccCardsInfo(): java.util.List<android.telephony.UiccCardInfo>;
			/** @deprecated */
			public setVoicemailRingtoneUri(phoneAccountHandle: android.telecom.PhoneAccountHandle, uri: android.net.Uri): void;
			public getCarrierConfig(): any;
			public getNai(): string;
			public isMultiSimSupported(): number;
			public setAllowedNetworkTypesForReason(reason: number, allowedNetworkTypes: number): void;
			public setPreferredNetworkTypeToGlobal(): boolean;
			public getCallComposerStatus(): number;
			public getManualNetworkSelectionPlmn(): string;
			public getVoiceMailAlphaTag(): string;
			public getDeviceSoftwareVersion(): string;
			public getActiveModemCount(): number;
			public static getMaximumCallComposerPictureSize(): number;
			public getSignalStrength(): android.telephony.SignalStrength;
			public sendUssdRequest(ussdRequest: string, callback: android.telephony.TelephonyManager.UssdResponseCallback, handler: android.os.Handler): void;
			public getEmergencyNumberList(): java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>;
			public getCardIdForDefaultEuicc(): number;
			public getEquivalentHomePlmns(): java.util.List<string>;
			public sendVisualVoicemailSms(number: string, port: number, text: string, sentIntent: android.app.PendingIntent): void;
			public isPremiumCapabilityAvailableForPurchase(capability: number): boolean;
			/** @deprecated */
			public listen(listener: android.telephony.PhoneStateListener, events: number): void;
			public isDeviceSmsCapable(): boolean;
			public getTypeAllocationCode(): string;
			public isRadioInterfaceCapabilitySupported(capability: string): boolean;
			public iccTransmitApduBasicChannel(cla: number, instruction: number, p1: number, p2: number, p3: number, data: string): string;
			/** @deprecated */
			public setVoicemailVibrationEnabled(phoneAccountHandle: android.telecom.PhoneAccountHandle, enabled: boolean): void;
			public getPhoneAccountHandle(): android.telecom.PhoneAccountHandle;
			public isDataConnectionAllowed(): boolean;
			public switchMultiSimConfig(numOfSims: number): void;
			public getAllCellInfo(): java.util.List<android.telephony.CellInfo>;
			public isEmergencyNumber(number: string): boolean;
			public getImei(): string;
			public hasIccCard(): boolean;
			public setOperatorBrandOverride(brand: string): boolean;
			public doesSwitchMultiSimConfigTriggerReboot(): boolean;
			public setForbiddenPlmns(fplmns: java.util.List<string>): number;
			public getVoicemailRingtoneUri(accountHandle: android.telecom.PhoneAccountHandle): android.net.Uri;
			public getForbiddenPlmns(): androidNative.Array<string>;
			public clearSignalStrengthUpdateRequest(request: android.telephony.SignalStrengthUpdateRequest): void;
			public getPrimaryImei(): string;
			public setSignalStrengthUpdateRequest(request: android.telephony.SignalStrengthUpdateRequest): void;
			public rebootModem(): void;
			public getSimSpecificCarrierId(): number;
			public getPhoneType(): number;
			public requestNetworkScan(request: android.telephony.NetworkScanRequest, executor: java.util.concurrent.Executor, callback: android.telephony.TelephonyScanManager.NetworkScanCallback): android.telephony.NetworkScan;
			public createForSubscriptionId(subId: number): android.telephony.TelephonyManager;
			public getSimState(): number;
			public requestNetworkScan(includeLocationData: number, request: android.telephony.NetworkScanRequest, executor: java.util.concurrent.Executor, callback: android.telephony.TelephonyScanManager.NetworkScanCallback): android.telephony.NetworkScan;
			public isNetworkRoaming(): boolean;
			public getSubscriptionId(phoneAccountHandle: android.telecom.PhoneAccountHandle): number;
			public iccOpenLogicalChannel(AID: string, p2: number): android.telephony.IccOpenLogicalChannelResponse;
			public getGroupIdLevel1(): string;
			public getNetworkSelectionMode(): number;
			public sendDialerSpecialCode(inputCode: string): void;
			public isWorldPhone(): boolean;
			/** @deprecated */
			public getNetworkType(): number;
			public getSimState(slotIndex: number): number;
			public sendEnvelopeWithStatus(content: string): string;
		}
		export module TelephonyManager {
			export class CallComposerException extends java.lang.Exception {
				public static class: java.lang.Class<android.telephony.TelephonyManager.CallComposerException>;
				public static ERROR_AUTHENTICATION_FAILED: 3;
				public static ERROR_FILE_TOO_LARGE: 2;
				public static ERROR_INPUT_CLOSED: 4;
				public static ERROR_IO_EXCEPTION: 5;
				public static ERROR_NETWORK_UNAVAILABLE: 6;
				public static ERROR_REMOTE_END_CLOSED: 1;
				public static ERROR_UNKNOWN: 0;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public getIOException(): java.io.IOException;
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(errorCode: number, ioException: java.io.IOException);
				public getErrorCode(): number;
				public constructor();
			}
			export abstract class CellInfoCallback extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyManager.CellInfoCallback>;
				public static ERROR_MODEM_ERROR: 2;
				public static ERROR_TIMEOUT: 1;
				public onError(errorCode: number, detail: java.lang.Throwable): void;
				public onCellInfo(param0: java.util.List<android.telephony.CellInfo>): void;
				public constructor();
			}
			export class ModemErrorException extends android.telephony.TelephonyManager.NetworkSlicingException {
				public static class: java.lang.Class<android.telephony.TelephonyManager.ModemErrorException>;
			}
			export class NetworkSlicingException extends java.lang.Exception {
				public static class: java.lang.Class<android.telephony.TelephonyManager.NetworkSlicingException>;
				public toString(): string;
			}
			export class TimeoutException extends android.telephony.TelephonyManager.NetworkSlicingException {
				public static class: java.lang.Class<android.telephony.TelephonyManager.TimeoutException>;
			}
			export abstract class UssdResponseCallback extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyManager.UssdResponseCallback>;
				public onReceiveUssdResponseFailed(telephonyManager: android.telephony.TelephonyManager, request: string, failureCode: number): void;
				public onReceiveUssdResponse(telephonyManager: android.telephony.TelephonyManager, request: string, response: string): 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 onResults(results: java.util.List<android.telephony.CellInfo>): void;
				public onComplete(): void;
				public onError(error: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telephony {
		export class UiccCardInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.UiccCardInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.UiccCardInfo>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getPhysicalSlotIndex(): number;
			public isEuicc(): boolean;
			public getPorts(): java.util.Collection<android.telephony.UiccPortInfo>;
			public getEid(): string;
			public isMultipleEnabledProfilesSupported(): boolean;
			public toString(): string;
			public equals(obj: any): boolean;
			public isRemovable(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getIccId(): string;
			public getCardId(): number;
			/** @deprecated */
			public getSlotIndex(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class UiccPortInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.UiccPortInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.UiccPortInfo>;
			public static ICCID_REDACTED: "FFFFFFFFFFFFFFFFFFFF";
			public getLogicalSlotIndex(): number;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getIccId(): string;
			public equals(obj: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPortIndex(): number;
			public isActive(): boolean;
			public hashCode(): number;
		}
	}
}

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: "android.telephony.VisualVoicemailService";
			public onSmsReceived(param0: android.telephony.VisualVoicemailService.VisualVoicemailTask, param1: android.telephony.VisualVoicemailSms): void;
			public onTrimMemory(param0: number): void;
			public onCellServiceConnected(param0: android.telephony.VisualVoicemailService.VisualVoicemailTask, param1: android.telecom.PhoneAccountHandle): void;
			public onStopped(param0: android.telephony.VisualVoicemailService.VisualVoicemailTask): void;
			public constructor();
			public constructor(base: android.content.Context);
			public onBind(intent: android.content.Intent): android.os.IBinder;
			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 equals(obj: any): boolean;
				public hashCode(): number;
				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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			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: -1;
			public static DESTINATION_PORT_DATA_SMS: -2;
			public clientPrefix: string;
			public destinationPort: number;
			public originatingNumbers: java.util.List<string>;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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(destinationPort: number): android.telephony.VisualVoicemailSmsFilterSettings.Builder;
				public setClientPrefix(clientPrefix: string): android.telephony.VisualVoicemailSmsFilterSettings.Builder;
				public setOriginatingNumbers(originatingNumbers: java.util.List<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>;
				/** @deprecated */
				public hashCode(): number;
				/** @deprecated */
				public fillInNotifierBundle(bundleToFill: android.os.Bundle): void;
				/** @deprecated */
				public getBaseStationLongitude(): number;
				/** @deprecated */
				public setCellLocationData(baseStationId: number, baseStationLatitude: number, baseStationLongitude: number, systemId: number, networkId: number): void;
				/** @deprecated */
				public getBaseStationLatitude(): number;
				/** @deprecated */
				public setStateInvalid(): void;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public getBaseStationId(): number;
				/** @deprecated */
				public constructor(bundle: android.os.Bundle);
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public equals(o: any): boolean;
				/** @deprecated */
				public getNetworkId(): number;
				/** @deprecated */
				public static convertQuartSecToDecDegrees(quartSec: number): number;
				/** @deprecated */
				public setCellLocationData(baseStationId: number, baseStationLatitude: number, baseStationLongitude: number): void;
				/** @deprecated */
				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: 2;
				public static AUTH_TYPE_NONE: 0;
				public static AUTH_TYPE_PAP: 1;
				public static AUTH_TYPE_PAP_OR_CHAP: 3;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.data.ApnSetting>;
				public static MVNO_TYPE_GID: 2;
				public static MVNO_TYPE_ICCID: 3;
				public static MVNO_TYPE_IMSI: 1;
				public static MVNO_TYPE_SPN: 0;
				public static PROTOCOL_IP: 0;
				public static PROTOCOL_IPV4V6: 2;
				public static PROTOCOL_IPV6: 1;
				public static PROTOCOL_NON_IP: 4;
				public static PROTOCOL_PPP: 3;
				public static PROTOCOL_UNSTRUCTURED: 5;
				public static TYPE_BIP: 8192;
				public static TYPE_CBS: 128;
				public static TYPE_DEFAULT: 17;
				public static TYPE_DUN: 8;
				public static TYPE_EMERGENCY: 512;
				public static TYPE_ENTERPRISE: 16384;
				public static TYPE_FOTA: 32;
				public static TYPE_HIPRI: 16;
				public static TYPE_IA: 256;
				public static TYPE_IMS: 64;
				public static TYPE_MCX: 1024;
				public static TYPE_MMS: 2;
				public static TYPE_RCS: 32768;
				public static TYPE_SUPL: 4;
				public static TYPE_VSIM: 4096;
				public static TYPE_XCAP: 2048;
				public getMtuV4(): number;
				public getApnName(): string;
				public getProtocol(): number;
				public getCarrierId(): number;
				public getAuthType(): number;
				public getProxyAddressAsString(): string;
				public hashCode(): number;
				public getRoamingProtocol(): number;
				public getApnTypeBitmask(): number;
				public equals(o: any): boolean;
				public isPersistent(): boolean;
				public getMvnoType(): number;
				public isAlwaysOn(): boolean;
				public getUser(): string;
				public getMtuV6(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public getMmsProxyAddressAsString(): string;
				public toString(): string;
				public getEntryName(): string;
				/** @deprecated */
				public getProxyAddress(): java.net.InetAddress;
				public getProfileId(): number;
				public getMmsc(): android.net.Uri;
				/** @deprecated */
				public getMmsProxyAddress(): java.net.InetAddress;
				public getMmsProxyPort(): number;
				public describeContents(): number;
				public isEnabled(): boolean;
				public getPassword(): string;
				public getOperatorNumeric(): string;
				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 setApnTypeBitmask(apnTypeBitmask: number): android.telephony.data.ApnSetting.Builder;
					public setOperatorNumeric(operatorNumeric: string): android.telephony.data.ApnSetting.Builder;
					public setProtocol(protocol: number): android.telephony.data.ApnSetting.Builder;
					public build(): android.telephony.data.ApnSetting;
					public setPersistent(isPersistent: boolean): android.telephony.data.ApnSetting.Builder;
					public setAuthType(authType: number): android.telephony.data.ApnSetting.Builder;
					public setPassword(password: string): android.telephony.data.ApnSetting.Builder;
					public setNetworkTypeBitmask(networkTypeBitmask: number): android.telephony.data.ApnSetting.Builder;
					public setProfileId(profileId: number): android.telephony.data.ApnSetting.Builder;
					/** @deprecated */
					public setMmsProxyAddress(mmsProxy: java.net.InetAddress): android.telephony.data.ApnSetting.Builder;
					public setCarrierEnabled(carrierEnabled: boolean): android.telephony.data.ApnSetting.Builder;
					public constructor();
					public setProxyPort(port: number): android.telephony.data.ApnSetting.Builder;
					public setCarrierId(carrierId: number): android.telephony.data.ApnSetting.Builder;
					public setMmsProxyAddress(mmsProxy: string): android.telephony.data.ApnSetting.Builder;
					public setAlwaysOn(alwaysOn: boolean): android.telephony.data.ApnSetting.Builder;
					public setMmsProxyPort(mmsPort: number): android.telephony.data.ApnSetting.Builder;
					public setApnName(apnName: string): android.telephony.data.ApnSetting.Builder;
					public setRoamingProtocol(roamingProtocol: number): android.telephony.data.ApnSetting.Builder;
					public setMtuV4(mtuV4: number): android.telephony.data.ApnSetting.Builder;
					/** @deprecated */
					public setProxyAddress(proxy: java.net.InetAddress): android.telephony.data.ApnSetting.Builder;
					public setMmsc(mmsc: android.net.Uri): android.telephony.data.ApnSetting.Builder;
					public setEntryName(entryName: string): android.telephony.data.ApnSetting.Builder;
					public setUser(user: string): android.telephony.data.ApnSetting.Builder;
					public setMtuV6(mtuV6: number): android.telephony.data.ApnSetting.Builder;
					public setProxyAddress(proxy: string): android.telephony.data.ApnSetting.Builder;
					public setMvnoType(mvnoType: number): android.telephony.data.ApnSetting.Builder;
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module data {
			export class NetworkSliceInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.data.NetworkSliceInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.data.NetworkSliceInfo>;
				public static SLICE_DIFFERENTIATOR_NO_SLICE: -1;
				public static SLICE_SERVICE_TYPE_EMBB: 1;
				public static SLICE_SERVICE_TYPE_MIOT: 3;
				public static SLICE_SERVICE_TYPE_NONE: 0;
				public static SLICE_SERVICE_TYPE_URLLC: 2;
				public static SLICE_STATUS_ALLOWED: 2;
				public static SLICE_STATUS_CONFIGURED: 1;
				public static SLICE_STATUS_DEFAULT_CONFIGURED: 5;
				public static SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN: 3;
				public static SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_REGISTERED_AREA: 4;
				public static SLICE_STATUS_UNKNOWN: 0;
				public getSliceServiceType(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getStatus(): number;
				public getMappedHplmnSliceDifferentiator(): number;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getSliceDifferentiator(): number;
				public getMappedHplmnSliceServiceType(): number;
				public toString(): string;
			}
			export module NetworkSliceInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.data.NetworkSliceInfo.Builder>;
					public setSliceServiceType(mSliceServiceType: number): android.telephony.data.NetworkSliceInfo.Builder;
					public constructor();
					public setMappedHplmnSliceDifferentiator(mappedHplmnSliceDifferentiator: number): android.telephony.data.NetworkSliceInfo.Builder;
					public setStatus(status: number): android.telephony.data.NetworkSliceInfo.Builder;
					public setMappedHplmnSliceServiceType(mappedHplmnSliceServiceType: number): android.telephony.data.NetworkSliceInfo.Builder;
					public setSliceDifferentiator(sliceDifferentiator: number): android.telephony.data.NetworkSliceInfo.Builder;
					public build(): android.telephony.data.NetworkSliceInfo;
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module data {
			export class NetworkSlicingConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.data.NetworkSlicingConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.data.NetworkSlicingConfig>;
				public getUrspRules(): java.util.List<android.telephony.data.UrspRule>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getSliceInfo(): java.util.List<android.telephony.data.NetworkSliceInfo>;
				public toString(): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telephony {
		export module data {
			export class RouteSelectionDescriptor extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.data.RouteSelectionDescriptor>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.data.RouteSelectionDescriptor>;
				public static ROUTE_SSC_MODE_1: 1;
				public static ROUTE_SSC_MODE_2: 2;
				public static ROUTE_SSC_MODE_3: 3;
				public static SESSION_TYPE_IPV4: 0;
				public static SESSION_TYPE_IPV4V6: 2;
				public static SESSION_TYPE_IPV6: 1;
				public getPrecedence(): number;
				public getSscMode(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getSessionType(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getSliceInfo(): java.util.List<android.telephony.data.NetworkSliceInfo>;
				public toString(): string;
				public getDataNetworkName(): java.util.List<string>;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module data {
			export class TrafficDescriptor extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.data.TrafficDescriptor>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.data.TrafficDescriptor>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDataNetworkName(): string;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getOsAppId(): androidNative.Array<number>;
				public toString(): string;
			}
			export module TrafficDescriptor {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.data.TrafficDescriptor.Builder>;
					public constructor();
					public build(): android.telephony.data.TrafficDescriptor;
					public setOsAppId(osAppId: androidNative.Array<number>): android.telephony.data.TrafficDescriptor.Builder;
					public setDataNetworkName(dnn: string): android.telephony.data.TrafficDescriptor.Builder;
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module data {
			export class UrspRule extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.data.UrspRule>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.data.UrspRule>;
				public getPrecedence(): number;
				public getTrafficDescriptors(): java.util.List<android.telephony.data.TrafficDescriptor>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getRouteSelectionDescriptor(): java.util.List<android.telephony.data.RouteSelectionDescriptor>;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module emergency {
			export class EmergencyNumber extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.emergency.EmergencyNumber>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.emergency.EmergencyNumber>;
				public static EMERGENCY_CALL_ROUTING_EMERGENCY: 1;
				public static EMERGENCY_CALL_ROUTING_NORMAL: 2;
				public static EMERGENCY_CALL_ROUTING_UNKNOWN: 0;
				public static EMERGENCY_NUMBER_SOURCE_DATABASE: 16;
				public static EMERGENCY_NUMBER_SOURCE_DEFAULT: 8;
				public static EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG: 4;
				public static EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING: 1;
				public static EMERGENCY_NUMBER_SOURCE_SIM: 2;
				public static EMERGENCY_SERVICE_CATEGORY_AIEC: 64;
				public static EMERGENCY_SERVICE_CATEGORY_AMBULANCE: 2;
				public static EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE: 4;
				public static EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD: 8;
				public static EMERGENCY_SERVICE_CATEGORY_MIEC: 32;
				public static EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE: 16;
				public static EMERGENCY_SERVICE_CATEGORY_POLICE: 1;
				public static EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED: 0;
				public isFromSources(sources: number): boolean;
				public getEmergencyNumberSources(): java.util.List<java.lang.Integer>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getEmergencyCallRouting(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getEmergencyUrns(): java.util.List<string>;
				public toString(): string;
				public compareTo(emergencyNumber: android.telephony.emergency.EmergencyNumber): number;
				public isInEmergencyServiceCategories(categories: number): boolean;
				public hashCode(): number;
				public describeContents(): number;
				public getCountryIso(): string;
				public equals(o: any): boolean;
				public getNumber(): string;
				public getEmergencyServiceCategories(): java.util.List<java.lang.Integer>;
				public getMnc(): string;
			}
		}
	}
}

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(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public static forActivationCode(encodedActivationCode: string): android.telephony.euicc.DownloadableSubscription;
				public getConfirmationCode(): string;
				public describeContents(): number;
			}
			export module DownloadableSubscription {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.euicc.DownloadableSubscription.Builder>;
					public constructor(baseSubscription: android.telephony.euicc.DownloadableSubscription);
					public setConfirmationCode(value: string): android.telephony.euicc.DownloadableSubscription.Builder;
					public build(): android.telephony.euicc.DownloadableSubscription;
					public constructor(encodedActivationCode: string);
					public setEncodedActivationCode(value: string): android.telephony.euicc.DownloadableSubscription.Builder;
				}
			}
		}
	}
}

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(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(osVersion: string);
				public describeContents(): number;
				public getOsVersion(): 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: "android.telephony.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
				public static ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE: "android.telephony.euicc.action.NOTIFY_CARRIER_SETUP_INCOMPLETE";
				public static ACTION_START_EUICC_ACTIVATION: "android.telephony.euicc.action.START_EUICC_ACTIVATION";
				public static EMBEDDED_SUBSCRIPTION_RESULT_ERROR: 2;
				public static EMBEDDED_SUBSCRIPTION_RESULT_OK: 0;
				public static EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR: 1;
				public static ERROR_ADDRESS_MISSING: 10011;
				public static ERROR_CARRIER_LOCKED: 10000;
				public static ERROR_CERTIFICATE_ERROR: 10012;
				public static ERROR_CONNECTION_ERROR: 10014;
				public static ERROR_DISALLOWED_BY_PPR: 10010;
				public static ERROR_EUICC_INSUFFICIENT_MEMORY: 10004;
				public static ERROR_EUICC_MISSING: 10006;
				public static ERROR_INCOMPATIBLE_CARRIER: 10003;
				public static ERROR_INSTALL_PROFILE: 10009;
				public static ERROR_INVALID_ACTIVATION_CODE: 10001;
				public static ERROR_INVALID_CONFIRMATION_CODE: 10002;
				public static ERROR_INVALID_PORT: 10017;
				public static ERROR_INVALID_RESPONSE: 10015;
				public static ERROR_NO_PROFILES_AVAILABLE: 10013;
				public static ERROR_OPERATION_BUSY: 10016;
				public static ERROR_SIM_MISSING: 10008;
				public static ERROR_TIME_OUT: 10005;
				public static ERROR_UNSUPPORTED_VERSION: 10007;
				public static EUICC_MEMORY_FIELD_UNAVAILABLE: -1;
				public static EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE: "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DETAILED_CODE";
				public static EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION: "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION";
				public static EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE: "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_ERROR_CODE";
				public static EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE: "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_OPERATION_CODE";
				public static EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE: "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE";
				public static EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE: "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE";
				public static EXTRA_USE_QR_SCANNER: "android.telephony.euicc.extra.USE_QR_SCANNER";
				public static META_DATA_CARRIER_ICON: "android.telephony.euicc.carriericon";
				public static OPERATION_APDU: 8;
				public static OPERATION_DOWNLOAD: 5;
				public static OPERATION_EUICC_CARD: 3;
				public static OPERATION_EUICC_GSMA: 7;
				public static OPERATION_HTTP: 11;
				public static OPERATION_METADATA: 6;
				public static OPERATION_SIM_SLOT: 2;
				public static OPERATION_SMDX: 9;
				public static OPERATION_SMDX_SUBJECT_REASON_CODE: 10;
				public static OPERATION_SWITCH: 4;
				public static OPERATION_SYSTEM: 1;
				public getAvailableMemoryInBytes(): number;
				public downloadSubscription(subscription: android.telephony.euicc.DownloadableSubscription, switchAfterDownload: boolean, callbackIntent: android.app.PendingIntent): void;
				public switchToSubscription(subscriptionId: number, callbackIntent: android.app.PendingIntent): void;
				public deleteSubscription(subscriptionId: number, callbackIntent: android.app.PendingIntent): void;
				public getEid(): string;
				public updateSubscriptionNickname(subscriptionId: number, nickname: string, callbackIntent: android.app.PendingIntent): void;
				public isEnabled(): boolean;
				public isSimPortAvailable(portIndex: number): boolean;
				public createForCardId(cardId: number): android.telephony.euicc.EuiccManager;
				public startResolutionActivity(activity: android.app.Activity, requestCode: number, resultIntent: android.content.Intent, callbackIntent: android.app.PendingIntent): void;
				public getEuiccInfo(): android.telephony.euicc.EuiccInfo;
				public switchToSubscription(subscriptionId: number, portIndex: number, callbackIntent: 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>;
				/** @deprecated */
				public hashCode(): number;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public setLacAndCid(lac: number, cid: number): void;
				/** @deprecated */
				public fillInNotifierBundle(m: android.os.Bundle): void;
				/** @deprecated */
				public constructor(bundle: android.os.Bundle);
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public equals(o: any): boolean;
				/** @deprecated */
				public getLac(): number;
				/** @deprecated */
				public getPsc(): number;
				/** @deprecated */
				public setStateInvalid(): void;
				/** @deprecated */
				public getCid(): number;
			}
		}
	}
}

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: 1;
				public static RESULT_ERROR_NO_SERVICE: 4;
				public static RESULT_ERROR_NULL_PDU: 3;
				public static RESULT_ERROR_RADIO_OFF: 2;
				public static STATUS_ON_SIM_FREE: 0;
				public static STATUS_ON_SIM_READ: 1;
				public static STATUS_ON_SIM_SENT: 5;
				public static STATUS_ON_SIM_UNREAD: 3;
				public static STATUS_ON_SIM_UNSENT: 7;
				/** @deprecated */
				public sendDataMessage(destinationAddress: string, scAddress: string, destinationPort: number, data: androidNative.Array<number>, sentIntent: android.app.PendingIntent, deliveryIntent: android.app.PendingIntent): void;
				/** @deprecated */
				public divideMessage(text: string): java.util.ArrayList<string>;
				/** @deprecated */
				public static getDefault(): android.telephony.gsm.SmsManager;
				/** @deprecated */
				public sendTextMessage(destinationAddress: string, scAddress: string, text: string, sentIntent: android.app.PendingIntent, deliveryIntent: android.app.PendingIntent): void;
				/** @deprecated */
				public sendMultipartTextMessage(destinationAddress: string, scAddress: string, parts: java.util.ArrayList<string>, sentIntents: java.util.ArrayList<android.app.PendingIntent>, deliveryIntents: 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: 3;
				public static ENCODING_7BIT: 1;
				public static ENCODING_8BIT: 2;
				public static ENCODING_UNKNOWN: 0;
				public static MAX_USER_DATA_BYTES: 140;
				public static MAX_USER_DATA_SEPTETS: 160;
				public static MAX_USER_DATA_SEPTETS_WITH_HEADER: 153;
				/** @deprecated */
				public getUserData(): androidNative.Array<number>;
				/** @deprecated */
				public getDisplayMessageBody(): string;
				/** @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 getIndexOnSim(): number;
				/** @deprecated */
				public static calculateLength(messageBody: string, use7bitOnly: boolean): androidNative.Array<number>;
				/** @deprecated */
				public getPdu(): androidNative.Array<number>;
				/** @deprecated */
				public isReplace(): boolean;
				/** @deprecated */
				public static getSubmitPdu(scAddress: string, destinationAddress: string, message: string, statusReportRequested: boolean): android.telephony.gsm.SmsMessage.SubmitPdu;
				/** @deprecated */
				public getStatus(): number;
				/** @deprecated */
				public isEmail(): boolean;
				/** @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 static createFromPdu(pdu: androidNative.Array<number>): android.telephony.gsm.SmsMessage;
				/** @deprecated */
				public isMwiDontStore(): boolean;
				/** @deprecated */
				public getMessageBody(): string;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public getDisplayOriginatingAddress(): string;
				/** @deprecated */
				public static getSubmitPdu(scAddress: string, destinationAddress: string, destinationPort: number, data: androidNative.Array<number>, statusReportRequested: boolean): android.telephony.gsm.SmsMessage.SubmitPdu;
				/** @deprecated */
				public static getTPLayerLengthForPDU(pdu: 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(name: string): android.telephony.gsm.SmsMessage.MessageClass;
					public static values(): androidNative.Array<android.telephony.gsm.SmsMessage.MessageClass>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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: androidNative.Array<number>;
					public encodedScAddress: androidNative.Array<number>;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public toString(): string;
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class ImsException extends java.lang.Exception {
				public static class: java.lang.Class<android.telephony.ims.ImsException>;
				public static CODE_ERROR_INVALID_SUBSCRIPTION: 3;
				public static CODE_ERROR_SERVICE_UNAVAILABLE: 1;
				public static CODE_ERROR_UNSPECIFIED: 0;
				public static CODE_ERROR_UNSUPPORTED_OPERATION: 2;
				public getCode(): number;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class ImsManager extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.ims.ImsManager>;
				public static ACTION_WFC_IMS_REGISTRATION_ERROR: "android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR";
				public static EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE: "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_MESSAGE";
				public static EXTRA_WFC_REGISTRATION_FAILURE_TITLE: "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_TITLE";
				public getImsMmTelManager(subscriptionId: number): android.telephony.ims.ImsMmTelManager;
				public getProvisioningManager(subscriptionId: number): android.telephony.ims.ProvisioningManager;
				public getImsRcsManager(subscriptionId: number): android.telephony.ims.ImsRcsManager;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class ImsMmTelManager extends java.lang.Object implements android.telephony.ims.RegistrationManager {
				public static class: java.lang.Class<android.telephony.ims.ImsMmTelManager>;
				public static WIFI_MODE_CELLULAR_PREFERRED: 1;
				public static WIFI_MODE_WIFI_ONLY: 0;
				public static WIFI_MODE_WIFI_PREFERRED: 2;
				public registerImsRegistrationCallback(param0: java.util.concurrent.Executor, param1: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
				public getRegistrationState(executor: java.util.concurrent.Executor, stateCallback: any /* any*/): void;
				public isCrossSimCallingEnabled(): boolean;
				public getRegistrationTransportType(param0: java.util.concurrent.Executor, param1: any /* any*/): void;
				public getVoWiFiModeSetting(): number;
				public getRegistrationState(param0: java.util.concurrent.Executor, param1: any /* any*/): void;
				public isVoWiFiSettingEnabled(): boolean;
				public isAdvancedCallingSettingEnabled(): boolean;
				public registerMmTelCapabilityCallback(executor: java.util.concurrent.Executor, c: android.telephony.ims.ImsMmTelManager.CapabilityCallback): void;
				public unregisterMmTelCapabilityCallback(c: android.telephony.ims.ImsMmTelManager.CapabilityCallback): void;
				public isVoWiFiRoamingSettingEnabled(): boolean;
				public registerImsStateCallback(executor: java.util.concurrent.Executor, callback: android.telephony.ims.ImsStateCallback): void;
				public unregisterImsRegistrationCallback(param0: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
				public isVtSettingEnabled(): boolean;
				public unregisterImsStateCallback(callback: android.telephony.ims.ImsStateCallback): void;
				public isTtyOverVolteEnabled(): boolean;
				public registerImsRegistrationCallback(executor: java.util.concurrent.Executor, c: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
				public unregisterImsRegistrationCallback(c: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
				public getRegistrationTransportType(executor: java.util.concurrent.Executor, transportTypeCallback: any /* any*/): void;
			}
			export module ImsMmTelManager {
				export class CapabilityCallback extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.ims.ImsMmTelManager.CapabilityCallback>;
					public onCapabilitiesStatusChanged(capabilities: android.telephony.ims.feature.MmTelFeature.MmTelCapabilities): void;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class ImsRcsManager extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.ims.ImsRcsManager>;
				public static ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN: "android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
				public static CAPABILITY_TYPE_NONE: 0;
				public static CAPABILITY_TYPE_OPTIONS_UCE: 1;
				public static CAPABILITY_TYPE_PRESENCE_UCE: 2;
				public getRegistrationState(executor: java.util.concurrent.Executor, stateCallback: any /* any*/): void;
				public registerImsStateCallback(executor: java.util.concurrent.Executor, callback: android.telephony.ims.ImsStateCallback): void;
				public unregisterImsStateCallback(callback: android.telephony.ims.ImsStateCallback): void;
				public registerImsRegistrationCallback(executor: java.util.concurrent.Executor, c: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
				public getUceAdapter(): android.telephony.ims.RcsUceAdapter;
				public unregisterImsRegistrationCallback(c: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
				public getRegistrationTransportType(executor: java.util.concurrent.Executor, transportTypeCallback: any /* any*/): void;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class ImsReasonInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.ims.ImsReasonInfo>;
				public static CODE_ACCESS_CLASS_BLOCKED: 1512;
				public static CODE_ANSWERED_ELSEWHERE: 1014;
				public static CODE_BLACKLISTED_CALL_ID: 506;
				public static CODE_CALL_BARRED: 240;
				public static CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE: 1100;
				public static CODE_CALL_END_CAUSE_CALL_PULL: 1016;
				public static CODE_CALL_PULL_OUT_OF_SYNC: 1015;
				public static CODE_DATA_DISABLED: 1406;
				public static CODE_DATA_LIMIT_REACHED: 1405;
				public static CODE_DIAL_MODIFIED_TO_DIAL: 246;
				public static CODE_DIAL_MODIFIED_TO_DIAL_VIDEO: 247;
				public static CODE_DIAL_MODIFIED_TO_SS: 245;
				public static CODE_DIAL_MODIFIED_TO_USSD: 244;
				public static CODE_DIAL_VIDEO_MODIFIED_TO_DIAL: 248;
				public static CODE_DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO: 249;
				public static CODE_DIAL_VIDEO_MODIFIED_TO_SS: 250;
				public static CODE_DIAL_VIDEO_MODIFIED_TO_USSD: 251;
				public static CODE_ECBM_NOT_SUPPORTED: 901;
				public static CODE_EMERGENCY_PERM_FAILURE: 364;
				public static CODE_EMERGENCY_TEMP_FAILURE: 363;
				public static CODE_EPDG_TUNNEL_ESTABLISH_FAILURE: 1400;
				public static CODE_EPDG_TUNNEL_LOST_CONNECTION: 1402;
				public static CODE_EPDG_TUNNEL_REKEY_FAILURE: 1401;
				public static CODE_FDN_BLOCKED: 241;
				public static CODE_IKEV2_AUTH_FAILURE: 1408;
				public static CODE_IMEI_NOT_ACCEPTED: 243;
				public static CODE_IWLAN_DPD_FAILURE: 1300;
				public static CODE_LOCAL_CALL_BUSY: 142;
				public static CODE_LOCAL_CALL_CS_RETRY_REQUIRED: 146;
				public static CODE_LOCAL_CALL_DECLINE: 143;
				public static CODE_LOCAL_CALL_EXCEEDED: 141;
				public static CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED: 145;
				public static CODE_LOCAL_CALL_TERMINATED: 148;
				public static CODE_LOCAL_CALL_VCC_ON_PROGRESSING: 144;
				public static CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED: 147;
				public static CODE_LOCAL_ENDED_BY_CONFERENCE_MERGE: 108;
				public static CODE_LOCAL_HO_NOT_FEASIBLE: 149;
				public static CODE_LOCAL_ILLEGAL_ARGUMENT: 101;
				public static CODE_LOCAL_ILLEGAL_STATE: 102;
				public static CODE_LOCAL_IMS_SERVICE_DOWN: 106;
				public static CODE_LOCAL_INTERNAL_ERROR: 103;
				public static CODE_LOCAL_LOW_BATTERY: 112;
				public static CODE_LOCAL_NETWORK_IP_CHANGED: 124;
				public static CODE_LOCAL_NETWORK_NO_LTE_COVERAGE: 122;
				public static CODE_LOCAL_NETWORK_NO_SERVICE: 121;
				public static CODE_LOCAL_NETWORK_ROAMING: 123;
				public static CODE_LOCAL_NOT_REGISTERED: 132;
				public static CODE_LOCAL_NO_PENDING_CALL: 107;
				public static CODE_LOCAL_POWER_OFF: 111;
				public static CODE_LOCAL_SERVICE_UNAVAILABLE: 131;
				public static CODE_LOW_BATTERY: 505;
				public static CODE_MAXIMUM_NUMBER_OF_CALLS_REACHED: 1403;
				public static CODE_MEDIA_INIT_FAILED: 401;
				public static CODE_MEDIA_NOT_ACCEPTABLE: 403;
				public static CODE_MEDIA_NO_DATA: 402;
				public static CODE_MEDIA_UNSPECIFIED: 404;
				public static CODE_MULTIENDPOINT_NOT_SUPPORTED: 902;
				public static CODE_NETWORK_CONGESTION: 1624;
				public static CODE_NETWORK_DETACH: 1513;
				public static CODE_NETWORK_REJECT: 1504;
				public static CODE_NETWORK_RESP_TIMEOUT: 1503;
				public static CODE_NO_CSFB_IN_CS_ROAM: 1516;
				public static CODE_NO_VALID_SIM: 1501;
				public static CODE_OEM_CAUSE_1: 61441;
				public static CODE_OEM_CAUSE_10: 61450;
				public static CODE_OEM_CAUSE_11: 61451;
				public static CODE_OEM_CAUSE_12: 61452;
				public static CODE_OEM_CAUSE_13: 61453;
				public static CODE_OEM_CAUSE_14: 61454;
				public static CODE_OEM_CAUSE_15: 61455;
				public static CODE_OEM_CAUSE_2: 61442;
				public static CODE_OEM_CAUSE_3: 61443;
				public static CODE_OEM_CAUSE_4: 61444;
				public static CODE_OEM_CAUSE_5: 61445;
				public static CODE_OEM_CAUSE_6: 61446;
				public static CODE_OEM_CAUSE_7: 61447;
				public static CODE_OEM_CAUSE_8: 61448;
				public static CODE_OEM_CAUSE_9: 61449;
				public static CODE_RADIO_ACCESS_FAILURE: 1505;
				public static CODE_RADIO_INTERNAL_ERROR: 1502;
				public static CODE_RADIO_LINK_FAILURE: 1506;
				public static CODE_RADIO_LINK_LOST: 1507;
				public static CODE_RADIO_OFF: 1500;
				public static CODE_RADIO_RELEASE_ABNORMAL: 1511;
				public static CODE_RADIO_RELEASE_NORMAL: 1510;
				public static CODE_RADIO_SETUP_FAILURE: 1509;
				public static CODE_RADIO_UPLINK_FAILURE: 1508;
				public static CODE_REGISTRATION_ERROR: 1000;
				public static CODE_REJECTED_ELSEWHERE: 1017;
				public static CODE_REJECT_1X_COLLISION: 1603;
				public static CODE_REJECT_CALL_ON_OTHER_SUB: 1602;
				public static CODE_REJECT_CALL_TYPE_NOT_ALLOWED: 1605;
				public static CODE_REJECT_CONFERENCE_TTY_NOT_ALLOWED: 1617;
				public static CODE_REJECT_INTERNAL_ERROR: 1612;
				public static CODE_REJECT_MAX_CALL_LIMIT_REACHED: 1608;
				public static CODE_REJECT_ONGOING_CALL_SETUP: 1607;
				public static CODE_REJECT_ONGOING_CALL_TRANSFER: 1611;
				public static CODE_REJECT_ONGOING_CALL_UPGRADE: 1616;
				public static CODE_REJECT_ONGOING_CALL_WAITING_DISABLED: 1601;
				public static CODE_REJECT_ONGOING_CONFERENCE_CALL: 1618;
				public static CODE_REJECT_ONGOING_CS_CALL: 1621;
				public static CODE_REJECT_ONGOING_E911_CALL: 1606;
				public static CODE_REJECT_ONGOING_ENCRYPTED_CALL: 1620;
				public static CODE_REJECT_ONGOING_HANDOVER: 1614;
				public static CODE_REJECT_QOS_FAILURE: 1613;
				public static CODE_REJECT_SERVICE_NOT_REGISTERED: 1604;
				public static CODE_REJECT_UNKNOWN: 1600;
				public static CODE_REJECT_UNSUPPORTED_SDP_HEADERS: 1610;
				public static CODE_REJECT_UNSUPPORTED_SIP_HEADERS: 1609;
				public static CODE_REJECT_VT_AVPF_NOT_ALLOWED: 1619;
				public static CODE_REJECT_VT_TTY_NOT_ALLOWED: 1615;
				public static CODE_REMOTE_CALL_DECLINE: 1404;
				public static CODE_SESSION_MODIFICATION_FAILED: 1517;
				public static CODE_SIP_ALTERNATE_EMERGENCY_CALL: 1514;
				public static CODE_SIP_AMBIGUOUS: 376;
				public static CODE_SIP_BAD_ADDRESS: 337;
				public static CODE_SIP_BAD_REQUEST: 331;
				public static CODE_SIP_BUSY: 338;
				public static CODE_SIP_CALL_OR_TRANS_DOES_NOT_EXIST: 372;
				public static CODE_SIP_CLIENT_ERROR: 342;
				public static CODE_SIP_EXTENSION_REQUIRED: 370;
				public static CODE_SIP_FORBIDDEN: 332;
				public static CODE_SIP_GLOBAL_ERROR: 362;
				public static CODE_SIP_INTERVAL_TOO_BRIEF: 371;
				public static CODE_SIP_LOOP_DETECTED: 373;
				public static CODE_SIP_METHOD_NOT_ALLOWED: 366;
				public static CODE_SIP_NOT_ACCEPTABLE: 340;
				public static CODE_SIP_NOT_FOUND: 333;
				public static CODE_SIP_NOT_REACHABLE: 341;
				public static CODE_SIP_NOT_SUPPORTED: 334;
				public static CODE_SIP_PROXY_AUTHENTICATION_REQUIRED: 367;
				public static CODE_SIP_REDIRECTED: 321;
				public static CODE_SIP_REQUEST_CANCELLED: 339;
				public static CODE_SIP_REQUEST_ENTITY_TOO_LARGE: 368;
				public static CODE_SIP_REQUEST_PENDING: 377;
				public static CODE_SIP_REQUEST_TIMEOUT: 335;
				public static CODE_SIP_REQUEST_URI_TOO_LARGE: 369;
				public static CODE_SIP_SERVER_ERROR: 354;
				public static CODE_SIP_SERVER_INTERNAL_ERROR: 351;
				public static CODE_SIP_SERVER_TIMEOUT: 353;
				public static CODE_SIP_SERVICE_UNAVAILABLE: 352;
				public static CODE_SIP_TEMPRARILY_UNAVAILABLE: 336;
				public static CODE_SIP_TOO_MANY_HOPS: 374;
				public static CODE_SIP_TRANSACTION_DOES_NOT_EXIST: 343;
				public static CODE_SIP_UNDECIPHERABLE: 378;
				public static CODE_SIP_USER_MARKED_UNWANTED: 365;
				public static CODE_SIP_USER_REJECTED: 361;
				public static CODE_SUPP_SVC_CANCELLED: 1202;
				public static CODE_SUPP_SVC_FAILED: 1201;
				public static CODE_SUPP_SVC_REINVITE_COLLISION: 1203;
				public static CODE_TIMEOUT_1XX_WAITING: 201;
				public static CODE_TIMEOUT_NO_ANSWER: 202;
				public static CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE: 203;
				public static CODE_UNSPECIFIED: 0;
				public static CODE_USER_CANCELLED_SESSION_MODIFICATION: 512;
				public static CODE_USER_DECLINE: 504;
				public static CODE_USER_IGNORE: 503;
				public static CODE_USER_NOANSWER: 502;
				public static CODE_USER_REJECTED_SESSION_MODIFICATION: 511;
				public static CODE_USER_TERMINATED: 501;
				public static CODE_USER_TERMINATED_BY_REMOTE: 510;
				public static CODE_UT_CB_PASSWORD_MISMATCH: 821;
				public static CODE_UT_NETWORK_ERROR: 804;
				public static CODE_UT_NOT_SUPPORTED: 801;
				public static CODE_UT_OPERATION_NOT_ALLOWED: 803;
				public static CODE_UT_SERVICE_UNAVAILABLE: 802;
				public static CODE_UT_SS_MODIFIED_TO_DIAL: 822;
				public static CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO: 825;
				public static CODE_UT_SS_MODIFIED_TO_SS: 824;
				public static CODE_UT_SS_MODIFIED_TO_USSD: 823;
				public static CODE_WIFI_LOST: 1407;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.ims.ImsReasonInfo>;
				public static EXTRA_CODE_CALL_RETRY_BY_SETTINGS: 3;
				public static EXTRA_CODE_CALL_RETRY_EMERGENCY: 4;
				public static EXTRA_CODE_CALL_RETRY_NORMAL: 1;
				public static EXTRA_CODE_CALL_RETRY_SILENT_REDIAL: 2;
				public constructor(code: number, extraCode: number, extraMessage: string);
				public getExtraMessage(): string;
				public getExtraCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getCode(): number;
				public describeContents(): number;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class ImsRegistrationAttributes extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.ims.ImsRegistrationAttributes>;
				public static ATTR_EPDG_OVER_CELL_INTERNET: 1;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.ims.ImsRegistrationAttributes>;
				public getTransportType(): number;
				public getSipDetails(): android.telephony.ims.SipDetails;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getFeatureTags(): java.util.Set<string>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getAttributeFlags(): number;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export abstract class ImsStateCallback extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.ims.ImsStateCallback>;
				public static REASON_IMS_SERVICE_DISCONNECTED: 3;
				public static REASON_IMS_SERVICE_NOT_READY: 6;
				public static REASON_NO_IMS_SERVICE_CONFIGURED: 4;
				public static REASON_SUBSCRIPTION_INACTIVE: 5;
				public static REASON_UNKNOWN_PERMANENT_ERROR: 2;
				public static REASON_UNKNOWN_TEMPORARY_ERROR: 1;
				public onAvailable(): void;
				public onUnavailable(param0: number): void;
				public onError(): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class ProvisioningManager extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.ims.ProvisioningManager>;
				public setRcsProvisioningStatusForCapability(capability: number, tech: number, isProvisioned: boolean): void;
				public isRcsProvisioningRequiredForCapability(capability: number, tech: number): boolean;
				public getRcsProvisioningStatusForCapability(capability: number, tech: number): boolean;
				public unregisterFeatureProvisioningChangedCallback(callback: android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback): void;
				public getProvisioningStatusForCapability(capability: number, tech: number): boolean;
				public registerFeatureProvisioningChangedCallback(executor: java.util.concurrent.Executor, callback: android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback): void;
				public setProvisioningStatusForCapability(capability: number, tech: number, isProvisioned: boolean): void;
				public isProvisioningRequiredForCapability(capability: number, tech: number): boolean;
			}
			export module ProvisioningManager {
				export abstract class FeatureProvisioningCallback extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback>;
					public onFeatureProvisioningChanged(param0: number, param1: number, param2: boolean): void;
					public constructor();
					public onRcsFeatureProvisioningChanged(param0: number, param1: number, param2: boolean): void;
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class RcsUceAdapter extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.ims.RcsUceAdapter>;
				public isUceSettingEnabled(): boolean;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class RegistrationManager extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.ims.RegistrationManager>;
				/**
				 * Constructs a new instance of the android.telephony.ims.RegistrationManager interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					registerImsRegistrationCallback(param0: java.util.concurrent.Executor, param1: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
					unregisterImsRegistrationCallback(param0: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
					getRegistrationState(param0: java.util.concurrent.Executor, param1: any /* any*/): void;
					getRegistrationTransportType(param0: java.util.concurrent.Executor, param1: any /* any*/): void;
				});
				public constructor();
				public static REGISTRATION_STATE_NOT_REGISTERED: 0;
				public static REGISTRATION_STATE_REGISTERED: 2;
				public static REGISTRATION_STATE_REGISTERING: 1;
				public registerImsRegistrationCallback(param0: java.util.concurrent.Executor, param1: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
				public getRegistrationTransportType(param0: java.util.concurrent.Executor, param1: any /* any*/): void;
				public unregisterImsRegistrationCallback(param0: android.telephony.ims.RegistrationManager.RegistrationCallback): void;
				public getRegistrationState(param0: java.util.concurrent.Executor, param1: any /* any*/): void;
			}
			export module RegistrationManager {
				export class RegistrationCallback extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.ims.RegistrationManager.RegistrationCallback>;
					/** @deprecated */
					public onRegistering(imsTransportType: number): void;
					/** @deprecated */
					public onRegistered(imsTransportType: number): void;
					public onTechnologyChangeFailed(imsTransportType: number, info: android.telephony.ims.ImsReasonInfo): void;
					public onUnregistered(info: android.telephony.ims.ImsReasonInfo): void;
					public constructor();
					public onRegistering(attributes: android.telephony.ims.ImsRegistrationAttributes): void;
					public onRegistered(attributes: android.telephony.ims.ImsRegistrationAttributes): void;
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export class SipDetails extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.ims.SipDetails>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.ims.SipDetails>;
				public static METHOD_PUBLISH: 2;
				public static METHOD_REGISTER: 1;
				public static METHOD_SUBSCRIBE: 3;
				public static METHOD_UNKNOWN: 0;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public toString(): string;
				public getResponsePhrase(): string;
				public getMethod(): number;
				public getReasonHeaderCause(): number;
				public hashCode(): number;
				public getResponseCode(): number;
				public describeContents(): number;
				public getCallId(): string;
				public equals(o: any): boolean;
				public getCSeq(): number;
				public getReasonHeaderText(): string;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export module feature {
				export class MmTelFeature extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.ims.feature.MmTelFeature>;
				}
				export module MmTelFeature {
					export class MmTelCapabilities extends java.lang.Object {
						public static class: java.lang.Class<android.telephony.ims.feature.MmTelFeature.MmTelCapabilities>;
						public static CAPABILITY_TYPE_CALL_COMPOSER: 16;
						public static CAPABILITY_TYPE_CALL_COMPOSER_BUSINESS_ONLY: 32;
						public static CAPABILITY_TYPE_SMS: 8;
						public static CAPABILITY_TYPE_UT: 4;
						public static CAPABILITY_TYPE_VIDEO: 2;
						public static CAPABILITY_TYPE_VOICE: 1;
						public hashCode(): number;
						public isCapable(capabilities: number): boolean;
						public equals(o: any): boolean;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module ims {
			export module stub {
				export class ImsRegistrationImplBase extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.ims.stub.ImsRegistrationImplBase>;
					public static REGISTRATION_TECH_3G: 4;
					public static REGISTRATION_TECH_CROSS_SIM: 2;
					public static REGISTRATION_TECH_IWLAN: 1;
					public static REGISTRATION_TECH_LTE: 0;
					public static REGISTRATION_TECH_NONE: -1;
					public static REGISTRATION_TECH_NR: 3;
				}
			}
		}
	}
}

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>;
			/** @deprecated */
			public static make(source: string, sub: androidNative.Array<string>, substart: number, subend: number): android.text.AlteredCharSequence;
			/** @deprecated */
			public charAt(off: number): string;
			public static compare(cs1: string, cs2: string): number;
			public isEmpty(): boolean;
			/** @deprecated */
			public getChars(start: number, end: number, dest: androidNative.Array<string>, off: number): void;
			public length(): number;
			/** @deprecated */
			public toString(): string;
			public charAt(param0: number): string;
			/** @deprecated */
			public subSequence(start: number, end: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public getChars(param0: number, param1: number, param2: androidNative.Array<string>, param3: number): void;
			/** @deprecated */
			public length(): number;
			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: 1;
			public static EAST_ASIAN_WIDTH_FULL_WIDTH: 3;
			public static EAST_ASIAN_WIDTH_HALF_WIDTH: 2;
			public static EAST_ASIAN_WIDTH_NARROW: 4;
			public static EAST_ASIAN_WIDTH_NEUTRAL: 0;
			public static EAST_ASIAN_WIDTH_WIDE: 5;
			/** @deprecated */
			public static getDirectionalities(param0: androidNative.Array<string>, param1: androidNative.Array<number>, param2: number): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public static mirror(param0: androidNative.Array<string>, param1: number, param2: number): boolean;
			/** @deprecated */
			public static getEastAsianWidths(param0: androidNative.Array<string>, param1: number, param2: number, param3: androidNative.Array<number>): void;
			/** @deprecated */
			public static getEastAsianWidth(param0: string): number;
			/** @deprecated */
			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 getSpanTypeId(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(key: string, value: string);
			public describeContents(): number;
			public getKey(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(src: android.os.Parcel);
			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 getSize(view: android.view.View): number;
			public static get(src: string, start: number, end: number, view: android.view.View): string;
		}
	}
}

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(rtlContext: boolean): android.text.BidiFormatter;
			public unicodeWrap(str: string, heuristic: any): string;
			public static getInstance(locale: java.util.Locale): android.text.BidiFormatter;
			public unicodeWrap(str: string, isolate: boolean): string;
			public unicodeWrap(str: string): string;
			public isRtl(str: string): boolean;
			public static getInstance(): android.text.BidiFormatter;
			public isRtlContext(): boolean;
			public unicodeWrap(str: string, heuristic: any, isolate: boolean): string;
			public getStereoReset(): boolean;
		}
		export module BidiFormatter {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.text.BidiFormatter.Builder>;
				public stereoReset(stereoReset: boolean): android.text.BidiFormatter.Builder;
				public setTextDirectionHeuristic(heuristic: any): android.text.BidiFormatter.Builder;
				public constructor(rtlContext: boolean);
				public constructor(locale: java.util.Locale);
				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 getEllipsisCount(line: number): number;
			public getEllipsizedWidth(): number;
			public draw(c: android.graphics.Canvas): void;
			public replaceOrMake(source: string, paint: android.text.TextPaint, outerWidth: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number, metrics: android.text.BoringLayout.Metrics, includePad: boolean, ellipsize: android.text.TextUtils.TruncateAt, ellipsizedWidth: number): android.text.BoringLayout;
			public static isBoring(text: string, paint: android.text.TextPaint, textDir: any, useFallbackLineSpacing: boolean, metrics: android.text.BoringLayout.Metrics): android.text.BoringLayout.Metrics;
			public draw(canvas: android.graphics.Canvas, highlightPaths: java.util.List<android.graphics.Path>, highlightPaints: java.util.List<android.graphics.Paint>, selectionPath: android.graphics.Path, selectionPaint: android.graphics.Paint, cursorOffsetVertical: number): void;
			public ellipsized(param0: number, param1: number): void;
			public static isBoring(text: string, paint: android.text.TextPaint): android.text.BoringLayout.Metrics;
			public getLineCount(): number;
			public ellipsized(start: number, end: number): void;
			public constructor(source: string, paint: android.text.TextPaint, outerWidth: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number, metrics: android.text.BoringLayout.Metrics, includePad: boolean, ellipsize: android.text.TextUtils.TruncateAt, ellipsizedWidth: number);
			public getLineDescent(line: number): number;
			public static isBoring(text: string, paint: android.text.TextPaint, metrics: android.text.BoringLayout.Metrics): android.text.BoringLayout.Metrics;
			public getLineMax(line: number): number;
			public replaceOrMake(source: string, paint: android.text.TextPaint, outerWidth: number, align: android.text.Layout.Alignment, metrics: android.text.BoringLayout.Metrics, includePad: boolean, ellipsize: android.text.TextUtils.TruncateAt, ellipsizedWidth: number, useFallbackLineSpacing: boolean): android.text.BoringLayout;
			public draw(c: android.graphics.Canvas, highlight: android.graphics.Path, highlightpaint: android.graphics.Paint, cursorOffset: number): void;
			public computeDrawingBoundingBox(): android.graphics.RectF;
			public static make(source: string, paint: android.text.TextPaint, outerWidth: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number, metrics: android.text.BoringLayout.Metrics, includePad: boolean): android.text.BoringLayout;
			public getTopPadding(): number;
			public isFallbackLineSpacingEnabled(): boolean;
			public getBottomPadding(): number;
			public static make(source: string, paint: android.text.TextPaint, outerWidth: number, align: android.text.Layout.Alignment, spacingmult: number, spacingadd: number, metrics: android.text.BoringLayout.Metrics, includePad: boolean, ellipsize: android.text.TextUtils.TruncateAt, ellipsizedWidth: number): android.text.BoringLayout;
			public getLineContainsTab(line: number): boolean;
			public getEllipsisStart(line: number): number;
			public getHeight(): number;
			public getLineDirections(line: number): android.text.Layout.Directions;
			public getLineTop(line: number): number;
			public constructor(source: string, paint: android.text.TextPaint, outerwidth: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number, metrics: android.text.BoringLayout.Metrics, includePad: boolean);
			public constructor(source: string, paint: android.text.TextPaint, outerWidth: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number, metrics: android.text.BoringLayout.Metrics, includePad: boolean, ellipsize: android.text.TextUtils.TruncateAt, ellipsizedWidth: number, useFallbackLineSpacing: boolean);
			public replaceOrMake(source: string, paint: android.text.TextPaint, outerwidth: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number, metrics: android.text.BoringLayout.Metrics, includePad: boolean): android.text.BoringLayout;
			public getParagraphDirection(line: number): number;
			public getLineStart(line: number): number;
			public constructor(text: string, paint: android.text.TextPaint, width: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number);
			public static make(source: string, paint: android.text.TextPaint, outerWidth: number, align: android.text.Layout.Alignment, metrics: android.text.BoringLayout.Metrics, includePad: boolean, ellipsize: android.text.TextUtils.TruncateAt, ellipsizedWidth: number, useFallbackLineSpacing: boolean): android.text.BoringLayout;
			public getLineWidth(line: number): 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 getDrawingBoundingBox(): android.graphics.RectF;
				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>;
			/** @deprecated */
			public getText(): string;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public hasText(): boolean;
			/** @deprecated */
			public setText(param0: string): void;
		}
	}
}

declare module android {
	export module text {
		export class DynamicLayout extends android.text.Layout {
			public static class: java.lang.Class<android.text.DynamicLayout>;
			public getLineBreakConfig(): android.graphics.text.LineBreakConfig;
			public getLineContainsTab(line: number): boolean;
			public getEllipsisStart(line: number): number;
			public getEllipsizedWidth(): number;
			public getEllipsisCount(line: number): number;
			public getLineDirections(line: number): android.text.Layout.Directions;
			public getLineTop(line: number): number;
			public getParagraphDirection(line: number): number;
			public getLineCount(): number;
			public getLineStart(line: number): number;
			/** @deprecated */
			public constructor(base: string, display: string, paint: android.text.TextPaint, width: number, align: android.text.Layout.Alignment, spacingmult: number, spacingadd: number, includepad: boolean, ellipsize: android.text.TextUtils.TruncateAt, ellipsizedWidth: number);
			public getLineDescent(line: number): number;
			/** @deprecated */
			public constructor(base: string, paint: android.text.TextPaint, width: number, align: android.text.Layout.Alignment, spacingmult: number, spacingadd: number, includepad: boolean);
			public constructor(text: string, paint: android.text.TextPaint, width: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number);
			public getTopPadding(): number;
			/** @deprecated */
			public constructor(base: string, display: string, paint: android.text.TextPaint, width: number, align: android.text.Layout.Alignment, spacingmult: number, spacingadd: number, includepad: boolean);
			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(justificationMode: number): android.text.DynamicLayout.Builder;
				public setLineBreakConfig(lineBreakConfig: android.graphics.text.LineBreakConfig): android.text.DynamicLayout.Builder;
				public setIncludePad(includePad: boolean): android.text.DynamicLayout.Builder;
				public setUseLineSpacingFromFallbacks(useLineSpacingFromFallbacks: boolean): android.text.DynamicLayout.Builder;
				public setBreakStrategy(breakStrategy: number): android.text.DynamicLayout.Builder;
				public setEllipsize(ellipsize: android.text.TextUtils.TruncateAt): android.text.DynamicLayout.Builder;
				public setHyphenationFrequency(hyphenationFrequency: number): android.text.DynamicLayout.Builder;
				public setUseBoundsForWidth(useBoundsForWidth: boolean): android.text.DynamicLayout.Builder;
				public setEllipsizedWidth(ellipsizedWidth: number): android.text.DynamicLayout.Builder;
				public setTextDirection(textDir: any): android.text.DynamicLayout.Builder;
				public setLineSpacing(spacingAdd: number, spacingMult: number): android.text.DynamicLayout.Builder;
				public static obtain(base: string, paint: android.text.TextPaint, width: number): android.text.DynamicLayout.Builder;
				public build(): android.text.DynamicLayout;
				public setShiftDrawingOffsetForStartOverhang(shiftDrawingOffsetForStartOverhang: boolean): android.text.DynamicLayout.Builder;
				public setMinimumFontMetrics(minimumFontMetrics: android.graphics.Paint.FontMetrics): android.text.DynamicLayout.Builder;
				public setAlignment(alignment: android.text.Layout.Alignment): android.text.DynamicLayout.Builder;
				public setDisplayText(display: string): 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: androidNative.Array<android.text.InputFilter>): void;
				getFilters(): androidNative.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;
				isEmpty(): boolean;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				compare(cs1: string, cs2: string): number;
				getChars(param0: number, param1: number, param2: androidNative.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;
				isEmpty(): boolean;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				compare(cs1: string, cs2: string): number;
				getSpans(param0: number, param1: number, param2: java.lang.Class<any>): androidNative.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;
				isEmpty(): boolean;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				compare(cs1: string, cs2: string): number;
			});
			public constructor();
			public static SPAN_EXCLUSIVE_INCLUSIVE: 34;
			public static SPAN_MARK_POINT: 18;
			public static SPAN_EXCLUSIVE_EXCLUSIVE: 33;
			public static SPAN_USER: -16777216;
			public static SPAN_PRIORITY_SHIFT: 16;
			public static SPAN_POINT_MARK: 33;
			public static SPAN_INCLUSIVE_EXCLUSIVE: 17;
			public static SPAN_USER_SHIFT: 24;
			public static SPAN_PRIORITY: 16711680;
			public static SPAN_INTERMEDIATE: 512;
			public static SPAN_POINT_MARK_MASK: 51;
			public static SPAN_COMPOSING: 256;
			public static SPAN_MARK_MARK: 17;
			public static SPAN_PARAGRAPH: 51;
			public static SPAN_INCLUSIVE_INCLUSIVE: 18;
			public static SPAN_POINT_POINT: 34;
			public static compare(cs1: string, cs2: string): number;
			public insert(param0: number, param1: string, param2: number, param3: number): android.text.Editable;
			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 setFilters(param0: androidNative.Array<android.text.InputFilter>): void;
			public subSequence(param0: number, param1: number): string;
			public replace(param0: number, param1: number, param2: string): android.text.Editable;
			public getFilters(): androidNative.Array<android.text.InputFilter>;
			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 isEmpty(): boolean;
			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 getSpans(param0: number, param1: number, param2: java.lang.Class<any>): androidNative.Array<any>;
			public charAt(param0: number): string;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public getChars(param0: number, param1: number, param2: androidNative.Array<string>, param3: number): void;
			public removeSpan(param0: any): void;
			public append(param0: string): java.lang.Appendable;
		}
		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(source: string): android.text.Editable;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export class EmojiConsistency extends java.lang.Object {
			public static class: java.lang.Class<android.text.EmojiConsistency>;
			public static getEmojiConsistencySet(): java.util.Set<androidNative.Array<number>>;
		}
	}
}

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: androidNative.Array<string>, param3: number): void;
				length(): number;
				charAt(param0: number): string;
				isEmpty(): boolean;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				compare(cs1: string, cs2: string): number;
			});
			public constructor();
			public static compare(cs1: string, cs2: string): number;
			public charAt(param0: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public isEmpty(): boolean;
			public length(): number;
			public getChars(param0: number, param1: number, param2: androidNative.Array<string>, param3: number): void;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
	}
}

declare module android {
	export module text {
		export class GraphemeClusterSegmentFinder extends android.text.SegmentFinder {
			public static class: java.lang.Class<android.text.GraphemeClusterSegmentFinder>;
			public previousStartBoundary(offset: number): number;
			public nextStartBoundary(offset: number): number;
			public previousEndBoundary(offset: number): number;
			public nextEndBoundary(offset: number): number;
			public constructor();
			public constructor(text: string, textPaint: android.text.TextPaint);
		}
	}
}

declare module android {
	export module text {
		export class Highlights extends java.lang.Object {
			public static class: java.lang.Class<android.text.Highlights>;
			public getPaint(index: number): android.graphics.Paint;
			public getRanges(index: number): androidNative.Array<number>;
			public getSize(): number;
		}
		export module Highlights {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.text.Highlights.Builder>;
				public build(): android.text.Highlights;
				public addRange(paint: android.graphics.Paint, start: number, end: number): android.text.Highlights.Builder;
				public addRanges(paint: android.graphics.Paint, ranges: androidNative.Array<number>): android.text.Highlights.Builder;
				public constructor();
			}
		}
	}
}

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: 63;
			public static FROM_HTML_MODE_LEGACY: 0;
			public static FROM_HTML_OPTION_USE_CSS_COLORS: 256;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE: 32;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_DIV: 16;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_HEADING: 2;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_LIST: 8;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM: 4;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH: 1;
			public static TO_HTML_PARAGRAPH_LINES_CONSECUTIVE: 0;
			public static TO_HTML_PARAGRAPH_LINES_INDIVIDUAL: 1;
			public static toHtml(text: android.text.Spanned, option: number): string;
			/** @deprecated */
			public static fromHtml(source: string): android.text.Spanned;
			public static fromHtml(source: string, flags: number): android.text.Spanned;
			public static fromHtml(source: string, flags: number, imageGetter: android.text.Html.ImageGetter, tagHandler: android.text.Html.TagHandler): android.text.Spanned;
			/** @deprecated */
			public static toHtml(text: android.text.Spanned): string;
			/** @deprecated */
			public static fromHtml(source: string, imageGetter: android.text.Html.ImageGetter, tagHandler: android.text.Html.TagHandler): android.text.Spanned;
			public static escapeHtml(text: string): string;
		}
		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 filter(source: string, start: number, end: number, dest: android.text.Spanned, dstart: number, dend: number): string;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor(locale: java.util.Locale);
				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(max: number);
				public filter(source: string, start: number, end: number, dest: android.text.Spanned, dstart: number, dend: number): string;
				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_EMAIL_SUBJECT: 48;
			public static TYPE_MASK_FLAGS: 16773120;
			public static TYPE_TEXT_VARIATION_WEB_EDIT_TEXT: 160;
			public static TYPE_NULL: 0;
			public static TYPE_TEXT_VARIATION_PHONETIC: 192;
			public static TYPE_TEXT_VARIATION_VISIBLE_PASSWORD: 144;
			public static TYPE_CLASS_NUMBER: 2;
			public static TYPE_TEXT_FLAG_ENABLE_TEXT_CONVERSION_SUGGESTIONS: 1048576;
			public static TYPE_TEXT_VARIATION_NORMAL: 0;
			public static TYPE_TEXT_FLAG_AUTO_COMPLETE: 65536;
			public static TYPE_TEXT_FLAG_IME_MULTI_LINE: 262144;
			public static TYPE_TEXT_VARIATION_PERSON_NAME: 96;
			public static TYPE_NUMBER_VARIATION_NORMAL: 0;
			public static TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS: 208;
			public static TYPE_NUMBER_FLAG_SIGNED: 4096;
			public static TYPE_DATETIME_VARIATION_DATE: 16;
			public static TYPE_CLASS_DATETIME: 4;
			public static TYPE_TEXT_FLAG_MULTI_LINE: 131072;
			public static TYPE_CLASS_TEXT: 1;
			public static TYPE_MASK_VARIATION: 4080;
			public static TYPE_TEXT_VARIATION_PASSWORD: 128;
			public static TYPE_TEXT_FLAG_CAP_CHARACTERS: 4096;
			public static TYPE_TEXT_VARIATION_EMAIL_ADDRESS: 32;
			public static TYPE_TEXT_FLAG_CAP_SENTENCES: 16384;
			public static TYPE_TEXT_FLAG_AUTO_CORRECT: 32768;
			public static TYPE_NUMBER_FLAG_DECIMAL: 8192;
			public static TYPE_TEXT_VARIATION_URI: 16;
			public static TYPE_NUMBER_VARIATION_PASSWORD: 16;
			public static TYPE_TEXT_VARIATION_POSTAL_ADDRESS: 112;
			public static TYPE_MASK_CLASS: 15;
			public static TYPE_TEXT_FLAG_CAP_WORDS: 8192;
			public static TYPE_TEXT_VARIATION_FILTER: 176;
			public static TYPE_TEXT_VARIATION_WEB_PASSWORD: 224;
			public static TYPE_TEXT_VARIATION_SHORT_MESSAGE: 64;
			public static TYPE_DATETIME_VARIATION_TIME: 32;
			public static TYPE_TEXT_VARIATION_LONG_MESSAGE: 80;
			public static TYPE_CLASS_PHONE: 3;
			public static TYPE_DATETIME_VARIATION_NORMAL: 0;
			public static TYPE_TEXT_FLAG_NO_SUGGESTIONS: 524288;
		}
	}
}

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: 2;
			public static BREAK_STRATEGY_HIGH_QUALITY: 1;
			public static BREAK_STRATEGY_SIMPLE: 0;
			public static DEFAULT_LINESPACING_ADDITION: 0.0;
			public static DEFAULT_LINESPACING_MULTIPLIER: 1.0;
			public static DIR_LEFT_TO_RIGHT: 1;
			public static DIR_RIGHT_TO_LEFT: -1;
			public static HYPHENATION_FREQUENCY_FULL: 2;
			public static HYPHENATION_FREQUENCY_FULL_FAST: 4;
			public static HYPHENATION_FREQUENCY_NONE: 0;
			public static HYPHENATION_FREQUENCY_NORMAL: 1;
			public static HYPHENATION_FREQUENCY_NORMAL_FAST: 3;
			public static INCLUSION_STRATEGY_ANY_OVERLAP: android.text.Layout.TextInclusionStrategy;
			public static INCLUSION_STRATEGY_CONTAINS_ALL: android.text.Layout.TextInclusionStrategy;
			public static INCLUSION_STRATEGY_CONTAINS_CENTER: android.text.Layout.TextInclusionStrategy;
			public static JUSTIFICATION_MODE_INTER_CHARACTER: 2;
			public static JUSTIFICATION_MODE_INTER_WORD: 1;
			public static JUSTIFICATION_MODE_NONE: 0;
			public getOffsetToRightOf(offset: number): number;
			public getEllipsisStart(param0: number): number;
			public getEllipsizedWidth(): number;
			public draw(c: android.graphics.Canvas): void;
			public drawText(canvas: android.graphics.Canvas): void;
			public getWidth(): number;
			public draw(canvas: android.graphics.Canvas, highlightPaths: java.util.List<android.graphics.Path>, highlightPaints: java.util.List<android.graphics.Paint>, selectionPath: android.graphics.Path, selectionPaint: android.graphics.Paint, cursorOffsetVertical: number): void;
			public isFontPaddingIncluded(): boolean;
			public draw(canvas: android.graphics.Canvas, selectionHighlight: android.graphics.Path, selectionHighlightPaint: android.graphics.Paint, cursorOffsetVertical: number): void;
			public getLineCount(): number;
			public getSpacingAdd(): number;
			public computeDrawingBoundingBox(): android.graphics.RectF;
			public isFallbackLineSpacingEnabled(): boolean;
			public getLineContainsTab(param0: number): boolean;
			public getLineLetterSpacingUnitCount(line: number, includeTrailingWhitespace: boolean): number;
			public getLineAscent(line: number): number;
			public getHeight(): number;
			public getMinimumFontMetrics(): android.graphics.Paint.FontMetrics;
			public getSecondaryHorizontal(offset: number): number;
			public getCursorPath(point: number, dest: android.graphics.Path, editingBuffer: string): void;
			public getText(): string;
			public getLeftIndents(): androidNative.Array<number>;
			public getSelectionPath(start: number, end: number, dest: android.graphics.Path): void;
			public getLineBottom(line: number): number;
			public getAlignment(): android.text.Layout.Alignment;
			public getSpacingMultiplier(): number;
			public getLineRight(line: number): number;
			public getEllipsize(): android.text.TextUtils.TruncateAt;
			public fillCharacterBounds(start: number, end: number, bounds: androidNative.Array<number>, boundsStart: number): void;
			public getPrimaryHorizontal(offset: number): number;
			public getLineTop(param0: number): number;
			public isSpanned(): boolean;
			public getLineSpacingAmount(): number;
			public getLineBreakConfig(): android.graphics.text.LineBreakConfig;
			public getBreakStrategy(): number;
			public increaseWidthTo(wid: number): void;
			public getOffsetForHorizontal(line: number, horiz: number): number;
			public getRangeForRect(area: android.graphics.RectF, segmentFinder: android.text.SegmentFinder, inclusionStrategy: android.text.Layout.TextInclusionStrategy): androidNative.Array<number>;
			public getLineForVertical(vertical: number): number;
			public getRightIndents(): androidNative.Array<number>;
			public getLineVisibleEnd(line: number): number;
			public getTextDirectionHeuristic(): any;
			public getJustificationMode(): number;
			public getEllipsisCount(param0: number): number;
			public getHyphenationFrequency(): number;
			public getParagraphRight(line: number): number;
			public static getDesiredWidth(source: string, start: number, end: number, paint: android.text.TextPaint): number;
			public getParagraphDirection(param0: number): number;
			public getLineMax(line: number): number;
			public getLineLeft(line: number): number;
			public getUseBoundsForWidth(): boolean;
			public getTopPadding(): number;
			public getLineBounds(line: number, bounds: android.graphics.Rect): number;
			public getBottomPadding(): number;
			public getLineSpacingMultiplier(): number;
			public getShiftDrawingOffsetForStartOverhang(): boolean;
			public getLineForOffset(offset: number): number;
			public getOffsetToLeftOf(offset: number): number;
			public static getDesiredWidth(source: string, paint: android.text.TextPaint): number;
			public getLineStart(param0: number): number;
			public getMaxLines(): number;
			public getLineEnd(line: number): number;
			public getLineBottom(line: number, includeLineSpacing: boolean): number;
			public isRtlCharAt(offset: number): boolean;
			public getPaint(): android.text.TextPaint;
			public getParagraphAlignment(line: number): android.text.Layout.Alignment;
			public constructor(text: string, paint: android.text.TextPaint, width: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number);
			public getLineDirections(param0: number): android.text.Layout.Directions;
			public drawBackground(canvas: android.graphics.Canvas): void;
			public getParagraphLeft(line: number): number;
			public getLineDescent(param0: number): number;
			public getLineBaseline(line: number): number;
			public getLineWidth(line: 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 valueOf(name: string): android.text.Layout.Alignment;
				public static values(): androidNative.Array<android.text.Layout.Alignment>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			}
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.text.Layout.Builder>;
				public setShiftDrawingOffsetForStartOverhang(shiftDrawingOffsetForStartOverhang: boolean): android.text.Layout.Builder;
				public setEllipsize(ellipsize: android.text.TextUtils.TruncateAt): android.text.Layout.Builder;
				public setUseBoundsForWidth(useBoundsForWidth: boolean): android.text.Layout.Builder;
				public constructor(text: string, start: number, end: number, paint: android.text.TextPaint, width: number);
				public setLeftIndents(leftIndents: androidNative.Array<number>): android.text.Layout.Builder;
				public setBreakStrategy(breakStrategy: number): android.text.Layout.Builder;
				public setHyphenationFrequency(hyphenationFrequency: number): android.text.Layout.Builder;
				public setMinimumFontMetrics(minimumFontMetrics: android.graphics.Paint.FontMetrics): android.text.Layout.Builder;
				public build(): android.text.Layout;
				public setMaxLines(maxLines: number): android.text.Layout.Builder;
				public setEllipsizedWidth(ellipsizeWidth: number): android.text.Layout.Builder;
				public setJustificationMode(justificationMode: number): android.text.Layout.Builder;
				public setTextDirectionHeuristic(textDirection: any): android.text.Layout.Builder;
				public setRightIndents(rightIndents: androidNative.Array<number>): android.text.Layout.Builder;
				public setLineSpacingAmount(amount: number): android.text.Layout.Builder;
				public setLineBreakConfig(lineBreakConfig: android.graphics.text.LineBreakConfig): android.text.Layout.Builder;
				public setAlignment(alignment: android.text.Layout.Alignment): android.text.Layout.Builder;
				public setLineSpacingMultiplier(multiplier: number): android.text.Layout.Builder;
				public setFontPaddingIncluded(includeFontPadding: boolean): android.text.Layout.Builder;
				public setFallbackLineSpacingEnabled(fallbackLineSpacing: boolean): android.text.Layout.Builder;
			}
			export class Directions extends java.lang.Object {
				public static class: java.lang.Class<android.text.Layout.Directions>;
			}
			export class TextInclusionStrategy extends java.lang.Object {
				public static class: java.lang.Class<android.text.Layout.TextInclusionStrategy>;
				/**
				 * Constructs a new instance of the android.text.Layout$TextInclusionStrategy interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isSegmentInside(param0: android.graphics.RectF, param1: android.graphics.RectF): boolean;
				});
				public constructor();
				public isSegmentInside(param0: android.graphics.RectF, param1: android.graphics.RectF): boolean;
			}
		}
	}
}

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>;
			/** @deprecated */
			public isAllowed(param0: string): boolean;
			/** @deprecated */
			public onInvalidCharacter(c: string): void;
			/** @deprecated */
			public onStop(): void;
			public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
			/** @deprecated */
			public filter(source: string, start: number, end: number, dest: android.text.Spanned, dstart: number, dend: number): string;
			/** @deprecated */
			public onStart(): void;
		}
		export module LoginFilter {
			export class PasswordFilterGMail extends android.text.LoginFilter {
				public static class: java.lang.Class<android.text.LoginFilter.PasswordFilterGMail>;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public constructor(appendInvalid: boolean);
				/** @deprecated */
				public isAllowed(c: string): boolean;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
			}
			export class UsernameFilterGMail extends android.text.LoginFilter {
				public static class: java.lang.Class<android.text.LoginFilter.UsernameFilterGMail>;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public constructor(appendInvalid: boolean);
				/** @deprecated */
				public isAllowed(c: string): boolean;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
			}
			export class UsernameFilterGeneric extends android.text.LoginFilter {
				public static class: java.lang.Class<android.text.LoginFilter.UsernameFilterGeneric>;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public constructor(appendInvalid: boolean);
				/** @deprecated */
				public isAllowed(c: string): boolean;
				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 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: 1;
			public static CONTENTS_FILE_DESCRIPTOR: 1;
			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 static compare(cs1: string, cs2: string): number;
			public getSpanEnd(param0: any): number;
			public nextSpanTransition(start: number, limit: number, type: java.lang.Class<any>): number;
			public getSpanFlags(param0: any): number;
			public getWidth(start: number, end: number): number;
			public subSequence(start: number, end: number): string;
			public static create(text: string, params: any): any;
			public setSpan(what: any, start: number, end: number, flags: number): void;
			public getBounds(start: number, end: number, bounds: android.graphics.Rect): void;
			public subSequence(param0: number, param1: number): string;
			public setSpan(param0: any, param1: number, param2: number, param3: number): void;
			public getParagraphEnd(paraIndex: number): number;
			public getSpanFlags(tag: any): number;
			public removeSpan(what: any): void;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public isEmpty(): boolean;
			public getSpans(start: number, end: number, type: java.lang.Class<any>): androidNative.Array<any>;
			public charAt(index: number): string;
			public getSpanEnd(tag: any): number;
			public length(): number;
			public getSpanStart(param0: any): number;
			public getParams(): any;
			public getParagraphCount(): number;
			public getFontMetricsInt(start: number, end: number, outMetrics: android.graphics.Paint.FontMetricsInt): void;
			public getParagraphStart(paraIndex: number): number;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): androidNative.Array<any>;
			public charAt(param0: number): string;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public getSpanStart(tag: any): number;
			public removeSpan(param0: any): void;
		}
		export module PrecomputedText {
			export class Params extends java.lang.Object {
				public static class: java.lang.Class<any>;
				public getLineBreakConfig(): android.graphics.text.LineBreakConfig;
				public hashCode(): number;
				public getTextPaint(): android.text.TextPaint;
				public equals(o: any): boolean;
				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(strategy: number): any;
					public setTextDirection(textDir: any): any;
					public build(): any;
					public setLineBreakConfig(lineBreakConfig: android.graphics.text.LineBreakConfig): any;
					public constructor(paint: android.text.TextPaint);
					public constructor(params: any);
					public setHyphenationFrequency(frequency: number): any;
				}
			}
		}
	}
}

declare module android {
	export module text {
		export abstract class SegmentFinder extends java.lang.Object {
			public static class: java.lang.Class<android.text.SegmentFinder>;
			public static DONE: -1;
			public previousEndBoundary(param0: number): number;
			public nextEndBoundary(param0: number): number;
			public previousStartBoundary(param0: number): number;
			public nextStartBoundary(param0: number): number;
			public constructor();
		}
		export module SegmentFinder {
			export class PrescribedSegmentFinder extends android.text.SegmentFinder {
				public static class: java.lang.Class<android.text.SegmentFinder.PrescribedSegmentFinder>;
				public nextEndBoundary(offset: number): number;
				public previousStartBoundary(offset: number): number;
				public previousEndBoundary(offset: number): number;
				public nextStartBoundary(offset: number): number;
				public constructor(segments: androidNative.Array<number>);
				public constructor();
			}
		}
	}
}

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 extendDown(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static removeSelection(text: android.text.Spannable): void;
			public static setSelection(text: android.text.Spannable, index: number): void;
			public static moveUp(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static setSelection(text: android.text.Spannable, start: number, stop: number): void;
			public static getSelectionEnd(text: string): number;
			public static moveRight(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static extendToLeftEdge(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static extendToParagraphEnd(text: android.text.Spannable): boolean;
			public static extendLeft(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static moveToParagraphEnd(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static moveDown(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static moveLeft(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static extendToParagraphStart(text: android.text.Spannable): boolean;
			public static moveToRightEdge(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static moveToParagraphStart(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static extendRight(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static extendToRightEdge(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static moveToLeftEdge(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static getSelectionStart(text: string): number;
			public static extendSelection(text: android.text.Spannable, index: number): void;
			public static extendUp(text: android.text.Spannable, layout: android.text.Layout): boolean;
			public static selectAll(text: android.text.Spannable): void;
		}
	}
}

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>): androidNative.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;
				isEmpty(): boolean;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				compare(cs1: string, cs2: string): number;
			});
			public constructor();
			public static SPAN_EXCLUSIVE_INCLUSIVE: 34;
			public static SPAN_MARK_POINT: 18;
			public static SPAN_EXCLUSIVE_EXCLUSIVE: 33;
			public static SPAN_USER: -16777216;
			public static SPAN_PRIORITY_SHIFT: 16;
			public static SPAN_POINT_MARK: 33;
			public static SPAN_INCLUSIVE_EXCLUSIVE: 17;
			public static SPAN_USER_SHIFT: 24;
			public static SPAN_PRIORITY: 16711680;
			public static SPAN_INTERMEDIATE: 512;
			public static SPAN_POINT_MARK_MASK: 51;
			public static SPAN_COMPOSING: 256;
			public static SPAN_MARK_MARK: 17;
			public static SPAN_PARAGRAPH: 51;
			public static SPAN_INCLUSIVE_INCLUSIVE: 18;
			public static SPAN_POINT_POINT: 34;
			public static compare(cs1: string, cs2: string): number;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public isEmpty(): boolean;
			public length(): number;
			public getSpanStart(param0: any): number;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): androidNative.Array<any>;
			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 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 newSpannable(source: string): android.text.Spannable;
				public static getInstance(): android.text.Spannable.Factory;
				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 static compare(cs1: string, cs2: string): number;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public subSequence(start: number, end: number): string;
			public setSpan(what: any, start: number, end: number, flags: number): void;
			public subSequence(param0: number, param1: number): string;
			public getSpanStart(what: any): number;
			public getSpans(queryStart: number, queryEnd: number, kind: java.lang.Class<any>): androidNative.Array<any>;
			public setSpan(param0: any, param1: number, param2: number, param3: number): void;
			public removeSpan(what: any): void;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public constructor(source: string);
			public charAt(i: number): string;
			public isEmpty(): boolean;
			public length(): number;
			public getSpanStart(param0: any): number;
			public static valueOf(source: string): android.text.SpannableString;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): androidNative.Array<any>;
			public charAt(param0: number): string;
			public getSpanFlags(what: any): number;
			public toString(): string;
			public getChars(start: number, end: number, dest: androidNative.Array<string>, off: number): void;
			public equals(o: any): boolean;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public getSpanEnd(what: any): number;
			public getChars(param0: number, param1: number, param2: androidNative.Array<string>, param3: number): void;
			public nextSpanTransition(start: number, limit: number, kind: java.lang.Class<any>): number;
			public removeSpan(param0: any): void;
			public hashCode(): number;
		}
	}
}

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 getSpanFlags(param0: any): number;
			public delete(param0: number, param1: number): android.text.Editable;
			public constructor(text: string);
			public subSequence(param0: number, param1: number): string;
			public getFilters(): androidNative.Array<android.text.InputFilter>;
			public getChars(start: number, end: number, dest: androidNative.Array<string>, destoff: number): void;
			public setSpan(param0: any, param1: number, param2: number, param3: number): void;
			public append(text: string, what: any, flags: number): android.text.SpannableStringBuilder;
			public replace(start: number, end: number, tb: string): android.text.SpannableStringBuilder;
			public removeSpan(what: any): void;
			public clear(): void;
			public clearSpans(): void;
			public append(text: string): android.text.SpannableStringBuilder;
			public insert(param0: number, param1: string): android.text.Editable;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(text: string, start: number, end: number);
			public setFilters(filters: androidNative.Array<android.text.InputFilter>): void;
			public replace(param0: number, param1: number, param2: string, param3: number, param4: number): android.text.Editable;
			public charAt(param0: number): string;
			public getSpanFlags(what: any): number;
			public equals(o: any): boolean;
			public nextSpanTransition(start: number, limit: number, kind: java.lang.Class<any>): number;
			/** @deprecated */
			public getTextRunCursor(contextStart: number, contextEnd: number, dir: number, offset: number, cursorOpt: number, p: android.graphics.Paint): number;
			public insert(where: number, tb: string, start: number, end: number): android.text.SpannableStringBuilder;
			public static compare(cs1: string, cs2: string): number;
			public insert(param0: number, param1: string, param2: number, param3: number): android.text.Editable;
			public getSpanEnd(param0: any): number;
			public delete(start: number, end: number): android.text.SpannableStringBuilder;
			public append(param0: string): android.text.Editable;
			public subSequence(start: number, end: number): string;
			public replace(start: number, end: number, tb: string, tbstart: number, tbend: number): android.text.SpannableStringBuilder;
			public charAt(where: number): string;
			public setFilters(param0: androidNative.Array<android.text.InputFilter>): void;
			public setSpan(what: any, start: number, end: number, flags: number): void;
			public getSpanStart(what: any): number;
			public replace(param0: number, param1: number, param2: string): android.text.Editable;
			public getSpans(queryStart: number, queryEnd: number, kind: java.lang.Class<any>): androidNative.Array<any>;
			public append(param0: string, param1: number, param2: number): android.text.Editable;
			public getTextWatcherDepth(): number;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public isEmpty(): boolean;
			public length(): number;
			public getSpanStart(param0: any): number;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): androidNative.Array<any>;
			public append(text: string, start: number, end: number): android.text.SpannableStringBuilder;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public insert(where: number, tb: string): android.text.SpannableStringBuilder;
			public getSpanEnd(what: any): number;
			public getChars(param0: number, param1: number, param2: androidNative.Array<string>, param3: number): void;
			public removeSpan(param0: any): void;
			public append(param0: string): java.lang.Appendable;
			public static valueOf(source: string): android.text.SpannableStringBuilder;
			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>): androidNative.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;
				isEmpty(): boolean;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				compare(cs1: string, cs2: string): number;
			});
			public constructor();
			public static SPAN_EXCLUSIVE_INCLUSIVE: 34;
			public static SPAN_MARK_POINT: 18;
			public static SPAN_EXCLUSIVE_EXCLUSIVE: 33;
			public static SPAN_USER: -16777216;
			public static SPAN_PRIORITY_SHIFT: 16;
			public static SPAN_POINT_MARK: 33;
			public static SPAN_INCLUSIVE_EXCLUSIVE: 17;
			public static SPAN_USER_SHIFT: 24;
			public static SPAN_PRIORITY: 16711680;
			public static SPAN_INTERMEDIATE: 512;
			public static SPAN_POINT_MARK_MASK: 51;
			public static SPAN_COMPOSING: 256;
			public static SPAN_MARK_MARK: 17;
			public static SPAN_PARAGRAPH: 51;
			public static SPAN_INCLUSIVE_INCLUSIVE: 18;
			public static SPAN_POINT_POINT: 34;
			public static compare(cs1: string, cs2: string): number;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public isEmpty(): boolean;
			public length(): number;
			public getSpanStart(param0: any): number;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): androidNative.Array<any>;
			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 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 static compare(cs1: string, cs2: string): number;
			public static valueOf(source: string): android.text.SpannedString;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public subSequence(start: number, end: number): string;
			public subSequence(param0: number, param1: number): string;
			public getSpanStart(what: any): number;
			public getSpans(queryStart: number, queryEnd: number, kind: java.lang.Class<any>): androidNative.Array<any>;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public constructor(source: string);
			public charAt(i: number): string;
			public isEmpty(): boolean;
			public length(): number;
			public getSpanStart(param0: any): number;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): androidNative.Array<any>;
			public charAt(param0: number): string;
			public toString(): string;
			public getSpanFlags(what: any): number;
			public getChars(start: number, end: number, dest: androidNative.Array<string>, off: number): void;
			public equals(o: any): boolean;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public getSpanEnd(what: any): number;
			public getChars(param0: number, param1: number, param2: androidNative.Array<string>, param3: number): void;
			public nextSpanTransition(start: number, limit: number, kind: java.lang.Class<any>): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module text {
		export class StaticLayout extends android.text.Layout {
			public static class: java.lang.Class<android.text.StaticLayout>;
			public getLineContainsTab(line: number): boolean;
			public getEllipsisStart(line: number): number;
			public getEllipsisCount(line: number): number;
			public getLineForVertical(vertical: number): number;
			/** @deprecated */
			public constructor(source: string, bufstart: number, bufend: number, paint: android.text.TextPaint, outerwidth: number, align: android.text.Layout.Alignment, spacingmult: number, spacingadd: number, includepad: boolean);
			/** @deprecated */
			public constructor(source: string, paint: android.text.TextPaint, width: number, align: android.text.Layout.Alignment, spacingmult: number, spacingadd: number, includepad: boolean);
			public getLineDirections(line: number): android.text.Layout.Directions;
			public getLineTop(line: number): number;
			public getParagraphDirection(line: number): number;
			public getLineCount(): number;
			public getLineStart(line: number): number;
			public getLineDescent(line: number): number;
			/** @deprecated */
			public constructor(source: string, bufstart: number, bufend: number, paint: android.text.TextPaint, outerwidth: number, align: android.text.Layout.Alignment, spacingmult: number, spacingadd: number, includepad: boolean, ellipsize: android.text.TextUtils.TruncateAt, ellipsizedWidth: number);
			public constructor(text: string, paint: android.text.TextPaint, width: number, align: android.text.Layout.Alignment, spacingMult: number, spacingAdd: number);
			public computeDrawingBoundingBox(): android.graphics.RectF;
			public getTopPadding(): 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 setEllipsizedWidth(ellipsizedWidth: number): android.text.StaticLayout.Builder;
				public setHyphenationFrequency(hyphenationFrequency: number): android.text.StaticLayout.Builder;
				public setBreakStrategy(breakStrategy: number): android.text.StaticLayout.Builder;
				public setMinimumFontMetrics(minimumFontMetrics: android.graphics.Paint.FontMetrics): android.text.StaticLayout.Builder;
				public setText(source: string): android.text.StaticLayout.Builder;
				public static obtain(source: string, start: number, end: number, paint: android.text.TextPaint, width: number): android.text.StaticLayout.Builder;
				public setUseLineSpacingFromFallbacks(useLineSpacingFromFallbacks: boolean): android.text.StaticLayout.Builder;
				public setEllipsize(ellipsize: android.text.TextUtils.TruncateAt): android.text.StaticLayout.Builder;
				public setUseBoundsForWidth(useBoundsForWidth: boolean): android.text.StaticLayout.Builder;
				public setLineSpacing(spacingAdd: number, spacingMult: number): android.text.StaticLayout.Builder;
				public setJustificationMode(justificationMode: number): android.text.StaticLayout.Builder;
				public build(): android.text.StaticLayout;
				public setLineBreakConfig(lineBreakConfig: android.graphics.text.LineBreakConfig): android.text.StaticLayout.Builder;
				public setTextDirection(textDir: any): android.text.StaticLayout.Builder;
				public setMaxLines(maxLines: number): android.text.StaticLayout.Builder;
				public setShiftDrawingOffsetForStartOverhang(shiftDrawingOffsetForStartOverhang: boolean): android.text.StaticLayout.Builder;
				public setAlignment(alignment: android.text.Layout.Alignment): android.text.StaticLayout.Builder;
				public setIndents(leftIndents: androidNative.Array<number>, rightIndents: androidNative.Array<number>): android.text.StaticLayout.Builder;
				public setIncludePad(includePad: 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: androidNative.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: androidNative.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: androidNative.Array<number>;
			public linkColor: number;
			public underlineColor: number;
			public underlineThickness: number;
			public set(tp: android.text.TextPaint): void;
			public constructor(flags: number);
			public constructor(p: android.graphics.Paint);
			public constructor(paint: android.graphics.Paint);
			public constructor();
			public getUnderlineThickness(): number;
			public set(src: android.graphics.Paint): void;
		}
	}
}

declare module android {
	export module text {
		export class TextShaper extends java.lang.Object {
			public static class: java.lang.Class<android.text.TextShaper>;
			public static shapeText(text: string, start: number, count: number, dir: any, paint: android.text.TextPaint, consumer: android.text.TextShaper.GlyphsConsumer): void;
		}
		export module TextShaper {
			export class GlyphsConsumer extends java.lang.Object {
				public static class: java.lang.Class<android.text.TextShaper.GlyphsConsumer>;
				/**
				 * Constructs a new instance of the android.text.TextShaper$GlyphsConsumer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					accept(param0: number, param1: number, param2: android.graphics.text.PositionedGlyphs, param3: android.text.TextPaint): void;
				});
				public constructor();
				public accept(param0: number, param1: number, param2: android.graphics.text.PositionedGlyphs, param3: android.text.TextPaint): void;
			}
		}
	}
}

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: 4096;
			public static CAP_MODE_SENTENCES: 16384;
			public static CAP_MODE_WORDS: 8192;
			public static CHAR_SEQUENCE_CREATOR: android.os.Parcelable.Creator<string>;
			public static SAFE_STRING_FLAG_FIRST_LINE: 4;
			public static SAFE_STRING_FLAG_SINGLE_LINE: 2;
			public static SAFE_STRING_FLAG_TRIM: 1;
			public static isEmpty(str: string): boolean;
			public static indexOf(s: string, ch: string): number;
			public static indexOf(s: string, ch: string, start: number, end: number): number;
			public static indexOf(s: string, needle: string, start: number): number;
			public static getOffsetAfter(text: string, offset: number): number;
			public static copySpansFrom(source: android.text.Spanned, start: number, end: number, kind: java.lang.Class<any>, dest: android.text.Spannable, destoff: number): void;
			public static getLayoutDirectionFromLocale(locale: java.util.Locale): number;
			public static split(text: string, pattern: java.util.regex.Pattern): androidNative.Array<string>;
			public static makeSafeForPresentation(unclean: string, maxCharactersToConsider: number, ellipsizeDip: number, flags: number): string;
			/** @deprecated */
			public static getReverse(source: string, start: number, end: number): string;
			public static concat(text: androidNative.Array<string>): string;
			/** @deprecated */
			public static commaEllipsize(text: string, p: android.text.TextPaint, avail: number, oneMore: string, more: string): string;
			public static getCapsMode(cs: string, off: number, reqModes: number): number;
			public static stringOrSpannedString(source: string): string;
			public static indexOf(s: string, needle: string): number;
			public static listEllipsize(context: android.content.Context, elements: java.util.List<string>, separator: string, paint: android.text.TextPaint, avail: number, moreId: number): string;
			public static join(delimiter: string, tokens: java.lang.Iterable<any>): string;
			public static indexOf(s: string, needle: string, start: number, end: number): number;
			public static writeToParcel(cs: string, p: android.os.Parcel, parcelableFlags: number): void;
			public static split(text: string, expression: string): androidNative.Array<string>;
			public static getTrimmedLength(s: string): number;
			public static join(delimiter: string, tokens: androidNative.Array<any>): string;
			public static replace(template: string, sources: androidNative.Array<string>, destinations: androidNative.Array<string>): string;
			public static ellipsize(text: string, paint: android.text.TextPaint, avail: number, where: android.text.TextUtils.TruncateAt, preserveLength: boolean, callback: android.text.TextUtils.EllipsizeCallback): string;
			public static isDigitsOnly(str: string): boolean;
			public static equals(a: string, b: string): boolean;
			public static lastIndexOf(s: string, ch: string, start: number, last: number): number;
			public static regionMatches(one: string, toffset: number, two: string, ooffset: number, len: number): boolean;
			public static getChars(s: string, start: number, end: number, dest: androidNative.Array<string>, destoff: number): void;
			public static expandTemplate(template: string, values: androidNative.Array<string>): string;
			public static indexOf(s: string, ch: string, start: number): number;
			public static htmlEncode(s: string): string;
			public static lastIndexOf(s: string, ch: string): number;
			public static substring(source: string, start: number, end: number): string;
			/** @deprecated */
			public static isGraphic(c: string): boolean;
			public equals(obj: any): boolean;
			public static dumpSpans(cs: string, printer: android.util.Printer, prefix: string): void;
			public static ellipsize(text: string, p: android.text.TextPaint, avail: number, where: android.text.TextUtils.TruncateAt): string;
			public static getOffsetBefore(text: string, offset: number): number;
			public static isGraphic(str: string): boolean;
			public static lastIndexOf(s: string, ch: string, last: 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 next(): string;
				public iterator(): java.util.Iterator<any>;
				public setString(string: string): void;
				public forEach(action: any /* any*/): void;
				public constructor(delimiter: 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(action: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
				});
				public constructor();
				public spliterator(): java.util.Spliterator<any>;
				public setString(param0: string): void;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
			}
			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 valueOf(name: string): android.text.TextUtils.TruncateAt;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.text.TextUtils.TruncateAt>;
			}
		}
	}
}

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 class WordSegmentFinder extends android.text.SegmentFinder {
			public static class: java.lang.Class<android.text.WordSegmentFinder>;
			public previousStartBoundary(offset: number): number;
			public nextStartBoundary(offset: number): number;
			public previousEndBoundary(offset: number): number;
			public nextEndBoundary(offset: number): number;
			public constructor();
			public constructor(text: string, locale: android.icu.util.ULocale);
		}
	}
}

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(context: android.content.Context): boolean;
				public static getBestDateTimePattern(locale: java.util.Locale, skeleton: string): string;
				public static getTimeFormat(context: android.content.Context): java.text.DateFormat;
				public static getMediumDateFormat(context: android.content.Context): java.text.DateFormat;
				public static getLongDateFormat(context: android.content.Context): java.text.DateFormat;
				public static format(inFormat: string, inDate: java.util.Date): string;
				public static getDateFormat(context: android.content.Context): java.text.DateFormat;
				public static getDateFormatOrder(context: android.content.Context): androidNative.Array<string>;
				public static format(inFormat: string, inDate: java.util.Calendar): string;
				public constructor();
				public static format(inFormat: string, inTimeInMillis: number): 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: "%b";
				public static ABBREV_WEEKDAY_FORMAT: "%a";
				public static DAY_IN_MILLIS: 86400000;
				public static FORMAT_12HOUR: 64;
				public static FORMAT_24HOUR: 128;
				public static FORMAT_ABBREV_ALL: 524288;
				public static FORMAT_ABBREV_MONTH: 65536;
				public static FORMAT_ABBREV_RELATIVE: 262144;
				public static FORMAT_ABBREV_TIME: 16384;
				public static FORMAT_ABBREV_WEEKDAY: 32768;
				public static FORMAT_CAP_AMPM: 256;
				public static FORMAT_CAP_MIDNIGHT: 4096;
				public static FORMAT_CAP_NOON: 1024;
				public static FORMAT_CAP_NOON_MIDNIGHT: 5120;
				public static FORMAT_NO_MIDNIGHT: 2048;
				public static FORMAT_NO_MONTH_DAY: 32;
				public static FORMAT_NO_NOON: 512;
				public static FORMAT_NO_NOON_MIDNIGHT: 2560;
				public static FORMAT_NO_YEAR: 8;
				public static FORMAT_NUMERIC_DATE: 131072;
				public static FORMAT_SHOW_DATE: 16;
				public static FORMAT_SHOW_TIME: 1;
				public static FORMAT_SHOW_WEEKDAY: 2;
				public static FORMAT_SHOW_YEAR: 4;
				public static FORMAT_UTC: 8192;
				public static HOUR_IN_MILLIS: 3600000;
				public static HOUR_MINUTE_24: "%H:%M";
				public static LENGTH_LONG: 10;
				public static LENGTH_MEDIUM: 20;
				public static LENGTH_SHORT: 30;
				public static LENGTH_SHORTER: 40;
				public static LENGTH_SHORTEST: 50;
				public static MINUTE_IN_MILLIS: 60000;
				public static MONTH_DAY_FORMAT: "%-d";
				public static MONTH_FORMAT: "%B";
				public static NUMERIC_MONTH_FORMAT: "%m";
				public static SECOND_IN_MILLIS: 1000;
				public static WEEKDAY_FORMAT: "%A";
				public static WEEK_IN_MILLIS: 604800000;
				public static YEAR_FORMAT: "%Y";
				public static YEAR_FORMAT_TWO_DIGITS: "%g";
				public static YEAR_IN_MILLIS: 31449600000;
				public static sameMonthTable: androidNative.Array<number>;
				public static sameYearTable: androidNative.Array<number>;
				public static isToday(when: number): boolean;
				public static formatElapsedTime(elapsedSeconds: number): string;
				public static formatSameDayTime(then: number, now: number, dateStyle: number, timeStyle: number): string;
				/** @deprecated */
				public static getAMPMString(ampm: number): string;
				public static getRelativeTimeSpanString(c: android.content.Context, millis: number, withPreposition: boolean): string;
				/** @deprecated */
				public static getDayOfWeekString(dayOfWeek: number, abbrev: number): string;
				public static formatDateTime(context: android.content.Context, millis: number, flags: number): string;
				public static getRelativeDateTimeString(c: android.content.Context, time: number, minResolution: number, transitionResolution: number, flags: number): string;
				/** @deprecated */
				public static getMonthString(month: number, abbrev: number): string;
				public static getRelativeTimeSpanString(startTime: number): string;
				public static getRelativeTimeSpanString(c: android.content.Context, millis: number): string;
				public static getRelativeTimeSpanString(time: number, now: number, minResolution: number, flags: number): string;
				public static formatDateRange(context: android.content.Context, formatter: java.util.Formatter, startMillis: number, endMillis: number, flags: number): java.util.Formatter;
				public static formatDateRange(context: android.content.Context, startMillis: number, endMillis: number, flags: number): string;
				public static getRelativeTimeSpanString(time: number, now: number, minResolution: number): string;
				public constructor();
				public static formatElapsedTime(recycle: java.lang.StringBuilder, elapsedSeconds: number): string;
				public static formatDateRange(context: android.content.Context, formatter: java.util.Formatter, startMillis: number, endMillis: number, flags: number, timeZone: 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(context: android.content.Context, sizeBytes: number): string;
				public static formatShortFileSize(context: android.content.Context, sizeBytes: number): string;
				/** @deprecated */
				public static formatIpAddress(ipv4Address: 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: 2440588;
				public static FRIDAY: 5;
				public static HOUR: 3;
				public static MINUTE: 2;
				public static MONDAY: 1;
				public static MONDAY_BEFORE_JULIAN_EPOCH: 2440585;
				public static MONTH: 5;
				public static MONTH_DAY: 4;
				public static SATURDAY: 6;
				public static SECOND: 1;
				public static SUNDAY: 0;
				public static THURSDAY: 4;
				public static TIMEZONE_UTC: "UTC";
				public static TUESDAY: 2;
				public static WEDNESDAY: 3;
				public static WEEK_DAY: 7;
				public static WEEK_NUM: 9;
				public static YEAR: 6;
				public static YEAR_DAY: 8;
				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;
				/** @deprecated */
				public clear(timezoneId: string): void;
				/** @deprecated */
				public format(format: string): string;
				/** @deprecated */
				public format2445(): string;
				/** @deprecated */
				public static isEpoch(time: android.text.format.Time): boolean;
				/** @deprecated */
				public set(millis: number): void;
				/** @deprecated */
				public set(second: number, minute: number, hour: number, monthDay: number, month: number, year: number): void;
				/** @deprecated */
				public getWeekNumber(): number;
				/** @deprecated */
				public format3339(allDay: boolean): string;
				/** @deprecated */
				public static getJulianMondayFromWeeksSinceEpoch(week: number): number;
				/** @deprecated */
				public constructor(other: android.text.format.Time);
				/** @deprecated */
				public switchTimezone(timezone: string): void;
				/** @deprecated */
				public static compare(a: android.text.format.Time, b: android.text.format.Time): number;
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public setJulianDay(julianDay: number): number;
				/** @deprecated */
				public normalize(ignoreDst: boolean): number;
				/** @deprecated */
				public before(that: android.text.format.Time): boolean;
				/** @deprecated */
				public constructor(timezoneId: string);
				/** @deprecated */
				public after(that: android.text.format.Time): boolean;
				/** @deprecated */
				public static getWeeksSinceEpochFromJulianDay(julianDay: number, firstDayOfWeek: number): number;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public parse(s: string): boolean;
				/** @deprecated */
				public static getCurrentTimezone(): string;
				/** @deprecated */
				public static getJulianDay(millis: number, gmtoffSeconds: number): number;
				/** @deprecated */
				public set(monthDay: number, month: number, year: number): void;
				/** @deprecated */
				public parse3339(s: string): boolean;
				/** @deprecated */
				public getActualMaximum(field: number): number;
				/** @deprecated */
				public setToNow(): void;
				/** @deprecated */
				public toMillis(ignoreDst: boolean): number;
				/** @deprecated */
				public set(that: android.text.format.Time): 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 up(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public right(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public canSelectArbitrarily(): boolean;
				public pageUp(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public top(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public home(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
				public constructor();
				public handleMovementKey(widget: android.widget.TextView, buffer: android.text.Spannable, keyCode: number, movementMetaState: number, event: android.view.KeyEvent): boolean;
				public initialize(widget: android.widget.TextView, text: android.text.Spannable): void;
				public lineEnd(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public static getInstance(): android.text.method.MovementMethod;
				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 bottom(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public end(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public down(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public lineStart(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
				public nextParagraph(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public left(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onTouchEvent(widget: android.widget.TextView, buffer: android.text.Spannable, event: android.view.MotionEvent): boolean;
				public onTakeFocus(view: android.widget.TextView, text: android.text.Spannable, dir: number): void;
				public pageDown(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public previousParagraph(widget: android.widget.TextView, buffer: android.text.Spannable): 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 clearMetaKeyState(state: number, which: number): 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 getInputType(): number;
				public onKeyDown(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
				public onKeyOther(view: android.view.View, content: android.text.Editable, event: android.view.KeyEvent): boolean;
				public backspace(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
				public static clearMetaKeyState(content: android.text.Editable, states: number): void;
				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 forwardDelete(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
			}
		}
	}
}

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 up(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onTakeFocus(widget: android.widget.TextView, text: android.text.Spannable, direction: number): void;
				public right(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public canSelectArbitrarily(): boolean;
				public onGenericMotionEvent(widget: android.widget.TextView, text: android.text.Spannable, event: android.view.MotionEvent): boolean;
				public pageUp(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public top(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public home(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
				public constructor();
				public onKeyUp(widget: android.widget.TextView, text: android.text.Spannable, keyCode: number, event: android.view.KeyEvent): boolean;
				public onTrackballEvent(widget: android.widget.TextView, text: android.text.Spannable, event: android.view.MotionEvent): boolean;
				public handleMovementKey(widget: android.widget.TextView, buffer: android.text.Spannable, keyCode: number, movementMetaState: number, event: android.view.KeyEvent): boolean;
				public initialize(widget: android.widget.TextView, text: android.text.Spannable): void;
				public lineEnd(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onKeyOther(widget: android.widget.TextView, text: android.text.Spannable, event: android.view.KeyEvent): boolean;
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public onKeyDown(widget: android.widget.TextView, text: android.text.Spannable, keyCode: number, event: android.view.KeyEvent): 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 bottom(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public end(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public getMovementMetaState(buffer: android.text.Spannable, event: android.view.KeyEvent): number;
				public down(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public lineStart(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
				public nextParagraph(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public left(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onTouchEvent(widget: android.widget.TextView, text: android.text.Spannable, event: android.view.MotionEvent): boolean;
				public pageDown(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public previousParagraph(widget: android.widget.TextView, buffer: android.text.Spannable): 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 dismiss(): void;
				public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
				public onItemClick(parent: android.widget.AdapterView<any>, view: android.view.View, position: number, id: 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 onClick(v: android.view.View): void;
				public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
				public onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
				public onCreate(savedInstanceState: android.os.Bundle): void;
				public constructor(context: android.content.Context, view: android.view.View, text: android.text.Editable, options: string, insert: boolean);
				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 onWindowStartingActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
				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(context: android.content.Context, cancelable: boolean, cancelListener: android.content.DialogInterface.OnCancelListener);
				public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
				public constructor(context: android.content.Context);
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
				public onActionModeFinished(param0: android.view.ActionMode): void;
				public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
				public constructor(context: android.content.Context, themeResId: number);
				public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
				public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				public onContentChanged(): void;
				public onSearchRequested(searchEvent: any): boolean;
				public onItemClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
				public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
				public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
				public onDetachedFromWindow(): void;
				public onPointerCaptureChanged(hasCapture: boolean): 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: androidNative.Array<string>;
				public clearMetaKeyState(state: number, which: number): 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;
				/** @deprecated */
				public static getInstance(): android.text.method.DateKeyListener;
				public getAcceptedChars(): androidNative.Array<string>;
				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(locale: java.util.Locale);
				public static getInstance(locale: java.util.Locale): android.text.method.DateKeyListener;
				/** @deprecated */
				public constructor();
				public getInputType(): number;
				public static clearMetaKeyState(content: android.text.Editable, states: 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 DateTimeKeyListener extends android.text.method.NumberKeyListener {
				public static class: java.lang.Class<android.text.method.DateTimeKeyListener>;
				public static CHARACTERS: androidNative.Array<string>;
				public clearMetaKeyState(state: number, which: number): 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 getAcceptedChars(): androidNative.Array<string>;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public static getInstance(locale: java.util.Locale): android.text.method.DateTimeKeyListener;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor(locale: java.util.Locale);
				/** @deprecated */
				public constructor();
				public getInputType(): number;
				/** @deprecated */
				public static getInstance(): android.text.method.DateTimeKeyListener;
				public static clearMetaKeyState(content: android.text.Editable, states: 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 DialerKeyListener extends android.text.method.NumberKeyListener {
				public static class: java.lang.Class<android.text.method.DialerKeyListener>;
				public static CHARACTERS: androidNative.Array<string>;
				public clearMetaKeyState(state: number, which: number): number;
				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 lookup(event: android.view.KeyEvent, content: android.text.Spannable): number;
				public getAcceptedChars(): androidNative.Array<string>;
				public static clearMetaKeyState(content: android.text.Editable, states: number): void;
				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 clearMetaKeyState(state: number, which: number): number;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public static getInstance(locale: java.util.Locale): android.text.method.DigitsKeyListener;
				public static getInstance(locale: java.util.Locale, sign: boolean, decimal: boolean): android.text.method.DigitsKeyListener;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public static getInstance(accepted: string): android.text.method.DigitsKeyListener;
				public getAcceptedChars(): androidNative.Array<string>;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				/** @deprecated */
				public static getInstance(sign: boolean, decimal: boolean): android.text.method.DigitsKeyListener;
				public filter(source: string, start: number, end: number, dest: android.text.Spanned, dstart: number, dend: number): string;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor(locale: java.util.Locale);
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public constructor(sign: boolean, decimal: boolean);
				public getInputType(): number;
				public static clearMetaKeyState(content: android.text.Editable, states: number): void;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public constructor(locale: java.util.Locale, sign: boolean, decimal: boolean);
				/** @deprecated */
				public static getInstance(): 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 getTransformation(param0: string, param1: android.view.View): string;
				public static getInstance(): android.text.method.HideReturnsTransformationMethod;
				public getOriginal(): androidNative.Array<string>;
				public getReplacement(): androidNative.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 initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public up(widget: android.widget.TextView, buffer: 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 right(widget: android.widget.TextView, buffer: 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 down(widget: android.widget.TextView, buffer: android.text.Spannable): 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;
				public constructor();
				public left(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public handleMovementKey(widget: android.widget.TextView, buffer: android.text.Spannable, keyCode: number, movementMetaState: number, event: android.view.KeyEvent): boolean;
				public initialize(widget: android.widget.TextView, text: android.text.Spannable): void;
				public onTouchEvent(widget: android.widget.TextView, buffer: android.text.Spannable, event: android.view.MotionEvent): boolean;
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onTakeFocus(view: android.widget.TextView, text: android.text.Spannable, dir: number): void;
			}
		}
	}
}

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: 512;
				public static META_ALT_ON: 2;
				public static META_CAP_LOCKED: 256;
				public static META_SHIFT_ON: 1;
				public static META_SYM_LOCKED: 1024;
				public static META_SYM_ON: 4;
				public clearMetaKeyState(state: number, which: number): number;
				public static resetLockedMeta(state: number): number;
				public onKeyDown(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
				public clearMetaKeyState(view: android.view.View, content: android.text.Editable, states: number): void;
				public static handleKeyUp(state: number, keyCode: number, event: android.view.KeyEvent): number;
				public static resetMetaState(text: android.text.Spannable): void;
				public static getMetaState(text: string): number;
				public static getMetaState(state: number, meta: number): number;
				public static adjustMetaAfterKeypress(content: android.text.Spannable): void;
				public onKeyUp(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
				public constructor();
				public static getMetaState(text: string, event: android.view.KeyEvent): number;
				public static getMetaState(text: string, meta: number): number;
				public static isSelectingMetaTracker(text: string, what: any): boolean;
				public static resetLockedMeta(content: android.text.Spannable): void;
				public static getMetaState(text: string, meta: number, event: android.view.KeyEvent): number;
				public static isMetaTracker(text: string, what: any): boolean;
				public static clearMetaKeyState(content: android.text.Editable, states: number): void;
				public static adjustMetaAfterKeypress(state: number): number;
				public static getMetaState(state: number): number;
				public static handleKeyDown(state: number, keyCode: number, event: android.view.KeyEvent): 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(state: number, which: number): 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 onSpanAdded(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				public onKeyDown(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public constructor();
				public onSpanRemoved(s: android.text.Spannable, what: any, start: number, end: number): void;
				public onSpanChanged(buf: android.text.Spannable, what: any, s: number, e: number, start: number, stop: number): void;
				public getInputType(): number;
				public onSpanRemoved(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				public static getInstance(autotext: boolean, cap: android.text.method.TextKeyListener.Capitalize): android.text.method.MultiTapKeyListener;
				public static clearMetaKeyState(content: android.text.Editable, states: number): void;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public constructor(cap: android.text.method.TextKeyListener.Capitalize, autotext: boolean);
				public onSpanAdded(s: android.text.Spannable, what: any, start: number, end: number): void;
			}
		}
	}
}

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 clearMetaKeyState(state: number, which: number): number;
				public static ok(accept: androidNative.Array<string>, c: string): 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 lookup(event: android.view.KeyEvent, content: android.text.Spannable): number;
				public onKeyDown(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
				public getAcceptedChars(): androidNative.Array<string>;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public filter(source: string, start: number, end: number, dest: android.text.Spanned, dstart: number, dend: number): string;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
				public getInputType(): number;
				public static clearMetaKeyState(content: android.text.Editable, states: 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 PasswordTransformationMethod extends java.lang.Object implements android.text.method.TransformationMethod, android.text.TextWatcher {
				public static class: java.lang.Class<android.text.method.PasswordTransformationMethod>;
				public onTextChanged(s: string, start: number, before: number, count: number): void;
				public getTransformation(param0: string, param1: android.view.View): string;
				public onFocusChanged(view: android.view.View, sourceText: string, focused: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
				public getTransformation(source: string, view: android.view.View): string;
				public beforeTextChanged(s: string, start: number, count: number, after: number): void;
				public afterTextChanged(s: android.text.Editable): void;
				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 clearMetaKeyState(state: number, which: number): 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 onKeyDown(view: android.view.View, content: android.text.Editable, keyCode: number, event: 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;
				public constructor(cap: android.text.method.TextKeyListener.Capitalize, autoText: boolean);
				public static getInstance(autoText: boolean, cap: android.text.method.TextKeyListener.Capitalize): android.text.method.QwertyKeyListener;
				public getInputType(): number;
				public static clearMetaKeyState(content: android.text.Editable, states: number): void;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public static markAsReplaced(content: android.text.Spannable, start: number, end: number, original: string): void;
			}
		}
	}
}

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 getTransformation(param0: string, param1: android.view.View): string;
				public onFocusChanged(view: android.view.View, sourceText: string, focused: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
				public getOriginal(): androidNative.Array<string>;
				public getReplacement(): androidNative.Array<string>;
				public onFocusChanged(param0: android.view.View, param1: string, param2: boolean, param3: number, param4: android.graphics.Rect): void;
				public constructor();
				public getTransformation(source: string, v: android.view.View): string;
			}
		}
	}
}

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 up(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public right(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public canSelectArbitrarily(): boolean;
				public pageUp(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public top(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public home(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
				public constructor();
				public onTakeFocus(widget: android.widget.TextView, text: android.text.Spannable, dir: number): void;
				public lineEnd(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public static getInstance(): android.text.method.MovementMethod;
				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 bottom(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public end(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public down(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public lineStart(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
				public left(widget: android.widget.TextView, buffer: android.text.Spannable): boolean;
				public onTouchEvent(widget: android.widget.TextView, buffer: android.text.Spannable, event: android.view.MotionEvent): boolean;
				public pageDown(widget: android.widget.TextView, buffer: android.text.Spannable): 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 getTransformation(param0: string, param1: android.view.View): string;
				public static getInstance(): android.text.method.SingleLineTransformationMethod;
				public getOriginal(): androidNative.Array<string>;
				public getReplacement(): androidNative.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 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(state: number, which: number): number;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public release(): 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 onKeyDown(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
				public onKeyOther(view: android.view.View, content: android.text.Editable, event: android.view.KeyEvent): boolean;
				public onSpanChanged(s: android.text.Spannable, what: any, start: number, end: number, st: number, en: number): void;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public onKeyUp(view: android.view.View, content: android.text.Editable, keyCode: number, event: android.view.KeyEvent): boolean;
				public constructor();
				public onSpanRemoved(s: android.text.Spannable, what: any, start: number, end: number): void;
				public getInputType(): number;
				public static clear(e: android.text.Editable): void;
				public static getInstance(autotext: boolean, cap: android.text.method.TextKeyListener.Capitalize): android.text.method.TextKeyListener;
				public onSpanRemoved(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				public static shouldCap(cap: android.text.method.TextKeyListener.Capitalize, cs: string, off: number): boolean;
				public static clearMetaKeyState(content: android.text.Editable, states: number): void;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public constructor(cap: android.text.method.TextKeyListener.Capitalize, autotext: boolean);
				public onSpanAdded(s: android.text.Spannable, what: any, start: number, end: number): void;
			}
			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 valueOf(name: string): android.text.method.TextKeyListener.Capitalize;
					public static values(): androidNative.Array<android.text.method.TextKeyListener.Capitalize>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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: androidNative.Array<string>;
				public clearMetaKeyState(state: number, which: number): 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 static getInstance(locale: java.util.Locale): android.text.method.TimeKeyListener;
				public getAcceptedChars(): androidNative.Array<string>;
				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(locale: java.util.Locale);
				/** @deprecated */
				public static getInstance(): android.text.method.TimeKeyListener;
				/** @deprecated */
				public constructor();
				public getInputType(): number;
				public static clearMetaKeyState(content: android.text.Editable, states: 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(widget: android.widget.TextView, layout: android.text.Layout, x: number, y: number): void;
				public static onTouchEvent(widget: android.widget.TextView, buffer: android.text.Spannable, event: android.view.MotionEvent): boolean;
				public static getInitialScrollX(widget: android.widget.TextView, buffer: android.text.Spannable): number;
				public static getInitialScrollY(widget: android.widget.TextView, buffer: android.text.Spannable): number;
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(size: number);
				public getSpanTypeId(): number;
				public toString(): string;
				public getDip(): boolean;
				public constructor();
				public updateMeasureState(ds: android.text.TextPaint): void;
				public constructor(size: number, dip: boolean);
				public getSize(): number;
				public describeContents(): number;
				public updateDrawState(ds: android.text.TextPaint): void;
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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 toString(): string;
					public constructor(align: android.text.Layout.Alignment);
					public constructor(src: android.os.Parcel);
					public describeContents(): number;
					public getSpanTypeId(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					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(textPaint: android.text.TextPaint): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public constructor(color: number);
				public toString(): string;
				public constructor();
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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: 2;
				public getColor(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(gapWidth: number);
				public drawLeadingMargin(canvas: android.graphics.Canvas, paint: android.graphics.Paint, x: number, dir: number, top: number, baseline: number, bottom: number, text: string, start: number, end: number, first: boolean, layout: android.text.Layout): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public getGapWidth(): number;
				public toString(): string;
				public constructor(gapWidth: number, color: number);
				public constructor(gapWidth: number, color: number, bulletRadius: number);
				public constructor();
				public getLeadingMargin(first: boolean): number;
				public getBulletRadius(): number;
				public describeContents(): 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(src: android.os.Parcel);
				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 constructor();
				public static wrap(cs: android.text.style.CharacterStyle): android.text.style.CharacterStyle;
			}
		}
	}
}

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(ds: android.text.TextPaint): void;
				public toString(): string;
				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 chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
				public constructor(drawable: android.graphics.drawable.Drawable);
				public getLeadingMargin(first: boolean): number;
				public drawLeadingMargin(c: android.graphics.Canvas, p: android.graphics.Paint, x: number, dir: number, top: number, baseline: number, bottom: number, text: string, start: number, end: number, first: boolean, layout: android.text.Layout): void;
				public chooseHeight(text: string, start: number, end: number, istartv: number, v: number, fm: android.graphics.Paint.FontMetricsInt): void;
				public getDrawable(): android.graphics.drawable.Drawable;
				public constructor(drawable: android.graphics.drawable.Drawable, pad: number);
				public getPadding(): 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 toString(): string;
				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: 1;
				public static ALIGN_BOTTOM: 0;
				public static ALIGN_CENTER: 2;
				public mVerticalAlignment: number;
				public getSize(paint: android.graphics.Paint, text: string, start: number, end: number, fm: android.graphics.Paint.FontMetricsInt): number;
				public constructor(verticalAlignment: number);
				public getDrawable(): android.graphics.drawable.Drawable;
				public draw(canvas: android.graphics.Canvas, text: string, start: number, end: number, x: number, top: number, y: number, bottom: number, paint: android.graphics.Paint): void;
				public getVerticalAlignment(): number;
				public toString(): string;
				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: "android.text.style.EXTRA_TEXT_CHANGED_TYPE";
				public static TEXT_DELETED: 1;
				public static TEXT_MODIFIED: 2;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSpanTypeId(): number;
				public constructor(pendingIntent: android.app.PendingIntent);
				public constructor(source: android.os.Parcel);
				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(textPaint: android.text.TextPaint): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getForegroundColor(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public constructor(color: number);
				public toString(): string;
				public constructor();
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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 constructor(bitmap: android.graphics.Bitmap, pad: number);
				public getBitmap(): android.graphics.Bitmap;
				public chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
				public getLeadingMargin(first: boolean): number;
				public drawLeadingMargin(c: android.graphics.Canvas, p: android.graphics.Paint, x: number, dir: number, top: number, baseline: number, bottom: number, text: string, start: number, end: number, first: boolean, layout: android.text.Layout): void;
				public chooseHeight(text: string, start: number, end: number, istartv: number, v: number, fm: android.graphics.Paint.FontMetricsInt): void;
				public constructor(bitmap: android.graphics.Bitmap);
				public getPadding(): 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 toString(): string;
				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(context: android.content.Context, bitmap: android.graphics.Bitmap, verticalAlignment: number);
				public getDrawable(): android.graphics.drawable.Drawable;
				public constructor(drawable: android.graphics.drawable.Drawable, verticalAlignment: number);
				public constructor(context: android.content.Context, resourceId: number, verticalAlignment: number);
				public toString(): string;
				public constructor(context: android.content.Context, uri: android.net.Uri, verticalAlignment: number);
				public constructor();
				public constructor(drawable: android.graphics.drawable.Drawable, source: string, verticalAlignment: number);
				/** @deprecated */
				public constructor(b: android.graphics.Bitmap);
				public constructor(verticalAlignment: number);
				public constructor(drawable: android.graphics.drawable.Drawable);
				public constructor(context: android.content.Context, resourceId: number);
				public getSource(): string;
				/** @deprecated */
				public constructor(b: android.graphics.Bitmap, verticalAlignment: number);
				public constructor(drawable: android.graphics.drawable.Drawable, source: string);
				public constructor(context: android.content.Context, uri: android.net.Uri);
				public constructor(context: android.content.Context, bitmap: android.graphics.Bitmap);
			}
		}
	}
}

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(first: number, rest: number);
					public getLeadingMargin(param0: boolean): number;
					public constructor(src: android.os.Parcel);
					public constructor(every: number);
					public describeContents(): number;
					public getSpanTypeId(): number;
					public getLeadingMargin(first: boolean): 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 writeToParcel(dest: android.os.Parcel, flags: number): void;
					public drawLeadingMargin(c: android.graphics.Canvas, p: android.graphics.Paint, x: number, dir: number, top: number, baseline: number, bottom: number, text: string, start: number, end: number, first: boolean, layout: android.text.Layout): void;
					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;
			}
			export module LineBackgroundSpan {
				export class Standard extends java.lang.Object implements android.text.style.LineBackgroundSpan, android.text.ParcelableSpan {
					public static class: java.lang.Class<android.text.style.LineBackgroundSpan.Standard>;
					public getColor(): number;
					public constructor(src: android.os.Parcel);
					public constructor(color: number);
					public describeContents(): number;
					public getSpanTypeId(): number;
					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;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public drawBackground(canvas: android.graphics.Canvas, paint: android.graphics.Paint, left: number, right: number, top: number, baseline: number, bottom: number, text: string, start: number, end: number, lineNumber: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class LineBreakConfigSpan extends java.lang.Object implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.LineBreakConfigSpan>;
				public static CREATOR: android.os.Parcelable.Creator<android.text.style.LineBreakConfigSpan>;
				public getLineBreakConfig(): android.graphics.text.LineBreakConfig;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public static createNoBreakSpan(): android.text.style.LineBreakConfigSpan;
				public static createNoHyphenationSpan(): android.text.style.LineBreakConfigSpan;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSpanTypeId(): number;
				public constructor(lineBreakConfig: android.graphics.text.LineBreakConfig);
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

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 Standard extends java.lang.Object implements android.text.style.LineHeightSpan, android.text.ParcelableSpan {
					public static class: java.lang.Class<android.text.style.LineHeightSpan.Standard>;
					public getHeight(): number;
					public chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
					public constructor(src: android.os.Parcel);
					public describeContents(): number;
					public getSpanTypeId(): number;
					public constructor(height: number);
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public chooseHeight(text: string, start: number, end: number, spanstartv: number, lineHeight: number, fm: android.graphics.Paint.FontMetricsInt): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public updateMeasureState(paint: android.text.TextPaint): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public getLocale(): java.util.Locale;
				public toString(): string;
				public constructor(source: android.os.Parcel);
				public constructor(locale: java.util.Locale);
				public constructor(locales: any);
				public constructor();
				public getLocales(): any;
				public describeContents(): number;
				public updateDrawState(ds: android.text.TextPaint): void;
			}
		}
	}
}

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 constructor(filter: android.graphics.MaskFilter);
				public updateDrawState(ds: android.text.TextPaint): void;
				public getMaskFilter(): android.graphics.MaskFilter;
				public toString(): string;
				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: -16776961;
				public static STANDARD_GAP_WIDTH_PX: 2;
				public static STANDARD_STRIPE_WIDTH_PX: 2;
				public getColor(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public drawLeadingMargin(c: android.graphics.Canvas, p: android.graphics.Paint, x: number, dir: number, top: number, baseline: number, bottom: number, text: string, start: number, end: number, first: boolean, layout: android.text.Layout): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public getGapWidth(): number;
				public getStripeWidth(): number;
				public toString(): string;
				public constructor();
				public constructor(color: number, stripeWidth: number, gapWidth: number);
				public getLeadingMargin(first: boolean): number;
				public describeContents(): number;
				public constructor(color: 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(src: android.os.Parcel);
				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 updateMeasureState(ds: android.text.TextPaint): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateDrawState(ds: android.text.TextPaint): void;
				public getSizeChange(): number;
				public toString(): string;
				public constructor();
				public constructor(proportion: number);
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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 setContentDescription(contentDescription: string): 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 getContentDescription(): string;
				public updateDrawState(ds: android.text.TextPaint): void;
				public constructor();
				public updateMeasureState(p: android.text.TextPaint): void;
			}
		}
	}
}

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 updateMeasureState(ds: android.text.TextPaint): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateDrawState(ds: android.text.TextPaint): void;
				public getScaleX(): number;
				public toString(): string;
				public constructor();
				public constructor(proportion: number);
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateDrawState(ds: android.text.TextPaint): void;
				public toString(): string;
				public constructor();
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public updateMeasureState(paint: android.text.TextPaint): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(style: number, fontWeightAdjustment: number);
				public getSpanTypeId(): number;
				public constructor(style: number);
				public toString(): string;
				public constructor();
				public getFontWeightAdjustment(): number;
				public describeContents(): number;
				public updateDrawState(ds: android.text.TextPaint): void;
				public getStyle(): number;
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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(textPaint: android.text.TextPaint): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public updateMeasureState(textPaint: android.text.TextPaint): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public toString(): string;
				public constructor();
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class SuggestionRangeSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.SuggestionRangeSpan>;
				public static CREATOR: android.os.Parcelable.Creator<android.text.style.SuggestionRangeSpan>;
				public getBackgroundColor(): number;
				public updateDrawState(tp: android.text.TextPaint): void;
				public setBackgroundColor(backgroundColor: number): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				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 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: "android.text.style.SUGGESTION_PICKED";
				public static CREATOR: android.os.Parcelable.Creator<android.text.style.SuggestionSpan>;
				public static FLAG_AUTO_CORRECTION: 4;
				public static FLAG_EASY_CORRECT: 1;
				public static FLAG_GRAMMAR_ERROR: 8;
				public static FLAG_MISSPELLED: 2;
				public static SUGGESTIONS_MAX_SIZE: 5;
				public static SUGGESTION_SPAN_PICKED_AFTER: "after";
				public static SUGGESTION_SPAN_PICKED_BEFORE: "before";
				public static SUGGESTION_SPAN_PICKED_HASHCODE: "hashcode";
				public updateDrawState(tp: android.text.TextPaint): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setFlags(flags: number): void;
				public getSpanTypeId(): number;
				public getLocaleObject(): java.util.Locale;
				public constructor();
				public getSuggestions(): androidNative.Array<string>;
				public constructor(context: android.content.Context, locale: java.util.Locale, suggestions: androidNative.Array<string>, flags: number, notificationTargetClass: java.lang.Class<any>);
				public hashCode(): number;
				/** @deprecated */
				public getLocale(): string;
				public describeContents(): number;
				public constructor(context: android.content.Context, suggestions: androidNative.Array<string>, flags: number);
				public constructor(locale: java.util.Locale, suggestions: androidNative.Array<string>, flags: number);
				public getFlags(): number;
				public equals(o: any): boolean;
				public getUnderlineColor(): number;
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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(textPaint: android.text.TextPaint): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public updateMeasureState(textPaint: android.text.TextPaint): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public toString(): string;
				public constructor();
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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 toString(): string;
					public constructor(offset: number);
					public getTabStop(): 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(context: android.content.Context, appearance: number, colorList: number);
				public constructor(family: string, style: number, size: number, color: android.content.res.ColorStateList, linkColor: android.content.res.ColorStateList);
				public getSpanTypeId(): number;
				public getTextColor(): android.content.res.ColorStateList;
				public getFamily(): string;
				public constructor();
				public updateMeasureState(ds: android.text.TextPaint): void;
				public getTextSize(): number;
				public getFontFeatureSettings(): string;
				public updateDrawState(ds: android.text.TextPaint): void;
				public getLetterSpacing(): number;
				public constructor(src: android.os.Parcel);
				public getTextFontWeight(): number;
				public getFontVariationSettings(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTextStyle(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public toString(): string;
				public getShadowColor(): number;
				public getShadowDy(): number;
				public constructor(context: android.content.Context, appearance: number);
				public getTypeface(): android.graphics.Typeface;
				public getShadowRadius(): number;
				public getLinkTextColor(): android.content.res.ColorStateList;
				public describeContents(): number;
				public isElegantTextHeight(): boolean;
				public getTextLocales(): any;
				public getShadowDx(): 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: "android.animate";
				public static ANIMACY_INANIMATE: "android.inanimate";
				public static ARG_ANIMACY: "android.arg.animacy";
				public static ARG_CASE: "android.arg.case";
				public static ARG_COUNTRY_CODE: "android.arg.country_code";
				public static ARG_CURRENCY: "android.arg.money";
				public static ARG_DAY: "android.arg.day";
				public static ARG_DENOMINATOR: "android.arg.denominator";
				public static ARG_DIGITS: "android.arg.digits";
				public static ARG_DOMAIN: "android.arg.domain";
				public static ARG_EXTENSION: "android.arg.extension";
				public static ARG_FRACTIONAL_PART: "android.arg.fractional_part";
				public static ARG_FRAGMENT_ID: "android.arg.fragment_id";
				public static ARG_GENDER: "android.arg.gender";
				public static ARG_HOURS: "android.arg.hours";
				public static ARG_INTEGER_PART: "android.arg.integer_part";
				public static ARG_MINUTES: "android.arg.minutes";
				public static ARG_MONTH: "android.arg.month";
				public static ARG_MULTIPLICITY: "android.arg.multiplicity";
				public static ARG_NUMBER: "android.arg.number";
				public static ARG_NUMBER_PARTS: "android.arg.number_parts";
				public static ARG_NUMERATOR: "android.arg.numerator";
				public static ARG_PASSWORD: "android.arg.password";
				public static ARG_PATH: "android.arg.path";
				public static ARG_PORT: "android.arg.port";
				public static ARG_PROTOCOL: "android.arg.protocol";
				public static ARG_QUANTITY: "android.arg.quantity";
				public static ARG_QUERY_STRING: "android.arg.query_string";
				public static ARG_TEXT: "android.arg.text";
				public static ARG_UNIT: "android.arg.unit";
				public static ARG_USERNAME: "android.arg.username";
				public static ARG_VERBATIM: "android.arg.verbatim";
				public static ARG_WEEKDAY: "android.arg.weekday";
				public static ARG_YEAR: "android.arg.year";
				public static CASE_ABLATIVE: "android.ablative";
				public static CASE_ACCUSATIVE: "android.accusative";
				public static CASE_DATIVE: "android.dative";
				public static CASE_GENITIVE: "android.genitive";
				public static CASE_INSTRUMENTAL: "android.instrumental";
				public static CASE_LOCATIVE: "android.locative";
				public static CASE_NOMINATIVE: "android.nominative";
				public static CASE_VOCATIVE: "android.vocative";
				public static GENDER_FEMALE: "android.female";
				public static GENDER_MALE: "android.male";
				public static GENDER_NEUTRAL: "android.neutral";
				public static MONTH_APRIL: 3;
				public static MONTH_AUGUST: 7;
				public static MONTH_DECEMBER: 11;
				public static MONTH_FEBRUARY: 1;
				public static MONTH_JANUARY: 0;
				public static MONTH_JULY: 6;
				public static MONTH_JUNE: 5;
				public static MONTH_MARCH: 2;
				public static MONTH_MAY: 4;
				public static MONTH_NOVEMBER: 10;
				public static MONTH_OCTOBER: 9;
				public static MONTH_SEPTEMBER: 8;
				public static MULTIPLICITY_DUAL: "android.dual";
				public static MULTIPLICITY_PLURAL: "android.plural";
				public static MULTIPLICITY_SINGLE: "android.single";
				public static TYPE_CARDINAL: "android.type.cardinal";
				public static TYPE_DATE: "android.type.date";
				public static TYPE_DECIMAL: "android.type.decimal";
				public static TYPE_DIGITS: "android.type.digits";
				public static TYPE_ELECTRONIC: "android.type.electronic";
				public static TYPE_FRACTION: "android.type.fraction";
				public static TYPE_MEASURE: "android.type.measure";
				public static TYPE_MONEY: "android.type.money";
				public static TYPE_ORDINAL: "android.type.ordinal";
				public static TYPE_TELEPHONE: "android.type.telephone";
				public static TYPE_TEXT: "android.type.text";
				public static TYPE_TIME: "android.type.time";
				public static TYPE_VERBATIM: "android.type.verbatim";
				public static WEEKDAY_FRIDAY: 6;
				public static WEEKDAY_MONDAY: 2;
				public static WEEKDAY_SATURDAY: 7;
				public static WEEKDAY_SUNDAY: 1;
				public static WEEKDAY_THURSDAY: 5;
				public static WEEKDAY_TUESDAY: 3;
				public static WEEKDAY_WEDNESDAY: 4;
				public getType(): string;
				public getArgs(): any;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(type: string, args: any);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSpanTypeId(): number;
				public constructor(src: android.os.Parcel);
			}
			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 setStringArgument(arg: string, value: string): C;
					public setLongArgument(arg: string, value: number): C;
					public setIntArgument(arg: string, value: number): C;
					public constructor(type: string);
				}
				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(number: number);
					public constructor();
					public setNumber(number: number): android.text.style.TtsSpan.CardinalBuilder;
					public constructor(number: string);
					public setNumber(number: string): android.text.style.TtsSpan.CardinalBuilder;
					public constructor(type: string);
				}
				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 setMonth(month: number): android.text.style.TtsSpan.DateBuilder;
					public setWeekday(weekday: number): android.text.style.TtsSpan.DateBuilder;
					public constructor();
					public constructor(type: string);
					public setDay(day: number): android.text.style.TtsSpan.DateBuilder;
					public constructor(weekday: java.lang.Integer, day: java.lang.Integer, month: java.lang.Integer, year: java.lang.Integer);
					public setYear(year: 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(integerPart: string, fractionalPart: string);
					public setIntegerPart(integerPart: string): android.text.style.TtsSpan.DecimalBuilder;
					public constructor();
					public setFractionalPart(fractionalPart: string): android.text.style.TtsSpan.DecimalBuilder;
					public setIntegerPart(integerPart: number): android.text.style.TtsSpan.DecimalBuilder;
					public constructor(number: number, minimumFractionDigits: number, maximumFractionDigits: number);
					public constructor(type: string);
					public setArgumentsFromDouble(number: number, minimumFractionDigits: number, maximumFractionDigits: 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(digits: string);
					public constructor();
					public setDigits(digits: string): android.text.style.TtsSpan.DigitsBuilder;
					public constructor(type: string);
				}
				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 setQueryString(queryString: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setFragmentId(fragmentId: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setUsername(username: string): android.text.style.TtsSpan.ElectronicBuilder;
					public constructor();
					public setDomain(domain: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setPath(path: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setPassword(password: string): android.text.style.TtsSpan.ElectronicBuilder;
					public constructor(type: string);
					public setProtocol(protocol: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setPort(port: number): android.text.style.TtsSpan.ElectronicBuilder;
					public setEmailArguments(username: string, domain: 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 constructor();
					public setIntegerPart(integerPart: string): android.text.style.TtsSpan.FractionBuilder;
					public setIntegerPart(integerPart: number): android.text.style.TtsSpan.FractionBuilder;
					public setNumerator(numerator: string): android.text.style.TtsSpan.FractionBuilder;
					public setDenominator(denominator: string): android.text.style.TtsSpan.FractionBuilder;
					public constructor(type: string);
					public constructor(integerPart: number, numerator: number, denominator: number);
					public setDenominator(denominator: number): android.text.style.TtsSpan.FractionBuilder;
					public setNumerator(numerator: number): 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 setNumerator(numerator: string): android.text.style.TtsSpan.MeasureBuilder;
					public setIntegerPart(integerPart: number): android.text.style.TtsSpan.MeasureBuilder;
					public setDenominator(denominator: number): android.text.style.TtsSpan.MeasureBuilder;
					public constructor();
					public setNumber(number: string): android.text.style.TtsSpan.MeasureBuilder;
					public setFractionalPart(fractionalPart: string): android.text.style.TtsSpan.MeasureBuilder;
					public setNumerator(numerator: number): android.text.style.TtsSpan.MeasureBuilder;
					public setUnit(unit: string): android.text.style.TtsSpan.MeasureBuilder;
					public constructor(type: string);
					public setNumber(number: number): android.text.style.TtsSpan.MeasureBuilder;
					public setIntegerPart(integerPart: string): android.text.style.TtsSpan.MeasureBuilder;
					public setDenominator(denominator: 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 setQuantity(quantity: string): android.text.style.TtsSpan.MoneyBuilder;
					public setFractionalPart(fractionalPart: string): android.text.style.TtsSpan.MoneyBuilder;
					public setCurrency(currency: string): android.text.style.TtsSpan.MoneyBuilder;
					public constructor();
					public setIntegerPart(integerPart: number): android.text.style.TtsSpan.MoneyBuilder;
					public constructor(type: string);
					public setIntegerPart(integerPart: 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 setNumber(number: string): android.text.style.TtsSpan.OrdinalBuilder;
					public constructor(number: number);
					public constructor();
					public constructor(number: string);
					public setNumber(number: number): android.text.style.TtsSpan.OrdinalBuilder;
					public constructor(type: string);
				}
				export class SemioticClassBuilder<C>  extends android.text.style.TtsSpan.Builder<any> {
					public static class: java.lang.Class<android.text.style.TtsSpan.SemioticClassBuilder<any>>;
					public setCase(grammaticalCase: string): any;
					public setAnimacy(animacy: string): any;
					public setMultiplicity(multiplicity: string): any;
					public setGender(gender: string): any;
					public constructor(type: string);
				}
				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 setExtension(extension: string): android.text.style.TtsSpan.TelephoneBuilder;
					public constructor();
					public constructor(numberParts: string);
					public constructor(type: string);
					public setCountryCode(countryCode: string): android.text.style.TtsSpan.TelephoneBuilder;
					public setNumberParts(numberParts: 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 setText(text: string): android.text.style.TtsSpan.TextBuilder;
					public constructor();
					public constructor(text: string);
					public constructor(type: string);
				}
				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 constructor(hours: number, minutes: number);
					public setHours(hours: number): android.text.style.TtsSpan.TimeBuilder;
					public constructor();
					public constructor(type: string);
					public setMinutes(minutes: number): android.text.style.TtsSpan.TimeBuilder;
				}
				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 constructor(verbatim: string);
					public constructor();
					public constructor(type: string);
					public setVerbatim(verbatim: string): android.text.style.TtsSpan.VerbatimBuilder;
				}
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public updateMeasureState(paint: android.text.TextPaint): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(family: string);
				public getSpanTypeId(): number;
				public toString(): string;
				public getFamily(): string;
				public constructor();
				public getTypeface(): android.graphics.Typeface;
				public describeContents(): number;
				public updateDrawState(ds: android.text.TextPaint): void;
				public constructor(typeface: android.graphics.Typeface);
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public toString(): string;
				public onClick(widget: android.view.View): void;
				public constructor();
				public constructor(url: string);
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateDrawState(ds: android.text.TextPaint): void;
				public toString(): string;
				public constructor();
				public constructor(src: android.os.Parcel);
			}
		}
	}
}

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: 15;
				public static EMAIL_ADDRESSES: 2;
				public static MAP_ADDRESSES: 8;
				public static PHONE_NUMBERS: 4;
				public static WEB_URLS: 1;
				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(text: android.widget.TextView, pattern: java.util.regex.Pattern, scheme: string, matchFilter: android.text.util.Linkify.MatchFilter, transformFilter: android.text.util.Linkify.TransformFilter): void;
				public static addLinks(text: android.text.Spannable, pattern: java.util.regex.Pattern, scheme: string): boolean;
				public static addLinks(text: android.widget.TextView, mask: number): boolean;
				public static addLinks(spannable: android.text.Spannable, pattern: java.util.regex.Pattern, defaultScheme: string, schemes: androidNative.Array<string>, matchFilter: android.text.util.Linkify.MatchFilter, transformFilter: android.text.util.Linkify.TransformFilter, urlSpanFactory: any /* any<string,android.text.style.URLSpan>*/): boolean;
				public static addLinks(text: android.text.Spannable, mask: number, urlSpanFactory: any /* any<string,android.text.style.URLSpan>*/): boolean;
				public static addLinks(spannable: android.text.Spannable, pattern: java.util.regex.Pattern, scheme: string, matchFilter: android.text.util.Linkify.MatchFilter, transformFilter: android.text.util.Linkify.TransformFilter): boolean;
				public static addLinks(spannable: android.text.Spannable, pattern: java.util.regex.Pattern, defaultScheme: string, schemes: androidNative.Array<string>, matchFilter: android.text.util.Linkify.MatchFilter, transformFilter: android.text.util.Linkify.TransformFilter): boolean;
				public static addLinks(text: android.widget.TextView, pattern: java.util.regex.Pattern, scheme: string): void;
				public static addLinks(text: android.widget.TextView, pattern: java.util.regex.Pattern, defaultScheme: string, schemes: androidNative.Array<string>, matchFilter: android.text.util.Linkify.MatchFilter, transformFilter: android.text.util.Linkify.TransformFilter): void;
				public constructor();
				public static addLinks(text: android.text.Spannable, mask: number): boolean;
			}
			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 static quoteComment(comment: string): string;
				public setName(name: string): void;
				public getName(): string;
				public toString(): string;
				public setComment(comment: string): void;
				public hashCode(): number;
				public setAddress(address: string): void;
				public static quoteName(name: string): string;
				public equals(o: any): boolean;
				public static quoteNameIfNecessary(name: string): string;
				public constructor(name: string, address: string, comment: string);
				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 findTokenStart(param0: string, param1: number): number;
				public findTokenEnd(text: string, cursor: number): number;
				public static tokenize(text: string): androidNative.Array<android.text.util.Rfc822Token>;
				public terminateToken(param0: string): string;
				public findTokenStart(text: string, cursor: number): number;
				public findTokenEnd(param0: string, param1: number): number;
				public static tokenize(text: string, out: java.util.Collection<android.text.util.Rfc822Token>): void;
				public terminateToken(text: string): string;
				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 setMinimumVerticalAngle(angleInDegrees: number): void;
			public getMinimumVerticalAngle(): number;
			public setMaximumAngle(angleInDegrees: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getMinimumHorizontalAngle(): number;
			public getPath(startX: number, startY: number, endX: number, endY: number): android.graphics.Path;
			public constructor();
			public setMinimumHorizontalAngle(angleInDegrees: 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(context: android.content.Context, attrs: 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 captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public setResizeClip(resizeClip: boolean): void;
			public getResizeClip(): boolean;
			/** @deprecated */
			public setReparent(reparent: boolean): void;
			public createAnimator(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public constructor();
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public getTransitionProperties(): androidNative.Array<string>;
		}
	}
}

declare module android {
	export module transition {
		export class ChangeClipBounds extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeClipBounds>;
			public captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public createAnimator(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public constructor();
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public getTransitionProperties(): androidNative.Array<string>;
		}
	}
}

declare module android {
	export module transition {
		export class ChangeImageTransform extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeImageTransform>;
			public captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public createAnimator(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public constructor();
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public getTransitionProperties(): androidNative.Array<string>;
		}
	}
}

declare module android {
	export module transition {
		export class ChangeScroll extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeScroll>;
			public captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public createAnimator(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public constructor();
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public getTransitionProperties(): androidNative.Array<string>;
		}
	}
}

declare module android {
	export module transition {
		export class ChangeTransform extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeTransform>;
			public captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public getReparent(): boolean;
			public getReparentWithOverlay(): boolean;
			public setReparentWithOverlay(reparentWithOverlay: boolean): void;
			public setReparent(reparent: boolean): void;
			public createAnimator(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public constructor();
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public getTransitionProperties(): androidNative.Array<string>;
		}
	}
}

declare module android {
	export module transition {
		export class CircularPropagation extends android.transition.VisibilityPropagation {
			public static class: java.lang.Class<android.transition.CircularPropagation>;
			public getStartDelay(sceneRoot: android.view.ViewGroup, transition: android.transition.Transition, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): number;
			public setPropagationSpeed(propagationSpeed: 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 captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public onDisappear(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, startVisibility: number, endValues: android.transition.TransitionValues, endVisibility: number): android.animation.Animator;
			public onAppear(sceneRoot: android.view.ViewGroup, view: android.view.View, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public onDisappear(sceneRoot: android.view.ViewGroup, view: android.view.View, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public constructor();
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public onAppear(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, startVisibility: number, endValues: android.transition.TransitionValues, endVisibility: number): android.animation.Animator;
		}
	}
}

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: 1;
			public static OUT: 2;
			public onDisappear(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, startVisibility: number, endValues: android.transition.TransitionValues, endVisibility: number): android.animation.Animator;
			public onAppear(sceneRoot: android.view.ViewGroup, view: android.view.View, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public onDisappear(sceneRoot: android.view.ViewGroup, view: android.view.View, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public constructor();
			public constructor(fadingMode: number);
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public onAppear(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, startVisibility: number, endValues: android.transition.TransitionValues, endVisibility: number): android.animation.Animator;
		}
	}
}

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(context: android.content.Context, attrs: 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(patternPath: android.graphics.Path);
			public setPatternPath(patternPath: android.graphics.Path): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getPath(startX: number, startY: number, endX: number, endY: number): android.graphics.Path;
			public constructor();
		}
	}
}

declare module android {
	export module transition {
		export class Scene extends java.lang.Object {
			public static class: java.lang.Class<android.transition.Scene>;
			public constructor(sceneRoot: android.view.ViewGroup, layout: android.view.View);
			public static getCurrentScene(sceneRoot: android.view.ViewGroup): android.transition.Scene;
			public getSceneRoot(): android.view.ViewGroup;
			public setEnterAction(action: java.lang.Runnable): void;
			public setExitAction(action: java.lang.Runnable): void;
			public exit(): void;
			public enter(): void;
			public constructor(sceneRoot: android.view.ViewGroup);
			/** @deprecated */
			public constructor(sceneRoot: android.view.ViewGroup, layout: android.view.ViewGroup);
			public static getSceneForLayout(sceneRoot: android.view.ViewGroup, layoutId: number, context: android.content.Context): android.transition.Scene;
		}
	}
}

declare module android {
	export module transition {
		export class SidePropagation extends android.transition.VisibilityPropagation {
			public static class: java.lang.Class<android.transition.SidePropagation>;
			public getStartDelay(sceneRoot: android.view.ViewGroup, transition: android.transition.Transition, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): number;
			public setPropagationSpeed(propagationSpeed: number): void;
			public constructor();
			public setSide(side: number): void;
		}
	}
}

declare module android {
	export module transition {
		export class Slide extends android.transition.Visibility {
			public static class: java.lang.Class<android.transition.Slide>;
			public constructor(slideEdge: number);
			public captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public onDisappear(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, startVisibility: number, endValues: android.transition.TransitionValues, endVisibility: number): android.animation.Animator;
			public onAppear(sceneRoot: android.view.ViewGroup, view: android.view.View, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public onDisappear(sceneRoot: android.view.ViewGroup, view: android.view.View, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setSlideEdge(slideEdge: number): void;
			public constructor();
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public getSlideEdge(): number;
			public onAppear(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, startVisibility: number, endValues: android.transition.TransitionValues, endVisibility: number): android.animation.Animator;
		}
	}
}

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: 3;
			public static MATCH_INSTANCE: 1;
			public static MATCH_ITEM_ID: 4;
			public static MATCH_NAME: 2;
			public addTarget(targetName: string): android.transition.Transition;
			public isTransitionRequired(startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): boolean;
			public setEpicenterCallback(epicenterCallback: android.transition.Transition.EpicenterCallback): void;
			public clone(): android.transition.Transition;
			public addTarget(targetType: java.lang.Class<any>): android.transition.Transition;
			public getDuration(): number;
			public removeTarget(target: android.view.View): android.transition.Transition;
			public getTargetTypes(): java.util.List<java.lang.Class<any>>;
			public setPropagation(transitionPropagation: android.transition.TransitionPropagation): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public excludeChildren(targetId: number, exclude: boolean): android.transition.Transition;
			public getTargetIds(): java.util.List<java.lang.Integer>;
			public getInterpolator(): android.animation.TimeInterpolator;
			public setMatchOrder(matches: androidNative.Array<number>): void;
			public removeTarget(targetId: number): android.transition.Transition;
			public excludeChildren(target: android.view.View, exclude: boolean): android.transition.Transition;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public canRemoveViews(): boolean;
			public getEpicenterCallback(): android.transition.Transition.EpicenterCallback;
			public excludeTarget(target: android.view.View, exclude: boolean): android.transition.Transition;
			public setPathMotion(pathMotion: android.transition.PathMotion): void;
			public addTarget(targetId: number): android.transition.Transition;
			public getTransitionValues(view: android.view.View, start: boolean): android.transition.TransitionValues;
			public getStartDelay(): number;
			public captureStartValues(param0: android.transition.TransitionValues): void;
			public addListener(listener: android.transition.Transition.TransitionListener): android.transition.Transition;
			public removeTarget(targetName: string): android.transition.Transition;
			public removeTarget(target: java.lang.Class<any>): android.transition.Transition;
			public createAnimator(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public getPathMotion(): android.transition.PathMotion;
			public excludeTarget(targetId: number, exclude: boolean): android.transition.Transition;
			public constructor();
			public excludeTarget(targetName: string, exclude: boolean): android.transition.Transition;
			public getPropagation(): android.transition.TransitionPropagation;
			public setStartDelay(startDelay: number): android.transition.Transition;
			public setInterpolator(interpolator: android.animation.TimeInterpolator): android.transition.Transition;
			public toString(): string;
			public clone(): any;
			public getTargets(): java.util.List<android.view.View>;
			public getName(): string;
			public getTargetNames(): java.util.List<string>;
			public setDuration(duration: number): android.transition.Transition;
			public addTarget(target: android.view.View): android.transition.Transition;
			public removeListener(listener: android.transition.Transition.TransitionListener): android.transition.Transition;
			public getEpicenter(): android.graphics.Rect;
			public getTransitionProperties(): androidNative.Array<string>;
			public excludeTarget(type: java.lang.Class<any>, exclude: boolean): android.transition.Transition;
			public excludeChildren(type: java.lang.Class<any>, exclude: boolean): 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 inflateTransitionManager(resource: number, sceneRoot: android.view.ViewGroup): android.transition.TransitionManager;
			public static from(context: android.content.Context): android.transition.TransitionInflater;
			public inflateTransition(resource: 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 onTransitionEnd(transition: android.transition.Transition): void;
			public onTransitionPause(param0: android.transition.Transition): void;
			public onTransitionStart(transition: android.transition.Transition): void;
			public onTransitionPause(transition: android.transition.Transition): void;
			public onTransitionEnd(param0: android.transition.Transition): void;
			public constructor();
			public onTransitionResume(transition: android.transition.Transition): void;
			public onTransitionCancel(transition: android.transition.Transition): void;
			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(fromScene: android.transition.Scene, toScene: android.transition.Scene, transition: android.transition.Transition): void;
			public static beginDelayedTransition(sceneRoot: android.view.ViewGroup, transition: android.transition.Transition): void;
			public setTransition(scene: android.transition.Scene, transition: android.transition.Transition): void;
			public constructor();
			public transitionTo(scene: android.transition.Scene): void;
			public static go(scene: android.transition.Scene): void;
			public static beginDelayedTransition(sceneRoot: android.view.ViewGroup): void;
			public static go(scene: android.transition.Scene, transition: android.transition.Transition): void;
			public static endTransitions(sceneRoot: android.view.ViewGroup): 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 getPropagationProperties(): androidNative.Array<string>;
			public captureValues(param0: android.transition.TransitionValues): void;
			public constructor();
		}
	}
}

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: 1;
			public static ORDERING_TOGETHER: 0;
			public addTarget(targetName: string): android.transition.Transition;
			public getOrdering(): number;
			public addTarget(targetId: number): android.transition.TransitionSet;
			public setEpicenterCallback(epicenterCallback: android.transition.Transition.EpicenterCallback): void;
			public clone(): android.transition.Transition;
			public addTarget(targetType: java.lang.Class<any>): android.transition.Transition;
			public removeTarget(target: android.view.View): android.transition.Transition;
			public removeListener(listener: android.transition.Transition.TransitionListener): android.transition.TransitionSet;
			public removeTarget(targetId: number): android.transition.TransitionSet;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public addTarget(targetType: java.lang.Class<any>): android.transition.TransitionSet;
			public captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public removeTarget(targetId: number): android.transition.Transition;
			public removeTarget(target: java.lang.Class<any>): android.transition.TransitionSet;
			public setOrdering(ordering: number): android.transition.TransitionSet;
			public excludeTarget(target: android.view.View, exclude: boolean): android.transition.Transition;
			public setPathMotion(pathMotion: android.transition.PathMotion): void;
			public removeTransition(transition: android.transition.Transition): android.transition.TransitionSet;
			public addTransition(transition: android.transition.Transition): android.transition.TransitionSet;
			public addTarget(targetId: number): android.transition.Transition;
			public addListener(listener: android.transition.Transition.TransitionListener): android.transition.Transition;
			public removeTarget(target: android.view.View): android.transition.TransitionSet;
			public setPropagation(propagation: android.transition.TransitionPropagation): void;
			public removeTarget(targetName: string): android.transition.Transition;
			public setStartDelay(startDelay: number): android.transition.TransitionSet;
			public removeTarget(target: java.lang.Class<any>): android.transition.Transition;
			public clone(): android.transition.TransitionSet;
			public addTarget(targetName: string): android.transition.TransitionSet;
			public excludeTarget(targetId: number, exclude: boolean): android.transition.Transition;
			public constructor();
			public getTransitionAt(index: number): android.transition.Transition;
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public excludeTarget(targetName: string, exclude: boolean): android.transition.Transition;
			public setStartDelay(startDelay: number): android.transition.Transition;
			public setInterpolator(interpolator: android.animation.TimeInterpolator): android.transition.Transition;
			public getTransitionCount(): number;
			public clone(): any;
			public removeTarget(target: string): android.transition.TransitionSet;
			public setDuration(duration: number): android.transition.Transition;
			public addTarget(target: android.view.View): android.transition.Transition;
			public removeListener(listener: android.transition.Transition.TransitionListener): android.transition.Transition;
			public setDuration(duration: number): android.transition.TransitionSet;
			public addTarget(target: android.view.View): android.transition.TransitionSet;
			public setInterpolator(interpolator: android.animation.TimeInterpolator): android.transition.TransitionSet;
			public addListener(listener: android.transition.Transition.TransitionListener): android.transition.TransitionSet;
			public excludeTarget(type: java.lang.Class<any>, exclude: boolean): android.transition.Transition;
		}
	}
}

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(other: any): boolean;
			/** @deprecated */
			public constructor();
			public toString(): string;
			public constructor(view: android.view.View);
			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: 1;
			public static MODE_OUT: 2;
			public isVisible(values: android.transition.TransitionValues): boolean;
			public onAppear(sceneRoot: android.view.ViewGroup, view: android.view.View, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public createAnimator(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public constructor();
			public captureStartValues(transitionValues: android.transition.TransitionValues): void;
			public isTransitionRequired(startValues: android.transition.TransitionValues, newValues: android.transition.TransitionValues): boolean;
			public captureEndValues(transitionValues: android.transition.TransitionValues): void;
			public onDisappear(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, startVisibility: number, endValues: android.transition.TransitionValues, endVisibility: number): android.animation.Animator;
			public onDisappear(sceneRoot: android.view.ViewGroup, view: android.view.View, startValues: android.transition.TransitionValues, endValues: android.transition.TransitionValues): android.animation.Animator;
			public setMode(mode: number): void;
			public getMode(): number;
			public onAppear(sceneRoot: android.view.ViewGroup, startValues: android.transition.TransitionValues, startVisibility: number, endValues: android.transition.TransitionValues, endVisibility: number): android.animation.Animator;
			public getTransitionProperties(): androidNative.Array<string>;
		}
	}
}

declare module android {
	export module transition {
		export abstract class VisibilityPropagation extends android.transition.TransitionPropagation {
			public static class: java.lang.Class<android.transition.VisibilityPropagation>;
			public getViewX(values: android.transition.TransitionValues): number;
			public getPropagationProperties(): androidNative.Array<string>;
			public getViewY(values: android.transition.TransitionValues): number;
			public constructor();
			public captureValues(values: android.transition.TransitionValues): void;
			public getViewVisibility(values: android.transition.TransitionValues): number;
		}
	}
}

declare module android {
	export module util {
		export class AndroidException extends java.lang.Exception {
			public static class: java.lang.Class<android.util.AndroidException>;
			public constructor(message: string);
			public constructor(cause: java.lang.Exception);
			public constructor(name: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(name: string, cause: java.lang.Throwable);
			public constructor();
		}
	}
}

declare module android {
	export module util {
		export class AndroidRuntimeException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.util.AndroidRuntimeException>;
			public constructor(message: string);
			public constructor(cause: java.lang.Exception);
			public constructor(name: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(name: string, cause: java.lang.Throwable);
			public constructor();
		}
	}
}

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 containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public putAll(array: android.util.ArrayMap<any,any>): void;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public retainAll(collection: java.util.Collection<any>): boolean;
			public indexOfValue(value: any): number;
			public values(): java.util.Collection<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public constructor(map: android.util.ArrayMap<any,any>);
			public clear(): void;
			public get(key: any): any;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public keySet(): java.util.Set<any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor();
			public indexOfKey(key: any): number;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public setValueAt(index: number, value: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public remove(key: any): any;
			public putAll(map: java.util.Map<any,any>): void;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public equals(object: any): boolean;
			public isEmpty(): boolean;
			public size(): number;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public valueAt(index: number): any;
			public put(param0: any, param1: any): any;
			public constructor(capacity: number);
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public removeAt(index: number): any;
			public toString(): string;
			public containsAll(collection: java.util.Collection<any>): boolean;
			public removeAll(collection: java.util.Collection<any>): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public ensureCapacity(minimumCapacity: number): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			public keyAt(index: number): any;
			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 toArray(array: androidNative.Array<any>): androidNative.Array<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public constructor(set: android.util.ArraySet<E>);
			public add(value: E): boolean;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public retainAll(collection: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public clear(): void;
			public valueAt(index: number): E;
			public parallelStream(): java.util.stream.Stream<E>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public constructor();
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public indexOf(key: any): number;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public spliterator(): java.util.Spliterator<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public iterator(): java.util.Iterator<E>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
			public removeAt(index: number): E;
			public spliterator(): java.util.Spliterator<E>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public stream(): java.util.stream.Stream<E>;
			public iterator(): java.util.Iterator<any>;
			public equals(object: any): boolean;
			public isEmpty(): boolean;
			public size(): number;
			public add(param0: E): boolean;
			public addAll(array: android.util.ArraySet<any>): void;
			public constructor(set: java.util.Collection<any>);
			public contains(key: any): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public remove(object: any): boolean;
			public removeAll(array: android.util.ArraySet<any>): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public remove(param0: any): boolean;
			public constructor(capacity: number);
			public addAll(collection: java.util.Collection<any>): boolean;
			public toString(): string;
			public containsAll(collection: java.util.Collection<any>): boolean;
			public removeAll(collection: java.util.Collection<any>): boolean;
			public ensureCapacity(minimumCapacity: number): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public constructor(array: androidNative.Array<E>);
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			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 toString(): string;
			public getLastModifiedTime(): number;
			public getBaseFile(): java.io.File;
			public openRead(): java.io.FileInputStream;
			public finishWrite(str: java.io.FileOutputStream): void;
			public constructor(baseName: java.io.File);
			public readFully(): androidNative.Array<number>;
			public failWrite(str: java.io.FileOutputStream): void;
		}
	}
}

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(index: 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: androidNative.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: androidNative.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 getAttributeListValue(param0: string, param1: string, param2: androidNative.Array<string>, param3: number): number;
			public getAttributeIntValue(param0: number, param1: number): number;
			public getPositionDescription(): string;
			public getAttributeResourceValue(param0: number, param1: number): number;
			public getAttributeUnsignedIntValue(param0: number, param1: number): number;
			public getAttributeNamespace(index: number): string;
			public getAttributeName(param0: number): string;
			public getAttributeValue(param0: string, param1: string): string;
			public getAttributeFloatValue(param0: string, param1: string, param2: number): number;
			public getAttributeListValue(param0: number, param1: androidNative.Array<string>, param2: number): number;
			public getAttributeNameResource(param0: number): number;
			public getAttributeResourceValue(param0: string, param1: string, param2: number): number;
			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: 4;
			public static DEFAULT: 0;
			public static NO_CLOSE: 16;
			public static NO_PADDING: 1;
			public static NO_WRAP: 2;
			public static URL_SAFE: 8;
			public static decode(input: androidNative.Array<number>, flags: number): androidNative.Array<number>;
			public static decode(str: string, flags: number): androidNative.Array<number>;
			public static encode(input: androidNative.Array<number>, flags: number): androidNative.Array<number>;
			public static encode(input: androidNative.Array<number>, offset: number, len: number, flags: number): androidNative.Array<number>;
			public static decode(input: androidNative.Array<number>, offset: number, len: number, flags: number): androidNative.Array<number>;
			public static encodeToString(input: androidNative.Array<number>, flags: number): string;
			public static encodeToString(input: androidNative.Array<number>, offset: number, len: number, flags: number): string;
		}
	}
}

declare module android {
	export module util {
		export class Base64DataException extends java.io.IOException {
			public static class: java.lang.Class<android.util.Base64DataException>;
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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(in_: java.io.InputStream, flags: number);
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			public reset(): void;
			public constructor(in_: java.io.InputStream);
			public constructor();
			public close(): void;
			public mark(readlimit: 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(out: java.io.OutputStream, flags: number);
			public write(b: androidNative.Array<number>): void;
			public constructor(out: java.io.OutputStream);
			public write(b: number): void;
			public constructor();
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public close(): void;
		}
	}
}

declare module android {
	export module util {
		export class CloseGuard extends java.lang.Object {
			public static class: java.lang.Class<android.util.CloseGuard>;
			public warnIfOpen(): void;
			public constructor();
			public close(): void;
			public open(closeMethodName: string): 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(object: 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_140: 140;
			public static DENSITY_180: 180;
			public static DENSITY_200: 200;
			public static DENSITY_220: 220;
			public static DENSITY_260: 260;
			public static DENSITY_280: 280;
			public static DENSITY_300: 300;
			public static DENSITY_340: 340;
			public static DENSITY_360: 360;
			public static DENSITY_390: 390;
			public static DENSITY_400: 400;
			public static DENSITY_420: 420;
			public static DENSITY_440: 440;
			public static DENSITY_450: 450;
			public static DENSITY_520: 520;
			public static DENSITY_560: 560;
			public static DENSITY_600: 600;
			public static DENSITY_DEFAULT: 160;
			public static DENSITY_DEVICE_STABLE: number;
			public static DENSITY_HIGH: 240;
			public static DENSITY_LOW: 120;
			public static DENSITY_MEDIUM: 160;
			public static DENSITY_TV: 213;
			public static DENSITY_XHIGH: 320;
			public static DENSITY_XXHIGH: 480;
			public static DENSITY_XXXHIGH: 640;
			public density: number;
			public densityDpi: number;
			public heightPixels: number;
			public scaledDensity: number;
			public widthPixels: number;
			public xdpi: number;
			public ydpi: number;
			public equals(other: android.util.DisplayMetrics): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public setToDefaults(): void;
			public constructor();
			public setTo(o: android.util.DisplayMetrics): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class Dumpable extends java.lang.Object {
			public static class: java.lang.Class<android.util.Dumpable>;
			/**
			 * Constructs a new instance of the android.util.Dumpable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getDumpableName(): string;
				dump(param0: java.io.PrintWriter, param1: androidNative.Array<string>): void;
			});
			public constructor();
			public getDumpableName(): string;
			public dump(param0: java.io.PrintWriter, param1: androidNative.Array<string>): void;
		}
	}
}

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

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 readEvents(param0: androidNative.Array<number>, param1: java.util.Collection<android.util.EventLog.Event>): void;
			public static getTagCode(name: string): number;
			public static getTagName(tag: number): string;
			public static writeEvent(param0: number, param1: androidNative.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(o: 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>;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public constructor(input: java.io.BufferedReader);
			/** @deprecated */
			public get(name: string): android.util.EventLogTags.Description;
			/** @deprecated */
			public get(tag: 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(name: string);
			public set(object: any, value: any): void;
			public constructor(type: java.lang.Class<any>, name: string);
			public setValue(param0: any, param1: number): void;
			public set(object: any, value: java.lang.Float): 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: 5120;
			public static LOWEST_VALUE: -1025;
			public static MAX_EXPONENT: 15;
			public static MAX_VALUE: 31743;
			public static MIN_EXPONENT: -14;
			public static MIN_NORMAL: 1024;
			public static MIN_VALUE: 1;
			public static NEGATIVE_INFINITY: -1024;
			public static NEGATIVE_ZERO: -32768;
			public static NaN: 32256;
			public static POSITIVE_INFINITY: 31744;
			public static POSITIVE_ZERO: 0;
			public static SIZE: 16;
			public static isInfinite(h: number): boolean;
			public static max(x: number, y: number): number;
			public static isNaN(h: number): boolean;
			public static compare(x: number, y: number): number;
			public static intBitsToHalf(bits: number): number;
			public static greater(x: number, y: number): boolean;
			public static toHalf(f: number): number;
			public compareTo(h: android.util.Half): number;
			public constructor(value: number);
			public static valueOf(h: number): android.util.Half;
			public static trunc(h: number): number;
			public shortValue(): number;
			public static floor(h: number): number;
			public doubleValue(): number;
			public static toHexString(h: number): string;
			public static valueOf(s: string): android.util.Half;
			public static less(x: number, y: number): boolean;
			public static halfToShortBits(h: number): number;
			public static getSign(h: number): number;
			public constructor(value: string);
			public static halfToRawIntBits(h: number): number;
			public static min(x: number, y: number): number;
			public static isNormalized(h: number): boolean;
			public static lessEquals(x: number, y: number): boolean;
			public static toFloat(h: number): number;
			public static abs(h: number): number;
			public static copySign(magnitude: number, sign: number): number;
			public constructor();
			public static hashCode(h: number): number;
			public static ceil(h: number): number;
			public static equals(x: number, y: number): boolean;
			public static getExponent(h: number): number;
			public halfValue(): number;
			public static valueOf(f: number): android.util.Half;
			public floatValue(): number;
			public isNaN(): boolean;
			public static halfToIntBits(h: number): number;
			public intValue(): number;
			public toString(): string;
			public equals(o: any): boolean;
			public static getSignificand(h: number): number;
			public static toString(h: number): string;
			public byteValue(): number;
			public static greaterEquals(x: number, y: number): boolean;
			public static round(h: number): number;
			public static parseHalf(s: string): number;
			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(name: string);
			public set(object: any, value: any): void;
			public constructor(type: java.lang.Class<any>, name: string);
			public set(object: any, value: java.lang.Integer): void;
			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(in_: java.io.Reader);
			public endArray(): void;
			public beginObject(): void;
			public toString(): string;
			public endObject(): void;
			public setLenient(lenient: 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 values(): androidNative.Array<android.util.JsonToken>;
			public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public static valueOf(name: 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 setIndent(indent: string): void;
			public flush(): void;
			public beginArray(): android.util.JsonWriter;
			public value(value: java.lang.Number): android.util.JsonWriter;
			public value(value: boolean): android.util.JsonWriter;
			public isLenient(): boolean;
			public name(name: string): android.util.JsonWriter;
			public endObject(): android.util.JsonWriter;
			public value(value: string): android.util.JsonWriter;
			public beginObject(): android.util.JsonWriter;
			public value(value: number): android.util.JsonWriter;
			public endArray(): android.util.JsonWriter;
			public setLenient(lenient: boolean): void;
			public nullValue(): android.util.JsonWriter;
			public constructor(out: java.io.Writer);
			public close(): void;
		}
	}
}

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: 2;
			public static LOCALE: 3;
			public static LTR: 0;
			public static RTL: 1;
		}
	}
}

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: 7;
			public static DEBUG: 3;
			public static ERROR: 6;
			public static INFO: 4;
			public static VERBOSE: 2;
			public static WARN: 5;
			public static e(tag: string, msg: string, tr: java.lang.Throwable): number;
			public static w(tag: string, tr: java.lang.Throwable): number;
			public static v(tag: string, msg: string, tr: java.lang.Throwable): number;
			public static wtf(tag: string, msg: string): number;
			public static wtf(tag: string, msg: string, tr: java.lang.Throwable): number;
			public static w(tag: string, msg: string, tr: java.lang.Throwable): number;
			public static i(tag: string, msg: string, tr: java.lang.Throwable): number;
			public static w(tag: string, msg: string): number;
			public static getStackTraceString(tr: java.lang.Throwable): string;
			public static v(tag: string, msg: string): number;
			public static d(tag: string, msg: string): number;
			public static e(tag: string, msg: string): number;
			public static d(tag: string, msg: string, tr: java.lang.Throwable): number;
			public static isLoggable(param0: string, param1: number): boolean;
			public static println(priority: number, tag: string, msg: string): number;
			public static i(tag: string, msg: string): number;
			public static wtf(tag: string, tr: java.lang.Throwable): 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(priority: number, tag: string);
			public println(x: string): void;
			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 clear(): void;
			public constructor(initialCapacity: number);
			public size(): number;
			public append(key: number, value: any): void;
			public removeAt(index: number): void;
			public delete(key: number): void;
			public valueAt(index: number): any;
			public constructor();
			public get(key: number, valueIfKeyNotFound: any): any;
			public remove(key: number): void;
			public setValueAt(index: number, value: any): void;
			public keyAt(index: number): number;
			public clone(): android.util.LongSparseArray<any>;
			public clone(): any;
			public toString(): string;
			public put(key: number, value: any): void;
			public get(key: number): any;
			public indexOfValue(value: any): number;
			public indexOfKey(key: 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 sizeOf(key: K, value: V): number;
			public create(key: K): V;
			public size(): number;
			public putCount(): number;
			public createCount(): number;
			public evictAll(): void;
			public resize(maxSize: number): void;
			public entryRemoved(evicted: boolean, key: K, oldValue: V, newValue: V): void;
			public maxSize(): number;
			public put(key: K, value: V): V;
			public hitCount(): number;
			public remove(key: K): V;
			public snapshot(): java.util.Map<K,V>;
			public toString(): string;
			public get(key: K): V;
			public trimToSize(maxSize: number): void;
			public evictionCount(): number;
			public constructor(maxSize: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module android {
	export module util {
		export class MonthDisplayHelper extends java.lang.Object {
			public static class: java.lang.Class<android.util.MonthDisplayHelper>;
			public constructor(year: number, month: number);
			public constructor(year: number, month: number, weekStartDay: number);
			public getDayAt(row: number, column: number): number;
			public getOffset(): number;
			public getDigitsForRow(row: number): androidNative.Array<number>;
			public previousMonth(): void;
			public getFirstDayOfMonth(): number;
			public getNumberOfDaysInMonth(): number;
			public getYear(): number;
			public getMonth(): number;
			public getRowOf(day: number): number;
			public isWithinCurrentMonth(row: number, column: number): boolean;
			public getColumnOf(day: number): 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;
			/** @deprecated */
			public constructor(value: 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;
			/** @deprecated */
			public constructor(value: 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;
			/** @deprecated */
			public constructor(value: 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;
			/** @deprecated */
			public constructor(value: 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;
			/** @deprecated */
			public constructor(value: 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;
			/** @deprecated */
			public constructor(value: 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;
			/** @deprecated */
			public constructor(value: 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;
			/** @deprecated */
			public constructor(value: 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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 constructor(first: F, second: S);
			public toString(): string;
			public equals(o: any): boolean;
			public static create(a: any, b: any): android.util.Pair<any,any>;
			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: "a-zA-Z0-9 -퟿豈-﷏ﷰ-￯";
			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: "((aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(biz|b[abdefghijmnorstvwyz])|(cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(edu|e[cegrstu])|f[ijkmor]|(gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(info|int|i[delmnoqrst])|(jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(name|net|n[acefgilopruz])|(org|om)|(pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(δοκιμή|испытание|рф|срб|טעסט|آزمایشی|إختبار|الاردن|الجزائر|السعودية|المغرب|امارات|بھارت|تونس|سورية|فلسطين|قطر|مصر|परीक्षा|भारत|ভারত|ਭਾਰਤ|ભારત|இந்தியா|இலங்கை|சிங்கப்பூர்|பரிட்சை|భారత్|ලංකා|ไทย|テスト|中国|中國|台湾|台灣|新加坡|测试|測試|香港|테스트|한국|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw])";
			public static TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL: "(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(?:δοκιμή|испытание|рф|срб|טעסט|آزمایشی|إختبار|الاردن|الجزائر|السعودية|المغرب|امارات|بھارت|تونس|سورية|فلسطين|قطر|مصر|परीक्षा|भारत|ভারত|ਭਾਰਤ|ભારત|இந்தியா|இலங்கை|சிங்கப்பூர்|பரிட்சை|భారత్|ලංකා|ไทย|テスト|中国|中國|台湾|台灣|新加坡|测试|測試|香港|테스트|한국|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw]))";
			public static WEB_URL: java.util.regex.Pattern;
			public static digitsAndPlusOnly(matcher: java.util.regex.Matcher): string;
			public static concatGroups(matcher: 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(pw: java.io.PrintStream);
			public println(x: string): void;
			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(x: string): void;
			public println(param0: string): void;
			public constructor(pw: 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 getName(): string;
			public getType(): java.lang.Class<V>;
			public static of(hostType: java.lang.Class<any>, valueType: java.lang.Class<any>, name: string): android.util.Property<any,any>;
			public set(object: T, value: V): void;
			public constructor(type: java.lang.Class<V>, name: string);
			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 contains(range: android.util.Range<T>): boolean;
			public intersect(range: android.util.Range<T>): android.util.Range<T>;
			public clamp(value: T): T;
			public static create(lower: java.lang.Comparable<any>, upper: java.lang.Comparable<any>): android.util.Range<any>;
			public extend(range: android.util.Range<T>): android.util.Range<T>;
			public toString(): string;
			public equals(obj: any): boolean;
			public extend(value: T): android.util.Range<T>;
			public getLower(): T;
			public extend(lower: T, upper: T): android.util.Range<T>;
			public getUpper(): T;
			public contains(value: T): boolean;
			public intersect(lower: T, upper: T): android.util.Range<T>;
			public constructor(lower: T, upper: T);
			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 constructor();
			public getNumerator(): number;
			public shortValue(): number;
			public constructor(numerator: number, denominator: number);
			public doubleValue(): number;
			public floatValue(): number;
			public isNaN(): boolean;
			public intValue(): number;
			public toString(): string;
			public compareTo(another: android.util.Rational): number;
			public isFinite(): boolean;
			public equals(obj: any): boolean;
			public static parseRational(string: string): android.util.Rational;
			public getDenominator(): number;
			public isZero(): boolean;
			public isInfinite(): boolean;
			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 toString(): string;
			public getHeight(): number;
			public equals(obj: any): boolean;
			public constructor(width: number, height: number);
			public getWidth(): number;
			public static parseSize(string: string): any;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class SizeF extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.util.SizeF>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public toString(): string;
			public getHeight(): number;
			public equals(obj: any): boolean;
			public static parseSizeF(string: string): any;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(width: number, height: number);
			public getWidth(): 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 contains(key: number): boolean;
			public clear(): void;
			public constructor(initialCapacity: number);
			public size(): number;
			public append(key: number, value: any): void;
			public removeAt(index: number): void;
			public delete(key: number): void;
			public valueAt(index: number): any;
			public constructor();
			public removeAtRange(index: number, size: number): void;
			public get(key: number, valueIfKeyNotFound: any): any;
			public remove(key: number): void;
			public setValueAt(index: number, value: any): void;
			public set(key: number, value: any): void;
			public keyAt(index: number): number;
			public clone(): any;
			public toString(): string;
			public put(key: number, value: any): void;
			public contentHashCode(): number;
			public get(key: number): any;
			public contentEquals(other: android.util.SparseArray<any>): boolean;
			public indexOfValue(value: any): number;
			public indexOfKey(key: number): number;
			public clone(): android.util.SparseArray<any>;
		}
	}
}

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 get(key: number, valueIfKeyNotFound: boolean): boolean;
			public clear(): void;
			public constructor(initialCapacity: number);
			public size(): number;
			public removeAt(index: number): void;
			public delete(key: number): void;
			public constructor();
			public clone(): android.util.SparseBooleanArray;
			public equals(that: any): boolean;
			public setValueAt(index: number, value: boolean): void;
			public keyAt(index: number): number;
			public clone(): any;
			public toString(): string;
			public put(key: number, value: boolean): void;
			public valueAt(index: number): boolean;
			public append(key: number, value: boolean): void;
			public indexOfKey(key: number): number;
			public indexOfValue(value: boolean): number;
			public get(key: number): boolean;
			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 indexOfValue(value: number): number;
			public constructor(initialCapacity: number);
			public append(key: number, value: number): void;
			public size(): number;
			public removeAt(index: number): void;
			public delete(key: number): void;
			public get(key: number, valueIfKeyNotFound: number): number;
			public constructor();
			public clone(): android.util.SparseIntArray;
			public put(key: number, value: number): void;
			public keyAt(index: number): number;
			public clone(): any;
			public toString(): string;
			public setValueAt(index: number, value: number): void;
			public valueAt(index: number): number;
			public get(key: number): number;
			public indexOfKey(key: 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 indexOfValue(value: number): number;
			public constructor(initialCapacity: number);
			public append(key: number, value: number): void;
			public size(): number;
			public removeAt(index: number): void;
			public delete(key: number): void;
			public get(key: number, valueIfKeyNotFound: number): number;
			public constructor();
			public put(key: number, value: number): void;
			public keyAt(index: number): number;
			public clone(): any;
			public clone(): android.util.SparseLongArray;
			public toString(): string;
			public valueAt(index: number): number;
			public get(key: number): number;
			public indexOfKey(key: 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: androidNative.Array<number>;
			public static WILD_CARD: androidNative.Array<number>;
			public static stateSetMatches(stateSpec: androidNative.Array<number>, state: number): boolean;
			public static dump(states: androidNative.Array<number>): string;
			public static stateSetMatches(stateSpec: androidNative.Array<number>, stateSet: androidNative.Array<number>): boolean;
			public static trimStateSet(states: androidNative.Array<number>, newSize: number): androidNative.Array<number>;
			public static isWildCard(stateSetOrSpec: androidNative.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(label: number): boolean;
			public static logEvent(label: number): boolean;
			public static logStart(label: number): boolean;
			public static logBinaryPushStateChanged(trainName: string, trainVersionCode: number, options: number, state: number, experimentIds: androidNative.Array<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 constructor(builder: java.lang.StringBuilder);
			public println(x: string): void;
			public println(param0: string): void;
		}
	}
}

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 getTimeZoneIdsForCountryCode(countryCode: string): java.util.List<string>;
			public static getTimeZone(offset: number, dst: boolean, when: number, country: string): java.util.TimeZone;
			public static isTimeBetween(reference: java.time.LocalTime, start: java.time.LocalTime, end: java.time.LocalTime): boolean;
			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>;
			/** @deprecated */
			public dumpToLog(): void;
			/** @deprecated */
			public addSplit(splitLabel: string): void;
			/** @deprecated */
			public reset(tag: string, label: string): void;
			/** @deprecated */
			public constructor(tag: string, label: string);
			/** @deprecated */
			public reset(): 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: 16777215;
			public static COMPLEX_MANTISSA_SHIFT: 8;
			public static COMPLEX_RADIX_0p23: 3;
			public static COMPLEX_RADIX_16p7: 1;
			public static COMPLEX_RADIX_23p0: 0;
			public static COMPLEX_RADIX_8p15: 2;
			public static COMPLEX_RADIX_MASK: 3;
			public static COMPLEX_RADIX_SHIFT: 4;
			public static COMPLEX_UNIT_DIP: 1;
			public static COMPLEX_UNIT_FRACTION: 0;
			public static COMPLEX_UNIT_FRACTION_PARENT: 1;
			public static COMPLEX_UNIT_IN: 4;
			public static COMPLEX_UNIT_MASK: 15;
			public static COMPLEX_UNIT_MM: 5;
			public static COMPLEX_UNIT_PT: 3;
			public static COMPLEX_UNIT_PX: 0;
			public static COMPLEX_UNIT_SHIFT: 0;
			public static COMPLEX_UNIT_SP: 2;
			public static DATA_NULL_EMPTY: 1;
			public static DATA_NULL_UNDEFINED: 0;
			public static DENSITY_DEFAULT: 0;
			public static DENSITY_NONE: 65535;
			public static TYPE_ATTRIBUTE: 2;
			public static TYPE_DIMENSION: 5;
			public static TYPE_FIRST_COLOR_INT: 28;
			public static TYPE_FIRST_INT: 16;
			public static TYPE_FLOAT: 4;
			public static TYPE_FRACTION: 6;
			public static TYPE_INT_BOOLEAN: 18;
			public static TYPE_INT_COLOR_ARGB4: 30;
			public static TYPE_INT_COLOR_ARGB8: 28;
			public static TYPE_INT_COLOR_RGB4: 31;
			public static TYPE_INT_COLOR_RGB8: 29;
			public static TYPE_INT_DEC: 16;
			public static TYPE_INT_HEX: 17;
			public static TYPE_LAST_COLOR_INT: 31;
			public static TYPE_LAST_INT: 31;
			public static TYPE_NULL: 0;
			public static TYPE_REFERENCE: 1;
			public static TYPE_STRING: 3;
			public assetCookie: number;
			public changingConfigurations: number;
			public data: number;
			public density: number;
			public resourceId: number;
			public sourceResourceId: number;
			public string: string;
			public type: number;
			public setTo(other: android.util.TypedValue): void;
			public isColorType(): boolean;
			public constructor();
			public static complexToFraction(data: number, base: number, pbase: number): number;
			public static applyDimension(unit: number, value: number, metrics: android.util.DisplayMetrics): number;
			public static coerceToString(type: number, data: number): string;
			public static complexToDimensionPixelOffset(data: number, metrics: android.util.DisplayMetrics): number;
			public static convertDimensionToPixels(unitToConvertFrom: number, value: number, metrics: android.util.DisplayMetrics): number;
			public coerceToString(): string;
			public toString(): string;
			public static complexToDimension(data: number, metrics: android.util.DisplayMetrics): number;
			public static complexToDimensionPixelSize(data: number, metrics: android.util.DisplayMetrics): number;
			public getComplexUnit(): number;
			public getDimension(metrics: android.util.DisplayMetrics): number;
			public static deriveDimension(unitToConvertTo: number, pixelValue: number, metrics: android.util.DisplayMetrics): number;
			public static convertPixelsToDimension(unitToConvertTo: number, pixelValue: number, metrics: android.util.DisplayMetrics): number;
			public getFraction(base: number, pbase: number): number;
			public getFloat(): number;
			public static complexToFloat(complex: number): 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(xml: string, contentHandler: org.xml.sax.ContentHandler): void;
			public static parse(in_: java.io.Reader, contentHandler: org.xml.sax.ContentHandler): void;
			public static parse(in_: java.io.InputStream, encoding: android.util.Xml.Encoding, contentHandler: org.xml.sax.ContentHandler): void;
			public static newSerializer(): org.xmlpull.v1.XmlSerializer;
			public static newPullParser(): org.xmlpull.v1.XmlPullParser;
			public static asAttributeSet(parser: org.xmlpull.v1.XmlPullParser): android.util.AttributeSet;
			public static findEncodingByName(encodingName: string): android.util.Xml.Encoding;
		}
		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 values(): androidNative.Array<android.util.Xml.Encoding>;
				public static valueOf(name: string): android.util.Xml.Encoding;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module util {
		export module proto {
			export class ProtoOutputStream extends java.lang.Object {
				public static class: java.lang.Class<android.util.proto.ProtoOutputStream>;
				public static FIELD_COUNT_MASK: 16492674416640;
				public static FIELD_COUNT_PACKED: 5497558138880;
				public static FIELD_COUNT_REPEATED: 2199023255552;
				public static FIELD_COUNT_SHIFT: 40;
				public static FIELD_COUNT_SINGLE: 1099511627776;
				public static FIELD_COUNT_UNKNOWN: 0;
				public static FIELD_ID_SHIFT: 3;
				public static FIELD_TYPE_BOOL: 34359738368;
				public static FIELD_TYPE_BYTES: 51539607552;
				public static FIELD_TYPE_DOUBLE: 4294967296;
				public static FIELD_TYPE_ENUM: 60129542144;
				public static FIELD_TYPE_FIXED32: 30064771072;
				public static FIELD_TYPE_FIXED64: 25769803776;
				public static FIELD_TYPE_FLOAT: 8589934592;
				public static FIELD_TYPE_INT32: 21474836480;
				public static FIELD_TYPE_INT64: 12884901888;
				public static FIELD_TYPE_MASK: 1095216660480;
				public static FIELD_TYPE_MESSAGE: 47244640256;
				public static FIELD_TYPE_SFIXED32: 64424509440;
				public static FIELD_TYPE_SFIXED64: 68719476736;
				public static FIELD_TYPE_SHIFT: 32;
				public static FIELD_TYPE_SINT32: 73014444032;
				public static FIELD_TYPE_SINT64: 77309411328;
				public static FIELD_TYPE_STRING: 38654705664;
				public static FIELD_TYPE_UINT32: 55834574848;
				public static FIELD_TYPE_UINT64: 17179869184;
				public static WIRE_TYPE_END_GROUP: 4;
				public static WIRE_TYPE_FIXED32: 5;
				public static WIRE_TYPE_FIXED64: 1;
				public static WIRE_TYPE_LENGTH_DELIMITED: 2;
				public static WIRE_TYPE_MASK: 7;
				public static WIRE_TYPE_START_GROUP: 3;
				public static WIRE_TYPE_VARINT: 0;
				public static makeToken(tagSize: number, repeated: boolean, depth: number, objectId: number, offset: number): number;
				public write(fieldId: number, val: androidNative.Array<number>): void;
				public static getFieldCountString(fieldCount: number): string;
				public static checkFieldId(fieldId: number, expectedFlags: number): number;
				public static getFieldIdString(fieldId: number): string;
				public write(fieldId: number, val: boolean): void;
				public getRawSize(): number;
				public constructor(chunkSize: number);
				public getBytes(): androidNative.Array<number>;
				public dump(tag: string): void;
				public constructor();
				public write(fieldId: number, val: string): void;
				public flush(): void;
				public writeTag(id: number, wireType: number): void;
				public constructor(stream: java.io.OutputStream);
				public static getWireTypeString(wireType: number): string;
				public start(fieldId: number): number;
				public static token2String(token: number): string;
				public write(fieldId: number, val: number): void;
				public static makeFieldId(id: number, fieldFlags: number): number;
				public end(token: number): void;
				public static getFieldTypeString(fieldType: number): string;
			}
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(superState: android.os.Parcelable);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSuperState(): android.os.Parcelable;
			public constructor(source: android.os.Parcel, loader: java.lang.ClassLoader);
			public constructor(source: android.os.Parcel);
		}
	}
}

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: -1;
			public static TYPE_FLOATING: 1;
			public static TYPE_PRIMARY: 0;
			public getType(): number;
			public getTitle(): string;
			public setTitle(param0: string): void;
			public getSubtitle(): string;
			public getMenu(): android.view.Menu;
			public getTitleOptionalHint(): boolean;
			public hide(duration: number): void;
			public onWindowFocusChanged(hasWindowFocus: boolean): void;
			public isTitleOptional(): boolean;
			public finish(): void;
			public setSubtitle(param0: number): void;
			public constructor();
			public setTitle(param0: number): void;
			public setTitleOptionalHint(titleOptional: boolean): void;
			public getMenuInflater(): android.view.MenuInflater;
			public invalidate(): void;
			public getCustomView(): android.view.View;
			public setSubtitle(param0: string): void;
			public setTag(tag: any): void;
			public setType(type: number): void;
			public getTag(): any;
			public invalidateContentRect(): 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(mode: android.view.ActionMode, view: android.view.View, outRect: 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 constructor(context: android.content.Context);
			public setVisibilityListener(listener: android.view.ActionProvider.VisibilityListener): void;
			/** @deprecated */
			public onCreateActionView(): android.view.View;
			public onPerformDefaultAction(): boolean;
			public overridesItemVisibility(): boolean;
			public onCreateActionView(forItem: android.view.MenuItem): android.view.View;
			public refreshVisibility(): void;
			public onPrepareSubMenu(subMenu: android.view.SubMenu): void;
			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 AttachedSurfaceControl extends java.lang.Object {
			public static class: java.lang.Class<android.view.AttachedSurfaceControl>;
			/**
			 * Constructs a new instance of the android.view.AttachedSurfaceControl interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				buildReparentTransaction(param0: android.view.SurfaceControl): android.view.SurfaceControl.Transaction;
				applyTransactionOnDraw(param0: android.view.SurfaceControl.Transaction): boolean;
				getBufferTransformHint(): number;
				addOnBufferTransformHintChangedListener(listener: android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener): void;
				removeOnBufferTransformHintChangedListener(listener: android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener): void;
				setTouchableRegion(r: android.graphics.Region): void;
				setChildBoundingInsets(insets: android.graphics.Rect): void;
				getInputTransferToken(): android.window.InputTransferToken;
			});
			public constructor();
			public setTouchableRegion(r: android.graphics.Region): void;
			public getBufferTransformHint(): number;
			public applyTransactionOnDraw(param0: android.view.SurfaceControl.Transaction): boolean;
			public setChildBoundingInsets(insets: android.graphics.Rect): void;
			public buildReparentTransaction(param0: android.view.SurfaceControl): android.view.SurfaceControl.Transaction;
			public addOnBufferTransformHintChangedListener(listener: android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener): void;
			public getInputTransferToken(): android.window.InputTransferToken;
			public removeOnBufferTransformHintChangedListener(listener: android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener): void;
		}
		export module AttachedSurfaceControl {
			export class OnBufferTransformHintChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener>;
				/**
				 * Constructs a new instance of the android.view.AttachedSurfaceControl$OnBufferTransformHintChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onBufferTransformHintChanged(param0: number): void;
				});
				public constructor();
				public onBufferTransformHintChanged(param0: number): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class Choreographer extends java.lang.Object {
			public static class: java.lang.Class<android.view.Choreographer>;
			public postFrameCallback(callback: android.view.Choreographer.FrameCallback): void;
			public static getInstance(): android.view.Choreographer;
			public removeFrameCallback(callback: android.view.Choreographer.FrameCallback): void;
			public removeVsyncCallback(callback: android.view.Choreographer.VsyncCallback): void;
			public postFrameCallbackDelayed(callback: android.view.Choreographer.FrameCallback, delayMillis: number): void;
			public postVsyncCallback(callback: android.view.Choreographer.VsyncCallback): 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;
			}
			export class FrameData extends java.lang.Object {
				public static class: java.lang.Class<android.view.Choreographer.FrameData>;
				public getPreferredFrameTimeline(): android.view.Choreographer.FrameTimeline;
				public getFrameTimeNanos(): number;
				public getFrameTimelines(): androidNative.Array<android.view.Choreographer.FrameTimeline>;
			}
			export class FrameTimeline extends java.lang.Object {
				public static class: java.lang.Class<android.view.Choreographer.FrameTimeline>;
				public getVsyncId(): number;
				public getDeadlineNanos(): number;
				public getExpectedPresentationTimeNanos(): number;
			}
			export class VsyncCallback extends java.lang.Object {
				public static class: java.lang.Class<android.view.Choreographer.VsyncCallback>;
				/**
				 * Constructs a new instance of the android.view.Choreographer$VsyncCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onVsync(param0: android.view.Choreographer.FrameData): void;
				});
				public constructor();
				public onVsync(param0: android.view.Choreographer.FrameData): 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 ContentInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.ContentInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.ContentInfo>;
			public static FLAG_CONVERT_TO_PLAIN_TEXT: 1;
			public static SOURCE_APP: 0;
			public static SOURCE_AUTOFILL: 4;
			public static SOURCE_CLIPBOARD: 1;
			public static SOURCE_DRAG_AND_DROP: 3;
			public static SOURCE_INPUT_METHOD: 2;
			public static SOURCE_PROCESS_TEXT: 5;
			public toString(): string;
			public getClip(): android.content.ClipData;
			public getFlags(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getSource(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getLinkUri(): android.net.Uri;
			public getExtras(): android.os.Bundle;
		}
		export module ContentInfo {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.view.ContentInfo.Builder>;
				public setSource(source: number): android.view.ContentInfo.Builder;
				public setClip(clip: android.content.ClipData): android.view.ContentInfo.Builder;
				public setLinkUri(linkUri: android.net.Uri): android.view.ContentInfo.Builder;
				public setFlags(flags: number): android.view.ContentInfo.Builder;
				public setExtras(extras: android.os.Bundle): android.view.ContentInfo.Builder;
				public build(): android.view.ContentInfo;
				public constructor(other: android.view.ContentInfo);
				public constructor(clip: android.content.ClipData, source: number);
			}
		}
	}
}

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: androidNative.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: androidNative.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(groupDividerEnabled: boolean): void;
			});
			public constructor();
			public static CATEGORY_SECONDARY: 196608;
			public static FLAG_APPEND_TO_GROUP: 1;
			public static FIRST: 1;
			public static NONE: 0;
			public static SUPPORTED_MODIFIERS_MASK: 69647;
			public static CATEGORY_ALTERNATIVE: 262144;
			public static FLAG_ALWAYS_PERFORM_CLOSE: 2;
			public static FLAG_PERFORM_NO_CLOSE: 1;
			public static CATEGORY_CONTAINER: 65536;
			public static CATEGORY_SYSTEM: 131072;
			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 addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: androidNative.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: androidNative.Array<android.view.MenuItem>): number;
			public setHeaderView(param0: android.view.View): android.view.ContextMenu;
			public setQwertyMode(param0: boolean): void;
			public close(): 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 setGroupDividerEnabled(groupDividerEnabled: boolean): void;
			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 getSystemService(serviceClass: java.lang.Class<any>): any;
			public getResources(): android.content.res.Resources;
			public getAssets(): android.content.res.AssetManager;
			public setTheme(theme: android.content.res.Resources.Theme): void;
			public getSystemService(name: string): any;
			public constructor();
			public constructor(base: android.content.Context, themeResId: number);
			public attachBaseContext(newBase: android.content.Context): void;
			public onApplyThemeResource(theme: android.content.res.Resources.Theme, resId: number, first: boolean): void;
			public applyOverrideConfiguration(overrideConfiguration: android.content.res.Configuration): void;
			public constructor(base: android.content.Context, theme: android.content.res.Resources.Theme);
			public getTheme(): android.content.res.Resources.Theme;
			public constructor(base: android.content.Context);
			public setTheme(resid: number): void;
		}
	}
}

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: 0;
			public static FLAG_PRESENTATION: 8;
			public static FLAG_PRIVATE: 4;
			public static FLAG_ROUND: 16;
			public static FLAG_SECURE: 2;
			public static FLAG_SUPPORTS_PROTECTED_BUFFERS: 1;
			public static INVALID_DISPLAY: -1;
			public static STATE_DOZE: 3;
			public static STATE_DOZE_SUSPEND: 4;
			public static STATE_OFF: 1;
			public static STATE_ON: 2;
			public static STATE_ON_SUSPEND: 6;
			public static STATE_UNKNOWN: 0;
			public static STATE_VR: 5;
			/** @deprecated */
			public getHeight(): number;
			public getPresentationDeadlineNanos(): number;
			/** @deprecated */
			public getRectSize(outSize: android.graphics.Rect): void;
			public isHdrSdrRatioAvailable(): boolean;
			public getRoundedCorner(position: number): android.view.RoundedCorner;
			public getRefreshRate(): number;
			public unregisterHdrSdrRatioChangedListener(listener: any /* any*/): void;
			/** @deprecated */
			public getPixelFormat(): number;
			/** @deprecated */
			public getWidth(): number;
			public registerHdrSdrRatioChangedListener(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public getOverlaySupport(): android.hardware.OverlayProperties;
			public getHdrCapabilities(): android.view.Display.HdrCapabilities;
			public getSupportedModes(): androidNative.Array<android.view.Display.Mode>;
			public isHdr(): boolean;
			/** @deprecated */
			public getMetrics(outMetrics: android.util.DisplayMetrics): void;
			public isValid(): boolean;
			public isMinimalPostProcessingSupported(): boolean;
			public getState(): number;
			public getCurrentSizeRange(outSmallestSize: android.graphics.Point, outLargestSize: android.graphics.Point): void;
			public getDeviceProductInfo(): android.hardware.display.DeviceProductInfo;
			/** @deprecated */
			public getRealMetrics(outMetrics: android.util.DisplayMetrics): void;
			public getFlags(): number;
			public getRotation(): number;
			public getCutout(): android.view.DisplayCutout;
			/** @deprecated */
			public getRealSize(outSize: android.graphics.Point): void;
			public getAppVsyncOffsetNanos(): number;
			public getHdrSdrRatio(): number;
			/** @deprecated */
			public getOrientation(): number;
			public getShape(): android.view.DisplayShape;
			public getMode(): android.view.Display.Mode;
			public toString(): string;
			public getName(): string;
			public getPreferredWideGamutColorSpace(): android.graphics.ColorSpace;
			/** @deprecated */
			public getSize(outSize: android.graphics.Point): void;
			/** @deprecated */
			public getSupportedRefreshRates(): androidNative.Array<number>;
			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: 1;
				public static HDR_TYPE_HDR10: 2;
				public static HDR_TYPE_HDR10_PLUS: 4;
				public static HDR_TYPE_HLG: 3;
				public static HDR_TYPE_INVALID: -1;
				public static INVALID_LUMINANCE: -1.0;
				public getDesiredMaxLuminance(): number;
				/** @deprecated */
				public getSupportedHdrTypes(): androidNative.Array<number>;
				public equals(other: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getDesiredMinLuminance(): number;
				public getDesiredMaxAverageLuminance(): number;
				public toString(): string;
			}
			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 equals(other: any): boolean;
				public writeToParcel(out: android.os.Parcel, parcelableFlags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getPhysicalWidth(): number;
				public getRefreshRate(): number;
				public getAlternativeRefreshRates(): androidNative.Array<number>;
				public getSupportedHdrTypes(): androidNative.Array<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 getBoundingRectTop(): android.graphics.Rect;
			public getBoundingRectBottom(): android.graphics.Rect;
			public getWaterfallInsets(): android.graphics.Insets;
			public getSafeInsetRight(): number;
			public getSafeInsetTop(): number;
			public getSafeInsetBottom(): number;
			public getBoundingRects(): java.util.List<android.graphics.Rect>;
			public getSafeInsetLeft(): number;
			public toString(): string;
			public constructor(safeInsets: android.graphics.Insets, boundLeft: android.graphics.Rect, boundTop: android.graphics.Rect, boundRight: android.graphics.Rect, boundBottom: android.graphics.Rect);
			public equals(o: any): boolean;
			public constructor(safeInsets: android.graphics.Insets, boundLeft: android.graphics.Rect, boundTop: android.graphics.Rect, boundRight: android.graphics.Rect, boundBottom: android.graphics.Rect, waterfallInsets: android.graphics.Insets);
			public getBoundingRectRight(): android.graphics.Rect;
			/** @deprecated */
			public constructor(safeInsets: android.graphics.Rect, boundingRects: java.util.List<android.graphics.Rect>);
			public getCutoutPath(): android.graphics.Path;
			public getBoundingRectLeft(): android.graphics.Rect;
			public hashCode(): number;
		}
		export module DisplayCutout {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.view.DisplayCutout.Builder>;
				public setBoundingRectBottom(boundingRectBottom: android.graphics.Rect): android.view.DisplayCutout.Builder;
				public setBoundingRectRight(boundingRectRight: android.graphics.Rect): android.view.DisplayCutout.Builder;
				public setWaterfallInsets(waterfallInsets: android.graphics.Insets): android.view.DisplayCutout.Builder;
				public setCutoutPath(cutoutPath: android.graphics.Path): android.view.DisplayCutout.Builder;
				public setBoundingRectTop(boundingRectTop: android.graphics.Rect): android.view.DisplayCutout.Builder;
				public setBoundingRectLeft(boundingRectLeft: android.graphics.Rect): android.view.DisplayCutout.Builder;
				public build(): android.view.DisplayCutout;
				public setSafeInsets(safeInsets: android.graphics.Insets): android.view.DisplayCutout.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export class DisplayShape extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.DisplayShape>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.DisplayShape>;
			public toString(): string;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPath(): android.graphics.Path;
			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(destination: android.os.Parcel, flags: number): void;
			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: 4;
			public static ACTION_DRAG_ENTERED: 5;
			public static ACTION_DRAG_EXITED: 6;
			public static ACTION_DRAG_LOCATION: 2;
			public static ACTION_DRAG_STARTED: 1;
			public static ACTION_DROP: 3;
			public static CREATOR: android.os.Parcelable.Creator<android.view.DragEvent>;
			public getClipData(): android.content.ClipData;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			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(root: android.view.ViewGroup, focusedRect: android.graphics.Rect, direction: number): android.view.View;
			public findNearestTouchable(root: android.view.ViewGroup, x: number, y: number, direction: number, deltas: androidNative.Array<number>): android.view.View;
			public findNextFocus(root: android.view.ViewGroup, focused: android.view.View, direction: number): android.view.View;
			public static getInstance(): android.view.FocusFinder;
			public findNextKeyboardNavigationCluster(root: android.view.View, currentCluster: android.view.View, direction: 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: 2;
			public static COMMAND_ISSUE_DURATION: 6;
			public static DEADLINE: 13;
			public static DRAW_DURATION: 4;
			public static FIRST_DRAW_FRAME: 9;
			public static GPU_DURATION: 12;
			public static INPUT_HANDLING_DURATION: 1;
			public static INTENDED_VSYNC_TIMESTAMP: 10;
			public static LAYOUT_MEASURE_DURATION: 3;
			public static SWAP_BUFFERS_DURATION: 7;
			public static SYNC_DURATION: 5;
			public static TOTAL_DURATION: 8;
			public static UNKNOWN_DELAY_DURATION: 0;
			public static VSYNC_TIMESTAMP: 11;
			public constructor(other: android.view.FrameMetrics);
			public getMetric(id: 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: -1;
			public getFrameCount(): number;
			public getStartTimeNano(): number;
			public getEndTimeNano(): number;
			public getFramePresentedTimeNano(index: number): number;
			public constructor();
			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(listener: android.view.GestureDetector.OnGestureListener);
			public setContextClickListener(onContextClickListener: android.view.GestureDetector.OnContextClickListener): void;
			public isLongpressEnabled(): boolean;
			public constructor(context: android.content.Context, listener: android.view.GestureDetector.OnGestureListener);
			public setIsLongpressEnabled(isLongpressEnabled: boolean): void;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public onGenericMotionEvent(ev: android.view.MotionEvent): boolean;
			public setOnDoubleTapListener(onDoubleTapListener: android.view.GestureDetector.OnDoubleTapListener): void;
			public constructor(context: android.content.Context, listener: android.view.GestureDetector.OnGestureListener, handler: android.os.Handler);
			public constructor(context: android.content.Context, listener: android.view.GestureDetector.OnGestureListener, handler: android.os.Handler, unused: boolean);
			/** @deprecated */
			public constructor(listener: android.view.GestureDetector.OnGestureListener, handler: android.os.Handler);
		}
		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 onLongPress(e: android.view.MotionEvent): void;
				public onSingleTapConfirmed(param0: android.view.MotionEvent): boolean;
				public onSingleTapUp(e: android.view.MotionEvent): boolean;
				public onContextClick(param0: android.view.MotionEvent): boolean;
				public onDoubleTapEvent(e: android.view.MotionEvent): boolean;
				public onSingleTapConfirmed(e: android.view.MotionEvent): boolean;
				public onLongPress(param0: android.view.MotionEvent): void;
				public onDoubleTapEvent(param0: android.view.MotionEvent): boolean;
				public onDown(param0: android.view.MotionEvent): boolean;
				public onSingleTapUp(param0: android.view.MotionEvent): boolean;
				public constructor();
				public onShowPress(e: android.view.MotionEvent): void;
				public onContextClick(e: android.view.MotionEvent): boolean;
				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 onDown(e: android.view.MotionEvent): boolean;
				public onFling(e1: android.view.MotionEvent, e2: android.view.MotionEvent, velocityX: number, velocityY: number): boolean;
				public onDoubleTap(param0: android.view.MotionEvent): boolean;
				public onScroll(e1: android.view.MotionEvent, e2: android.view.MotionEvent, distanceX: number, distanceY: number): boolean;
				public onDoubleTap(e: android.view.MotionEvent): boolean;
			}
		}
	}
}

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: 8;
			public static AXIS_PULL_AFTER: 4;
			public static AXIS_PULL_BEFORE: 2;
			public static AXIS_SPECIFIED: 1;
			public static AXIS_X_SHIFT: 0;
			public static AXIS_Y_SHIFT: 4;
			public static BOTTOM: 80;
			public static CENTER: 17;
			public static CENTER_HORIZONTAL: 1;
			public static CENTER_VERTICAL: 16;
			public static CLIP_HORIZONTAL: 8;
			public static CLIP_VERTICAL: 128;
			public static DISPLAY_CLIP_HORIZONTAL: 16777216;
			public static DISPLAY_CLIP_VERTICAL: 268435456;
			public static END: 8388613;
			public static FILL: 119;
			public static FILL_HORIZONTAL: 7;
			public static FILL_VERTICAL: 112;
			public static HORIZONTAL_GRAVITY_MASK: 7;
			public static LEFT: 3;
			public static NO_GRAVITY: 0;
			public static RELATIVE_HORIZONTAL_GRAVITY_MASK: 8388615;
			public static RELATIVE_LAYOUT_DIRECTION: 8388608;
			public static RIGHT: 5;
			public static START: 8388611;
			public static TOP: 48;
			public static VERTICAL_GRAVITY_MASK: 112;
			public static isHorizontal(gravity: number): boolean;
			public static getAbsoluteGravity(gravity: number, layoutDirection: number): number;
			public static applyDisplay(gravity: number, display: android.graphics.Rect, inoutObj: android.graphics.Rect, layoutDirection: number): void;
			public static apply(gravity: number, w: number, h: number, container: android.graphics.Rect, outRect: android.graphics.Rect, layoutDirection: number): void;
			public static apply(gravity: number, w: number, h: number, container: android.graphics.Rect, xAdj: number, yAdj: number, outRect: android.graphics.Rect): void;
			public static applyDisplay(gravity: number, display: android.graphics.Rect, inoutObj: android.graphics.Rect): void;
			public constructor();
			public static apply(gravity: number, w: number, h: number, container: android.graphics.Rect, outRect: android.graphics.Rect): void;
			public static apply(gravity: number, w: number, h: number, container: android.graphics.Rect, xAdj: number, yAdj: number, outRect: android.graphics.Rect, layoutDirection: number): void;
			public static isVertical(gravity: number): boolean;
		}
	}
}

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: 4;
			public static CONFIRM: 16;
			public static CONTEXT_CLICK: 6;
			public static DRAG_START: 25;
			public static FLAG_IGNORE_GLOBAL_SETTING: 2;
			public static FLAG_IGNORE_VIEW_SETTING: 1;
			public static GESTURE_END: 13;
			public static GESTURE_START: 12;
			public static GESTURE_THRESHOLD_ACTIVATE: 23;
			public static GESTURE_THRESHOLD_DEACTIVATE: 24;
			public static KEYBOARD_PRESS: 3;
			public static KEYBOARD_RELEASE: 7;
			public static KEYBOARD_TAP: 3;
			public static LONG_PRESS: 0;
			public static NO_HAPTICS: -1;
			public static REJECT: 17;
			public static SEGMENT_FREQUENT_TICK: 27;
			public static SEGMENT_TICK: 26;
			public static TEXT_HANDLE_MOVE: 9;
			public static TOGGLE_OFF: 22;
			public static TOGGLE_ON: 21;
			public static VIRTUAL_KEY: 1;
			public static VIRTUAL_KEY_RELEASE: 8;
		}
	}
}

declare module android {
	export module view {
		export class InflateException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.view.InflateException>;
			public constructor(message: string);
			public constructor(throwable: java.lang.Throwable);
			public constructor(detailMessage: string, throwable: java.lang.Throwable);
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: 2;
			public static KEYBOARD_TYPE_NONE: 0;
			public static KEYBOARD_TYPE_NON_ALPHABETIC: 1;
			public static MOTION_RANGE_ORIENTATION: 8;
			public static MOTION_RANGE_PRESSURE: 2;
			public static MOTION_RANGE_SIZE: 3;
			public static MOTION_RANGE_TOOL_MAJOR: 6;
			public static MOTION_RANGE_TOOL_MINOR: 7;
			public static MOTION_RANGE_TOUCH_MAJOR: 4;
			public static MOTION_RANGE_TOUCH_MINOR: 5;
			public static MOTION_RANGE_X: 0;
			public static MOTION_RANGE_Y: 1;
			public static SOURCE_ANY: -256;
			public static SOURCE_BLUETOOTH_STYLUS: 49154;
			public static SOURCE_CLASS_BUTTON: 1;
			public static SOURCE_CLASS_JOYSTICK: 16;
			public static SOURCE_CLASS_MASK: 255;
			public static SOURCE_CLASS_NONE: 0;
			public static SOURCE_CLASS_POINTER: 2;
			public static SOURCE_CLASS_POSITION: 8;
			public static SOURCE_CLASS_TRACKBALL: 4;
			public static SOURCE_DPAD: 513;
			public static SOURCE_GAMEPAD: 1025;
			public static SOURCE_HDMI: 33554433;
			public static SOURCE_JOYSTICK: 16777232;
			public static SOURCE_KEYBOARD: 257;
			public static SOURCE_MOUSE: 8194;
			public static SOURCE_MOUSE_RELATIVE: 131076;
			public static SOURCE_ROTARY_ENCODER: 4194304;
			public static SOURCE_SENSOR: 67108864;
			public static SOURCE_STYLUS: 16386;
			public static SOURCE_TOUCHPAD: 1048584;
			public static SOURCE_TOUCHSCREEN: 4098;
			public static SOURCE_TOUCH_NAVIGATION: 2097152;
			public static SOURCE_TRACKBALL: 65540;
			public static SOURCE_UNKNOWN: 0;
			public getKeyboardType(): number;
			public isVirtual(): boolean;
			public static getDeviceIds(): androidNative.Array<number>;
			public getProductId(): number;
			public getBatteryState(): android.hardware.BatteryState;
			public getMotionRange(axis: number): android.view.InputDevice.MotionRange;
			public supportsSource(source: number): boolean;
			public getVendorId(): number;
			public getMotionRanges(): java.util.List<android.view.InputDevice.MotionRange>;
			public static getDevice(id: number): android.view.InputDevice;
			public getId(): number;
			public getDescriptor(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getKeyCharacterMap(): android.view.KeyCharacterMap;
			public hasKeys(keys: androidNative.Array<number>): androidNative.Array<boolean>;
			public getKeyCodeForKeyLocation(locationKeyCode: number): number;
			/** @deprecated */
			public getVibrator(): android.os.Vibrator;
			public getSensorManager(): android.hardware.SensorManager;
			public getVibratorManager(): android.os.VibratorManager;
			public getControllerNumber(): number;
			public getMotionRange(axis: number, source: number): android.view.InputDevice.MotionRange;
			public isEnabled(): boolean;
			public getLightsManager(): android.hardware.lights.LightsManager;
			public toString(): string;
			public getName(): string;
			public hasMicrophone(): boolean;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getSources(): number;
			public isExternal(): boolean;
		}
		export module InputDevice {
			export class MotionRange extends java.lang.Object {
				public static class: java.lang.Class<android.view.InputDevice.MotionRange>;
				public getMax(): number;
				public getRange(): number;
				public getResolution(): number;
				public isFromSource(source: number): boolean;
				public getMin(): number;
				public getAxis(): number;
				public getFlat(): number;
				public getFuzz(): number;
				public getSource(): number;
			}
			export class ViewBehavior extends java.lang.Object {
				public static class: java.lang.Class<android.view.InputDevice.ViewBehavior>;
				public shouldSmoothScroll(axis: number, source: number): boolean;
			}
		}
	}
}

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 isFromSource(source: number): boolean;
			public getDeviceId(): number;
			public getDevice(): android.view.InputDevice;
			public describeContents(): number;
			public getSource(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			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: 3;
			public static BUILT_IN_KEYBOARD: 0;
			public static COMBINING_ACCENT: -2147483648;
			public static COMBINING_ACCENT_MASK: 2147483647;
			public static CREATOR: android.os.Parcelable.Creator<android.view.KeyCharacterMap>;
			public static FULL: 4;
			public static HEX_INPUT: "61184";
			public static MODIFIER_BEHAVIOR_CHORDED: 0;
			public static MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED: 1;
			public static NUMERIC: 1;
			public static PICKER_DIALOG_INPUT: "61185";
			public static PREDICTIVE: 2;
			public static SPECIAL_FUNCTION: 5;
			public static VIRTUAL_KEYBOARD: -1;
			public getKeyboardType(): number;
			public static load(deviceId: number): android.view.KeyCharacterMap;
			public getModifierBehavior(): number;
			public static getDeadChar(accent: number, c: number): number;
			public getMatch(keyCode: number, chars: androidNative.Array<string>): string;
			public getMatch(keyCode: number, chars: androidNative.Array<string>, metaState: number): string;
			public static deviceHasKeys(keyCodes: androidNative.Array<number>): androidNative.Array<boolean>;
			public getEvents(chars: androidNative.Array<string>): androidNative.Array<android.view.KeyEvent>;
			public equals(obj: any): boolean;
			public getNumber(keyCode: number): string;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isPrintingKey(keyCode: number): boolean;
			public static deviceHasKey(keyCode: number): boolean;
			public get(keyCode: number, metaState: number): number;
			public finalize(): void;
			public getDisplayLabel(keyCode: number): string;
			/** @deprecated */
			public getKeyData(keyCode: number, results: android.view.KeyCharacterMap.KeyData): boolean;
		}
		export module KeyCharacterMap {
			export class KeyData extends java.lang.Object {
				public static class: java.lang.Class<android.view.KeyCharacterMap.KeyData>;
				public static META_LENGTH: 4;
				public displayLabel: string;
				public meta: androidNative.Array<string>;
				public number: string;
				/** @deprecated */
				public constructor();
			}
			export class UnavailableException extends android.util.AndroidRuntimeException {
				public static class: java.lang.Class<android.view.KeyCharacterMap.UnavailableException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor(name: string, cause: java.lang.Throwable);
				public constructor();
				public constructor(cause: java.lang.Exception);
			}
		}
	}
}

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: 0;
			public static ACTION_MULTIPLE: 2;
			public static ACTION_UP: 1;
			public static CREATOR: android.os.Parcelable.Creator<android.view.KeyEvent>;
			public static FLAG_CANCELED: 32;
			public static FLAG_CANCELED_LONG_PRESS: 256;
			public static FLAG_EDITOR_ACTION: 16;
			public static FLAG_FALLBACK: 1024;
			public static FLAG_FROM_SYSTEM: 8;
			public static FLAG_KEEP_TOUCH_MODE: 4;
			public static FLAG_LONG_PRESS: 128;
			public static FLAG_SOFT_KEYBOARD: 2;
			public static FLAG_TRACKING: 512;
			public static FLAG_VIRTUAL_HARD_KEY: 64;
			public static FLAG_WOKE_HERE: 1;
			public static KEYCODE_0: 7;
			public static KEYCODE_1: 8;
			public static KEYCODE_11: 227;
			public static KEYCODE_12: 228;
			public static KEYCODE_2: 9;
			public static KEYCODE_3: 10;
			public static KEYCODE_3D_MODE: 206;
			public static KEYCODE_4: 11;
			public static KEYCODE_5: 12;
			public static KEYCODE_6: 13;
			public static KEYCODE_7: 14;
			public static KEYCODE_8: 15;
			public static KEYCODE_9: 16;
			public static KEYCODE_A: 29;
			public static KEYCODE_ALL_APPS: 284;
			public static KEYCODE_ALT_LEFT: 57;
			public static KEYCODE_ALT_RIGHT: 58;
			public static KEYCODE_APOSTROPHE: 75;
			public static KEYCODE_APP_SWITCH: 187;
			public static KEYCODE_ASSIST: 219;
			public static KEYCODE_AT: 77;
			public static KEYCODE_AVR_INPUT: 182;
			public static KEYCODE_AVR_POWER: 181;
			public static KEYCODE_B: 30;
			public static KEYCODE_BACK: 4;
			public static KEYCODE_BACKSLASH: 73;
			public static KEYCODE_BOOKMARK: 174;
			public static KEYCODE_BREAK: 121;
			public static KEYCODE_BRIGHTNESS_DOWN: 220;
			public static KEYCODE_BRIGHTNESS_UP: 221;
			public static KEYCODE_BUTTON_1: 188;
			public static KEYCODE_BUTTON_10: 197;
			public static KEYCODE_BUTTON_11: 198;
			public static KEYCODE_BUTTON_12: 199;
			public static KEYCODE_BUTTON_13: 200;
			public static KEYCODE_BUTTON_14: 201;
			public static KEYCODE_BUTTON_15: 202;
			public static KEYCODE_BUTTON_16: 203;
			public static KEYCODE_BUTTON_2: 189;
			public static KEYCODE_BUTTON_3: 190;
			public static KEYCODE_BUTTON_4: 191;
			public static KEYCODE_BUTTON_5: 192;
			public static KEYCODE_BUTTON_6: 193;
			public static KEYCODE_BUTTON_7: 194;
			public static KEYCODE_BUTTON_8: 195;
			public static KEYCODE_BUTTON_9: 196;
			public static KEYCODE_BUTTON_A: 96;
			public static KEYCODE_BUTTON_B: 97;
			public static KEYCODE_BUTTON_C: 98;
			public static KEYCODE_BUTTON_L1: 102;
			public static KEYCODE_BUTTON_L2: 104;
			public static KEYCODE_BUTTON_MODE: 110;
			public static KEYCODE_BUTTON_R1: 103;
			public static KEYCODE_BUTTON_R2: 105;
			public static KEYCODE_BUTTON_SELECT: 109;
			public static KEYCODE_BUTTON_START: 108;
			public static KEYCODE_BUTTON_THUMBL: 106;
			public static KEYCODE_BUTTON_THUMBR: 107;
			public static KEYCODE_BUTTON_X: 99;
			public static KEYCODE_BUTTON_Y: 100;
			public static KEYCODE_BUTTON_Z: 101;
			public static KEYCODE_C: 31;
			public static KEYCODE_CALCULATOR: 210;
			public static KEYCODE_CALENDAR: 208;
			public static KEYCODE_CALL: 5;
			public static KEYCODE_CAMERA: 27;
			public static KEYCODE_CAPS_LOCK: 115;
			public static KEYCODE_CAPTIONS: 175;
			public static KEYCODE_CHANNEL_DOWN: 167;
			public static KEYCODE_CHANNEL_UP: 166;
			public static KEYCODE_CLEAR: 28;
			public static KEYCODE_COMMA: 55;
			public static KEYCODE_CONTACTS: 207;
			public static KEYCODE_COPY: 278;
			public static KEYCODE_CTRL_LEFT: 113;
			public static KEYCODE_CTRL_RIGHT: 114;
			public static KEYCODE_CUT: 277;
			public static KEYCODE_D: 32;
			public static KEYCODE_DEL: 67;
			public static KEYCODE_DEMO_APP_1: 301;
			public static KEYCODE_DEMO_APP_2: 302;
			public static KEYCODE_DEMO_APP_3: 303;
			public static KEYCODE_DEMO_APP_4: 304;
			public static KEYCODE_DPAD_CENTER: 23;
			public static KEYCODE_DPAD_DOWN: 20;
			public static KEYCODE_DPAD_DOWN_LEFT: 269;
			public static KEYCODE_DPAD_DOWN_RIGHT: 271;
			public static KEYCODE_DPAD_LEFT: 21;
			public static KEYCODE_DPAD_RIGHT: 22;
			public static KEYCODE_DPAD_UP: 19;
			public static KEYCODE_DPAD_UP_LEFT: 268;
			public static KEYCODE_DPAD_UP_RIGHT: 270;
			public static KEYCODE_DVR: 173;
			public static KEYCODE_E: 33;
			public static KEYCODE_EISU: 212;
			public static KEYCODE_EMOJI_PICKER: 317;
			public static KEYCODE_ENDCALL: 6;
			public static KEYCODE_ENTER: 66;
			public static KEYCODE_ENVELOPE: 65;
			public static KEYCODE_EQUALS: 70;
			public static KEYCODE_ESCAPE: 111;
			public static KEYCODE_EXPLORER: 64;
			public static KEYCODE_F: 34;
			public static KEYCODE_F1: 131;
			public static KEYCODE_F10: 140;
			public static KEYCODE_F11: 141;
			public static KEYCODE_F12: 142;
			public static KEYCODE_F2: 132;
			public static KEYCODE_F3: 133;
			public static KEYCODE_F4: 134;
			public static KEYCODE_F5: 135;
			public static KEYCODE_F6: 136;
			public static KEYCODE_F7: 137;
			public static KEYCODE_F8: 138;
			public static KEYCODE_F9: 139;
			public static KEYCODE_FEATURED_APP_1: 297;
			public static KEYCODE_FEATURED_APP_2: 298;
			public static KEYCODE_FEATURED_APP_3: 299;
			public static KEYCODE_FEATURED_APP_4: 300;
			public static KEYCODE_FOCUS: 80;
			public static KEYCODE_FORWARD: 125;
			public static KEYCODE_FORWARD_DEL: 112;
			public static KEYCODE_FUNCTION: 119;
			public static KEYCODE_G: 35;
			public static KEYCODE_GRAVE: 68;
			public static KEYCODE_GUIDE: 172;
			public static KEYCODE_H: 36;
			public static KEYCODE_HEADSETHOOK: 79;
			public static KEYCODE_HELP: 259;
			public static KEYCODE_HENKAN: 214;
			public static KEYCODE_HOME: 3;
			public static KEYCODE_I: 37;
			public static KEYCODE_INFO: 165;
			public static KEYCODE_INSERT: 124;
			public static KEYCODE_J: 38;
			public static KEYCODE_K: 39;
			public static KEYCODE_KANA: 218;
			public static KEYCODE_KATAKANA_HIRAGANA: 215;
			public static KEYCODE_KEYBOARD_BACKLIGHT_DOWN: 305;
			public static KEYCODE_KEYBOARD_BACKLIGHT_TOGGLE: 307;
			public static KEYCODE_KEYBOARD_BACKLIGHT_UP: 306;
			public static KEYCODE_L: 40;
			public static KEYCODE_LANGUAGE_SWITCH: 204;
			public static KEYCODE_LAST_CHANNEL: 229;
			public static KEYCODE_LEFT_BRACKET: 71;
			public static KEYCODE_M: 41;
			public static KEYCODE_MACRO_1: 313;
			public static KEYCODE_MACRO_2: 314;
			public static KEYCODE_MACRO_3: 315;
			public static KEYCODE_MACRO_4: 316;
			public static KEYCODE_MANNER_MODE: 205;
			public static KEYCODE_MEDIA_AUDIO_TRACK: 222;
			public static KEYCODE_MEDIA_CLOSE: 128;
			public static KEYCODE_MEDIA_EJECT: 129;
			public static KEYCODE_MEDIA_FAST_FORWARD: 90;
			public static KEYCODE_MEDIA_NEXT: 87;
			public static KEYCODE_MEDIA_PAUSE: 127;
			public static KEYCODE_MEDIA_PLAY: 126;
			public static KEYCODE_MEDIA_PLAY_PAUSE: 85;
			public static KEYCODE_MEDIA_PREVIOUS: 88;
			public static KEYCODE_MEDIA_RECORD: 130;
			public static KEYCODE_MEDIA_REWIND: 89;
			public static KEYCODE_MEDIA_SKIP_BACKWARD: 273;
			public static KEYCODE_MEDIA_SKIP_FORWARD: 272;
			public static KEYCODE_MEDIA_STEP_BACKWARD: 275;
			public static KEYCODE_MEDIA_STEP_FORWARD: 274;
			public static KEYCODE_MEDIA_STOP: 86;
			public static KEYCODE_MEDIA_TOP_MENU: 226;
			public static KEYCODE_MENU: 82;
			public static KEYCODE_META_LEFT: 117;
			public static KEYCODE_META_RIGHT: 118;
			public static KEYCODE_MINUS: 69;
			public static KEYCODE_MOVE_END: 123;
			public static KEYCODE_MOVE_HOME: 122;
			public static KEYCODE_MUHENKAN: 213;
			public static KEYCODE_MUSIC: 209;
			public static KEYCODE_MUTE: 91;
			public static KEYCODE_N: 42;
			public static KEYCODE_NAVIGATE_IN: 262;
			public static KEYCODE_NAVIGATE_NEXT: 261;
			public static KEYCODE_NAVIGATE_OUT: 263;
			public static KEYCODE_NAVIGATE_PREVIOUS: 260;
			public static KEYCODE_NOTIFICATION: 83;
			public static KEYCODE_NUM: 78;
			public static KEYCODE_NUMPAD_0: 144;
			public static KEYCODE_NUMPAD_1: 145;
			public static KEYCODE_NUMPAD_2: 146;
			public static KEYCODE_NUMPAD_3: 147;
			public static KEYCODE_NUMPAD_4: 148;
			public static KEYCODE_NUMPAD_5: 149;
			public static KEYCODE_NUMPAD_6: 150;
			public static KEYCODE_NUMPAD_7: 151;
			public static KEYCODE_NUMPAD_8: 152;
			public static KEYCODE_NUMPAD_9: 153;
			public static KEYCODE_NUMPAD_ADD: 157;
			public static KEYCODE_NUMPAD_COMMA: 159;
			public static KEYCODE_NUMPAD_DIVIDE: 154;
			public static KEYCODE_NUMPAD_DOT: 158;
			public static KEYCODE_NUMPAD_ENTER: 160;
			public static KEYCODE_NUMPAD_EQUALS: 161;
			public static KEYCODE_NUMPAD_LEFT_PAREN: 162;
			public static KEYCODE_NUMPAD_MULTIPLY: 155;
			public static KEYCODE_NUMPAD_RIGHT_PAREN: 163;
			public static KEYCODE_NUMPAD_SUBTRACT: 156;
			public static KEYCODE_NUM_LOCK: 143;
			public static KEYCODE_O: 43;
			public static KEYCODE_P: 44;
			public static KEYCODE_PAGE_DOWN: 93;
			public static KEYCODE_PAGE_UP: 92;
			public static KEYCODE_PAIRING: 225;
			public static KEYCODE_PASTE: 279;
			public static KEYCODE_PERIOD: 56;
			public static KEYCODE_PICTSYMBOLS: 94;
			public static KEYCODE_PLUS: 81;
			public static KEYCODE_POUND: 18;
			public static KEYCODE_POWER: 26;
			public static KEYCODE_PROFILE_SWITCH: 288;
			public static KEYCODE_PROG_BLUE: 186;
			public static KEYCODE_PROG_GREEN: 184;
			public static KEYCODE_PROG_RED: 183;
			public static KEYCODE_PROG_YELLOW: 185;
			public static KEYCODE_Q: 45;
			public static KEYCODE_R: 46;
			public static KEYCODE_RECENT_APPS: 312;
			public static KEYCODE_REFRESH: 285;
			public static KEYCODE_RIGHT_BRACKET: 72;
			public static KEYCODE_RO: 217;
			public static KEYCODE_S: 47;
			public static KEYCODE_SCREENSHOT: 318;
			public static KEYCODE_SCROLL_LOCK: 116;
			public static KEYCODE_SEARCH: 84;
			public static KEYCODE_SEMICOLON: 74;
			public static KEYCODE_SETTINGS: 176;
			public static KEYCODE_SHIFT_LEFT: 59;
			public static KEYCODE_SHIFT_RIGHT: 60;
			public static KEYCODE_SLASH: 76;
			public static KEYCODE_SLEEP: 223;
			public static KEYCODE_SOFT_LEFT: 1;
			public static KEYCODE_SOFT_RIGHT: 2;
			public static KEYCODE_SOFT_SLEEP: 276;
			public static KEYCODE_SPACE: 62;
			public static KEYCODE_STAR: 17;
			public static KEYCODE_STB_INPUT: 180;
			public static KEYCODE_STB_POWER: 179;
			public static KEYCODE_STEM_1: 265;
			public static KEYCODE_STEM_2: 266;
			public static KEYCODE_STEM_3: 267;
			public static KEYCODE_STEM_PRIMARY: 264;
			public static KEYCODE_STYLUS_BUTTON_PRIMARY: 308;
			public static KEYCODE_STYLUS_BUTTON_SECONDARY: 309;
			public static KEYCODE_STYLUS_BUTTON_TAIL: 311;
			public static KEYCODE_STYLUS_BUTTON_TERTIARY: 310;
			public static KEYCODE_SWITCH_CHARSET: 95;
			public static KEYCODE_SYM: 63;
			public static KEYCODE_SYSRQ: 120;
			public static KEYCODE_SYSTEM_NAVIGATION_DOWN: 281;
			public static KEYCODE_SYSTEM_NAVIGATION_LEFT: 282;
			public static KEYCODE_SYSTEM_NAVIGATION_RIGHT: 283;
			public static KEYCODE_SYSTEM_NAVIGATION_UP: 280;
			public static KEYCODE_T: 48;
			public static KEYCODE_TAB: 61;
			public static KEYCODE_THUMBS_DOWN: 287;
			public static KEYCODE_THUMBS_UP: 286;
			public static KEYCODE_TV: 170;
			public static KEYCODE_TV_ANTENNA_CABLE: 242;
			public static KEYCODE_TV_AUDIO_DESCRIPTION: 252;
			public static KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: 254;
			public static KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: 253;
			public static KEYCODE_TV_CONTENTS_MENU: 256;
			public static KEYCODE_TV_DATA_SERVICE: 230;
			public static KEYCODE_TV_INPUT: 178;
			public static KEYCODE_TV_INPUT_COMPONENT_1: 249;
			public static KEYCODE_TV_INPUT_COMPONENT_2: 250;
			public static KEYCODE_TV_INPUT_COMPOSITE_1: 247;
			public static KEYCODE_TV_INPUT_COMPOSITE_2: 248;
			public static KEYCODE_TV_INPUT_HDMI_1: 243;
			public static KEYCODE_TV_INPUT_HDMI_2: 244;
			public static KEYCODE_TV_INPUT_HDMI_3: 245;
			public static KEYCODE_TV_INPUT_HDMI_4: 246;
			public static KEYCODE_TV_INPUT_VGA_1: 251;
			public static KEYCODE_TV_MEDIA_CONTEXT_MENU: 257;
			public static KEYCODE_TV_NETWORK: 241;
			public static KEYCODE_TV_NUMBER_ENTRY: 234;
			public static KEYCODE_TV_POWER: 177;
			public static KEYCODE_TV_RADIO_SERVICE: 232;
			public static KEYCODE_TV_SATELLITE: 237;
			public static KEYCODE_TV_SATELLITE_BS: 238;
			public static KEYCODE_TV_SATELLITE_CS: 239;
			public static KEYCODE_TV_SATELLITE_SERVICE: 240;
			public static KEYCODE_TV_TELETEXT: 233;
			public static KEYCODE_TV_TERRESTRIAL_ANALOG: 235;
			public static KEYCODE_TV_TERRESTRIAL_DIGITAL: 236;
			public static KEYCODE_TV_TIMER_PROGRAMMING: 258;
			public static KEYCODE_TV_ZOOM_MODE: 255;
			public static KEYCODE_U: 49;
			public static KEYCODE_UNKNOWN: 0;
			public static KEYCODE_V: 50;
			public static KEYCODE_VIDEO_APP_1: 289;
			public static KEYCODE_VIDEO_APP_2: 290;
			public static KEYCODE_VIDEO_APP_3: 291;
			public static KEYCODE_VIDEO_APP_4: 292;
			public static KEYCODE_VIDEO_APP_5: 293;
			public static KEYCODE_VIDEO_APP_6: 294;
			public static KEYCODE_VIDEO_APP_7: 295;
			public static KEYCODE_VIDEO_APP_8: 296;
			public static KEYCODE_VOICE_ASSIST: 231;
			public static KEYCODE_VOLUME_DOWN: 25;
			public static KEYCODE_VOLUME_MUTE: 164;
			public static KEYCODE_VOLUME_UP: 24;
			public static KEYCODE_W: 51;
			public static KEYCODE_WAKEUP: 224;
			public static KEYCODE_WINDOW: 171;
			public static KEYCODE_X: 52;
			public static KEYCODE_Y: 53;
			public static KEYCODE_YEN: 216;
			public static KEYCODE_Z: 54;
			public static KEYCODE_ZENKAKU_HANKAKU: 211;
			public static KEYCODE_ZOOM_IN: 168;
			public static KEYCODE_ZOOM_OUT: 169;
			public static MAX_KEYCODE: 84;
			public static META_ALT_LEFT_ON: 16;
			public static META_ALT_MASK: 50;
			public static META_ALT_ON: 2;
			public static META_ALT_RIGHT_ON: 32;
			public static META_CAPS_LOCK_ON: 1048576;
			public static META_CTRL_LEFT_ON: 8192;
			public static META_CTRL_MASK: 28672;
			public static META_CTRL_ON: 4096;
			public static META_CTRL_RIGHT_ON: 16384;
			public static META_FUNCTION_ON: 8;
			public static META_META_LEFT_ON: 131072;
			public static META_META_MASK: 458752;
			public static META_META_ON: 65536;
			public static META_META_RIGHT_ON: 262144;
			public static META_NUM_LOCK_ON: 2097152;
			public static META_SCROLL_LOCK_ON: 4194304;
			public static META_SHIFT_LEFT_ON: 64;
			public static META_SHIFT_MASK: 193;
			public static META_SHIFT_ON: 1;
			public static META_SHIFT_RIGHT_ON: 128;
			public static META_SYM_ON: 4;
			public static isGamepadButton(keyCode: number): boolean;
			public getDeviceId(): number;
			public isShiftPressed(): boolean;
			public static keyCodeFromString(symbolicName: string): number;
			public isSymPressed(): boolean;
			public static changeTimeRepeat(event: android.view.KeyEvent, eventTime: number, newRepeat: number, newFlags: number): android.view.KeyEvent;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isCtrlPressed(): boolean;
			public getEventTime(): number;
			public setSource(source: number): void;
			public getModifiers(): number;
			public getUnicodeChar(): number;
			public getFlags(): number;
			public isPrintingKey(): boolean;
			public static getModifierMetaStateMask(): number;
			public hasModifiers(modifiers: number): boolean;
			/** @deprecated */
			public constructor(origEvent: android.view.KeyEvent, eventTime: number, newRepeat: number);
			public constructor(downTime: number, eventTime: number, action: number, code: number, repeat: number);
			public isTracking(): boolean;
			public getAction(): number;
			public getScanCode(): number;
			/** @deprecated */
			public getCharacters(): string;
			public isNumLockOn(): boolean;
			public isScrollLockOn(): boolean;
			public constructor(downTime: number, eventTime: number, action: number, code: number, repeat: number, metaState: number, deviceId: number, scancode: number, flags: number);
			public getDisplayLabel(): string;
			public getMatch(chars: androidNative.Array<string>, metaState: number): string;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getSource(): number;
			public isCanceled(): boolean;
			public getRepeatCount(): number;
			public static getDeadChar(accent: number, c: number): number;
			public isCapsLockOn(): boolean;
			public getDownTime(): number;
			public static metaStateHasModifiers(metaState: number, modifiers: number): boolean;
			/** @deprecated */
			public getKeyData(results: android.view.KeyCharacterMap.KeyData): boolean;
			public static getMaxKeyCode(): number;
			public constructor(origEvent: android.view.KeyEvent);
			public static changeTimeRepeat(event: android.view.KeyEvent, eventTime: number, newRepeat: number): android.view.KeyEvent;
			public getKeyCharacterMap(): android.view.KeyCharacterMap;
			public static normalizeMetaState(metaState: number): number;
			public constructor(downTime: number, eventTime: number, action: number, code: number, repeat: number, metaState: number, deviceId: number, scancode: number, flags: number, source: number);
			public startTracking(): void;
			/** @deprecated */
			public dispatch(receiver: android.view.KeyEvent.Callback): boolean;
			public dispatch(receiver: android.view.KeyEvent.Callback, state: android.view.KeyEvent.DispatcherState, target: any): boolean;
			public getNumber(): string;
			public static changeFlags(event: android.view.KeyEvent, flags: number): android.view.KeyEvent;
			public getMetaState(): number;
			public constructor(downTime: number, eventTime: number, action: number, code: number, repeat: number, metaState: number, deviceId: number, scancode: number);
			public isMetaPressed(): boolean;
			public isAltPressed(): boolean;
			public static changeAction(event: android.view.KeyEvent, action: number): android.view.KeyEvent;
			public static keyCodeToString(keyCode: number): string;
			public constructor(action: number, code: number);
			public hasNoModifiers(): boolean;
			public isLongPress(): boolean;
			public constructor(time: number, characters: string, deviceId: number, flags: number);
			public getUnicodeChar(metaState: number): number;
			public toString(): string;
			public isFunctionPressed(): boolean;
			public constructor(downTime: number, eventTime: number, action: number, code: number, repeat: number, metaState: number);
			public getKeyCode(): number;
			public static isModifierKey(keyCode: number): boolean;
			public isSystem(): boolean;
			public static isMediaSessionKey(keyCode: number): boolean;
			public getMatch(chars: androidNative.Array<string>): string;
			public static metaStateHasNoModifiers(metaState: number): 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 isTracking(event: android.view.KeyEvent): boolean;
				public reset(): void;
				public handleUpEvent(event: android.view.KeyEvent): void;
				public performedLongPress(event: android.view.KeyEvent): void;
				public reset(target: any): void;
				public startTracking(event: android.view.KeyEvent, target: any): void;
				public constructor();
			}
		}
	}
}

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 constructor(label: string, items: java.util.List<android.view.KeyboardShortcutInfo>);
			public getLabel(): string;
			public getItems(): java.util.List<android.view.KeyboardShortcutInfo>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(label: string);
			public addItem(item: android.view.KeyboardShortcutInfo): void;
		}
	}
}

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 writeToParcel(dest: android.os.Parcel, flags: number): void;
			public constructor(label: string, keycode: number, modifiers: number);
			public getBaseCharacter(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(label: string, baseCharacter: string, modifiers: 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 setFactory(factory: android.view.LayoutInflater.Factory): void;
			public onCreateView(name: string, attrs: android.util.AttributeSet): android.view.View;
			public onCreateView(parent: android.view.View, name: string, attrs: android.util.AttributeSet): android.view.View;
			public setFilter(filter: android.view.LayoutInflater.Filter): void;
			public onCreateView(viewContext: android.content.Context, parent: android.view.View, name: string, attrs: android.util.AttributeSet): android.view.View;
			public cloneInContext(param0: android.content.Context): android.view.LayoutInflater;
			public setFactory2(factory: android.view.LayoutInflater.Factory2): void;
			public inflate(resource: number, root: android.view.ViewGroup, attachToRoot: boolean): android.view.View;
			public inflate(parser: org.xmlpull.v1.XmlPullParser, root: android.view.ViewGroup, attachToRoot: boolean): android.view.View;
			public constructor(context: android.content.Context);
			public inflate(resource: number, root: android.view.ViewGroup): android.view.View;
			public inflate(parser: org.xmlpull.v1.XmlPullParser, root: android.view.ViewGroup): android.view.View;
			public static from(context: android.content.Context): android.view.LayoutInflater;
			public getContext(): android.content.Context;
			public getFactory2(): android.view.LayoutInflater.Factory2;
			public constructor(original: android.view.LayoutInflater, newContext: android.content.Context);
			public getFilter(): android.view.LayoutInflater.Filter;
			public createView(name: string, prefix: string, attrs: android.util.AttributeSet): android.view.View;
			public getFactory(): android.view.LayoutInflater.Factory;
			public createView(viewContext: android.content.Context, name: string, prefix: string, attrs: 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: androidNative.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: androidNative.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(groupDividerEnabled: boolean): void;
			});
			public constructor();
			public static CATEGORY_SECONDARY: 196608;
			public static FLAG_APPEND_TO_GROUP: 1;
			public static FIRST: 1;
			public static NONE: 0;
			public static SUPPORTED_MODIFIERS_MASK: 69647;
			public static CATEGORY_ALTERNATIVE: 262144;
			public static FLAG_ALWAYS_PERFORM_CLOSE: 2;
			public static FLAG_PERFORM_NO_CLOSE: 1;
			public static CATEGORY_CONTAINER: 65536;
			public static CATEGORY_SYSTEM: 131072;
			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 addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: androidNative.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: androidNative.Array<android.view.MenuItem>): number;
			public setQwertyMode(param0: boolean): void;
			public close(): 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 setGroupDividerEnabled(groupDividerEnabled: boolean): void;
			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(context: android.content.Context);
			public inflate(menuRes: number, menu: 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(tint: android.content.res.ColorStateList): android.view.MenuItem;
				getIconTintList(): android.content.res.ColorStateList;
				setIconTintMode(tintMode: android.graphics.PorterDuff.Mode): android.view.MenuItem;
				setIconTintBlendMode(blendMode: android.graphics.BlendMode): android.view.MenuItem;
				getIconTintMode(): android.graphics.PorterDuff.Mode;
				getIconTintBlendMode(): android.graphics.BlendMode;
				setIntent(param0: android.content.Intent): android.view.MenuItem;
				getIntent(): android.content.Intent;
				setShortcut(param0: string, param1: string): android.view.MenuItem;
				setShortcut(numericChar: string, alphaChar: string, numericModifiers: number, alphaModifiers: number): android.view.MenuItem;
				setNumericShortcut(param0: string): android.view.MenuItem;
				setNumericShortcut(numericChar: string, numericModifiers: number): android.view.MenuItem;
				getNumericShortcut(): string;
				getNumericModifiers(): number;
				setAlphabeticShortcut(param0: string): android.view.MenuItem;
				setAlphabeticShortcut(alphaChar: string, alphaModifiers: 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(contentDescription: string): android.view.MenuItem;
				getContentDescription(): string;
				setTooltipText(tooltipText: string): android.view.MenuItem;
				getTooltipText(): string;
			});
			public constructor();
			public static SHOW_AS_ACTION_ALWAYS: 2;
			public static SHOW_AS_ACTION_NEVER: 0;
			public static SHOW_AS_ACTION_IF_ROOM: 1;
			public static SHOW_AS_ACTION_WITH_TEXT: 4;
			public static SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW: 8;
			public isCheckable(): boolean;
			public setIconTintBlendMode(blendMode: android.graphics.BlendMode): android.view.MenuItem;
			public getContentDescription(): string;
			public getNumericShortcut(): string;
			public getIconTintMode(): android.graphics.PorterDuff.Mode;
			public setShortcut(numericChar: string, alphaChar: string, numericModifiers: number, alphaModifiers: number): android.view.MenuItem;
			public setIcon(param0: number): android.view.MenuItem;
			public setTitle(param0: number): android.view.MenuItem;
			public setIconTintList(tint: android.content.res.ColorStateList): android.view.MenuItem;
			public setCheckable(param0: boolean): android.view.MenuItem;
			public getAlphabeticModifiers(): number;
			public getTitle(): string;
			public setAlphabeticShortcut(alphaChar: string, alphaModifiers: number): android.view.MenuItem;
			public setContentDescription(contentDescription: string): android.view.MenuItem;
			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 setActionProvider(param0: android.view.ActionProvider): android.view.MenuItem;
			public getIconTintBlendMode(): android.graphics.BlendMode;
			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 setTooltipText(tooltipText: string): android.view.MenuItem;
			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 isChecked(): boolean;
			public setActionView(param0: number): android.view.MenuItem;
			public setTitleCondensed(param0: string): android.view.MenuItem;
			public setNumericShortcut(numericChar: string, numericModifiers: number): 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 setIconTintMode(tintMode: android.graphics.PorterDuff.Mode): android.view.MenuItem;
			public setVisible(param0: boolean): 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: 11;
			public static ACTION_BUTTON_RELEASE: 12;
			public static ACTION_CANCEL: 3;
			public static ACTION_DOWN: 0;
			public static ACTION_HOVER_ENTER: 9;
			public static ACTION_HOVER_EXIT: 10;
			public static ACTION_HOVER_MOVE: 7;
			public static ACTION_MASK: 255;
			public static ACTION_MOVE: 2;
			public static ACTION_OUTSIDE: 4;
			public static ACTION_POINTER_1_DOWN: 5;
			public static ACTION_POINTER_1_UP: 6;
			public static ACTION_POINTER_2_DOWN: 261;
			public static ACTION_POINTER_2_UP: 262;
			public static ACTION_POINTER_3_DOWN: 517;
			public static ACTION_POINTER_3_UP: 518;
			public static ACTION_POINTER_DOWN: 5;
			public static ACTION_POINTER_ID_MASK: 65280;
			public static ACTION_POINTER_ID_SHIFT: 8;
			public static ACTION_POINTER_INDEX_MASK: 65280;
			public static ACTION_POINTER_INDEX_SHIFT: 8;
			public static ACTION_POINTER_UP: 6;
			public static ACTION_SCROLL: 8;
			public static ACTION_UP: 1;
			public static AXIS_BRAKE: 23;
			public static AXIS_DISTANCE: 24;
			public static AXIS_GAS: 22;
			public static AXIS_GENERIC_1: 32;
			public static AXIS_GENERIC_10: 41;
			public static AXIS_GENERIC_11: 42;
			public static AXIS_GENERIC_12: 43;
			public static AXIS_GENERIC_13: 44;
			public static AXIS_GENERIC_14: 45;
			public static AXIS_GENERIC_15: 46;
			public static AXIS_GENERIC_16: 47;
			public static AXIS_GENERIC_2: 33;
			public static AXIS_GENERIC_3: 34;
			public static AXIS_GENERIC_4: 35;
			public static AXIS_GENERIC_5: 36;
			public static AXIS_GENERIC_6: 37;
			public static AXIS_GENERIC_7: 38;
			public static AXIS_GENERIC_8: 39;
			public static AXIS_GENERIC_9: 40;
			public static AXIS_GESTURE_PINCH_SCALE_FACTOR: 52;
			public static AXIS_GESTURE_SCROLL_X_DISTANCE: 50;
			public static AXIS_GESTURE_SCROLL_Y_DISTANCE: 51;
			public static AXIS_GESTURE_X_OFFSET: 48;
			public static AXIS_GESTURE_Y_OFFSET: 49;
			public static AXIS_HAT_X: 15;
			public static AXIS_HAT_Y: 16;
			public static AXIS_HSCROLL: 10;
			public static AXIS_LTRIGGER: 17;
			public static AXIS_ORIENTATION: 8;
			public static AXIS_PRESSURE: 2;
			public static AXIS_RELATIVE_X: 27;
			public static AXIS_RELATIVE_Y: 28;
			public static AXIS_RTRIGGER: 18;
			public static AXIS_RUDDER: 20;
			public static AXIS_RX: 12;
			public static AXIS_RY: 13;
			public static AXIS_RZ: 14;
			public static AXIS_SCROLL: 26;
			public static AXIS_SIZE: 3;
			public static AXIS_THROTTLE: 19;
			public static AXIS_TILT: 25;
			public static AXIS_TOOL_MAJOR: 6;
			public static AXIS_TOOL_MINOR: 7;
			public static AXIS_TOUCH_MAJOR: 4;
			public static AXIS_TOUCH_MINOR: 5;
			public static AXIS_VSCROLL: 9;
			public static AXIS_WHEEL: 21;
			public static AXIS_X: 0;
			public static AXIS_Y: 1;
			public static AXIS_Z: 11;
			public static BUTTON_BACK: 8;
			public static BUTTON_FORWARD: 16;
			public static BUTTON_PRIMARY: 1;
			public static BUTTON_SECONDARY: 2;
			public static BUTTON_STYLUS_PRIMARY: 32;
			public static BUTTON_STYLUS_SECONDARY: 64;
			public static BUTTON_TERTIARY: 4;
			public static CLASSIFICATION_AMBIGUOUS_GESTURE: 1;
			public static CLASSIFICATION_DEEP_PRESS: 2;
			public static CLASSIFICATION_NONE: 0;
			public static CLASSIFICATION_PINCH: 5;
			public static CLASSIFICATION_TWO_FINGER_SWIPE: 3;
			public static CREATOR: android.os.Parcelable.Creator<android.view.MotionEvent>;
			public static EDGE_BOTTOM: 2;
			public static EDGE_LEFT: 4;
			public static EDGE_RIGHT: 8;
			public static EDGE_TOP: 1;
			public static FLAG_CANCELED: 32;
			public static FLAG_WINDOW_IS_OBSCURED: 1;
			public static FLAG_WINDOW_IS_PARTIALLY_OBSCURED: 2;
			public static INVALID_POINTER_ID: -1;
			public static TOOL_TYPE_ERASER: 4;
			public static TOOL_TYPE_FINGER: 1;
			public static TOOL_TYPE_MOUSE: 3;
			public static TOOL_TYPE_STYLUS: 2;
			public static TOOL_TYPE_UNKNOWN: 0;
			public static obtainNoHistory(other: android.view.MotionEvent): android.view.MotionEvent;
			public getX(pointerIndex: number): number;
			public getPointerCount(): number;
			public getRawX(): number;
			public getXPrecision(): number;
			public getDeviceId(): number;
			public getHistoricalX(pos: number): number;
			public getPressure(pointerIndex: number): number;
			public getTouchMinor(pointerIndex: number): number;
			public getRawY(pointerIndex: number): number;
			public getHistoricalY(pointerIndex: number, pos: number): number;
			public getHistoricalEventTimeNanos(pos: number): number;
			public getHistoricalOrientation(pointerIndex: number, pos: number): number;
			public getHistoricalOrientation(pos: number): number;
			public recycle(): void;
			public getHistoricalToolMajor(pointerIndex: number, pos: number): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getHistoricalTouchMajor(pos: number): number;
			public getHistoricalTouchMinor(pos: number): number;
			public getActionMasked(): number;
			public getX(): number;
			/** @deprecated */
			public static obtain(downTime: number, eventTime: number, action: number, pointerCount: number, pointerIds: androidNative.Array<number>, pointerCoords: androidNative.Array<android.view.MotionEvent.PointerCoords>, metaState: number, xPrecision: number, yPrecision: number, deviceId: number, edgeFlags: number, source: number, flags: number): android.view.MotionEvent;
			public getActionButton(): number;
			public getEventTime(): number;
			public setSource(source: number): void;
			public getFlags(): number;
			public isButtonPressed(button: number): boolean;
			public getHistoricalTouchMinor(pointerIndex: number, pos: number): number;
			public addBatch(eventTime: number, pointerCoords: androidNative.Array<android.view.MotionEvent.PointerCoords>, metaState: number): void;
			public getAction(): number;
			public getHistoricalX(pointerIndex: number, pos: number): number;
			public getActionIndex(): number;
			public getToolMinor(pointerIndex: number): number;
			public getTouchMajor(): number;
			public getOrientation(pointerIndex: number): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public getSource(): number;
			public getPressure(): number;
			public getHistoricalY(pos: number): number;
			public getHistoricalEventTime(pos: number): number;
			public getHistoricalSize(pointerIndex: number, pos: number): number;
			public transform(matrix: android.graphics.Matrix): void;
			public getToolMinor(): number;
			public getEdgeFlags(): number;
			public setEdgeFlags(flags: number): void;
			public getClassification(): number;
			public getPointerProperties(pointerIndex: number, outPointerProperties: android.view.MotionEvent.PointerProperties): void;
			public getHistoricalPressure(pos: number): number;
			public getY(): number;
			public getHistoricalPointerCoords(pointerIndex: number, pos: number, outPointerCoords: android.view.MotionEvent.PointerCoords): void;
			public getToolMajor(): number;
			public getHistoricalAxisValue(axis: number, pos: number): number;
			public static obtain(other: android.view.MotionEvent): android.view.MotionEvent;
			public getSize(): number;
			public getToolType(pointerIndex: number): number;
			public getHistoricalToolMinor(pos: number): number;
			public getHistoricalPressure(pointerIndex: number, pos: number): number;
			public getDownTime(): number;
			public getPointerCoords(pointerIndex: number, outPointerCoords: android.view.MotionEvent.PointerCoords): void;
			public getPointerId(pointerIndex: number): number;
			public offsetLocation(deltaX: number, deltaY: number): void;
			public getHistorySize(): number;
			public static actionToString(action: number): string;
			public getAxisValue(axis: number): number;
			public getTouchMajor(pointerIndex: number): number;
			public getRawX(pointerIndex: number): number;
			public getHistoricalToolMinor(pointerIndex: number, pos: number): number;
			public addBatch(eventTime: number, x: number, y: number, pressure: number, size: number, metaState: number): void;
			public static axisToString(axis: number): string;
			public getOrientation(): number;
			public finalize(): void;
			public getEventTimeNanos(): number;
			public getAxisValue(axis: number, pointerIndex: number): number;
			public getHistoricalSize(pos: number): number;
			public getTouchMinor(): number;
			public static axisFromString(symbolicName: string): number;
			public getMetaState(): number;
			public setLocation(x: number, y: number): void;
			public static obtain(downTime: number, eventTime: number, action: number, pointerCount: number, pointerProperties: androidNative.Array<android.view.MotionEvent.PointerProperties>, pointerCoords: androidNative.Array<android.view.MotionEvent.PointerCoords>, metaState: number, buttonState: number, xPrecision: number, yPrecision: number, deviceId: number, edgeFlags: number, source: number, displayId: number, flags: number, classification: number): android.view.MotionEvent;
			public getYPrecision(): number;
			public static obtain(downTime: number, eventTime: number, action: number, x: number, y: number, pressure: number, size: number, metaState: number, xPrecision: number, yPrecision: number, deviceId: number, edgeFlags: number): android.view.MotionEvent;
			public setAction(action: number): void;
			public getY(pointerIndex: number): number;
			public toString(): string;
			public static obtain(downTime: number, eventTime: number, action: number, pointerCount: number, pointerProperties: androidNative.Array<android.view.MotionEvent.PointerProperties>, pointerCoords: androidNative.Array<android.view.MotionEvent.PointerCoords>, metaState: number, buttonState: number, xPrecision: number, yPrecision: number, deviceId: number, edgeFlags: number, source: number, flags: number): android.view.MotionEvent;
			public getHistoricalAxisValue(axis: number, pointerIndex: number, pos: number): number;
			public getHistoricalToolMajor(pos: number): number;
			public getSize(pointerIndex: number): number;
			public getButtonState(): number;
			public getRawY(): number;
			public getHistoricalTouchMajor(pointerIndex: number, pos: number): number;
			/** @deprecated */
			public static obtain(downTime: number, eventTime: number, action: number, pointerCount: number, x: number, y: number, pressure: number, size: number, metaState: number, xPrecision: number, yPrecision: number, deviceId: number, edgeFlags: number): android.view.MotionEvent;
			public static obtain(downTime: number, eventTime: number, action: number, x: number, y: number, metaState: number): android.view.MotionEvent;
			public findPointerIndex(pointerId: number): number;
			public getToolMajor(pointerIndex: 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 constructor(other: android.view.MotionEvent.PointerCoords);
				public getAxisValue(axis: number): number;
				public clear(): void;
				public setAxisValue(axis: number, value: number): void;
				public isResampled(): boolean;
				public constructor();
				public copyFrom(other: android.view.MotionEvent.PointerCoords): void;
			}
			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(other: android.view.MotionEvent.PointerProperties);
				public equals(other: any): boolean;
				public hashCode(): number;
				public clear(): void;
				public copyFrom(other: android.view.MotionEvent.PointerProperties): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export class MotionPredictor extends java.lang.Object {
			public static class: java.lang.Class<android.view.MotionPredictor>;
			public constructor(context: android.content.Context);
			public predict(predictionTimeNanos: number): android.view.MotionEvent;
			public isPredictionAvailable(deviceId: number, source: number): boolean;
			public record(event: android.view.MotionEvent): void;
		}
	}
}

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

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: -1;
			public constructor(context: android.content.Context);
			public constructor(context: android.content.Context, rate: number);
			public disable(): void;
			public onOrientationChanged(param0: number): void;
			public enable(): void;
			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: -1;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onSensorChanged(param0: number, param1: androidNative.Array<number>): void;
			/** @deprecated */
			public onAccuracyChanged(param0: number, param1: number): void;
			/** @deprecated */
			public onOrientationChanged(param0: number): void;
			/** @deprecated */
			public disable(): void;
			/** @deprecated */
			public onSensorChanged(sensor: number, values: androidNative.Array<number>): void;
			/** @deprecated */
			public constructor(context: android.content.Context, rate: number);
			/** @deprecated */
			public onAccuracyChanged(sensor: number, accuracy: number): void;
			/** @deprecated */
			public enable(): void;
		}
	}
}

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: 5;
			public static ERROR_SOURCE_INVALID: 4;
			public static ERROR_SOURCE_NO_DATA: 3;
			public static ERROR_TIMEOUT: 2;
			public static ERROR_UNKNOWN: 1;
			public static SUCCESS: 0;
			public static request(source: android.view.SurfaceView, srcRect: android.graphics.Rect, dest: android.graphics.Bitmap, listener: android.view.PixelCopy.OnPixelCopyFinishedListener, listenerThread: android.os.Handler): void;
			public static request(source: android.view.Window, srcRect: android.graphics.Rect, dest: android.graphics.Bitmap, listener: android.view.PixelCopy.OnPixelCopyFinishedListener, listenerThread: android.os.Handler): void;
			public static request(source: android.view.Surface, srcRect: android.graphics.Rect, dest: android.graphics.Bitmap, listener: android.view.PixelCopy.OnPixelCopyFinishedListener, listenerThread: android.os.Handler): void;
			public static request(source: android.view.SurfaceView, dest: android.graphics.Bitmap, listener: android.view.PixelCopy.OnPixelCopyFinishedListener, listenerThread: android.os.Handler): void;
			public static request(request: android.view.PixelCopy.Request, callbackExecutor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public static request(source: android.view.Surface, dest: android.graphics.Bitmap, listener: android.view.PixelCopy.OnPixelCopyFinishedListener, listenerThread: android.os.Handler): void;
			public static request(source: android.view.Window, dest: android.graphics.Bitmap, listener: android.view.PixelCopy.OnPixelCopyFinishedListener, listenerThread: 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;
			}
			export class Request extends java.lang.Object {
				public static class: java.lang.Class<android.view.PixelCopy.Request>;
				public getDestinationBitmap(): android.graphics.Bitmap;
				public getSourceRect(): android.graphics.Rect;
			}
			export module Request {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.PixelCopy.Request.Builder>;
					public static ofSurface(source: android.view.Surface): android.view.PixelCopy.Request.Builder;
					public setDestinationBitmap(destination: android.graphics.Bitmap): android.view.PixelCopy.Request.Builder;
					public build(): android.view.PixelCopy.Request;
					public static ofWindow(source: android.view.Window): android.view.PixelCopy.Request.Builder;
					public static ofSurface(source: android.view.SurfaceView): android.view.PixelCopy.Request.Builder;
					public setSourceRect(srcRect: android.graphics.Rect): android.view.PixelCopy.Request.Builder;
					public static ofWindow(source: android.view.View): android.view.PixelCopy.Request.Builder;
				}
			}
			export class Result extends java.lang.Object {
				public static class: java.lang.Class<android.view.PixelCopy.Result>;
				public getBitmap(): android.graphics.Bitmap;
				public getStatus(): number;
			}
		}
	}
}

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: 1010;
			public static TYPE_ALL_SCROLL: 1013;
			public static TYPE_ARROW: 1000;
			public static TYPE_CELL: 1006;
			public static TYPE_CONTEXT_MENU: 1001;
			public static TYPE_COPY: 1011;
			public static TYPE_CROSSHAIR: 1007;
			public static TYPE_DEFAULT: 1000;
			public static TYPE_GRAB: 1020;
			public static TYPE_GRABBING: 1021;
			public static TYPE_HAND: 1002;
			public static TYPE_HANDWRITING: 1022;
			public static TYPE_HELP: 1003;
			public static TYPE_HORIZONTAL_DOUBLE_ARROW: 1014;
			public static TYPE_NO_DROP: 1012;
			public static TYPE_NULL: 0;
			public static TYPE_TEXT: 1008;
			public static TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW: 1017;
			public static TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW: 1016;
			public static TYPE_VERTICAL_DOUBLE_ARROW: 1015;
			public static TYPE_VERTICAL_TEXT: 1009;
			public static TYPE_WAIT: 1004;
			public static TYPE_ZOOM_IN: 1018;
			public static TYPE_ZOOM_OUT: 1019;
			public equals(other: any): boolean;
			public static load(resources: android.content.res.Resources, resourceId: number): any;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static getSystemIcon(context: android.content.Context, type: number): any;
			public static create(bitmap: android.graphics.Bitmap, hotSpotX: number, hotSpotY: number): any;
		}
	}
}

declare module android {
	export module view {
		export class RoundedCorner extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.RoundedCorner>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.RoundedCorner>;
			public static POSITION_BOTTOM_LEFT: 3;
			public static POSITION_BOTTOM_RIGHT: 2;
			public static POSITION_TOP_LEFT: 0;
			public static POSITION_TOP_RIGHT: 1;
			public getCenter(): android.graphics.Point;
			public toString(): string;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPosition(): number;
			public getRadius(): number;
			public constructor(position: number, radius: number, centerX: number, centerY: number);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module view {
		export class ScaleGestureDetector extends java.lang.Object {
			public static class: java.lang.Class<android.view.ScaleGestureDetector>;
			public setStylusScaleEnabled(scales: boolean): void;
			public getCurrentSpan(): number;
			public getPreviousSpan(): number;
			public isStylusScaleEnabled(): boolean;
			public getFocusX(): number;
			public getCurrentSpanX(): number;
			public getPreviousSpanY(): number;
			public constructor(context: android.content.Context, listener: android.view.ScaleGestureDetector.OnScaleGestureListener, handler: android.os.Handler);
			public getCurrentSpanY(): number;
			public getPreviousSpanX(): number;
			public constructor(context: android.content.Context, listener: android.view.ScaleGestureDetector.OnScaleGestureListener);
			public getScaleFactor(): number;
			public getTimeDelta(): number;
			public isInProgress(): boolean;
			public getFocusY(): number;
			public getEventTime(): number;
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public setQuickScaleEnabled(scales: boolean): void;
			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 onScaleEnd(detector: android.view.ScaleGestureDetector): void;
				public onScaleBegin(param0: android.view.ScaleGestureDetector): boolean;
				public onScaleBegin(detector: android.view.ScaleGestureDetector): boolean;
				public constructor();
				public onScale(detector: android.view.ScaleGestureDetector): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export class ScrollCaptureCallback extends java.lang.Object {
			public static class: java.lang.Class<android.view.ScrollCaptureCallback>;
			/**
			 * Constructs a new instance of the android.view.ScrollCaptureCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onScrollCaptureSearch(param0: android.os.CancellationSignal, param1: any /* any*/): void;
				onScrollCaptureStart(param0: android.view.ScrollCaptureSession, param1: android.os.CancellationSignal, param2: java.lang.Runnable): void;
				onScrollCaptureImageRequest(param0: android.view.ScrollCaptureSession, param1: android.os.CancellationSignal, param2: android.graphics.Rect, param3: any /* any*/): void;
				onScrollCaptureEnd(param0: java.lang.Runnable): void;
			});
			public constructor();
			public onScrollCaptureImageRequest(param0: android.view.ScrollCaptureSession, param1: android.os.CancellationSignal, param2: android.graphics.Rect, param3: any /* any*/): void;
			public onScrollCaptureSearch(param0: android.os.CancellationSignal, param1: any /* any*/): void;
			public onScrollCaptureStart(param0: android.view.ScrollCaptureSession, param1: android.os.CancellationSignal, param2: java.lang.Runnable): void;
			public onScrollCaptureEnd(param0: java.lang.Runnable): void;
		}
	}
}

declare module android {
	export module view {
		export class ScrollCaptureSession extends java.lang.Object {
			public static class: java.lang.Class<android.view.ScrollCaptureSession>;
			public getScrollBounds(): android.graphics.Rect;
			public constructor(surface: android.view.Surface, scrollBounds: android.graphics.Rect, positionInWindow: android.graphics.Point);
			public getSurface(): android.view.Surface;
			public getPositionInWindow(): android.graphics.Point;
		}
	}
}

declare module android {
	export module view {
		export class ScrollCaptureTarget extends java.lang.Object {
			public static class: java.lang.Class<android.view.ScrollCaptureTarget>;
			public getScrollBounds(): android.graphics.Rect;
			public toString(): string;
			public getCallback(): android.view.ScrollCaptureCallback;
			public getHint(): number;
			public getContainingView(): android.view.View;
			public getLocalVisibleRect(): android.graphics.Rect;
			public setScrollBounds(scrollBounds: android.graphics.Rect): void;
			public updatePositionInWindow(): void;
			public constructor(scrollTarget: android.view.View, localVisibleRect: android.graphics.Rect, positionInWindow: android.graphics.Point, callback: android.view.ScrollCaptureCallback);
			public getPositionInWindow(): android.graphics.Point;
		}
	}
}

declare module android {
	export module view {
		export class ScrollFeedbackProvider extends java.lang.Object {
			public static class: java.lang.Class<android.view.ScrollFeedbackProvider>;
			/**
			 * Constructs a new instance of the android.view.ScrollFeedbackProvider interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				createProvider(view: android.view.View): android.view.ScrollFeedbackProvider;
				onSnapToItem(param0: number, param1: number, param2: number): void;
				onScrollLimit(param0: number, param1: number, param2: number, param3: boolean): void;
				onScrollProgress(param0: number, param1: number, param2: number, param3: number): void;
			});
			public constructor();
			public static createProvider(view: android.view.View): android.view.ScrollFeedbackProvider;
			public onScrollLimit(param0: number, param1: number, param2: number, param3: boolean): void;
			public onSnapToItem(param0: number, param1: number, param2: number): void;
			public onScrollProgress(param0: number, param1: number, param2: number, param3: number): void;
		}
	}
}

declare module android {
	export module view {
		export class SearchEvent extends java.lang.Object {
			public static class: java.lang.Class<any>;
			public getInputDevice(): android.view.InputDevice;
			public constructor(inputDevice: 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: 0;
			public static NAVIGATION_DOWN: 4;
			public static NAVIGATION_LEFT: 1;
			public static NAVIGATION_REPEAT_DOWN: 8;
			public static NAVIGATION_REPEAT_LEFT: 5;
			public static NAVIGATION_REPEAT_RIGHT: 7;
			public static NAVIGATION_REPEAT_UP: 6;
			public static NAVIGATION_RIGHT: 3;
			public static NAVIGATION_UP: 2;
			public static getConstantForFocusDirection(direction: number, repeating: boolean): number;
			public static getContantForFocusDirection(direction: 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: androidNative.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: androidNative.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(groupDividerEnabled: boolean): void;
			});
			public constructor();
			public static CATEGORY_SECONDARY: 196608;
			public static FLAG_APPEND_TO_GROUP: 1;
			public static FIRST: 1;
			public static NONE: 0;
			public static SUPPORTED_MODIFIERS_MASK: 69647;
			public static CATEGORY_ALTERNATIVE: 262144;
			public static FLAG_ALWAYS_PERFORM_CLOSE: 2;
			public static FLAG_PERFORM_NO_CLOSE: 1;
			public static CATEGORY_CONTAINER: 65536;
			public static CATEGORY_SYSTEM: 131072;
			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 addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: androidNative.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: androidNative.Array<android.view.MenuItem>): number;
			public setQwertyMode(param0: boolean): void;
			public close(): 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 setGroupDividerEnabled(groupDividerEnabled: boolean): void;
			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 CHANGE_FRAME_RATE_ALWAYS: 1;
			public static CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS: 0;
			public static CREATOR: android.os.Parcelable.Creator<android.view.Surface>;
			public static FRAME_RATE_COMPATIBILITY_DEFAULT: 0;
			public static FRAME_RATE_COMPATIBILITY_FIXED_SOURCE: 1;
			public static ROTATION_0: 0;
			public static ROTATION_180: 2;
			public static ROTATION_270: 3;
			public static ROTATION_90: 1;
			public lockHardwareCanvas(): android.graphics.Canvas;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public setFrameRate(frameRate: number, compatibility: number, changeFrameRateStrategy: number): void;
			/** @deprecated */
			public unlockCanvas(canvas: android.graphics.Canvas): void;
			public setFrameRate(frameRate: number, compatibility: number): void;
			public clearFrameRate(): void;
			public constructor(from: android.view.SurfaceControl);
			public toString(): string;
			public lockCanvas(inOutDirty: android.graphics.Rect): android.graphics.Canvas;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(surfaceTexture: android.graphics.SurfaceTexture);
			public isValid(): boolean;
			public unlockCanvasAndPost(canvas: android.graphics.Canvas): void;
			public readFromParcel(source: android.os.Parcel): void;
			public finalize(): void;
			public release(): void;
		}
		export module Surface {
			export class OutOfResourcesException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.view.Surface.OutOfResourcesException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(name: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export class SurfaceControl extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.SurfaceControl>;
			public static BUFFER_TRANSFORM_IDENTITY: 0;
			public static BUFFER_TRANSFORM_MIRROR_HORIZONTAL: 1;
			public static BUFFER_TRANSFORM_MIRROR_VERTICAL: 2;
			public static BUFFER_TRANSFORM_ROTATE_180: 3;
			public static BUFFER_TRANSFORM_ROTATE_270: 7;
			public static BUFFER_TRANSFORM_ROTATE_90: 4;
			public static CREATOR: android.os.Parcelable.Creator<android.view.SurfaceControl>;
			public readFromParcel(in_: android.os.Parcel): void;
			public toString(): string;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isValid(): boolean;
			public finalize(): void;
			public release(): void;
		}
		export module SurfaceControl {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.view.SurfaceControl.Builder>;
				public build(): android.view.SurfaceControl;
				public setBufferSize(width: number, height: number): android.view.SurfaceControl.Builder;
				public setFormat(format: number): android.view.SurfaceControl.Builder;
				public setOpaque(opaque: boolean): android.view.SurfaceControl.Builder;
				public setName(name: string): android.view.SurfaceControl.Builder;
				public setParent(parent: android.view.SurfaceControl): android.view.SurfaceControl.Builder;
				public setHidden(hidden: boolean): android.view.SurfaceControl.Builder;
				public constructor();
			}
			export class Transaction extends java.lang.Object implements java.io.Closeable, android.os.Parcelable {
				public static class: java.lang.Class<android.view.SurfaceControl.Transaction>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.SurfaceControl.Transaction>;
				public setBufferSize(sc: android.view.SurfaceControl, w: number, h: number): android.view.SurfaceControl.Transaction;
				/** @deprecated */
				public setGeometry(sc: android.view.SurfaceControl, sourceCrop: android.graphics.Rect, destFrame: android.graphics.Rect, orientation: number): android.view.SurfaceControl.Transaction;
				public setPosition(sc: android.view.SurfaceControl, x: number, y: number): android.view.SurfaceControl.Transaction;
				public setScale(sc: android.view.SurfaceControl, scaleX: number, scaleY: number): android.view.SurfaceControl.Transaction;
				public setDamageRegion(sc: android.view.SurfaceControl, region: android.graphics.Region): android.view.SurfaceControl.Transaction;
				public setAlpha(sc: android.view.SurfaceControl, alpha: number): android.view.SurfaceControl.Transaction;
				public setDataSpace(sc: android.view.SurfaceControl, dataspace: number): android.view.SurfaceControl.Transaction;
				public setFrameTimeline(vsyncId: number): android.view.SurfaceControl.Transaction;
				public addTransactionCommittedListener(executor: java.util.concurrent.Executor, listener: android.view.SurfaceControl.TransactionCommittedListener): android.view.SurfaceControl.Transaction;
				public reparent(sc: android.view.SurfaceControl, newParent: android.view.SurfaceControl): android.view.SurfaceControl.Transaction;
				public constructor();
				public addTransactionCompletedListener(executor: java.util.concurrent.Executor, listener: any /* any*/): android.view.SurfaceControl.Transaction;
				public setExtendedRangeBrightness(sc: android.view.SurfaceControl, currentBufferRatio: number, desiredRatio: number): android.view.SurfaceControl.Transaction;
				public setCrop(sc: android.view.SurfaceControl, crop: android.graphics.Rect): android.view.SurfaceControl.Transaction;
				public apply(): void;
				public setFrameRate(sc: android.view.SurfaceControl, frameRate: number, compatibility: number): android.view.SurfaceControl.Transaction;
				public setDesiredHdrHeadroom(sc: android.view.SurfaceControl, desiredRatio: number): android.view.SurfaceControl.Transaction;
				public setBuffer(sc: android.view.SurfaceControl, buffer: android.hardware.HardwareBuffer, fence: android.hardware.SyncFence): android.view.SurfaceControl.Transaction;
				public setBufferTransform(sc: android.view.SurfaceControl, transform: number): android.view.SurfaceControl.Transaction;
				public setBuffer(sc: android.view.SurfaceControl, buffer: android.hardware.HardwareBuffer): android.view.SurfaceControl.Transaction;
				public setBuffer(sc: android.view.SurfaceControl, buffer: android.hardware.HardwareBuffer, fence: android.hardware.SyncFence, releaseCallback: any /* any*/): android.view.SurfaceControl.Transaction;
				/** @deprecated */
				public clearTrustedPresentationCallback(sc: android.view.SurfaceControl): android.view.SurfaceControl.Transaction;
				public close(): void;
				public merge(other: android.view.SurfaceControl.Transaction): android.view.SurfaceControl.Transaction;
				public setOpaque(sc: android.view.SurfaceControl, isOpaque: boolean): android.view.SurfaceControl.Transaction;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setVisibility(sc: android.view.SurfaceControl, visible: boolean): android.view.SurfaceControl.Transaction;
				/** @deprecated */
				public setTrustedPresentationCallback(sc: android.view.SurfaceControl, thresholds: android.view.SurfaceControl.TrustedPresentationThresholds, executor: java.util.concurrent.Executor, listener: any /* any*/): android.view.SurfaceControl.Transaction;
				public setLayer(sc: android.view.SurfaceControl, z: number): android.view.SurfaceControl.Transaction;
				public describeContents(): number;
				public setFrameRate(sc: android.view.SurfaceControl, frameRate: number, compatibility: number, changeFrameRateStrategy: number): android.view.SurfaceControl.Transaction;
				public setDesiredPresentTimeNanos(desiredPresentTimeNanos: number): android.view.SurfaceControl.Transaction;
				public clearFrameRate(sc: android.view.SurfaceControl): android.view.SurfaceControl.Transaction;
			}
			export class TransactionCommittedListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.SurfaceControl.TransactionCommittedListener>;
				/**
				 * Constructs a new instance of the android.view.SurfaceControl$TransactionCommittedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTransactionCommitted(): void;
				});
				public constructor();
				public onTransactionCommitted(): void;
			}
			export class TransactionStats extends java.lang.Object {
				public static class: java.lang.Class<android.view.SurfaceControl.TransactionStats>;
				public getPresentFence(): android.hardware.SyncFence;
				public getLatchTimeNanos(): number;
			}
			export class TrustedPresentationThresholds extends java.lang.Object {
				public static class: java.lang.Class<android.view.SurfaceControl.TrustedPresentationThresholds>;
				/** @deprecated */
				public constructor(minAlpha: number, minFractionRendered: number, stabilityRequirementMs: number);
			}
		}
	}
}

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

declare module android {
	export module view {
		export class SurfaceControlViewHost extends java.lang.Object {
			public static class: java.lang.Class<android.view.SurfaceControlViewHost>;
			public getSurfacePackage(): android.view.SurfaceControlViewHost.SurfacePackage;
			public setView(view: android.view.View, width: number, height: number): void;
			public relayout(width: number, height: number): void;
			/** @deprecated */
			public transferTouchGestureToHost(): boolean;
			public constructor(context: android.content.Context, display: android.view.Display, hostToken: android.os.IBinder);
			public finalize(): void;
			public getView(): android.view.View;
			public release(): void;
			public constructor(context: android.content.Context, display: android.view.Display, hostInputTransferToken: android.window.InputTransferToken);
		}
		export module SurfaceControlViewHost {
			export class SurfacePackage extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.SurfaceControlViewHost.SurfacePackage>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.SurfaceControlViewHost.SurfacePackage>;
				public release(): void;
				public constructor(other: android.view.SurfaceControlViewHost.SurfacePackage);
				public notifyConfigurationChanged(c: android.content.res.Configuration): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public notifyDetachedFromWindow(): void;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getInputTransferToken(): android.window.InputTransferToken;
				public getSurfaceControl(): android.view.SurfaceControl;
				public toString(): string;
			}
		}
	}
}

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: 2;
			public static SURFACE_TYPE_HARDWARE: 1;
			public static SURFACE_TYPE_PUSH_BUFFERS: 3;
			public static SURFACE_TYPE_NORMAL: 0;
			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(cause: java.lang.Throwable);
				public constructor(name: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
			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(holder: android.view.SurfaceHolder, drawingFinished: 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(holder: android.view.SurfaceHolder, drawingFinished: 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 static SURFACE_LIFECYCLE_DEFAULT: 0;
			public static SURFACE_LIFECYCLE_FOLLOWS_ATTACHMENT: 2;
			public static SURFACE_LIFECYCLE_FOLLOWS_VISIBILITY: 1;
			public getImportantForAccessibility(): number;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public hasOverlappingRendering(): boolean;
			public setSurfaceLifecycle(lifecycleStrategy: number): void;
			public setZOrderMediaOverlay(isMediaOverlay: boolean): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getHolder(): android.view.SurfaceHolder;
			public gatherTransparentRegion(region: android.graphics.Region): boolean;
			public applyTransactionToFrame(transaction: android.view.SurfaceControl.Transaction): void;
			public constructor(context: android.content.Context);
			public draw(canvas: android.graphics.Canvas): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public setDesiredHdrHeadroom(desiredHeadroom: number): void;
			public setClipBounds(clipBounds: android.graphics.Rect): void;
			public setSecure(isSecure: boolean): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public onSetAlpha(alpha: number): boolean;
			public onFocusChanged(gainFocus: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public onWindowVisibilityChanged(visibility: number): void;
			public setZOrderOnTop(onTop: boolean): void;
			public getSurfaceControl(): android.view.SurfaceControl;
			public setAlpha(alpha: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			/** @deprecated */
			public getHostToken(): android.os.IBinder;
			public setChildSurfacePackage(p: android.view.SurfaceControlViewHost.SurfacePackage): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public setVisibility(visibility: number): void;
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

declare module android {
	export module view {
		export class TextureView extends android.view.View {
			public static class: java.lang.Class<android.view.TextureView>;
			public getTransform(transform: android.graphics.Matrix): android.graphics.Matrix;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setBackgroundDrawable(background: android.graphics.drawable.Drawable): void;
			public lockCanvas(): android.graphics.Canvas;
			public onDraw(canvas: android.graphics.Canvas): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setOpaque(opaque: boolean): void;
			public getBitmap(bitmap: android.graphics.Bitmap): android.graphics.Bitmap;
			public setForeground(foreground: android.graphics.drawable.Drawable): void;
			public constructor(context: android.content.Context);
			public setSurfaceTextureListener(listener: android.view.TextureView.SurfaceTextureListener): void;
			public getBitmap(width: number, height: number): android.graphics.Bitmap;
			public lockCanvas(dirty: android.graphics.Rect): android.graphics.Canvas;
			public draw(canvas: android.graphics.Canvas): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getSurfaceTexture(): android.graphics.SurfaceTexture;
			public setLayerType(layerType: number, paint: android.graphics.Paint): void;
			public getLayerType(): number;
			public setLayerPaint(paint: android.graphics.Paint): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public isOpaque(): boolean;
			public onVisibilityChanged(changedView: android.view.View, visibility: number): void;
			public sendAccessibilityEvent(param0: number): void;
			public setSurfaceTexture(surfaceTexture: android.graphics.SurfaceTexture): void;
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public getBitmap(): android.graphics.Bitmap;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getSurfaceTextureListener(): android.view.TextureView.SurfaceTextureListener;
			public buildLayer(): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setTransform(transform: android.graphics.Matrix): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public unlockCanvasAndPost(canvas: android.graphics.Canvas): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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: 1;
			public static BELOW: 2;
			public static TO_LEFT: 4;
			public static TO_RIGHT: 8;
			public getTouchDelegateInfo(): android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo;
			public onTouchExplorationHoverEvent(event: android.view.MotionEvent): boolean;
			public constructor(bounds: android.graphics.Rect, delegateView: android.view.View);
			public onTouchEvent(event: 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 getYVelocity(id: number): number;
			public clear(): void;
			public computeCurrentVelocity(units: number, maxVelocity: number): void;
			public getAxisVelocity(axis: number): number;
			public getAxisVelocity(axis: number, id: number): number;
			public computeCurrentVelocity(units: number): void;
			public addMovement(event: android.view.MotionEvent): void;
			public static obtain(): android.view.VelocityTracker;
			public getXVelocity(): number;
			public getXVelocity(id: number): number;
			public getYVelocity(): number;
			public recycle(): void;
			public finalize(): void;
			public isAxisSupported(axis: number): boolean;
		}
	}
}

declare module android {
	export module view {
		export abstract class VerifiedInputEvent extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.VerifiedInputEvent>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.VerifiedInputEvent>;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public getDeviceId(): number;
			public describeContents(): number;
			public getSource(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDisplayId(): number;
			public getEventTimeNanos(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module view {
		export class VerifiedKeyEvent extends android.view.VerifiedInputEvent implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.VerifiedKeyEvent>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.VerifiedKeyEvent>;
			public getRepeatCount(): number;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getMetaState(): number;
			public getDownTimeNanos(): number;
			public describeContents(): number;
			public getFlag(flag: number): java.lang.Boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getKeyCode(): number;
			public getAction(): number;
			public getScanCode(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module view {
		export class VerifiedMotionEvent extends android.view.VerifiedInputEvent implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.VerifiedMotionEvent>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.VerifiedMotionEvent>;
			public equals(o: any): boolean;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public getRawX(): number;
			public getMetaState(): number;
			public getDownTimeNanos(): number;
			public describeContents(): number;
			public getFlag(flag: number): java.lang.Boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getButtonState(): number;
			public getRawY(): number;
			public getActionMasked(): number;
			public hashCode(): number;
		}
	}
}

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_DATA_SENSITIVE_AUTO: 0;
			public static ACCESSIBILITY_DATA_SENSITIVE_NO: 2;
			public static ACCESSIBILITY_DATA_SENSITIVE_YES: 1;
			public static ACCESSIBILITY_LIVE_REGION_ASSERTIVE: 2;
			public static ACCESSIBILITY_LIVE_REGION_NONE: 0;
			public static ACCESSIBILITY_LIVE_REGION_POLITE: 1;
			public static ALPHA: android.util.Property<android.view.View,java.lang.Float>;
			public static AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS: 1;
			public static AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE: "creditCardExpirationDate";
			public static AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY: "creditCardExpirationDay";
			public static AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH: "creditCardExpirationMonth";
			public static AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR: "creditCardExpirationYear";
			public static AUTOFILL_HINT_CREDIT_CARD_NUMBER: "creditCardNumber";
			public static AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE: "creditCardSecurityCode";
			public static AUTOFILL_HINT_EMAIL_ADDRESS: "emailAddress";
			public static AUTOFILL_HINT_NAME: "name";
			public static AUTOFILL_HINT_PASSWORD: "password";
			public static AUTOFILL_HINT_PHONE: "phone";
			public static AUTOFILL_HINT_POSTAL_ADDRESS: "postalAddress";
			public static AUTOFILL_HINT_POSTAL_CODE: "postalCode";
			public static AUTOFILL_HINT_USERNAME: "username";
			public static AUTOFILL_TYPE_DATE: 4;
			public static AUTOFILL_TYPE_LIST: 3;
			public static AUTOFILL_TYPE_NONE: 0;
			public static AUTOFILL_TYPE_TEXT: 1;
			public static AUTOFILL_TYPE_TOGGLE: 2;
			public static CONTENT_SENSITIVITY_AUTO: 0;
			public static CONTENT_SENSITIVITY_NOT_SENSITIVE: 2;
			public static CONTENT_SENSITIVITY_SENSITIVE: 1;
			public static DRAG_FLAG_ACCESSIBILITY_ACTION: 1024;
			public static DRAG_FLAG_GLOBAL: 256;
			public static DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION: 64;
			public static DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION: 128;
			public static DRAG_FLAG_GLOBAL_SAME_APPLICATION: 4096;
			public static DRAG_FLAG_GLOBAL_URI_READ: 1;
			public static DRAG_FLAG_GLOBAL_URI_WRITE: 2;
			public static DRAG_FLAG_OPAQUE: 512;
			public static DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG: 8192;
			public static DRAWING_CACHE_QUALITY_AUTO: 0;
			public static DRAWING_CACHE_QUALITY_HIGH: 1048576;
			public static DRAWING_CACHE_QUALITY_LOW: 524288;
			public static EMPTY_STATE_SET: androidNative.Array<number>;
			public static ENABLED_FOCUSED_SELECTED_STATE_SET: androidNative.Array<number>;
			public static ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static ENABLED_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static ENABLED_SELECTED_STATE_SET: androidNative.Array<number>;
			public static ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static ENABLED_STATE_SET: androidNative.Array<number>;
			public static ENABLED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static FIND_VIEWS_WITH_CONTENT_DESCRIPTION: 2;
			public static FIND_VIEWS_WITH_TEXT: 1;
			public static FOCUSABLE: 1;
			public static FOCUSABLES_ALL: 0;
			public static FOCUSABLES_TOUCH_MODE: 1;
			public static FOCUSABLE_AUTO: 16;
			public static FOCUSED_SELECTED_STATE_SET: androidNative.Array<number>;
			public static FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static FOCUSED_STATE_SET: androidNative.Array<number>;
			public static FOCUSED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static FOCUS_BACKWARD: 1;
			public static FOCUS_DOWN: 130;
			public static FOCUS_FORWARD: 2;
			public static FOCUS_LEFT: 17;
			public static FOCUS_RIGHT: 66;
			public static FOCUS_UP: 33;
			public static GONE: 8;
			public static HAPTIC_FEEDBACK_ENABLED: 268435456;
			public static IMPORTANT_FOR_ACCESSIBILITY_AUTO: 0;
			public static IMPORTANT_FOR_ACCESSIBILITY_NO: 2;
			public static IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS: 4;
			public static IMPORTANT_FOR_ACCESSIBILITY_YES: 1;
			public static IMPORTANT_FOR_AUTOFILL_AUTO: 0;
			public static IMPORTANT_FOR_AUTOFILL_NO: 2;
			public static IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS: 8;
			public static IMPORTANT_FOR_AUTOFILL_YES: 1;
			public static IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS: 4;
			public static IMPORTANT_FOR_CONTENT_CAPTURE_AUTO: 0;
			public static IMPORTANT_FOR_CONTENT_CAPTURE_NO: 2;
			public static IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS: 8;
			public static IMPORTANT_FOR_CONTENT_CAPTURE_YES: 1;
			public static IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS: 4;
			public static INVISIBLE: 4;
			public static KEEP_SCREEN_ON: 67108864;
			public static LAYER_TYPE_HARDWARE: 2;
			public static LAYER_TYPE_NONE: 0;
			public static LAYER_TYPE_SOFTWARE: 1;
			public static LAYOUT_DIRECTION_INHERIT: 2;
			public static LAYOUT_DIRECTION_LOCALE: 3;
			public static LAYOUT_DIRECTION_LTR: 0;
			public static LAYOUT_DIRECTION_RTL: 1;
			public static MEASURED_HEIGHT_STATE_SHIFT: 16;
			public static MEASURED_SIZE_MASK: 16777215;
			public static MEASURED_STATE_MASK: -16777216;
			public static MEASURED_STATE_TOO_SMALL: 16777216;
			public static NOT_FOCUSABLE: 0;
			public static NO_ID: -1;
			public static OVER_SCROLL_ALWAYS: 0;
			public static OVER_SCROLL_IF_CONTENT_SCROLLS: 1;
			public static OVER_SCROLL_NEVER: 2;
			public static PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_ENABLED_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_ENABLED_SELECTED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_ENABLED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_FOCUSED_SELECTED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_SELECTED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_STATE_SET: androidNative.Array<number>;
			public static PRESSED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static REQUESTED_FRAME_RATE_CATEGORY_DEFAULT: number;
			public static REQUESTED_FRAME_RATE_CATEGORY_HIGH: -4.0;
			public static REQUESTED_FRAME_RATE_CATEGORY_LOW: -2.0;
			public static REQUESTED_FRAME_RATE_CATEGORY_NORMAL: -3.0;
			public static REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE: -1.0;
			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: 0;
			public static SCREEN_STATE_ON: 1;
			public static SCROLLBARS_INSIDE_INSET: 16777216;
			public static SCROLLBARS_INSIDE_OVERLAY: 0;
			public static SCROLLBARS_OUTSIDE_INSET: 50331648;
			public static SCROLLBARS_OUTSIDE_OVERLAY: 33554432;
			public static SCROLLBAR_POSITION_DEFAULT: 0;
			public static SCROLLBAR_POSITION_LEFT: 1;
			public static SCROLLBAR_POSITION_RIGHT: 2;
			public static SCROLL_AXIS_HORIZONTAL: 1;
			public static SCROLL_AXIS_NONE: 0;
			public static SCROLL_AXIS_VERTICAL: 2;
			public static SCROLL_CAPTURE_HINT_AUTO: 0;
			public static SCROLL_CAPTURE_HINT_EXCLUDE: 1;
			public static SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS: 4;
			public static SCROLL_CAPTURE_HINT_INCLUDE: 2;
			public static SCROLL_INDICATOR_BOTTOM: 2;
			public static SCROLL_INDICATOR_END: 32;
			public static SCROLL_INDICATOR_LEFT: 4;
			public static SCROLL_INDICATOR_RIGHT: 8;
			public static SCROLL_INDICATOR_START: 16;
			public static SCROLL_INDICATOR_TOP: 1;
			public static SELECTED_STATE_SET: androidNative.Array<number>;
			public static SELECTED_WINDOW_FOCUSED_STATE_SET: androidNative.Array<number>;
			public static SOUND_EFFECTS_ENABLED: 134217728;
			public static STATUS_BAR_HIDDEN: 1;
			public static STATUS_BAR_VISIBLE: 0;
			public static SYSTEM_UI_FLAG_FULLSCREEN: 4;
			public static SYSTEM_UI_FLAG_HIDE_NAVIGATION: 2;
			public static SYSTEM_UI_FLAG_IMMERSIVE: 2048;
			public static SYSTEM_UI_FLAG_IMMERSIVE_STICKY: 4096;
			public static SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN: 1024;
			public static SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION: 512;
			public static SYSTEM_UI_FLAG_LAYOUT_STABLE: 256;
			public static SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR: 16;
			public static SYSTEM_UI_FLAG_LIGHT_STATUS_BAR: 8192;
			public static SYSTEM_UI_FLAG_LOW_PROFILE: 1;
			public static SYSTEM_UI_FLAG_VISIBLE: 0;
			public static SYSTEM_UI_LAYOUT_FLAGS: 1536;
			public static TEXT_ALIGNMENT_CENTER: 4;
			public static TEXT_ALIGNMENT_GRAVITY: 1;
			public static TEXT_ALIGNMENT_INHERIT: 0;
			public static TEXT_ALIGNMENT_TEXT_END: 3;
			public static TEXT_ALIGNMENT_TEXT_START: 2;
			public static TEXT_ALIGNMENT_VIEW_END: 6;
			public static TEXT_ALIGNMENT_VIEW_START: 5;
			public static TEXT_DIRECTION_ANY_RTL: 2;
			public static TEXT_DIRECTION_FIRST_STRONG: 1;
			public static TEXT_DIRECTION_FIRST_STRONG_LTR: 6;
			public static TEXT_DIRECTION_FIRST_STRONG_RTL: 7;
			public static TEXT_DIRECTION_INHERIT: 0;
			public static TEXT_DIRECTION_LOCALE: 5;
			public static TEXT_DIRECTION_LTR: 3;
			public static TEXT_DIRECTION_RTL: 4;
			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: "View";
			public static VISIBLE: 0;
			public static WINDOW_FOCUSED_STATE_SET: androidNative.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 getTranslationZ(): number;
			public dispatchGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public getRight(): number;
			public setFitsSystemWindows(fitSystemWindows: boolean): void;
			public resetPivot(): void;
			public setNextClusterForwardId(nextClusterForwardId: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public scheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable, when: number): void;
			public addKeyboardNavigationClusters(views: java.util.Collection<android.view.View>, direction: number): void;
			public getPointerIcon(): any;
			public getHandwritingBoundsOffsetLeft(): number;
			public getX(): number;
			/** @deprecated */
			public dispatchSystemUiVisibilityChanged(visibility: number): void;
			public keyboardNavigationClusterSearch(currentCluster: android.view.View, direction: number): android.view.View;
			public onKeyShortcut(keyCode: number, event: android.view.KeyEvent): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public addOnLayoutChangeListener(listener: android.view.View.OnLayoutChangeListener): void;
			public isFocusable(): boolean;
			public isLongClickable(): boolean;
			public getAccessibilityLiveRegion(): number;
			public postInvalidate(left: number, top: number, right: number, bottom: number): void;
			public computeVerticalScrollRange(): number;
			public getNextFocusRightId(): number;
			public isFocusableInTouchMode(): boolean;
			public getBackgroundTintList(): android.content.res.ColorStateList;
			public getFocusedRect(r: android.graphics.Rect): void;
			public postDelayed(action: java.lang.Runnable, delayMillis: number): boolean;
			public layout(l: number, t: number, r: number, b: number): void;
			public refreshDrawableState(): void;
			public onInitializeAccessibilityNodeInfo(info: android.view.accessibility.AccessibilityNodeInfo): void;
			public getOverlay(): android.view.ViewOverlay;
			public dispatchGenericPointerEvent(event: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(event: android.view.MotionEvent): boolean;
			public getRequestedFrameRate(): number;
			public getAccessibilityClassName(): string;
			public setAccessibilityDelegate(delegate: any): void;
			public getApplicationWindowToken(): android.os.IBinder;
			public setForegroundTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public clearPendingCredentialRequest(): void;
			public getDrawableState(): androidNative.Array<number>;
			public setOnApplyWindowInsetsListener(listener: android.view.View.OnApplyWindowInsetsListener): void;
			public onDraw(canvas: android.graphics.Canvas): void;
			public setEnabled(enabled: boolean): void;
			public setHandwritingDelegateFlags(flags: number): void;
			public setViewTranslationCallback(callback: android.view.translation.ViewTranslationCallback): void;
			public dispatchSetPressed(pressed: boolean): void;
			public scrollTo(x: number, y: number): void;
			public awakenScrollBars(): boolean;
			public gatherTransparentRegion(region: android.graphics.Region): boolean;
			public getVerticalScrollbarPosition(): number;
			public transformMatrixToLocal(matrix: android.graphics.Matrix): void;
			public static combineMeasuredStates(curState: number, newState: number): number;
			public setContentSensitivity(mode: number): void;
			public getAutofillType(): number;
			public setNextFocusForwardId(nextFocusForwardId: number): void;
			public getScrollY(): number;
			public static generateViewId(): number;
			/** @deprecated */
			public setBackgroundDrawable(background: android.graphics.drawable.Drawable): void;
			public startAnimation(animation: android.view.animation.Animation): void;
			public requestLayout(): void;
			public getHorizontalFadingEdgeLength(): number;
			public isContentSensitive(): boolean;
			public requestFocus(direction: number, previouslyFocusedRect: android.graphics.Rect): boolean;
			public getViewTreeObserver(): android.view.ViewTreeObserver;
			public onWindowFocusChanged(hasWindowFocus: boolean): void;
			public getSourceLayoutResId(): number;
			/** @deprecated */
			public startDrag(data: android.content.ClipData, shadowBuilder: android.view.View.DragShadowBuilder, myLocalState: any, flags: number): boolean;
			public canResolveTextDirection(): boolean;
			public setOnScrollChangeListener(l: android.view.View.OnScrollChangeListener): void;
			public addChildrenForAccessibility(outChildren: java.util.ArrayList<android.view.View>): void;
			public getScrollIndicators(): number;
			public getRevealOnFocusHint(): boolean;
			public getOutlineProvider(): android.view.ViewOutlineProvider;
			public postOnAnimationDelayed(action: java.lang.Runnable, delayMillis: number): void;
			public computeSystemWindowInsets(in_: android.view.WindowInsets, outLocalInsets: android.graphics.Rect): android.view.WindowInsets;
			public isKeyboardNavigationCluster(): boolean;
			public setVisibility(visibility: number): void;
			public dispatchTouchEvent(event: android.view.MotionEvent): boolean;
			public setTransitionAlpha(alpha: number): void;
			public setKeyboardNavigationCluster(isCluster: boolean): void;
			public addOnUnhandledKeyEventListener(listener: android.view.View.OnUnhandledKeyEventListener): void;
			public isNestedScrollingEnabled(): boolean;
			public isHardwareAccelerated(): boolean;
			public getForegroundTintBlendMode(): android.graphics.BlendMode;
			public setOnGenericMotionListener(l: android.view.View.OnGenericMotionListener): void;
			public setBackgroundTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public getPreferKeepClearRects(): java.util.List<android.graphics.Rect>;
			public setAllowedHandwritingDelegatorPackage(allowedPackageName: string): void;
			public onProvideAutofillVirtualStructure(structure: any, flags: number): void;
			public drawableStateChanged(): void;
			public dispatchDrawableHotspotChanged(x: number, y: number): void;
			/** @deprecated */
			public willNotCacheDrawing(): boolean;
			public setOnTouchListener(l: android.view.View.OnTouchListener): void;
			public setHandwritingBoundsOffsets(offsetLeft: number, offsetTop: number, offsetRight: number, offsetBottom: number): void;
			public setContentCaptureSession(contentCaptureSession: android.view.contentcapture.ContentCaptureSession): void;
			public isSelected(): boolean;
			/** @deprecated */
			public setWillNotCacheDrawing(willNotCacheDrawing: boolean): void;
			public getId(): number;
			/** @deprecated */
			public getDrawingCacheBackgroundColor(): number;
			public getHandwritingBoundsOffsetBottom(): number;
			public getScrollBarFadeDuration(): number;
			public onDrawScrollBars(canvas: android.graphics.Canvas): void;
			public setFocusable(focusable: number): void;
			public isInTouchMode(): boolean;
			public dispatchKeyEventPreIme(event: android.view.KeyEvent): boolean;
			public getFilterTouchesWhenObscured(): boolean;
			public setNextFocusLeftId(nextFocusLeftId: number): void;
			public onWindowVisibilityChanged(visibility: number): void;
			public setKeepScreenOn(keepScreenOn: boolean): void;
			public getVerticalFadingEdgeLength(): number;
			public isShown(): boolean;
			public setId(id: number): void;
			public getPaddingEnd(): number;
			public setHandwritingDelegatorCallback(callback: java.lang.Runnable): void;
			public getNextFocusUpId(): number;
			public getTextAlignment(): number;
			public performContextClick(): boolean;
			public dispatchProvideStructure(structure: any): void;
			public invalidateOutline(): void;
			public setPaddingRelative(start: number, top: number, end: number, bottom: number): void;
			public performAccessibilityAction(action: number, arguments_: android.os.Bundle): boolean;
			public onScreenStateChanged(screenState: number): void;
			public onHoverChanged(hovered: boolean): void;
			public getImportantForContentCapture(): number;
			public onInitializeAccessibilityEvent(event: android.view.accessibility.AccessibilityEvent): void;
			public onCapturedPointerEvent(event: android.view.MotionEvent): boolean;
			public setBottom(bottom: number): void;
			/** @deprecated */
			public dispatchWindowSystemUiVisiblityChanged(visible: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getAccessibilityNodeProvider(): android.view.accessibility.AccessibilityNodeProvider;
			public getAnimationMatrix(): android.graphics.Matrix;
			public setOutlineProvider(provider: android.view.ViewOutlineProvider): void;
			public hasFocusable(): boolean;
			public onCheckIsTextEditor(): boolean;
			public setBackgroundTintList(tint: android.content.res.ColorStateList): void;
			public getHandwritingDelegatorCallback(): java.lang.Runnable;
			public getPaddingTop(): number;
			public saveAttributeDataForStyleable(context: android.content.Context, styleable: androidNative.Array<number>, attrs: android.util.AttributeSet, t: android.content.res.TypedArray, defStyleAttr: number, defStyleRes: number): void;
			public stopNestedScroll(): void;
			public setBackgroundTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public isTemporarilyDetached(): boolean;
			public animate(): android.view.ViewPropertyAnimator;
			public performReceiveContent(payload: android.view.ContentInfo): android.view.ContentInfo;
			public getFrameContentVelocity(): number;
			public measure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public requestPointerCapture(): void;
			public dispatchHoverEvent(event: android.view.MotionEvent): boolean;
			public setTextDirection(textDirection: number): void;
			public getRotation(): number;
			public autofill(values: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public getTextDirection(): number;
			public onScrollCaptureSearch(localVisibleRect: android.graphics.Rect, windowOffset: android.graphics.Point, targets: any /* any*/): void;
			public dispatchWindowInsetsAnimationPrepare(animation: android.view.WindowInsetsAnimation): void;
			public isHandwritingDelegate(): boolean;
			public setMeasuredDimension(measuredWidth: number, measuredHeight: number): void;
			public dispatchPointerCaptureChanged(hasCapture: boolean): void;
			public setHapticFeedbackEnabled(hapticFeedbackEnabled: boolean): void;
			public getForegroundGravity(): number;
			public startDragAndDrop(data: android.content.ClipData, shadowBuilder: android.view.View.DragShadowBuilder, myLocalState: any, flags: number): boolean;
			public computeHorizontalScrollExtent(): number;
			/** @deprecated */
			public onWindowSystemUiVisibilityChanged(visible: number): void;
			public isScreenReaderFocusable(): boolean;
			public dispatchUnhandledMove(focused: android.view.View, direction: number): boolean;
			/** @deprecated */
			public getWindowSystemUiVisibility(): number;
			public setAccessibilityTraversalAfter(afterId: number): void;
			public scrollBy(x: number, y: number): void;
			public setScrollBarFadeDuration(scrollBarFadeDuration: number): void;
			public dispatchSetSelected(selected: boolean): void;
			/** @deprecated */
			public getDrawingCacheQuality(): number;
			public requestFocusFromTouch(): boolean;
			public setTranslationY(translationY: number): void;
			public addFocusables(views: java.util.ArrayList<android.view.View>, direction: number, focusableMode: number): void;
			public getTransitionName(): string;
			public dispatchConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public checkInputConnectionProxy(view: android.view.View): boolean;
			public getNextClusterForwardId(): number;
			public setOutlineAmbientShadowColor(color: number): void;
			public setForeground(foreground: android.graphics.drawable.Drawable): void;
			public constructor(context: android.content.Context);
			public getLocationInWindow(outLocation: androidNative.Array<number>): void;
			public getSuggestedMinimumHeight(): number;
			public setHorizontalScrollbarTrackDrawable(drawable: android.graphics.drawable.Drawable): void;
			public setContentDescription(contentDescription: string): void;
			public getPaddingRight(): number;
			public overScrollBy(deltaX: number, deltaY: number, scrollX: number, scrollY: number, scrollRangeX: number, scrollRangeY: number, maxOverScrollX: number, maxOverScrollY: number, isTouchEvent: boolean): boolean;
			public setForegroundTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public startActionMode(callback: android.view.ActionMode.Callback): android.view.ActionMode;
			public forceLayout(): void;
			public setVerticalScrollbarTrackDrawable(drawable: android.graphics.drawable.Drawable): void;
			public getContext(): android.content.Context;
			public clearViewTranslationCallback(): void;
			public onDetachedFromWindow(): void;
			public getForegroundTintMode(): android.graphics.PorterDuff.Mode;
			public setLabelFor(id: number): void;
			public dispatchDisplayHint(hint: number): void;
			public isVerticalScrollBarEnabled(): boolean;
			/** @deprecated */
			public setDrawingCacheEnabled(enabled: boolean): void;
			public getAutofillHints(): androidNative.Array<string>;
			public getNextFocusLeftId(): number;
			public isScrollbarFadingEnabled(): boolean;
			public onCancelPendingInputEvents(): void;
			public setImportantForAccessibility(mode: number): void;
			public getLeft(): number;
			public performClick(): boolean;
			public dispatchSetActivated(activated: boolean): void;
			public hasFocus(): boolean;
			public focusSearch(direction: number): android.view.View;
			public setRotation(rotation: number): void;
			public setAnimation(animation: android.view.animation.Animation): void;
			public setLongClickable(longClickable: boolean): void;
			public getSystemGestureExclusionRects(): java.util.List<android.graphics.Rect>;
			public computeVerticalScrollExtent(): number;
			/** @deprecated */
			public setDrawingCacheQuality(quality: number): void;
			public setFocusable(focusable: boolean): void;
			public requireViewById(id: number): android.view.View;
			public getMeasuredHeightAndState(): number;
			public getRightPaddingOffset(): number;
			public setVerticalScrollbarThumbDrawable(drawable: android.graphics.drawable.Drawable): void;
			public isAccessibilityHeading(): boolean;
			public getKeyDispatcherState(): android.view.KeyEvent.DispatcherState;
			public setElevation(elevation: number): void;
			public setClickable(clickable: boolean): void;
			public getTopFadingEdgeStrength(): number;
			public setRenderEffect(renderEffect: android.graphics.RenderEffect): void;
			public getUniqueDrawingId(): number;
			public isHorizontalFadingEdgeEnabled(): boolean;
			public getLayerType(): number;
			public findFocus(): android.view.View;
			public postInvalidate(): void;
			public onPopulateAccessibilityEvent(event: android.view.accessibility.AccessibilityEvent): void;
			public performContextClick(x: number, y: number): boolean;
			public getElevation(): number;
			public getFitsSystemWindows(): boolean;
			public setOnKeyListener(l: android.view.View.OnKeyListener): void;
			public dispatchWindowInsetsAnimationProgress(insets: android.view.WindowInsets, runningAnimations: java.util.List<android.view.WindowInsetsAnimation>): android.view.WindowInsets;
			public static mergeDrawableStates(baseState: androidNative.Array<number>, additionalState: androidNative.Array<number>): androidNative.Array<number>;
			public startActionMode(callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public setSystemGestureExclusionRects(rects: java.util.List<android.graphics.Rect>): void;
			public setClipToOutline(clipToOutline: boolean): void;
			public onKeyMultiple(keyCode: number, repeatCount: number, event: android.view.KeyEvent): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public addTouchables(views: java.util.ArrayList<android.view.View>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable, what: java.lang.Runnable): void;
			public static inflate(context: android.content.Context, resource: number, root: android.view.ViewGroup): android.view.View;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public onDragEvent(event: android.view.DragEvent): boolean;
			public onVirtualViewTranslationResponses(response: android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>): void;
			public getStateDescription(): string;
			public setPendingCredentialRequest(request: android.credentials.GetCredentialRequest, callback: android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>): void;
			public generateDisplayHash(hashAlgorithm: string, bounds: android.graphics.Rect, executor: java.util.concurrent.Executor, callback: android.view.displayhash.DisplayHashResultCallback): void;
			public setStateDescription(stateDescription: string): void;
			public getZ(): number;
			public announceForAccessibility(text: string): void;
			public static resolveSize(size: number, measureSpec: number): number;
			public performHapticFeedback(feedbackConstant: number): boolean;
			public removeOnUnhandledKeyEventListener(listener: android.view.View.OnUnhandledKeyEventListener): void;
			public setVerticalFadingEdgeEnabled(verticalFadingEdgeEnabled: boolean): void;
			public setHasTransientState(hasTransientState: boolean): void;
			public isLayoutDirectionResolved(): boolean;
			public requestFocus(direction: number): boolean;
			public setOnLongClickListener(l: android.view.View.OnLongClickListener): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public getAccessibilityTraversalAfter(): number;
			public getHasOverlappingRendering(): boolean;
			/** @deprecated */
			public invalidate(l: number, t: number, r: number, b: number): void;
			public getAccessibilityPaneTitle(): string;
			public onAnimationEnd(): void;
			public getContentDescription(): string;
			public setAutofillId(id: android.view.autofill.AutofillId): void;
			public getHitRect(outRect: android.graphics.Rect): void;
			public setCameraDistance(distance: number): void;
			public removeCallbacks(action: java.lang.Runnable): boolean;
			public setScrollBarSize(scrollBarSize: number): void;
			public canResolveLayoutDirection(): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public setWindowInsetsAnimationCallback(callback: android.view.WindowInsetsAnimation.Callback): void;
			public onFinishTemporaryDetach(): void;
			public setScreenReaderFocusable(screenReaderFocusable: boolean): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public setScrollIndicators(indicators: number): void;
			public isVisibleToUserForAutofill(virtualId: number): boolean;
			public onKeyLongPress(keyCode: number, event: android.view.KeyEvent): boolean;
			public getMeasuredState(): number;
			/** @deprecated */
			public setDrawingCacheBackgroundColor(color: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public setScrollX(value: number): void;
			public isDirty(): boolean;
			public getAttributeSourceResourceMap(): java.util.Map<java.lang.Integer,java.lang.Integer>;
			public dispatchCreateViewTranslationRequest(viewIds: java.util.Map<android.view.autofill.AutofillId,androidNative.Array<number>>, supportedFormats: androidNative.Array<number>, capability: android.view.translation.TranslationCapability, requests: java.util.List<android.view.translation.ViewTranslationRequest>): void;
			public getCameraDistance(): number;
			public getReceiveContentMimeTypes(): androidNative.Array<string>;
			public dispatchVisibilityChanged(changedView: android.view.View, visibility: number): void;
			public setAlpha(alpha: number): void;
			public setForegroundGravity(gravity: number): void;
			public setScaleY(scaleY: number): void;
			public onProvideStructure(structure: any): void;
			public getAnimation(): android.view.animation.Animation;
			public getClipBounds(outRect: android.graphics.Rect): boolean;
			public setTranslationX(translationX: number): void;
			public hasWindowFocus(): boolean;
			public setHorizontalScrollBarEnabled(horizontalScrollBarEnabled: boolean): void;
			public getLabelFor(): number;
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			public dispatchNestedPrePerformAccessibilityAction(action: number, arguments_: android.os.Bundle): boolean;
			public buildLayer(): void;
			public onCreateInputConnection(outAttrs: android.view.inputmethod.EditorInfo): android.view.inputmethod.InputConnection;
			public setScrollBarDefaultDelayBeforeFade(scrollBarDefaultDelayBeforeFade: number): void;
			public getRootSurfaceControl(): android.view.AttachedSurfaceControl;
			public setAnimationMatrix(matrix: android.graphics.Matrix): void;
			public onCreateViewTranslationRequest(supportedFormats: androidNative.Array<number>, requestsCollector: any /* any*/): void;
			public setRotationX(rotationX: number): void;
			public setHorizontalFadingEdgeEnabled(horizontalFadingEdgeEnabled: boolean): void;
			public setOnCreateContextMenuListener(l: android.view.View.OnCreateContextMenuListener): void;
			public getScrollBarStyle(): number;
			public setFocusedByDefault(isFocusedByDefault: boolean): void;
			public canScrollHorizontally(direction: number): boolean;
			public setOverScrollMode(overScrollMode: number): void;
			public setY(y: number): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getRootView(): android.view.View;
			public postOnAnimation(action: java.lang.Runnable): void;
			public jumpDrawablesToCurrentState(): void;
			/** @deprecated */
			public getSystemUiVisibility(): number;
			public computeHorizontalScrollOffset(): number;
			public getBackgroundTintMode(): android.graphics.PorterDuff.Mode;
			public postInvalidateDelayed(delayMilliseconds: number, left: number, top: number, right: number, bottom: number): void;
			public computeScroll(): void;
			public getAttributeResolutionStack(attribute: number): androidNative.Array<number>;
			public onCreateVirtualViewTranslationRequests(virtualIds: androidNative.Array<number>, supportedFormats: androidNative.Array<number>, requestsCollector: any /* any*/): void;
			public setPivotX(pivotX: number): void;
			public isFocusedByDefault(): boolean;
			public setDefaultFocusHighlightEnabled(defaultFocusHighlightEnabled: boolean): void;
			public addFocusables(views: java.util.ArrayList<android.view.View>, direction: number): void;
			public getTag(key: number): any;
			public dispatchWindowFocusChanged(hasFocus: boolean): void;
			public dispatchWindowVisibilityChanged(visibility: number): void;
			public dispatchSaveInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public isFocused(): boolean;
			public showContextMenu(x: number, y: number): boolean;
			public getTop(): number;
			public getScaleX(): number;
			public getHandwritingBoundsOffsetRight(): number;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public setHovered(hovered: boolean): void;
			public setLayoutDirection(layoutDirection: number): void;
			public releasePointerCapture(): void;
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			public setTransitionVisibility(visibility: number): void;
			public getTransitionAlpha(): number;
			public getScrollX(): number;
			public getWindowVisibleDisplayFrame(outRect: android.graphics.Rect): void;
			public getAlpha(): number;
			public dispatchNestedPreScroll(dx: number, dy: number, consumed: androidNative.Array<number>, offsetInWindow: androidNative.Array<number>): boolean;
			public getPendingCredentialRequest(): android.credentials.GetCredentialRequest;
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			/** @deprecated */
			public buildDrawingCache(autoScale: boolean): void;
			public getWidth(): number;
			public getOnFocusChangeListener(): android.view.View.OnFocusChangeListener;
			public getFocusable(): number;
			public requestFocus(): boolean;
			public updateDragShadow(shadowBuilder: android.view.View.DragShadowBuilder): void;
			public getVerticalScrollbarTrackDrawable(): android.graphics.drawable.Drawable;
			public setOnReceiveContentListener(mimeTypes: androidNative.Array<string>, listener: android.view.OnReceiveContentListener): void;
			public getWindowInsetsController(): android.view.WindowInsetsController;
			public dispatchGenericFocusedEvent(event: android.view.MotionEvent): boolean;
			public setScrollCaptureHint(hint: number): void;
			public getPivotX(): number;
			public setLayerType(layerType: number, paint: android.graphics.Paint): void;
			public getAccessibilityDelegate(): any;
			public dispatchNestedPreFling(velocityX: number, velocityY: number): boolean;
			public isHapticFeedbackEnabled(): boolean;
			public getWindowVisibility(): number;
			public canScrollVertically(direction: number): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public onSetAlpha(alpha: number): boolean;
			public setTextAlignment(textAlignment: number): void;
			public getHeight(): number;
			public getMinimumHeight(): number;
			public getHorizontalScrollbarTrackDrawable(): android.graphics.drawable.Drawable;
			public getFocusables(direction: number): java.util.ArrayList<android.view.View>;
			public getAccessibilityTraversalBefore(): number;
			public getHandwritingDelegateFlags(): number;
			public post(action: java.lang.Runnable): boolean;
			public setAccessibilityTraversalBefore(beforeId: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getRightFadingEdgeStrength(): number;
			public getLayoutDirection(): number;
			public dispatchDragEvent(event: android.view.DragEvent): boolean;
			/** @deprecated */
			public isDrawingCacheEnabled(): boolean;
			public getTooltipText(): string;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getStateListAnimator(): android.animation.StateListAnimator;
			public getContentCaptureSession(): android.view.contentcapture.ContentCaptureSession;
			public setImportantForContentCapture(mode: number): void;
			public requestUnbufferedDispatch(source: number): void;
			public setStateListAnimator(stateListAnimator: android.animation.StateListAnimator): void;
			public getTouchDelegate(): android.view.TouchDelegate;
			public dispatchApplyWindowInsets(insets: android.view.WindowInsets): android.view.WindowInsets;
			public getBottom(): number;
			public createContextMenu(menu: android.view.ContextMenu): void;
			public setWillNotDraw(willNotDraw: boolean): void;
			public static getDefaultSize(size: number, measureSpec: number): number;
			public setPreferKeepClear(preferKeepClear: boolean): void;
			public hasTransientState(): boolean;
			public getGlobalVisibleRect(r: android.graphics.Rect, globalOffset: android.graphics.Point): boolean;
			public requestRectangleOnScreen(rectangle: android.graphics.Rect): boolean;
			public getY(): number;
			public setVerticalScrollBarEnabled(verticalScrollBarEnabled: boolean): void;
			public getVerticalScrollbarWidth(): number;
			public setFilterTouchesWhenObscured(enabled: boolean): void;
			public setAccessibilityLiveRegion(mode: number): void;
			public isForceDarkAllowed(): boolean;
			public onOverScrolled(scrollX: number, scrollY: number, clampedX: boolean, clampedY: boolean): void;
			public willNotDraw(): boolean;
			public onFilterTouchEventForSecurity(event: android.view.MotionEvent): boolean;
			public getWindowToken(): android.os.IBinder;
			public clearAnimation(): void;
			public setRight(right: number): void;
			public setLayoutParams(params: android.view.ViewGroup.LayoutParams): void;
			public startNestedScroll(axes: number): boolean;
			public setAccessibilityDataSensitive(accessibilityDataSensitive: number): void;
			public isVerticalFadingEdgeEnabled(): boolean;
			public bringToFront(): void;
			public awakenScrollBars(startDelay: number, invalidate: boolean): boolean;
			public restoreHierarchyState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public onCreateDrawableState(extraSpace: number): androidNative.Array<number>;
			/** @deprecated */
			public invalidate(dirty: android.graphics.Rect): void;
			public getDisplay(): android.view.Display;
			public setPreferKeepClearRects(rects: java.util.List<android.graphics.Rect>): void;
			public isAttachedToWindow(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public getWindowId(): android.view.WindowId;
			public isEnabled(): boolean;
			public postInvalidateDelayed(delayMilliseconds: number): void;
			public isLaidOut(): boolean;
			public setOnContextClickListener(l: android.view.View.OnContextClickListener): void;
			public setSelected(selected: boolean): void;
			public dispatchNestedScroll(dxConsumed: number, dyConsumed: number, dxUnconsumed: number, dyUnconsumed: number, offsetInWindow: androidNative.Array<number>): boolean;
			public getSolidColor(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public setTop(top: number): void;
			public setSaveEnabled(enabled: boolean): void;
			public setOutlineSpotShadowColor(color: number): void;
			/** @deprecated */
			public setOnSystemUiVisibilityChangeListener(l: android.view.View.OnSystemUiVisibilityChangeListener): void;
			public setAutoHandwritingEnabled(enabled: boolean): void;
			public onVisibilityAggregated(isVisible: boolean): void;
			public performLongClick(): boolean;
			public onCreateContextMenu(menu: android.view.ContextMenu): void;
			public autofill(value: android.view.autofill.AutofillValue): void;
			public transformMatrixToGlobal(matrix: android.graphics.Matrix): void;
			public getRootWindowInsets(): android.view.WindowInsets;
			public onFinishInflate(): void;
			public setTag(tag: any): void;
			public isSaveFromParentEnabled(): boolean;
			public draw(canvas: android.graphics.Canvas): void;
			public restoreDefaultFocus(): boolean;
			public getRotationY(): number;
			public getAutofillId(): android.view.autofill.AutofillId;
			public getDrawingTime(): number;
			public getScrollBarDefaultDelayBeforeFade(): number;
			public computeHorizontalScrollRange(): number;
			public setLayerPaint(paint: android.graphics.Paint): void;
			public getTag(): any;
			/** @deprecated */
			public destroyDrawingCache(): void;
			public getLocalVisibleRect(r: android.graphics.Rect): boolean;
			public performHapticFeedback(feedbackConstant: number, flags: number): boolean;
			public isPivotSet(): boolean;
			public isDuplicateParentStateEnabled(): boolean;
			public dispatchKeyShortcutEvent(event: android.view.KeyEvent): boolean;
			public isCredential(): boolean;
			public dispatchNestedFling(velocityX: number, velocityY: number, consumed: boolean): boolean;
			public isImportantForAccessibility(): boolean;
			public setIsHandwritingDelegate(isHandwritingDelegate: boolean): void;
			public onApplyWindowInsets(insets: android.view.WindowInsets): android.view.WindowInsets;
			public setAutofillHints(autofillHints: androidNative.Array<string>): void;
			public isSoundEffectsEnabled(): boolean;
			public getExplicitStyle(): number;
			public findViewWithTag(tag: any): android.view.View;
			public getSuggestedMinimumWidth(): number;
			public onScrollChanged(l: number, t: number, oldl: number, oldt: number): void;
			public getLeftPaddingOffset(): number;
			public getViewTranslationResponse(): android.view.translation.ViewTranslationResponse;
			public addExtraDataToAccessibilityNodeInfo(info: android.view.accessibility.AccessibilityNodeInfo, extraDataKey: string, arguments_: android.os.Bundle): void;
			public isActivated(): boolean;
			public getVisibility(): number;
			public setScrollIndicators(indicators: number, mask: number): void;
			public isPressed(): boolean;
			public getHandwritingBoundsOffsetTop(): number;
			public setIsCredential(isCredential: boolean): void;
			public getMeasuredHeight(): number;
			/** @deprecated */
			public buildDrawingCache(): void;
			public onAnimationStart(): void;
			public onProvideContentCaptureStructure(structure: any, flags: number): void;
			public setScrollbarFadingEnabled(fadeScrollbars: boolean): void;
			public getDrawingRect(outRect: android.graphics.Rect): void;
			public setOnFocusChangeListener(l: android.view.View.OnFocusChangeListener): void;
			public getTranslationY(): number;
			public getOutlineSpotShadowColor(): number;
			public isSaveEnabled(): boolean;
			public isPaddingOffsetRequired(): boolean;
			public isImportantForContentCapture(): boolean;
			public getBottomPaddingOffset(): number;
			public setImportantForAutofill(mode: number): void;
			public cancelLongPress(): void;
			public onTrackballEvent(event: android.view.MotionEvent): boolean;
			public setScrollY(value: number): void;
			public setPointerIcon(pointerIcon: any): void;
			public getWindowAttachCount(): number;
			public isOpaque(): boolean;
			public getScaleY(): number;
			public getAllowedHandwritingDelegatorPackageName(): string;
			public isTextAlignmentResolved(): boolean;
			public getLocationOnScreen(outLocation: androidNative.Array<number>): void;
			public getPendingCredentialCallback(): android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>;
			/** @deprecated */
			public fitSystemWindows(insets: android.graphics.Rect): boolean;
			public setSoundEffectsEnabled(soundEffectsEnabled: boolean): void;
			public dispatchStartTemporaryDetach(): void;
			public getClipToOutline(): boolean;
			public getContentSensitivity(): number;
			public toString(): string;
			public requestApplyInsets(): void;
			/** @deprecated */
			public getDrawingCache(autoScale: boolean): android.graphics.Bitmap;
			public setTag(key: number, tag: any): void;
			public setRotationY(rotationY: number): void;
			public offsetLeftAndRight(offset: number): void;
			public isAutoHandwritingEnabled(): boolean;
			public playSoundEffect(soundConstant: number): void;
			public removeOnAttachStateChangeListener(listener: android.view.View.OnAttachStateChangeListener): void;
			public getBackground(): android.graphics.drawable.Drawable;
			public onPointerCaptureChange(hasCapture: boolean): void;
			public setAccessibilityPaneTitle(accessibilityPaneTitle: string): void;
			public getHorizontalScrollbarHeight(): number;
			public removeOnLayoutChangeListener(listener: android.view.View.OnLayoutChangeListener): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onDisplayHint(hint: number): void;
			public requestUnbufferedDispatch(event: android.view.MotionEvent): void;
			public getBottomFadingEdgeStrength(): number;
			public dispatchPopulateAccessibilityEvent(event: android.view.accessibility.AccessibilityEvent): boolean;
			public isHovered(): boolean;
			public getScrollCaptureHint(): number;
			public getForeground(): android.graphics.drawable.Drawable;
			public setBackgroundColor(color: number): void;
			public showContextMenu(): boolean;
			public hasOnClickListeners(): boolean;
			public isInEditMode(): boolean;
			public getRotationX(): number;
			public getPaddingStart(): number;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public setOnClickListener(l: android.view.View.OnClickListener): void;
			public findViewsWithText(outViews: java.util.ArrayList<android.view.View>, searched: string, flags: number): void;
			public setActivated(activated: boolean): void;
			public setFrameContentVelocity(pixelsPerSecond: number): void;
			public getLeftFadingEdgeStrength(): number;
			public isScrollContainer(): boolean;
			public getVerticalScrollbarThumbDrawable(): android.graphics.drawable.Drawable;
			public drawableHotspotChanged(x: number, y: number): void;
			public dispatchProvideAutofillStructure(structure: any, flags: number): void;
			public isClickable(): boolean;
			public getKeepScreenOn(): boolean;
			public getMatrix(): android.graphics.Matrix;
			public setDuplicateParentStateEnabled(enabled: boolean): void;
			public getImportantForAccessibility(): number;
			public getMeasuredWidth(): number;
			public getResources(): android.content.res.Resources;
			public getDefaultFocusHighlightEnabled(): boolean;
			public isLayoutRequested(): boolean;
			/** @deprecated */
			public setSystemUiVisibility(visibility: number): void;
			public hasNestedScrollingParent(): boolean;
			public getHandler(): android.os.Handler;
			public setPivotY(pivotY: number): void;
			public getMinimumWidth(): number;
			public setScrollCaptureCallback(callback: android.view.ScrollCaptureCallback): void;
			public offsetTopAndBottom(offset: number): void;
			public setOnDragListener(l: android.view.View.OnDragListener): void;
			public cancelDragAndDrop(): void;
			public getTouchables(): java.util.ArrayList<android.view.View>;
			public setTooltipText(tooltipText: string): void;
			public setVerticalScrollbarPosition(position: number): void;
			public forceHasOverlappingRendering(hasOverlappingRendering: boolean): void;
			public onVisibilityChanged(changedView: android.view.View, visibility: number): void;
			public onFocusChanged(gainFocus: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public hasOnLongClickListeners(): boolean;
			public dispatchWindowInsetsAnimationEnd(animation: android.view.WindowInsetsAnimation): void;
			public saveHierarchyState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public getClipBounds(): android.graphics.Rect;
			public invalidateDrawable(drawable: android.graphics.drawable.Drawable): void;
			public setHorizontalScrollbarThumbDrawable(drawable: android.graphics.drawable.Drawable): void;
			public getGlobalVisibleRect(r: android.graphics.Rect): boolean;
			public setScrollBarStyle(style: number): void;
			public getAllowedHandwritingDelegatePackageName(): string;
			public dispatchFinishTemporaryDetach(): void;
			public dispatchRestoreInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public getOverScrollMode(): number;
			public dispatchCapturedPointerEvent(event: android.view.MotionEvent): boolean;
			public getMeasuredWidthAndState(): number;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public onProvideVirtualStructure(structure: any): void;
			public requestRectangleOnScreen(rectangle: android.graphics.Rect, immediate: boolean): boolean;
			public verifyDrawable(who: android.graphics.drawable.Drawable): boolean;
			public setMinimumWidth(minWidth: number): void;
			public isPreferKeepClear(): boolean;
			public getLocationInSurface(location: androidNative.Array<number>): void;
			public setNestedScrollingEnabled(enabled: boolean): void;
			public setNextFocusUpId(nextFocusUpId: number): void;
			public sendAccessibilityEventUnchecked(event: android.view.accessibility.AccessibilityEvent): void;
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public setScrollContainer(isScrollContainer: boolean): void;
			public setBackground(background: android.graphics.drawable.Drawable): void;
			public setContextClickable(contextClickable: boolean): void;
			public getTopPaddingOffset(): number;
			public awakenScrollBars(startDelay: number): boolean;
			public setRevealOnFocusHint(revealOnFocus: boolean): void;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public isContextClickable(): boolean;
			public isHorizontalScrollBarEnabled(): boolean;
			public findViewById(id: number): android.view.View;
			public setOnHoverListener(l: android.view.View.OnHoverListener): void;
			public createAccessibilityNodeInfo(): android.view.accessibility.AccessibilityNodeInfo;
			public isImportantForAutofill(): boolean;
			public getLayoutParams(): android.view.ViewGroup.LayoutParams;
			public setNextFocusDownId(nextFocusDownId: number): void;
			public isAccessibilityFocused(): boolean;
			public findOnBackInvokedDispatcher(): android.window.OnBackInvokedDispatcher;
			public isInLayout(): boolean;
			public onStartTemporaryDetach(): void;
			public getNextFocusForwardId(): number;
			public getContextMenuInfo(): android.view.ContextMenu.ContextMenuInfo;
			public setClipBounds(clipBounds: android.graphics.Rect): void;
			public static resolveSizeAndState(size: number, measureSpec: number, childMeasuredState: number): number;
			public getScrollBarSize(): number;
			public performLongClick(x: number, y: number): boolean;
			public cancelPendingInputEvents(): void;
			public postInvalidateOnAnimation(left: number, top: number, right: number, bottom: number): void;
			public getPivotY(): number;
			public setFocusableInTouchMode(focusableInTouchMode: boolean): void;
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public onDrawForeground(canvas: android.graphics.Canvas): void;
			public getTranslationX(): number;
			public setBackgroundResource(resid: number): void;
			public setScaleX(scaleX: number): void;
			public setSaveFromParentEnabled(enabled: boolean): void;
			public isPaddingRelative(): boolean;
			public setForegroundTintList(tint: android.content.res.ColorStateList): void;
			public onKeyPreIme(keyCode: number, event: android.view.KeyEvent): boolean;
			public computeVerticalScrollOffset(): number;
			public getNextFocusDownId(): number;
			public dispatchScrollCaptureSearch(localVisibleRect: android.graphics.Rect, windowOffset: android.graphics.Point, targets: any /* any*/): void;
			public setAllowedHandwritingDelegatePackage(allowedPackageName: string): void;
			public setOnCapturedPointerListener(l: android.view.View.OnCapturedPointerListener): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public addOnAttachStateChangeListener(listener: android.view.View.OnAttachStateChangeListener): void;
			public setAccessibilityHeading(isHeading: boolean): void;
			public callOnClick(): boolean;
			public getImportantForAutofill(): number;
			public setAllowClickWhenDisabled(clickableWhenDisabled: boolean): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public hasOverlappingRendering(): boolean;
			public setZ(z: number): void;
			public hasExplicitFocusable(): boolean;
			public onReceiveContent(payload: android.view.ContentInfo): android.view.ContentInfo;
			public isAccessibilityDataSensitive(): boolean;
			/** @deprecated */
			public getDrawingCache(): android.graphics.Bitmap;
			public getPaddingBottom(): number;
			public setTranslationZ(translationZ: number): void;
			public dispatchWindowInsetsAnimationStart(animation: android.view.WindowInsetsAnimation, bounds: android.view.WindowInsetsAnimation.Bounds): android.view.WindowInsetsAnimation.Bounds;
			public setRequestedFrameRate(frameRate: number): void;
			public invalidate(): void;
			public getPaddingLeft(): number;
			public setTouchDelegate(delegate: android.view.TouchDelegate): void;
			public setPadding(left: number, top: number, right: number, bottom: number): void;
			public setTransitionName(transitionName: string): void;
			public setLeftTopRightBottom(left: number, top: number, right: number, bottom: number): void;
			public clearFocus(): void;
			public getForegroundTintList(): android.content.res.ColorStateList;
			public getBaseline(): number;
			public onProvideAutofillStructure(structure: any, flags: number): void;
			public setPressed(pressed: boolean): void;
			public hasPointerCapture(): boolean;
			public isShowingLayoutBounds(): boolean;
			public setFadingEdgeLength(length: number): void;
			public setMinimumHeight(minHeight: number): void;
			public setForceDarkAllowed(allow: boolean): void;
			public setX(x: number): void;
			public isTextDirectionResolved(): boolean;
			public onHoverEvent(event: android.view.MotionEvent): boolean;
			public setLeft(left: number): void;
			public getHorizontalScrollbarThumbDrawable(): android.graphics.drawable.Drawable;
			public setNextFocusRightId(nextFocusRightId: number): void;
			public postInvalidateOnAnimation(): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public sendAccessibilityEvent(eventType: number): void;
			public getOutlineAmbientShadowColor(): number;
			public getBackgroundTintBlendMode(): android.graphics.BlendMode;
			public onViewTranslationResponse(response: android.view.translation.ViewTranslationResponse): void;
		}
		export module View {
			export class androidviewViewAccessibilityDelegate extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.AccessibilityDelegate>;
				public onInitializeAccessibilityNodeInfo(host: android.view.View, info: android.view.accessibility.AccessibilityNodeInfo): void;
				public sendAccessibilityEventUnchecked(host: android.view.View, event: android.view.accessibility.AccessibilityEvent): void;
				public onInitializeAccessibilityEvent(host: android.view.View, event: android.view.accessibility.AccessibilityEvent): void;
				public dispatchPopulateAccessibilityEvent(host: android.view.View, event: android.view.accessibility.AccessibilityEvent): boolean;
				public performAccessibilityAction(host: android.view.View, action: number, args: android.os.Bundle): boolean;
				public addExtraDataToAccessibilityNodeInfo(host: android.view.View, info: android.view.accessibility.AccessibilityNodeInfo, extraDataKey: string, arguments_: android.os.Bundle): void;
				public onRequestSendAccessibilityEvent(host: android.view.ViewGroup, child: android.view.View, event: android.view.accessibility.AccessibilityEvent): boolean;
				public getAccessibilityNodeProvider(host: android.view.View): android.view.accessibility.AccessibilityNodeProvider;
				public onPopulateAccessibilityEvent(host: android.view.View, event: android.view.accessibility.AccessibilityEvent): void;
				public sendAccessibilityEvent(host: android.view.View, eventType: number): void;
				public constructor();
			}
			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(source: android.os.Parcel, loader: java.lang.ClassLoader);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(superState: android.os.Parcelable);
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public constructor(source: android.os.Parcel);
			}
			export class DragShadowBuilder extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.DragShadowBuilder>;
				public onDrawShadow(canvas: android.graphics.Canvas): void;
				public getView(): android.view.View;
				public onProvideShadowMetrics(outShadowSize: android.graphics.Point, outShadowTouchPoint: android.graphics.Point): void;
				public constructor(view: 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: -2147483648;
				public static EXACTLY: 1073741824;
				public static UNSPECIFIED: 0;
				public static getSize(measureSpec: number): number;
				public static makeMeasureSpec(size: number, mode: number): number;
				public static getMode(measureSpec: number): number;
				public static toString(measureSpec: number): string;
				public toString(): string;
				public constructor();
			}
			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;
					onLongClickUseDefaultHapticFeedback(v: android.view.View): boolean;
				});
				public constructor();
				public onLongClickUseDefaultHapticFeedback(v: android.view.View): boolean;
				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();
				/** @deprecated */
				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(view: android.view.View, centerX: number, centerY: number, startRadius: number, endRadius: 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 getScaledHandwritingGestureLineMargin(): number;
			public getScaledOverscrollDistance(): number;
			public getScaledHorizontalScrollFactor(): number;
			/** @deprecated */
			public static getMaximumDrawingCacheSize(): number;
			public static getDefaultActionModeHideDuration(): number;
			public getScaledHandwritingSlop(): number;
			public getScaledFadingEdgeLength(): number;
			/** @deprecated */
			public static getWindowTouchSlop(): number;
			/** @deprecated */
			public constructor();
			public getScaledAmbiguousGestureMultiplier(): number;
			public getScaledVerticalScrollFactor(): number;
			public getScaledTouchSlop(): number;
			public static getKeyRepeatDelay(): number;
			public static getJumpTapTimeout(): number;
			/** @deprecated */
			public static getAmbiguousGestureMultiplier(): number;
			public static getPressedStateDuration(): number;
			public static getMultiPressTimeout(): number;
			public getScaledMaximumDrawingCacheSize(): number;
			public hasPermanentMenuKey(): boolean;
			public static getScrollFriction(): number;
			public getScaledMinimumScalingSpan(): number;
			public getScaledMaximumFlingVelocity(inputDeviceId: number, axis: number, source: number): 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 getScaledMinimumFlingVelocity(inputDeviceId: number, axis: number, source: number): number;
			public getScaledHoverSlop(): number;
			public getScaledScrollBarSize(): number;
			/** @deprecated */
			public static getMinimumFlingVelocity(): number;
			public static getScrollBarFadeDuration(): number;
			public static getZoomControlsTimeout(): number;
			public static get(context: android.content.Context): android.view.ViewConfiguration;
			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 = 0;
			public static TRACE_RECYCLER: boolean = 0;
			/** @deprecated */
			public static startHierarchyTracing(prefix: string, view: android.view.View): void;
			public static dumpCapturedView(tag: string, view: any): void;
			/** @deprecated */
			public static trace(view: android.view.View, type: android.view.ViewDebug.HierarchyTraceType): void;
			/** @deprecated */
			public static stopHierarchyTracing(): void;
			/** @deprecated */
			public static trace(view: android.view.View, type: android.view.ViewDebug.RecyclerTraceType, parameters: androidNative.Array<number>): void;
			public constructor();
			/** @deprecated */
			public static stopRecyclerTracing(): void;
			/** @deprecated */
			public static startRecyclerTracing(prefix: string, view: android.view.View): 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(): androidNative.Array<android.view.ViewDebug.IntToString>;
					indexMapping(): androidNative.Array<android.view.ViewDebug.IntToString>;
					flagMapping(): androidNative.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 category(): string;
				public flagMapping(): androidNative.Array<android.view.ViewDebug.FlagToString>;
				public prefix(): string;
				public toString(): string;
				public deepExport(): boolean;
				public indexMapping(): androidNative.Array<android.view.ViewDebug.IntToString>;
				public hashCode(): number;
				public formatToHexString(): boolean;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public mapping(): androidNative.Array<android.view.ViewDebug.IntToString>;
			}
			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 equals(obj: any): 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(name: string): android.view.ViewDebug.HierarchyTraceType;
				public static values(): androidNative.Array<android.view.ViewDebug.HierarchyTraceType>;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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 valueOf(name: string): android.view.ViewDebug.RecyclerTraceType;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.view.ViewDebug.RecyclerTraceType>;
			}
		}
	}
}

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: 34;
			public static FOCUS_AFTER_DESCENDANTS: 262144;
			public static FOCUS_BEFORE_DESCENDANTS: 131072;
			public static FOCUS_BLOCK_DESCENDANTS: 393216;
			public static LAYOUT_MODE_CLIP_BOUNDS: 0;
			public static LAYOUT_MODE_OPTICAL_BOUNDS: 1;
			public static PERSISTENT_ALL_CACHES: 3;
			public static PERSISTENT_ANIMATION_CACHE: 1;
			public static PERSISTENT_NO_CACHE: 0;
			public static PERSISTENT_SCROLLING_CACHE: 2;
			/** @deprecated */
			public setAlwaysDrawnWithCacheEnabled(always: boolean): void;
			public getClipChildren(): boolean;
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			/** @deprecated */
			public isChildrenDrawnWithCacheEnabled(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public requestFocus(): boolean;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public addKeyboardNavigationClusters(views: java.util.Collection<android.view.View>, direction: number): void;
			public onRequestSendAccessibilityEvent(child: android.view.View, event: android.view.accessibility.AccessibilityEvent): boolean;
			public suppressLayout(suppress: boolean): void;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public removeViewAt(index: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public dispatchGenericFocusedEvent(event: android.view.MotionEvent): boolean;
			public getFocusedChild(): android.view.View;
			public setLayoutTransition(transition: android.animation.LayoutTransition): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public getChildDrawingOrder(drawingPosition: number): number;
			public requestChildRectangleOnScreen(child: android.view.View, rectangle: android.graphics.Rect, immediate: boolean): boolean;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public requestDisallowInterceptTouchEvent(disallowIntercept: boolean): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			/** @deprecated */
			public getPersistentDrawingCache(): number;
			public dispatchDragEvent(event: android.view.DragEvent): boolean;
			public getLayoutDirection(): number;
			/** @deprecated */
			public setChildrenDrawingCacheEnabled(enabled: boolean): void;
			public layout(l: number, t: number, r: number, b: number): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public setPersistentDrawingCache(drawingCacheToKeep: number): void;
			public getOverlay(): android.view.ViewOverlay;
			public dispatchGenericPointerEvent(event: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(event: android.view.MotionEvent): boolean;
			public setLayoutAnimationListener(animationListener: android.view.animation.Animation.AnimationListener): void;
			public getAccessibilityClassName(): string;
			public getChildVisibleRect(child: android.view.View, r: android.graphics.Rect, offset: android.graphics.Point): boolean;
			public isChildrenDrawingOrderEnabled(): boolean;
			public dispatchApplyWindowInsets(insets: android.view.WindowInsets): android.view.WindowInsets;
			public onNestedPreScroll(target: android.view.View, dx: number, dy: number, consumed: androidNative.Array<number>): void;
			public dispatchThawSelfOnly(container: android.util.SparseArray<android.os.Parcelable>): void;
			public hasTransientState(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public requestTransparentRegion(child: android.view.View): void;
			public getOverlay(): android.view.ViewGroupOverlay;
			public dispatchSetPressed(pressed: boolean): void;
			public gatherTransparentRegion(region: android.graphics.Region): boolean;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public removeAllViews(): void;
			public setChildrenDrawingOrderEnabled(enabled: boolean): void;
			public onInterceptTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public scheduleLayoutAnimation(): void;
			/** @deprecated */
			public setAnimationCacheEnabled(enabled: boolean): void;
			public removeViewInLayout(view: android.view.View): void;
			public notifySubtreeAccessibilityStateChanged(child: android.view.View, source: android.view.View, changeType: number): void;
			public requestLayout(): void;
			public requestFocus(direction: number, previouslyFocusedRect: android.graphics.Rect): boolean;
			public removeView(view: android.view.View): void;
			public onNestedPreFling(target: android.view.View, velocityX: number, velocityY: number): boolean;
			public canResolveTextDirection(): boolean;
			public onCreateDrawableState(extraSpace: number): androidNative.Array<number>;
			public onViewRemoved(child: android.view.View): void;
			public addChildrenForAccessibility(outChildren: java.util.ArrayList<android.view.View>): void;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public detachViewFromParent(index: number): void;
			/** @deprecated */
			public invalidateChild(child: android.view.View, dirty: android.graphics.Rect): void;
			public recomputeViewAttributes(child: android.view.View): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public setTouchscreenBlocksFocus(touchscreenBlocksFocus: boolean): void;
			public setDescendantFocusability(focusability: number): void;
			public endViewTransition(view: android.view.View): void;
			public childDrawableStateChanged(child: android.view.View): void;
			public dispatchDrawableHotspotChanged(x: number, y: number): void;
			public drawableStateChanged(): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public restoreDefaultFocus(): boolean;
			public canAnimate(): boolean;
			/** @deprecated */
			public isAlwaysDrawnWithCacheEnabled(): boolean;
			public dispatchKeyEventPreIme(event: android.view.KeyEvent): boolean;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public dispatchKeyShortcutEvent(event: android.view.KeyEvent): boolean;
			public offsetRectIntoDescendantCoords(descendant: android.view.View, rect: android.graphics.Rect): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public detachViewFromParent(child: android.view.View): void;
			public setAddStatesFromChildren(addsStates: boolean): void;
			public getTextAlignment(): number;
			public dispatchProvideStructure(structure: any): void;
			public cleanupLayoutState(child: android.view.View): void;
			public isLayoutSuppressed(): boolean;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public addExtraDataToAccessibilityNodeInfo(info: android.view.accessibility.AccessibilityNodeInfo, extraDataKey: string, arguments_: android.os.Bundle): void;
			public indexOfChild(child: android.view.View): number;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			/** @deprecated */
			public dispatchWindowSystemUiVisiblityChanged(visible: number): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getLayoutTransition(): android.animation.LayoutTransition;
			public removeAllViewsInLayout(): void;
			public addStatesFromChildren(): boolean;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public removeDetachedView(child: android.view.View, animate: boolean): void;
			public onNestedFling(target: android.view.View, velocityX: number, velocityY: number, consumed: boolean): boolean;
			public startViewTransition(view: android.view.View): void;
			public getLayoutAnimationListener(): android.view.animation.Animation.AnimationListener;
			public onInterceptHoverEvent(event: android.view.MotionEvent): boolean;
			public onViewAdded(child: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public dispatchHoverEvent(event: android.view.MotionEvent): boolean;
			public detachViewsFromParent(start: number, count: number): void;
			public dispatchStartTemporaryDetach(): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public dispatchPointerCaptureChanged(hasCapture: boolean): void;
			public setTransitionGroup(isTransitionGroup: boolean): void;
			public dispatchWindowInsetsAnimationPrepare(animation: android.view.WindowInsetsAnimation): void;
			public bringChildToFront(child: android.view.View): void;
			public addView(child: android.view.View): void;
			public getLayoutMode(): number;
			public requestSendAccessibilityEvent(child: android.view.View, event: android.view.accessibility.AccessibilityEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public dispatchUnhandledMove(focused: android.view.View, direction: number): boolean;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addViewInLayout(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams, preventRequestLayout: boolean): boolean;
			public dispatchSetSelected(selected: boolean): void;
			public getNestedScrollAxes(): number;
			public addFocusables(views: java.util.ArrayList<android.view.View>, direction: number, focusableMode: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public dispatchConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public constructor(context: android.content.Context);
			public measureChildWithMargins(child: android.view.View, parentWidthMeasureSpec: number, widthUsed: number, parentHeightMeasureSpec: number, heightUsed: 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 onNestedScrollAccepted(child: android.view.View, target: android.view.View, axes: number): void;
			public isTransitionGroup(): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public removeViews(start: number, count: number): void;
			public onDetachedFromWindow(): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestChildFocus(child: android.view.View, focused: android.view.View): void;
			public setStaticTransformationsEnabled(enabled: boolean): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			public dispatchDisplayHint(hint: number): void;
			public setClipChildren(clipChildren: boolean): void;
			public measureChildren(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public measureChild(child: android.view.View, parentWidthMeasureSpec: number, parentHeightMeasureSpec: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public dispatchProvideAutofillStructure(structure: any, flags: number): void;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public dispatchSetActivated(activated: boolean): void;
			public getChildAt(index: number): android.view.View;
			public hasFocus(): boolean;
			/** @deprecated */
			public dispatchSystemUiVisibilityChanged(visible: number): void;
			public focusSearch(direction: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public onNestedScroll(target: android.view.View, dxConsumed: number, dyConsumed: number, dxUnconsumed: number, dyUnconsumed: number): void;
			public clearDisappearingChildren(): void;
			public updateViewLayout(view: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public removeViewsInLayout(start: number, count: number): void;
			public attachViewToParent(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public startLayoutAnimation(): void;
			public getDescendantFocusability(): number;
			public addViewInLayout(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): boolean;
			public findFocus(): android.view.View;
			public setOnHierarchyChangeListener(listener: android.view.ViewGroup.OnHierarchyChangeListener): void;
			public getTouchscreenBlocksFocus(): boolean;
			public setLayoutAnimation(controller: android.view.animation.LayoutAnimationController): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			/** @deprecated */
			public invalidateChildInParent(location: androidNative.Array<number>, dirty: android.graphics.Rect): android.view.ViewParent;
			public dispatchWindowInsetsAnimationProgress(insets: android.view.WindowInsets, runningAnimations: java.util.List<android.view.WindowInsetsAnimation>): android.view.WindowInsets;
			public dispatchWindowInsetsAnimationEnd(animation: android.view.WindowInsetsAnimation): void;
			public isMotionEventSplittingEnabled(): boolean;
			public addTouchables(views: java.util.ArrayList<android.view.View>): void;
			public dispatchFinishTemporaryDetach(): void;
			public dispatchRestoreInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public dispatchCapturedPointerEvent(event: android.view.MotionEvent): boolean;
			public focusSearch(focused: android.view.View, direction: number): android.view.View;
			public childHasTransientStateChanged(child: android.view.View, childHasTransientState: boolean): void;
			public findViewsWithText(outViews: java.util.ArrayList<android.view.View>, text: string, flags: number): void;
			/** @deprecated */
			public setChildrenDrawnWithCacheEnabled(enabled: boolean): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public dispatchFreezeSelfOnly(container: android.util.SparseArray<android.os.Parcelable>): void;
			public isLayoutDirectionResolved(): boolean;
			public requestFocus(direction: number): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public shouldDelayChildPressedState(): boolean;
			public canResolveLayoutDirection(): boolean;
			public setWindowInsetsAnimationCallback(callback: android.view.WindowInsetsAnimation.Callback): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public detachAllViewsFromParent(): void;
			public setMotionEventSplittingEnabled(split: boolean): void;
			public getChildDrawingOrder(childCount: number, drawingPosition: number): number;
			public onRequestFocusInDescendants(direction: number, previouslyFocusedRect: android.graphics.Rect): boolean;
			/** @deprecated */
			public isAnimationCacheEnabled(): boolean;
			public getParentForAccessibility(): android.view.ViewParent;
			public dispatchCreateViewTranslationRequest(viewIds: java.util.Map<android.view.autofill.AutofillId,androidNative.Array<number>>, supportedFormats: androidNative.Array<number>, capability: android.view.translation.TranslationCapability, requests: java.util.List<android.view.translation.ViewTranslationRequest>): void;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public static getChildMeasureSpec(spec: number, padding: number, childDimension: number): number;
			public dispatchVisibilityChanged(changedView: android.view.View, visibility: number): void;
			public drawChild(canvas: android.graphics.Canvas, child: android.view.View, drawingTime: number): boolean;
			public focusableViewAvailable(v: android.view.View): void;
			public getChildStaticTransformation(child: android.view.View, t: android.view.animation.Transformation): boolean;
			public onStopNestedScroll(child: android.view.View): void;
			public setClipToPadding(clipToPadding: boolean): void;
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			public dispatchScrollCaptureSearch(localVisibleRect: android.graphics.Rect, windowOffset: android.graphics.Point, targets: any /* any*/): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public setLayoutMode(layoutMode: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback): android.view.ActionMode;
			public getLayoutAnimation(): android.view.animation.LayoutAnimationController;
			public debug(depth: number): void;
			public getChildCount(): number;
			public dispatchWindowInsetsAnimationStart(animation: android.view.WindowInsetsAnimation, bounds: android.view.WindowInsetsAnimation.Bounds): android.view.WindowInsetsAnimation.Bounds;
			public onStartNestedScroll(child: android.view.View, target: android.view.View, nestedScrollAxes: number): boolean;
			public onNestedPrePerformAccessibilityAction(target: android.view.View, action: number, args: android.os.Bundle): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public jumpDrawablesToCurrentState(): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public clearFocus(): void;
			public attachLayoutAnimationParameters(child: android.view.View, params: android.view.ViewGroup.LayoutParams, index: number, count: number): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public showContextMenuForChild(originalView: android.view.View): boolean;
			public addFocusables(views: java.util.ArrayList<android.view.View>, direction: number): void;
			public dispatchWindowFocusChanged(hasFocus: boolean): void;
			public clearChildFocus(child: android.view.View): void;
			public dispatchWindowVisibilityChanged(visibility: number): void;
			public dispatchSaveInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public dispatchTouchEvent(ev: android.view.MotionEvent): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			public offsetDescendantRectToMyCoords(descendant: android.view.View, rect: android.graphics.Rect): 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: -1;
				public static MATCH_PARENT: -1;
				public static WRAP_CONTENT: -2;
				public height: number;
				public layoutAnimationParameters: android.view.animation.LayoutAnimationController.AnimationParameters;
				public width: number;
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public setBaseAttributes(a: android.content.res.TypedArray, widthAttr: number, heightAttr: number): void;
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public resolveLayoutDirection(layoutDirection: 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 setMarginStart(start: number): void;
				public getLayoutDirection(): number;
				public setMarginEnd(end: number): void;
				public constructor(width: number, height: number);
				public setMargins(left: number, top: number, right: number, bottom: number): void;
				public getMarginStart(): number;
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				public resolveLayoutDirection(layoutDirection: number): void;
				public setLayoutDirection(layoutDirection: number): void;
				public getMarginEnd(): number;
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public isMarginRelative(): boolean;
				public constructor(source: android.view.ViewGroup.LayoutParams);
			}
			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 add(drawable: android.graphics.drawable.Drawable): void;
			public remove(drawable: android.graphics.drawable.Drawable): void;
			public remove(view: android.view.View): void;
			public add(view: android.view.View): 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(drawable: android.graphics.drawable.Drawable): void;
			public remove(drawable: 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(child: android.view.View, target: android.view.View): void;
				invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
				invalidateChildInParent(param0: androidNative.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: androidNative.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;
				findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			});
			public constructor();
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			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 findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			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 onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<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 startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public bringChildToFront(param0: 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;
			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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			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 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 setStartDelay(startDelay: number): android.view.ViewPropertyAnimator;
			public translationY(value: number): android.view.ViewPropertyAnimator;
			public setInterpolator(interpolator: android.animation.TimeInterpolator): android.view.ViewPropertyAnimator;
			public alpha(value: number): android.view.ViewPropertyAnimator;
			public getDuration(): number;
			public x(value: number): android.view.ViewPropertyAnimator;
			public translationX(value: number): android.view.ViewPropertyAnimator;
			public cancel(): void;
			public getInterpolator(): android.animation.TimeInterpolator;
			public y(value: number): android.view.ViewPropertyAnimator;
			public z(value: number): android.view.ViewPropertyAnimator;
			public rotationBy(value: number): android.view.ViewPropertyAnimator;
			public scaleY(value: number): android.view.ViewPropertyAnimator;
			public scaleXBy(value: number): android.view.ViewPropertyAnimator;
			public rotationXBy(value: number): android.view.ViewPropertyAnimator;
			public alphaBy(value: number): android.view.ViewPropertyAnimator;
			public rotationYBy(value: number): android.view.ViewPropertyAnimator;
			public translationZ(value: number): android.view.ViewPropertyAnimator;
			public withStartAction(runnable: java.lang.Runnable): android.view.ViewPropertyAnimator;
			public start(): void;
			public getStartDelay(): number;
			public withLayer(): android.view.ViewPropertyAnimator;
			public yBy(value: number): android.view.ViewPropertyAnimator;
			public scaleX(value: number): android.view.ViewPropertyAnimator;
			public rotation(value: number): android.view.ViewPropertyAnimator;
			public rotationX(value: number): android.view.ViewPropertyAnimator;
			public zBy(value: number): android.view.ViewPropertyAnimator;
			public withEndAction(runnable: java.lang.Runnable): android.view.ViewPropertyAnimator;
			public scaleYBy(value: number): android.view.ViewPropertyAnimator;
			public translationYBy(value: number): android.view.ViewPropertyAnimator;
			public setDuration(duration: number): android.view.ViewPropertyAnimator;
			public xBy(value: number): android.view.ViewPropertyAnimator;
			public translationXBy(value: number): android.view.ViewPropertyAnimator;
			public setListener(listener: android.animation.Animator.AnimatorListener): android.view.ViewPropertyAnimator;
			public rotationY(value: number): android.view.ViewPropertyAnimator;
			public setUpdateListener(listener: android.animation.ValueAnimator.AnimatorUpdateListener): android.view.ViewPropertyAnimator;
			public translationZBy(value: 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 setLocaleList(param0: any): void;
			public setContentDescription(param0: string): void;
			public setFocusable(param0: boolean): void;
			public getPendingCredentialRequest(): android.credentials.GetCredentialRequest;
			public setOpaque(param0: boolean): void;
			public setMaxTextLength(maxLength: number): 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 setMaxTextEms(maxEms: number): void;
			public asyncCommit(): void;
			public setWebDomain(param0: string): void;
			public setEnabled(param0: boolean): void;
			public setTextLines(param0: androidNative.Array<number>, param1: androidNative.Array<number>): void;
			public setAutofillOptions(param0: androidNative.Array<string>): void;
			public setReceiveContentMimeTypes(mimeTypes: androidNative.Array<string>): void;
			public setChecked(param0: boolean): void;
			public clearCredentialManagerRequest(): 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 setAutofillHints(param0: androidNative.Array<string>): void;
			public constructor();
			public setTextIdEntry(entryName: string): void;
			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 setMinTextEms(minEms: number): 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 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(mode: number): void;
			public setHintIdEntry(entryName: string): void;
			public setAlpha(param0: number): void;
			public setFocused(param0: boolean): void;
			public addChildCount(param0: number): number;
			public setText(param0: string): void;
			public getPendingCredentialCallback(): android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>;
			public getTextSelectionStart(): number;
			public setPendingCredentialRequest(request: android.credentials.GetCredentialRequest, callback: android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>): void;
			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 constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getLayoutResource(): number;
			public constructor(context: android.content.Context);
			public draw(canvas: android.graphics.Canvas): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public getInflatedId(): number;
			public sendAccessibilityEvent(param0: number): void;
			public setLayoutResource(layoutResource: number): void;
			public inflate(): android.view.View;
			public constructor(context: android.content.Context, layoutResource: number);
			public static inflate(context: android.content.Context, resource: number, root: android.view.ViewGroup): android.view.View;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setLayoutInflater(inflater: android.view.LayoutInflater): void;
			public setInflatedId(inflatedId: number): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			public setVisibility(visibility: number): void;
			public setOnInflateListener(inflateListener: android.view.ViewStub.OnInflateListener): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
		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 dispatchOnGlobalLayout(): void;
			public removeOnScrollChangedListener(victim: android.view.ViewTreeObserver.OnScrollChangedListener): void;
			public addOnGlobalFocusChangeListener(listener: android.view.ViewTreeObserver.OnGlobalFocusChangeListener): void;
			public addOnSystemGestureExclusionRectsChangedListener(listener: any /* any*/): void;
			public addOnPreDrawListener(listener: android.view.ViewTreeObserver.OnPreDrawListener): void;
			/** @deprecated */
			public removeGlobalOnLayoutListener(victim: android.view.ViewTreeObserver.OnGlobalLayoutListener): void;
			public removeOnWindowFocusChangeListener(victim: android.view.ViewTreeObserver.OnWindowFocusChangeListener): void;
			public addOnWindowAttachListener(listener: android.view.ViewTreeObserver.OnWindowAttachListener): void;
			public removeOnPreDrawListener(victim: android.view.ViewTreeObserver.OnPreDrawListener): void;
			public dispatchOnDraw(): void;
			public removeOnSystemGestureExclusionRectsChangedListener(listener: any /* any*/): void;
			public addOnScrollChangedListener(listener: android.view.ViewTreeObserver.OnScrollChangedListener): void;
			public dispatchOnPreDraw(): boolean;
			public addOnWindowVisibilityChangeListener(listener: android.view.ViewTreeObserver.OnWindowVisibilityChangeListener): void;
			public removeOnGlobalFocusChangeListener(victim: android.view.ViewTreeObserver.OnGlobalFocusChangeListener): void;
			public removeOnDrawListener(victim: android.view.ViewTreeObserver.OnDrawListener): void;
			public removeOnWindowVisibilityChangeListener(victim: android.view.ViewTreeObserver.OnWindowVisibilityChangeListener): void;
			public addOnGlobalLayoutListener(listener: android.view.ViewTreeObserver.OnGlobalLayoutListener): void;
			public addOnDrawListener(listener: android.view.ViewTreeObserver.OnDrawListener): void;
			public unregisterFrameCommitCallback(callback: java.lang.Runnable): boolean;
			public removeOnTouchModeChangeListener(victim: android.view.ViewTreeObserver.OnTouchModeChangeListener): void;
			public removeOnGlobalLayoutListener(victim: android.view.ViewTreeObserver.OnGlobalLayoutListener): void;
			public registerFrameCommitCallback(callback: java.lang.Runnable): void;
			public removeOnWindowAttachListener(victim: android.view.ViewTreeObserver.OnWindowAttachListener): void;
			public addOnWindowFocusChangeListener(listener: android.view.ViewTreeObserver.OnWindowFocusChangeListener): void;
			public addOnTouchModeChangeListener(listener: android.view.ViewTreeObserver.OnTouchModeChangeListener): void;
			public isAlive(): boolean;
		}
		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;
			}
			export class OnWindowVisibilityChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnWindowVisibilityChangeListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnWindowVisibilityChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onWindowVisibilityChanged(param0: number): void;
				});
				public constructor();
				public onWindowVisibilityChanged(param0: number): 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: 0;
			public static DECOR_CAPTION_SHADE_DARK: 2;
			public static DECOR_CAPTION_SHADE_LIGHT: 1;
			public static DEFAULT_FEATURES: 65;
			public static FEATURE_ACTION_BAR: 8;
			public static FEATURE_ACTION_BAR_OVERLAY: 9;
			public static FEATURE_ACTION_MODE_OVERLAY: 10;
			public static FEATURE_ACTIVITY_TRANSITIONS: 13;
			public static FEATURE_CONTENT_TRANSITIONS: 12;
			public static FEATURE_CONTEXT_MENU: 6;
			public static FEATURE_CUSTOM_TITLE: 7;
			public static FEATURE_INDETERMINATE_PROGRESS: 5;
			public static FEATURE_LEFT_ICON: 3;
			public static FEATURE_NO_TITLE: 1;
			public static FEATURE_OPTIONS_PANEL: 0;
			public static FEATURE_PROGRESS: 2;
			public static FEATURE_RIGHT_ICON: 4;
			public static FEATURE_SWIPE_TO_DISMISS: 11;
			public static ID_ANDROID_CONTENT: 16908290;
			public static NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME: "android:navigation:background";
			public static PROGRESS_END: 10000;
			public static PROGRESS_INDETERMINATE_OFF: -4;
			public static PROGRESS_INDETERMINATE_ON: -3;
			public static PROGRESS_SECONDARY_END: 30000;
			public static PROGRESS_SECONDARY_START: 20000;
			public static PROGRESS_START: 0;
			public static PROGRESS_VISIBILITY_OFF: -2;
			public static PROGRESS_VISIBILITY_ON: -1;
			public static STATUS_BAR_BACKGROUND_TRANSITION_NAME: "android:status:background";
			public onActive(): void;
			public hasSoftInputMode(): boolean;
			public getLayoutInflater(): android.view.LayoutInflater;
			public setAttributes(a: android.view.WindowManager.LayoutParams): void;
			public getTransitionBackgroundFadeDuration(): number;
			public setUiOptions(uiOptions: number, mask: number): void;
			public setContentView(param0: android.view.View): void;
			public setPreferMinimalPostProcessing(isPreferred: boolean): void;
			public getFrameRateBoostOnTouchEnabled(): boolean;
			public performPanelShortcut(param0: number, param1: number, param2: android.view.KeyEvent, param3: number): boolean;
			public constructor(context: android.content.Context);
			public setSharedElementExitTransition(transition: android.transition.Transition): void;
			public setFeatureDrawableUri(param0: number, param1: android.net.Uri): void;
			public superDispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public setDesiredHdrHeadroom(desiredHeadroom: number): void;
			public getDesiredHdrHeadroom(): number;
			public getReenterTransition(): android.transition.Transition;
			public getContext(): android.content.Context;
			public setHideOverlayWindows(hide: boolean): void;
			public setContentView(param0: number): void;
			public superDispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public setDecorCaptionShade(param0: number): void;
			public performPanelIdentifierAction(param0: number, param1: number, param2: number): boolean;
			public getEnterTransition(): android.transition.Transition;
			public setReenterTransition(transition: android.transition.Transition): void;
			public clearFlags(flags: number): void;
			public getCallback(): android.view.Window.Callback;
			public getContainer(): android.view.Window;
			/** @deprecated */
			public setTitleColor(param0: number): void;
			public setCallback(callback: android.view.Window.Callback): void;
			public setFrameRatePowerSavingsBalanced(enabled: boolean): void;
			public setType(type: number): void;
			public addFlags(flags: number): void;
			public getSharedElementReturnTransition(): android.transition.Transition;
			public getAllowEnterTransitionOverlap(): boolean;
			public requestFeature(featureId: number): boolean;
			public removeOnFrameMetricsAvailableListener(listener: android.view.Window.OnFrameMetricsAvailableListener): void;
			public getForcedWindowFlags(): number;
			/** @deprecated */
			public getNavigationBarColor(): number;
			public setFrameRateBoostOnTouchEnabled(enabled: boolean): void;
			public getSystemGestureExclusionRects(): java.util.List<android.graphics.Rect>;
			public setAllowEnterTransitionOverlap(allow: boolean): void;
			public requireViewById(id: number): android.view.View;
			public getFeatures(): number;
			public setExitTransition(transition: android.transition.Transition): void;
			public setWindowManager(wm: android.view.WindowManager, appToken: android.os.IBinder, appName: string): void;
			public getColorMode(): number;
			public setSustainedPerformanceMode(enable: boolean): void;
			public getSharedElementExitTransition(): android.transition.Transition;
			public setElevation(elevation: number): void;
			/** @deprecated */
			public setDecorFitsSystemWindows(decorFitsSystemWindows: boolean): void;
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public setNavigationBarContrastEnforced(enforceContrast: boolean): void;
			/** @deprecated */
			public setStatusBarColor(param0: number): void;
			public setChildDrawable(param0: number, param1: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getNavigationBarDividerColor(): number;
			/** @deprecated */
			public setNavigationBarColor(param0: number): void;
			public hasChildren(): boolean;
			public setFormat(format: number): void;
			public setTransitionBackgroundFadeDuration(fadeDurationMillis: 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 setContainer(container: android.view.Window): void;
			public setChildInt(param0: number, param1: number): void;
			public setSystemGestureExclusionRects(rects: java.util.List<android.graphics.Rect>): void;
			public setClipToOutline(clipToOutline: boolean): void;
			public addOnFrameMetricsAvailableListener(listener: android.view.Window.OnFrameMetricsAvailableListener, handler: android.os.Handler): void;
			public getAllowReturnTransitionOverlap(): boolean;
			public getMediaController(): any;
			public setRestrictedCaptionAreaListener(listener: android.view.Window.OnRestrictedCaptionAreaChangedListener): void;
			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 superDispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public getInsetsController(): android.view.WindowInsetsController;
			public isWideColorGamut(): boolean;
			public setDefaultWindowFormat(format: number): void;
			public setTitle(param0: string): void;
			public setFeatureDrawableResource(param0: number, param1: number): void;
			public setLogo(resId: number): void;
			public setAllowReturnTransitionOverlap(allow: boolean): void;
			/** @deprecated */
			public isStatusBarContrastEnforced(): boolean;
			public findViewById(id: number): android.view.View;
			public setLayout(width: number, height: number): void;
			public setTransitionManager(tm: android.transition.TransitionManager): void;
			public getOnBackInvokedDispatcher(): android.window.OnBackInvokedDispatcher;
			public takeSurface(param0: android.view.SurfaceHolder.Callback2): void;
			public getLocalFeatures(): number;
			public setLocalFocus(hasFocus: boolean, inTouchMode: boolean): void;
			public static getDefaultFeatures(context: android.content.Context): number;
			public unregisterScrollCaptureCallback(callback: android.view.ScrollCaptureCallback): void;
			public getDecorView(): android.view.View;
			/** @deprecated */
			public setStatusBarContrastEnforced(ensureContrast: boolean): void;
			public performContextMenuIdentifierAction(param0: number, param1: number): boolean;
			public setBackgroundDrawableResource(resId: number): void;
			public getWindowStyle(): android.content.res.TypedArray;
			public setWindowAnimations(resId: number): void;
			public isShortcutKey(param0: number, param1: android.view.KeyEvent): boolean;
			public getExitTransition(): android.transition.Transition;
			public getVolumeControlStream(): number;
			public setBackgroundBlurRadius(blurRadius: number): void;
			public takeKeyEvents(param0: boolean): void;
			public getSharedElementEnterTransition(): android.transition.Transition;
			public setSharedElementReenterTransition(transition: android.transition.Transition): void;
			public setGravity(gravity: number): void;
			public restoreHierarchyState(param0: android.os.Bundle): void;
			public getReturnTransition(): android.transition.Transition;
			public getCurrentFocus(): android.view.View;
			/** @deprecated */
			public getStatusBarColor(): number;
			public setColorMode(colorMode: number): void;
			public superDispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public setSharedElementEnterTransition(transition: android.transition.Transition): void;
			public peekDecorView(): android.view.View;
			public setMediaController(controller: any): void;
			public getSharedElementReenterTransition(): android.transition.Transition;
			public closeAllPanels(): void;
			public isActive(): boolean;
			public getRootSurfaceControl(): android.view.AttachedSurfaceControl;
			public setIcon(resId: number): void;
			public setSoftInputMode(mode: number): void;
			public setFlags(flags: number, mask: number): void;
			public registerScrollCaptureCallback(callback: android.view.ScrollCaptureCallback): void;
			public setEnterTransition(transition: android.transition.Transition): void;
			public setVolumeControlStream(param0: number): void;
			public setUiOptions(uiOptions: number): void;
			public isFloating(): boolean;
			public getAttributes(): android.view.WindowManager.LayoutParams;
			public setFeatureDrawable(param0: number, param1: android.graphics.drawable.Drawable): void;
			public setDimAmount(amount: number): void;
			public setReturnTransition(transition: android.transition.Transition): void;
			public takeInputQueue(param0: android.view.InputQueue.Callback): void;
			public getContentScene(): android.transition.Scene;
			public isNavigationBarContrastEnforced(): boolean;
			public getWindowManager(): android.view.WindowManager;
			public togglePanel(param0: number, param1: android.view.KeyEvent): void;
			public setSharedElementReturnTransition(transition: android.transition.Transition): void;
			public injectInputEvent(event: android.view.InputEvent): void;
			public getTransitionManager(): android.transition.TransitionManager;
			public saveHierarchyState(): android.os.Bundle;
			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 setWindowManager(wm: android.view.WindowManager, appToken: android.os.IBinder, appName: string, hardwareAccelerated: boolean): void;
			public isFrameRatePowerSavingsBalanced(): boolean;
			public setResizingCaptionDrawable(param0: android.graphics.drawable.Drawable): void;
			public setSharedElementsUseOverlay(sharedElementsUseOverlay: boolean): void;
			/** @deprecated */
			public setNavigationBarDividerColor(dividerColor: number): void;
			public hasFeature(feature: number): boolean;
		}
		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(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
					onPointerCaptureChanged(hasCapture: boolean): void;
				});
				public constructor();
				public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
				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 onProvideKeyboardShortcuts(data: java.util.List<any>, menu: android.view.Menu, deviceId: number): void;
				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 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 onPointerCaptureChanged(hasCapture: boolean): 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>;
			/** @deprecated */
			public describeContents(): number;
			/** @deprecated */
			public toString(): string;
			public describeContents(): number;
			/** @deprecated */
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			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 toString(): string;
			public getFrameReadyTimeNano(index: number): number;
			public writeToParcel(parcel: android.os.Parcel, flags: number): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getFramePostedTimeNano(index: 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 registerFocusObserver(observer: android.view.WindowId.FocusObserver): void;
			public toString(): string;
			public equals(otherObj: any): boolean;
			public describeContents(): number;
			public writeToParcel(out: android.os.Parcel, flags: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isFocused(): boolean;
			public unregisterFocusObserver(observer: android.view.WindowId.FocusObserver): void;
			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 static CONSUMED: android.view.WindowInsets;
			public getDisplayShape(): android.view.DisplayShape;
			/** @deprecated */
			public hasStableInsets(): boolean;
			/** @deprecated */
			public getSystemWindowInsetBottom(): number;
			public isConsumed(): boolean;
			public getRoundedCorner(position: number): android.view.RoundedCorner;
			public inset(insets: android.graphics.Insets): android.view.WindowInsets;
			public hasInsets(): boolean;
			/** @deprecated */
			public getStableInsetLeft(): number;
			public constructor(src: android.view.WindowInsets);
			public isRound(): boolean;
			/** @deprecated */
			public getSystemGestureInsets(): android.graphics.Insets;
			/** @deprecated */
			public getMandatorySystemGestureInsets(): android.graphics.Insets;
			/** @deprecated */
			public getStableInsetBottom(): number;
			public getInsets(typeMask: number): android.graphics.Insets;
			/** @deprecated */
			public getTappableElementInsets(): android.graphics.Insets;
			public inset(left: number, top: number, right: number, bottom: number): android.view.WindowInsets;
			public getFrame(): any;
			/** @deprecated */
			public consumeDisplayCutout(): android.view.WindowInsets;
			public getBoundingRectsIgnoringVisibility(typeMask: number): java.util.List<android.graphics.Rect>;
			/** @deprecated */
			public getStableInsetRight(): number;
			public getInsetsIgnoringVisibility(typeMask: number): android.graphics.Insets;
			/** @deprecated */
			public consumeSystemWindowInsets(): android.view.WindowInsets;
			/** @deprecated */
			public getSystemWindowInsetRight(): number;
			/** @deprecated */
			public getSystemWindowInsetTop(): number;
			public isVisible(typeMask: number): boolean;
			/** @deprecated */
			public replaceSystemWindowInsets(systemWindowInsets: android.graphics.Rect): android.view.WindowInsets;
			/** @deprecated */
			public getStableInsets(): android.graphics.Insets;
			/** @deprecated */
			public getSystemWindowInsetLeft(): number;
			public getBoundingRects(typeMask: number): java.util.List<android.graphics.Rect>;
			public getDisplayCutout(): android.view.DisplayCutout;
			/** @deprecated */
			public replaceSystemWindowInsets(left: number, top: number, right: number, bottom: number): android.view.WindowInsets;
			/** @deprecated */
			public getSystemWindowInsets(): android.graphics.Insets;
			public getPrivacyIndicatorBounds(): android.graphics.Rect;
			/** @deprecated */
			public consumeStableInsets(): android.view.WindowInsets;
			/** @deprecated */
			public getStableInsetTop(): number;
			public toString(): string;
			public equals(o: any): boolean;
			/** @deprecated */
			public hasSystemWindowInsets(): boolean;
			public hashCode(): number;
		}
		export module WindowInsets {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.view.WindowInsets.Builder>;
				/** @deprecated */
				public setMandatorySystemGestureInsets(insets: android.graphics.Insets): android.view.WindowInsets.Builder;
				public setInsets(typeMask: number, insets: android.graphics.Insets): android.view.WindowInsets.Builder;
				public setVisible(typeMask: number, visible: boolean): android.view.WindowInsets.Builder;
				public setDisplayShape(displayShape: android.view.DisplayShape): android.view.WindowInsets.Builder;
				public setRoundedCorner(position: number, roundedCorner: android.view.RoundedCorner): android.view.WindowInsets.Builder;
				/** @deprecated */
				public setSystemWindowInsets(systemWindowInsets: android.graphics.Insets): android.view.WindowInsets.Builder;
				public constructor(insets: android.view.WindowInsets);
				public setFrame(width: number, height: number): android.view.WindowInsets.Builder;
				public build(): android.view.WindowInsets;
				/** @deprecated */
				public setSystemGestureInsets(insets: android.graphics.Insets): android.view.WindowInsets.Builder;
				public constructor();
				public setInsetsIgnoringVisibility(typeMask: number, insets: android.graphics.Insets): android.view.WindowInsets.Builder;
				public setBoundingRectsIgnoringVisibility(typeMask: number, rects: java.util.List<android.graphics.Rect>): android.view.WindowInsets.Builder;
				/** @deprecated */
				public setTappableElementInsets(insets: android.graphics.Insets): android.view.WindowInsets.Builder;
				public setPrivacyIndicatorBounds(bounds: android.graphics.Rect): android.view.WindowInsets.Builder;
				public setBoundingRects(typeMask: number, rects: java.util.List<android.graphics.Rect>): android.view.WindowInsets.Builder;
				public setDisplayCutout(displayCutout: android.view.DisplayCutout): android.view.WindowInsets.Builder;
				/** @deprecated */
				public setStableInsets(stableInsets: android.graphics.Insets): android.view.WindowInsets.Builder;
			}
			export class Side extends java.lang.Object {
				public static class: java.lang.Class<android.view.WindowInsets.Side>;
				public static BOTTOM: 8;
				public static LEFT: 1;
				public static RIGHT: 4;
				public static TOP: 2;
				public static all(): number;
			}
			export class Type extends java.lang.Object {
				public static class: java.lang.Class<android.view.WindowInsets.Type>;
				public static ime(): number;
				public static systemOverlays(): number;
				public static displayCutout(): number;
				public static captionBar(): number;
				public static navigationBars(): number;
				public static mandatorySystemGestures(): number;
				public static systemGestures(): number;
				public static statusBars(): number;
				public static tappableElement(): number;
				public static systemBars(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export class WindowInsetsAnimation extends java.lang.Object {
			public static class: java.lang.Class<android.view.WindowInsetsAnimation>;
			public getDurationMillis(): number;
			public getFraction(): number;
			public getAlpha(): number;
			public getInterpolatedFraction(): number;
			public constructor(typeMask: number, interpolator: android.view.animation.Interpolator, durationMillis: number);
			public getTypeMask(): number;
			public setAlpha(alpha: number): void;
			public setFraction(fraction: number): void;
			public getInterpolator(): android.view.animation.Interpolator;
		}
		export module WindowInsetsAnimation {
			export class Bounds extends java.lang.Object {
				public static class: java.lang.Class<android.view.WindowInsetsAnimation.Bounds>;
				public inset(insets: android.graphics.Insets): android.view.WindowInsetsAnimation.Bounds;
				public getUpperBound(): android.graphics.Insets;
				public toString(): string;
				public constructor(lowerBound: android.graphics.Insets, upperBound: android.graphics.Insets);
				public getLowerBound(): android.graphics.Insets;
			}
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.view.WindowInsetsAnimation.Callback>;
				public static DISPATCH_MODE_CONTINUE_ON_SUBTREE: 1;
				public static DISPATCH_MODE_STOP: 0;
				public getDispatchMode(): number;
				public onStart(animation: android.view.WindowInsetsAnimation, bounds: android.view.WindowInsetsAnimation.Bounds): android.view.WindowInsetsAnimation.Bounds;
				public onProgress(param0: android.view.WindowInsets, param1: java.util.List<android.view.WindowInsetsAnimation>): android.view.WindowInsets;
				public constructor(dispatchMode: number);
				public onPrepare(animation: android.view.WindowInsetsAnimation): void;
				public onEnd(animation: android.view.WindowInsetsAnimation): void;
			}
		}
	}
}

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

declare module android {
	export module view {
		export class WindowInsetsAnimationController extends java.lang.Object {
			public static class: java.lang.Class<android.view.WindowInsetsAnimationController>;
			/**
			 * Constructs a new instance of the android.view.WindowInsetsAnimationController interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getHiddenStateInsets(): android.graphics.Insets;
				getShownStateInsets(): android.graphics.Insets;
				getCurrentInsets(): android.graphics.Insets;
				getCurrentFraction(): number;
				getCurrentAlpha(): number;
				getTypes(): number;
				setInsetsAndAlpha(param0: android.graphics.Insets, param1: number, param2: number): void;
				finish(param0: boolean): void;
				isReady(): boolean;
				isFinished(): boolean;
				isCancelled(): boolean;
			});
			public constructor();
			public getCurrentInsets(): android.graphics.Insets;
			public finish(param0: boolean): void;
			public isReady(): boolean;
			public getCurrentFraction(): number;
			public setInsetsAndAlpha(param0: android.graphics.Insets, param1: number, param2: number): void;
			public isFinished(): boolean;
			public getTypes(): number;
			public getCurrentAlpha(): number;
			public isCancelled(): boolean;
			public getHiddenStateInsets(): android.graphics.Insets;
			public getShownStateInsets(): android.graphics.Insets;
		}
	}
}

declare module android {
	export module view {
		export class WindowInsetsController extends java.lang.Object {
			public static class: java.lang.Class<android.view.WindowInsetsController>;
			/**
			 * Constructs a new instance of the android.view.WindowInsetsController interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				show(param0: number): void;
				hide(param0: number): void;
				controlWindowInsetsAnimation(param0: number, param1: number, param2: android.view.animation.Interpolator, param3: android.os.CancellationSignal, param4: android.view.WindowInsetsAnimationControlListener): void;
				setSystemBarsAppearance(param0: number, param1: number): void;
				getSystemBarsAppearance(): number;
				setSystemBarsBehavior(param0: number): void;
				getSystemBarsBehavior(): number;
				addOnControllableInsetsChangedListener(param0: android.view.WindowInsetsController.OnControllableInsetsChangedListener): void;
				removeOnControllableInsetsChangedListener(param0: android.view.WindowInsetsController.OnControllableInsetsChangedListener): void;
			});
			public constructor();
			public static APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND: 128;
			public static APPEARANCE_LIGHT_NAVIGATION_BARS: 16;
			public static BEHAVIOR_DEFAULT: 1;
			public static APPEARANCE_LIGHT_STATUS_BARS: 8;
			public static BEHAVIOR_SHOW_BARS_BY_SWIPE: 1;
			public static BEHAVIOR_SHOW_BARS_BY_TOUCH: 0;
			public static APPEARANCE_LIGHT_CAPTION_BARS: 256;
			public static BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE: 2;
			public getSystemBarsBehavior(): number;
			public hide(param0: number): void;
			public controlWindowInsetsAnimation(param0: number, param1: number, param2: android.view.animation.Interpolator, param3: android.os.CancellationSignal, param4: android.view.WindowInsetsAnimationControlListener): void;
			public setSystemBarsAppearance(param0: number, param1: number): void;
			public show(param0: number): void;
			public addOnControllableInsetsChangedListener(param0: android.view.WindowInsetsController.OnControllableInsetsChangedListener): void;
			public getSystemBarsAppearance(): number;
			public removeOnControllableInsetsChangedListener(param0: android.view.WindowInsetsController.OnControllableInsetsChangedListener): void;
			public setSystemBarsBehavior(param0: number): void;
		}
		export module WindowInsetsController {
			export class OnControllableInsetsChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.WindowInsetsController.OnControllableInsetsChangedListener>;
				/**
				 * Constructs a new instance of the android.view.WindowInsetsController$OnControllableInsetsChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onControllableInsetsChanged(param0: android.view.WindowInsetsController, param1: number): void;
				});
				public constructor();
				public onControllableInsetsChanged(param0: android.view.WindowInsetsController, param1: number): void;
			}
		}
	}
}

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;
				getCurrentWindowMetrics(): android.view.WindowMetrics;
				getMaximumWindowMetrics(): android.view.WindowMetrics;
				isCrossWindowBlurEnabled(): boolean;
				addCrossWindowBlurEnabledListener(listener: any /* any*/): void;
				addCrossWindowBlurEnabledListener(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
				removeCrossWindowBlurEnabledListener(listener: any /* any*/): void;
				addProposedRotationListener(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
				removeProposedRotationListener(listener: any /* any*/): void;
				registerTrustedPresentationListener(window: android.os.IBinder, thresholds: android.window.TrustedPresentationThresholds, executor: java.util.concurrent.Executor, listener: any /* any*/): void;
				unregisterTrustedPresentationListener(listener: any /* any*/): void;
				registerBatchedSurfaceControlInputReceiver(hostInputTransferToken: android.window.InputTransferToken, surfaceControl: android.view.SurfaceControl, choreographer: android.view.Choreographer, receiver: android.view.SurfaceControlInputReceiver): android.window.InputTransferToken;
				registerUnbatchedSurfaceControlInputReceiver(hostInputTransferToken: android.window.InputTransferToken, surfaceControl: android.view.SurfaceControl, looper: android.os.Looper, receiver: android.view.SurfaceControlInputReceiver): android.window.InputTransferToken;
				unregisterSurfaceControlInputReceiver(surfaceControl: android.view.SurfaceControl): void;
				transferTouchGesture(transferFromToken: android.window.InputTransferToken, transferToToken: android.window.InputTransferToken): boolean;
				addScreenRecordingCallback(executor: java.util.concurrent.Executor, callback: any /* any*/): number;
				removeScreenRecordingCallback(callback: any /* any*/): 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 static SCREEN_RECORDING_STATE_NOT_VISIBLE: 0;
			public static PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN: "android.window.PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN";
			public static PROPERTY_COMPAT_IGNORE_REQUESTED_ORIENTATION: "android.window.PROPERTY_COMPAT_IGNORE_REQUESTED_ORIENTATION";
			public static PROPERTY_ACTIVITY_EMBEDDING_ALLOW_SYSTEM_OVERRIDE: "android.window.PROPERTY_ACTIVITY_EMBEDDING_ALLOW_SYSTEM_OVERRIDE";
			public static PROPERTY_CAMERA_COMPAT_ALLOW_REFRESH: "android.window.PROPERTY_CAMERA_COMPAT_ALLOW_REFRESH";
			public static PROPERTY_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE: "android.window.PROPERTY_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE";
			public static PROPERTY_COMPAT_ALLOW_DISPLAY_ORIENTATION_OVERRIDE: "android.window.PROPERTY_COMPAT_ALLOW_DISPLAY_ORIENTATION_OVERRIDE";
			public static PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI: "android.window.PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI";
			public static PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE: "android.window.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE";
			public static PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED: "android.window.PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED";
			public static PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE: "android.window.PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE";
			public static PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE: "android.window.PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE";
			public static PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES: "android.window.PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES";
			public static COMPAT_SMALL_COVER_SCREEN_OPT_IN: 1;
			public static PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED: "android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED";
			public static PROPERTY_COMPAT_ENABLE_FAKE_FOCUS: "android.window.PROPERTY_COMPAT_ENABLE_FAKE_FOCUS";
			public static PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE: "android.window.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE";
			public static PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION: "android.window.PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION";
			public static PROPERTY_COMPAT_ALLOW_SANDBOXING_VIEW_BOUNDS_APIS: "android.window.PROPERTY_COMPAT_ALLOW_SANDBOXING_VIEW_BOUNDS_APIS";
			public static SCREEN_RECORDING_STATE_VISIBLE: 1;
			public removeView(param0: android.view.View): void;
			public isCrossWindowBlurEnabled(): boolean;
			public addScreenRecordingCallback(executor: java.util.concurrent.Executor, callback: any /* any*/): number;
			public addCrossWindowBlurEnabledListener(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public registerTrustedPresentationListener(window: android.os.IBinder, thresholds: android.window.TrustedPresentationThresholds, executor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public getMaximumWindowMetrics(): android.view.WindowMetrics;
			public addCrossWindowBlurEnabledListener(listener: any /* any*/): void;
			/** @deprecated */
			public getDefaultDisplay(): android.view.Display;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public registerUnbatchedSurfaceControlInputReceiver(hostInputTransferToken: android.window.InputTransferToken, surfaceControl: android.view.SurfaceControl, looper: android.os.Looper, receiver: android.view.SurfaceControlInputReceiver): android.window.InputTransferToken;
			public unregisterTrustedPresentationListener(listener: any /* any*/): void;
			public getCurrentWindowMetrics(): android.view.WindowMetrics;
			public transferTouchGesture(transferFromToken: android.window.InputTransferToken, transferToToken: android.window.InputTransferToken): boolean;
			public removeProposedRotationListener(listener: any /* any*/): void;
			public removeViewImmediate(param0: android.view.View): void;
			public removeCrossWindowBlurEnabledListener(listener: any /* any*/): void;
			public addProposedRotationListener(executor: java.util.concurrent.Executor, listener: any /* any*/): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public registerBatchedSurfaceControlInputReceiver(hostInputTransferToken: android.window.InputTransferToken, surfaceControl: android.view.SurfaceControl, choreographer: android.view.Choreographer, receiver: android.view.SurfaceControlInputReceiver): android.window.InputTransferToken;
			public unregisterSurfaceControlInputReceiver(surfaceControl: android.view.SurfaceControl): void;
			public removeScreenRecordingCallback(callback: any /* any*/): void;
		}
		export module WindowManager {
			export class BadTokenException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.view.WindowManager.BadTokenException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(name: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
			export class InvalidDisplayException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.view.WindowManager.InvalidDisplayException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(name: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
			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: 128;
				public static ANIMATION_CHANGED: 16;
				public static BRIGHTNESS_OVERRIDE_FULL: 1.0;
				public static BRIGHTNESS_OVERRIDE_NONE: -1.0;
				public static BRIGHTNESS_OVERRIDE_OFF: 0.0;
				public static CREATOR: android.os.Parcelable.Creator<android.view.WindowManager.LayoutParams>;
				public static DIM_AMOUNT_CHANGED: 32;
				public static DISPLAY_FLAG_DISABLE_HDR_CONVERSION: 1;
				public static FIRST_APPLICATION_WINDOW: 1;
				public static FIRST_SUB_WINDOW: 1000;
				public static FIRST_SYSTEM_WINDOW: 2000;
				public static FLAGS_CHANGED: 4;
				public static FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: 1;
				public static FLAG_ALT_FOCUSABLE_IM: 131072;
				public static FLAG_BLUR_BEHIND: 4;
				public static FLAG_DIM_BEHIND: 2;
				public static FLAG_DISMISS_KEYGUARD: 4194304;
				public static FLAG_DITHER: 4096;
				public static FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS: -2147483648;
				public static FLAG_FORCE_NOT_FULLSCREEN: 2048;
				public static FLAG_FULLSCREEN: 1024;
				public static FLAG_HARDWARE_ACCELERATED: 16777216;
				public static FLAG_IGNORE_CHEEK_PRESSES: 32768;
				public static FLAG_KEEP_SCREEN_ON: 128;
				public static FLAG_LAYOUT_ATTACHED_IN_DECOR: 1073741824;
				public static FLAG_LAYOUT_INSET_DECOR: 65536;
				public static FLAG_LAYOUT_IN_OVERSCAN: 33554432;
				public static FLAG_LAYOUT_IN_SCREEN: 256;
				public static FLAG_LAYOUT_NO_LIMITS: 512;
				public static FLAG_LOCAL_FOCUS_MODE: 268435456;
				public static FLAG_NOT_FOCUSABLE: 8;
				public static FLAG_NOT_TOUCHABLE: 16;
				public static FLAG_NOT_TOUCH_MODAL: 32;
				public static FLAG_SCALED: 16384;
				public static FLAG_SECURE: 8192;
				public static FLAG_SHOW_WALLPAPER: 1048576;
				public static FLAG_SHOW_WHEN_LOCKED: 524288;
				public static FLAG_SPLIT_TOUCH: 8388608;
				public static FLAG_TOUCHABLE_WHEN_WAKING: 64;
				public static FLAG_TRANSLUCENT_NAVIGATION: 134217728;
				public static FLAG_TRANSLUCENT_STATUS: 67108864;
				public static FLAG_TURN_SCREEN_ON: 2097152;
				public static FLAG_WATCH_OUTSIDE_TOUCH: 262144;
				public static FORMAT_CHANGED: 8;
				public static LAST_APPLICATION_WINDOW: 99;
				public static LAST_SUB_WINDOW: 1999;
				public static LAST_SYSTEM_WINDOW: 2999;
				public static LAYOUT_CHANGED: 1;
				public static LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS: 3;
				public static LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT: 0;
				public static LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER: 2;
				public static LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES: 1;
				public static MEMORY_TYPE_CHANGED: 256;
				public static MEMORY_TYPE_GPU: 2;
				public static MEMORY_TYPE_HARDWARE: 1;
				public static MEMORY_TYPE_NORMAL: 0;
				public static MEMORY_TYPE_PUSH_BUFFERS: 3;
				public static ROTATION_ANIMATION_CHANGED: 4096;
				public static ROTATION_ANIMATION_CROSSFADE: 1;
				public static ROTATION_ANIMATION_JUMPCUT: 2;
				public static ROTATION_ANIMATION_ROTATE: 0;
				public static ROTATION_ANIMATION_SEAMLESS: 3;
				public static SCREEN_BRIGHTNESS_CHANGED: 2048;
				public static SCREEN_ORIENTATION_CHANGED: 1024;
				public static SOFT_INPUT_ADJUST_NOTHING: 48;
				public static SOFT_INPUT_ADJUST_PAN: 32;
				public static SOFT_INPUT_ADJUST_RESIZE: 16;
				public static SOFT_INPUT_ADJUST_UNSPECIFIED: 0;
				public static SOFT_INPUT_IS_FORWARD_NAVIGATION: 256;
				public static SOFT_INPUT_MASK_ADJUST: 240;
				public static SOFT_INPUT_MASK_STATE: 15;
				public static SOFT_INPUT_MODE_CHANGED: 512;
				public static SOFT_INPUT_STATE_ALWAYS_HIDDEN: 3;
				public static SOFT_INPUT_STATE_ALWAYS_VISIBLE: 5;
				public static SOFT_INPUT_STATE_HIDDEN: 2;
				public static SOFT_INPUT_STATE_UNCHANGED: 1;
				public static SOFT_INPUT_STATE_UNSPECIFIED: 0;
				public static SOFT_INPUT_STATE_VISIBLE: 4;
				public static TITLE_CHANGED: 64;
				public static TYPE_ACCESSIBILITY_OVERLAY: 2032;
				public static TYPE_APPLICATION: 2;
				public static TYPE_APPLICATION_ATTACHED_DIALOG: 1003;
				public static TYPE_APPLICATION_MEDIA: 1001;
				public static TYPE_APPLICATION_OVERLAY: 2038;
				public static TYPE_APPLICATION_PANEL: 1000;
				public static TYPE_APPLICATION_STARTING: 3;
				public static TYPE_APPLICATION_SUB_PANEL: 1002;
				public static TYPE_BASE_APPLICATION: 1;
				public static TYPE_CHANGED: 2;
				public static TYPE_DRAWN_APPLICATION: 4;
				public static TYPE_INPUT_METHOD: 2011;
				public static TYPE_INPUT_METHOD_DIALOG: 2012;
				public static TYPE_KEYGUARD_DIALOG: 2009;
				public static TYPE_PHONE: 2002;
				public static TYPE_PRIORITY_PHONE: 2007;
				public static TYPE_PRIVATE_PRESENTATION: 2030;
				public static TYPE_SEARCH_BAR: 2001;
				public static TYPE_STATUS_BAR: 2000;
				public static TYPE_SYSTEM_ALERT: 2003;
				public static TYPE_SYSTEM_DIALOG: 2008;
				public static TYPE_SYSTEM_ERROR: 2010;
				public static TYPE_SYSTEM_OVERLAY: 2006;
				public static TYPE_TOAST: 2005;
				public static TYPE_WALLPAPER: 2013;
				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 preferMinimalPostProcessing: boolean;
				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 setFrameRateBoostOnTouchEnabled(enabled: boolean): void;
				public setFitInsetsIgnoringVisibility(ignore: boolean): void;
				public setDesiredHdrHeadroom(desiredHeadroom: number): void;
				public constructor(width: number, height: number);
				public isFitInsetsIgnoringVisibility(): boolean;
				public getFitInsetsSides(): number;
				public getBlurBehindRadius(): number;
				public constructor();
				public setFitInsetsTypes(types: number): void;
				public isHdrConversionEnabled(): boolean;
				public writeToParcel(out: android.os.Parcel, parcelableFlags: number): void;
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(w: number, h: number, xpos: number, ypos: number, _type: number, _flags: number, _format: number);
				public setColorMode(colorMode: number): void;
				public setCanPlayMoveAnimation(enable: boolean): void;
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public setHdrConversionEnabled(enabled: boolean): void;
				public setTitle(title: string): void;
				public constructor(_type: number, _flags: number);
				public constructor(_type: number, _flags: number, _format: number);
				public constructor(w: number, h: number, _type: number, _flags: number, _format: number);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public static mayUseInputMethod(flags: number): boolean;
				public toString(): string;
				public debug(output: string): string;
				public getTitle(): string;
				public copyFrom(o: android.view.WindowManager.LayoutParams): number;
				public getFrameRateBoostOnTouchEnabled(): boolean;
				public canPlayMoveAnimation(): boolean;
				public getFitInsetsTypes(): number;
				public getDesiredHdrHeadroom(): number;
				public setFrameRatePowerSavingsBalanced(enabled: boolean): void;
				public setWallpaperTouchEventsEnabled(enable: boolean): void;
				public describeContents(): number;
				public constructor(in_: android.os.Parcel);
				public areWallpaperTouchEventsEnabled(): boolean;
				public getColorMode(): number;
				public constructor(_type: number);
				public setFitInsetsSides(sides: number): void;
				public isFrameRatePowerSavingsBalanced(): boolean;
				public setBlurBehindRadius(blurBehindRadius: number): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class WindowMetrics extends java.lang.Object {
			public static class: java.lang.Class<android.view.WindowMetrics>;
			/** @deprecated */
			public constructor(bounds: android.graphics.Rect, windowInsets: android.view.WindowInsets);
			public toString(): string;
			public getDensity(): number;
			public constructor(bounds: android.graphics.Rect, windowInsets: android.view.WindowInsets, density: number);
			public getWindowInsets(): android.view.WindowInsets;
			public getBounds(): android.graphics.Rect;
		}
	}
}

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: 4;
				public static CONTENT_CHANGE_TYPE_CONTENT_INVALID: 1024;
				public static CONTENT_CHANGE_TYPE_DRAG_CANCELLED: 512;
				public static CONTENT_CHANGE_TYPE_DRAG_DROPPED: 256;
				public static CONTENT_CHANGE_TYPE_DRAG_STARTED: 128;
				public static CONTENT_CHANGE_TYPE_ENABLED: 4096;
				public static CONTENT_CHANGE_TYPE_ERROR: 2048;
				public static CONTENT_CHANGE_TYPE_PANE_APPEARED: 16;
				public static CONTENT_CHANGE_TYPE_PANE_DISAPPEARED: 32;
				public static CONTENT_CHANGE_TYPE_PANE_TITLE: 8;
				public static CONTENT_CHANGE_TYPE_STATE_DESCRIPTION: 64;
				public static CONTENT_CHANGE_TYPE_SUBTREE: 1;
				public static CONTENT_CHANGE_TYPE_TEXT: 2;
				public static CONTENT_CHANGE_TYPE_UNDEFINED: 0;
				public static CREATOR: android.os.Parcelable.Creator<android.view.accessibility.AccessibilityEvent>;
				public static INVALID_POSITION: -1;
				public static MAX_TEXT_LENGTH: 500;
				public static SPEECH_STATE_LISTENING_END: 8;
				public static SPEECH_STATE_LISTENING_START: 4;
				public static SPEECH_STATE_SPEAKING_END: 2;
				public static SPEECH_STATE_SPEAKING_START: 1;
				public static TYPES_ALL_MASK: -1;
				public static TYPE_ANNOUNCEMENT: 16384;
				public static TYPE_ASSIST_READING_CONTEXT: 16777216;
				public static TYPE_GESTURE_DETECTION_END: 524288;
				public static TYPE_GESTURE_DETECTION_START: 262144;
				public static TYPE_NOTIFICATION_STATE_CHANGED: 64;
				public static TYPE_SPEECH_STATE_CHANGE: 33554432;
				public static TYPE_TOUCH_EXPLORATION_GESTURE_END: 1024;
				public static TYPE_TOUCH_EXPLORATION_GESTURE_START: 512;
				public static TYPE_TOUCH_INTERACTION_END: 2097152;
				public static TYPE_TOUCH_INTERACTION_START: 1048576;
				public static TYPE_VIEW_ACCESSIBILITY_FOCUSED: 32768;
				public static TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED: 65536;
				public static TYPE_VIEW_CLICKED: 1;
				public static TYPE_VIEW_CONTEXT_CLICKED: 8388608;
				public static TYPE_VIEW_FOCUSED: 8;
				public static TYPE_VIEW_HOVER_ENTER: 128;
				public static TYPE_VIEW_HOVER_EXIT: 256;
				public static TYPE_VIEW_LONG_CLICKED: 2;
				public static TYPE_VIEW_SCROLLED: 4096;
				public static TYPE_VIEW_SELECTED: 4;
				public static TYPE_VIEW_TARGETED_BY_SCROLL: 67108864;
				public static TYPE_VIEW_TEXT_CHANGED: 16;
				public static TYPE_VIEW_TEXT_SELECTION_CHANGED: 8192;
				public static TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY: 131072;
				public static TYPE_WINDOWS_CHANGED: 4194304;
				public static TYPE_WINDOW_CONTENT_CHANGED: 2048;
				public static TYPE_WINDOW_STATE_CHANGED: 32;
				public static WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED: 128;
				public static WINDOWS_CHANGE_ACTIVE: 32;
				public static WINDOWS_CHANGE_ADDED: 1;
				public static WINDOWS_CHANGE_BOUNDS: 8;
				public static WINDOWS_CHANGE_CHILDREN: 512;
				public static WINDOWS_CHANGE_FOCUSED: 64;
				public static WINDOWS_CHANGE_LAYER: 16;
				public static WINDOWS_CHANGE_PARENT: 256;
				public static WINDOWS_CHANGE_PIP: 1024;
				public static WINDOWS_CHANGE_REMOVED: 2;
				public static WINDOWS_CHANGE_TITLE: 4;
				public appendRecord(record: android.view.accessibility.AccessibilityRecord): void;
				public initFromParcel(parcel: android.os.Parcel): void;
				public getEventType(): number;
				/** @deprecated */
				public static obtain(record: android.view.accessibility.AccessibilityRecord): android.view.accessibility.AccessibilityRecord;
				public getAction(): number;
				public getContentChangeTypes(): number;
				/** @deprecated */
				public static obtain(): android.view.accessibility.AccessibilityEvent;
				/** @deprecated */
				public static obtain(event: android.view.accessibility.AccessibilityEvent): android.view.accessibility.AccessibilityEvent;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public getWindowChanges(): number;
				public setPackageName(packageName: string): void;
				public getEventTime(): number;
				/** @deprecated */
				public static obtain(eventType: number): android.view.accessibility.AccessibilityEvent;
				/** @deprecated */
				public recycle(): void;
				public constructor();
				public getSpeechStateChangeTypes(): number;
				public setSpeechStateChangeTypes(state: number): void;
				public constructor(eventType: number);
				public setMovementGranularity(granularity: number): void;
				public setAccessibilityDataSensitive(accessibilityDataSensitive: boolean): void;
				public constructor(record: android.view.accessibility.AccessibilityRecord);
				public isAccessibilityDataSensitive(): boolean;
				public setEventTime(eventTime: number): void;
				public setAction(action: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public toString(): string;
				public constructor(event: android.view.accessibility.AccessibilityEvent);
				public setEventType(eventType: number): void;
				public static eventTypeToString(eventType: number): string;
				public setContentChangeTypes(changeTypes: number): void;
				public getRecord(index: number): android.view.accessibility.AccessibilityRecord;
				public describeContents(): number;
				public getRecordCount(): number;
				public getMovementGranularity(): number;
				/** @deprecated */
				public static obtain(): android.view.accessibility.AccessibilityRecord;
			}
		}
	}
}

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 static FLAG_CONTENT_CONTROLS: 4;
				public static FLAG_CONTENT_ICONS: 1;
				public static FLAG_CONTENT_TEXT: 2;
				public addTouchExplorationStateChangeListener(listener: android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener): boolean;
				/** @deprecated */
				public getAccessibilityServiceList(): java.util.List<android.content.pm.ServiceInfo>;
				public addAccessibilityStateChangeListener(listener: android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener): boolean;
				public isTouchExplorationEnabled(): boolean;
				public getRecommendedTimeoutMillis(originalTimeout: number, uiContentFlags: number): number;
				public removeTouchExplorationStateChangeListener(listener: android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener): boolean;
				public removeAccessibilityStateChangeListener(listener: android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener): boolean;
				public getAccessibilityFocusStrokeWidth(): number;
				public isAudioDescriptionRequested(): boolean;
				public addTouchExplorationStateChangeListener(listener: android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener, handler: android.os.Handler): void;
				public isRequestFromAccessibilityTool(): boolean;
				public getInstalledAccessibilityServiceList(): java.util.List<android.accessibilityservice.AccessibilityServiceInfo>;
				public getAccessibilityFocusColor(): number;
				public addAudioDescriptionRequestedChangeListener(executor: java.util.concurrent.Executor, listener: android.view.accessibility.AccessibilityManager.AudioDescriptionRequestedChangeListener): void;
				public interrupt(): void;
				public getEnabledAccessibilityServiceList(feedbackTypeFlags: number): java.util.List<android.accessibilityservice.AccessibilityServiceInfo>;
				public sendAccessibilityEvent(event: android.view.accessibility.AccessibilityEvent): void;
				public static isAccessibilityButtonSupported(): boolean;
				public removeAccessibilityRequestPreparer(preparer: android.view.accessibility.AccessibilityRequestPreparer): void;
				public removeAudioDescriptionRequestedChangeListener(listener: android.view.accessibility.AccessibilityManager.AudioDescriptionRequestedChangeListener): boolean;
				public addAccessibilityStateChangeListener(listener: android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener, handler: android.os.Handler): void;
				public removeAccessibilityServicesStateChangeListener(listener: android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener): boolean;
				public addAccessibilityServicesStateChangeListener(executor: java.util.concurrent.Executor, listener: android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener): void;
				public addAccessibilityRequestPreparer(preparer: android.view.accessibility.AccessibilityRequestPreparer): void;
				public isEnabled(): boolean;
				public addAccessibilityServicesStateChangeListener(listener: android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener): void;
			}
			export module AccessibilityManager {
				export class AccessibilityServicesStateChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener>;
					/**
					 * Constructs a new instance of the android.view.accessibility.AccessibilityManager$AccessibilityServicesStateChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onAccessibilityServicesStateChanged(param0: android.view.accessibility.AccessibilityManager): void;
					});
					public constructor();
					public onAccessibilityServicesStateChanged(param0: android.view.accessibility.AccessibilityManager): void;
				}
				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 AudioDescriptionRequestedChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityManager.AudioDescriptionRequestedChangeListener>;
					/**
					 * Constructs a new instance of the android.view.accessibility.AccessibilityManager$AudioDescriptionRequestedChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onAudioDescriptionRequestedChanged(param0: boolean): void;
					});
					public constructor();
					public onAudioDescriptionRequestedChanged(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: 64;
				public static ACTION_ARGUMENT_COLUMN_INT: "android.view.accessibility.action.ARGUMENT_COLUMN_INT";
				public static ACTION_ARGUMENT_DIRECTION_INT: "android.view.accessibility.action.ARGUMENT_DIRECTION_INT";
				public static ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN: "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN";
				public static ACTION_ARGUMENT_HTML_ELEMENT_STRING: "ACTION_ARGUMENT_HTML_ELEMENT_STRING";
				public static ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT: "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
				public static ACTION_ARGUMENT_MOVE_WINDOW_X: "ACTION_ARGUMENT_MOVE_WINDOW_X";
				public static ACTION_ARGUMENT_MOVE_WINDOW_Y: "ACTION_ARGUMENT_MOVE_WINDOW_Y";
				public static ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT: "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
				public static ACTION_ARGUMENT_PROGRESS_VALUE: "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
				public static ACTION_ARGUMENT_ROW_INT: "android.view.accessibility.action.ARGUMENT_ROW_INT";
				public static ACTION_ARGUMENT_SCROLL_AMOUNT_FLOAT: "android.view.accessibility.action.ARGUMENT_SCROLL_AMOUNT_FLOAT";
				public static ACTION_ARGUMENT_SELECTION_END_INT: "ACTION_ARGUMENT_SELECTION_END_INT";
				public static ACTION_ARGUMENT_SELECTION_START_INT: "ACTION_ARGUMENT_SELECTION_START_INT";
				public static ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE: "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE";
				public static ACTION_CLEAR_ACCESSIBILITY_FOCUS: 128;
				public static ACTION_CLEAR_FOCUS: 2;
				public static ACTION_CLEAR_SELECTION: 8;
				public static ACTION_CLICK: 16;
				public static ACTION_COLLAPSE: 524288;
				public static ACTION_COPY: 16384;
				public static ACTION_CUT: 65536;
				public static ACTION_DISMISS: 1048576;
				public static ACTION_EXPAND: 262144;
				public static ACTION_FOCUS: 1;
				public static ACTION_LONG_CLICK: 32;
				public static ACTION_NEXT_AT_MOVEMENT_GRANULARITY: 256;
				public static ACTION_NEXT_HTML_ELEMENT: 1024;
				public static ACTION_PASTE: 32768;
				public static ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: 512;
				public static ACTION_PREVIOUS_HTML_ELEMENT: 2048;
				public static ACTION_SCROLL_BACKWARD: 8192;
				public static ACTION_SCROLL_FORWARD: 4096;
				public static ACTION_SELECT: 4;
				public static ACTION_SET_SELECTION: 131072;
				public static ACTION_SET_TEXT: 2097152;
				public static CREATOR: android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo>;
				public static EXTRA_DATA_RENDERING_INFO_KEY: "android.view.accessibility.extra.DATA_RENDERING_INFO_KEY";
				public static EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH";
				public static EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH: 20000;
				public static EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX";
				public static EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_KEY";
				public static FLAG_PREFETCH_ANCESTORS: 1;
				public static FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST: 16;
				public static FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST: 8;
				public static FLAG_PREFETCH_DESCENDANTS_HYBRID: 4;
				public static FLAG_PREFETCH_SIBLINGS: 2;
				public static FLAG_PREFETCH_UNINTERRUPTIBLE: 32;
				public static FOCUS_ACCESSIBILITY: 2;
				public static FOCUS_INPUT: 1;
				public static MAX_NUMBER_OF_PREFETCHED_NODES: 50;
				public static MOVEMENT_GRANULARITY_CHARACTER: 1;
				public static MOVEMENT_GRANULARITY_LINE: 4;
				public static MOVEMENT_GRANULARITY_PAGE: 16;
				public static MOVEMENT_GRANULARITY_PARAGRAPH: 8;
				public static MOVEMENT_GRANULARITY_WORD: 2;
				public setLongClickable(longClickable: boolean): void;
				public getContentDescription(): string;
				public setMovementGranularities(granularities: number): void;
				public getDrawingOrder(): number;
				public setBoundsInScreen(bounds: android.graphics.Rect): void;
				public setRangeInfo(rangeInfo: android.view.accessibility.AccessibilityNodeInfo.RangeInfo): void;
				public getTextSelectionStart(): number;
				public getWindow(): android.view.accessibility.AccessibilityWindowInfo;
				public getWindowId(): number;
				public setContentDescription(contentDescription: string): void;
				public setFocused(focused: boolean): void;
				public setClickable(clickable: boolean): void;
				public setInputType(inputType: number): void;
				public setTextEntryKey(isTextEntryKey: boolean): void;
				public getTouchDelegateInfo(): android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo;
				public performAction(action: number, arguments_: android.os.Bundle): boolean;
				public removeChild(child: android.view.View): boolean;
				public getStateDescription(): string;
				public isContentInvalid(): boolean;
				public setPaneTitle(paneTitle: string): void;
				public getExtraRenderingInfo(): android.view.accessibility.AccessibilityNodeInfo.ExtraRenderingInfo;
				public setScrollable(scrollable: boolean): void;
				public getPackageName(): string;
				public getMinDurationBetweenContentChanges(): java.time.Duration;
				public getBoundsInWindow(outBounds: android.graphics.Rect): void;
				public setRequestInitialAccessibilityFocus(requestInitialAccessibilityFocus: boolean): void;
				/** @deprecated */
				public setBoundsInParent(bounds: android.graphics.Rect): void;
				public getTooltipText(): string;
				public isTextSelectable(): boolean;
				public isContextClickable(): boolean;
				public setShowingHintText(showingHintText: boolean): void;
				public setPassword(password: boolean): void;
				public setTouchDelegateInfo(delegatedInfo: android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo): void;
				public constructor(root: android.view.View, virtualDescendantId: number);
				public setLabeledBy(label: android.view.View): void;
				public getParent(): android.view.accessibility.AccessibilityNodeInfo;
				public setGranularScrollingSupported(granularScrollingSupported: boolean): void;
				public getError(): string;
				public setEnabled(enabled: boolean): void;
				public isDismissable(): boolean;
				public addChild(child: android.view.View): void;
				public removeAction(action: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction): boolean;
				public setHeading(isHeading: boolean): void;
				public setParent(root: android.view.View, virtualDescendantId: number): void;
				public getLabeledBy(): android.view.accessibility.AccessibilityNodeInfo;
				public setContentInvalid(contentInvalid: boolean): void;
				public isLongClickable(): boolean;
				public setVisibleToUser(visibleToUser: boolean): void;
				/** @deprecated */
				public recycle(): void;
				public getCollectionInfo(): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
				public getChild(index: number, prefetchingStrategy: number): android.view.accessibility.AccessibilityNodeInfo;
				public setViewIdResourceName(viewIdResName: string): void;
				public getInputType(): number;
				public isFocused(): boolean;
				public getChild(index: number): android.view.accessibility.AccessibilityNodeInfo;
				public isPassword(): boolean;
				public isGranularScrollingSupported(): boolean;
				public setDismissable(dismissable: boolean): void;
				public setText(text: string): void;
				public setTextSelectable(selectableText: boolean): void;
				public setMultiLine(multiLine: boolean): void;
				public setAccessibilityFocused(focused: boolean): void;
				public getChildCount(): number;
				public isSelected(): boolean;
				public getLabelFor(): android.view.accessibility.AccessibilityNodeInfo;
				public setHintText(hintText: string): void;
				public setTraversalAfter(root: android.view.View, virtualDescendantId: number): void;
				public setAvailableExtraData(extraDataKeys: java.util.List<string>): void;
				/** @deprecated */
				public getActions(): number;
				public isEditable(): boolean;
				public equals(object: any): boolean;
				public getText(): string;
				public performAction(action: number): boolean;
				public getRangeInfo(): android.view.accessibility.AccessibilityNodeInfo.RangeInfo;
				/** @deprecated */
				public static obtain(root: android.view.View, virtualDescendantId: number): android.view.accessibility.AccessibilityNodeInfo;
				public isFocusable(): boolean;
				public setMaxTextLength(max: number): void;
				public removeChild(root: android.view.View, virtualDescendantId: number): boolean;
				/** @deprecated */
				public static obtain(source: android.view.View): android.view.accessibility.AccessibilityNodeInfo;
				public findFocus(focus: number): android.view.accessibility.AccessibilityNodeInfo;
				public getClassName(): string;
				public isCheckable(): boolean;
				public setPackageName(packageName: string): void;
				public focusSearch(direction: number): android.view.accessibility.AccessibilityNodeInfo;
				public setSelected(selected: boolean): void;
				public constructor(info: android.view.accessibility.AccessibilityNodeInfo);
				public constructor();
				public setLabelFor(root: android.view.View, virtualDescendantId: number): void;
				public setChecked(checked: boolean): void;
				public isShowingHintText(): boolean;
				public isAccessibilityFocused(): boolean;
				public hashCode(): number;
				public setTextSelection(start: number, end: number): void;
				public setParent(parent: android.view.View): void;
				public getExtras(): android.os.Bundle;
				public setAccessibilityDataSensitive(accessibilityDataSensitive: boolean): void;
				public setEditable(editable: boolean): void;
				public setQueryFromAppProcessEnabled(view: android.view.View, enabled: boolean): void;
				/** @deprecated */
				public static obtain(): android.view.accessibility.AccessibilityNodeInfo;
				public isMultiLine(): boolean;
				public setLiveRegion(mode: number): void;
				public setUniqueId(uniqueId: string): void;
				public hasRequestInitialAccessibilityFocus(): boolean;
				public setImportantForAccessibility(important: boolean): void;
				public isScrollable(): boolean;
				public isAccessibilityDataSensitive(): boolean;
				public getActionList(): java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction>;
				public setFocusable(focusable: boolean): void;
				public setScreenReaderFocusable(screenReaderFocusable: boolean): void;
				public setCanOpenPopup(opensPopup: boolean): void;
				public toString(): string;
				public getTraversalBefore(): android.view.accessibility.AccessibilityNodeInfo;
				public setContainerTitle(containerTitle: string): void;
				public isScreenReaderFocusable(): boolean;
				public addChild(root: android.view.View, virtualDescendantId: number): void;
				public addAction(action: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction): void;
				public setCollectionItemInfo(collectionItemInfo: android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo): void;
				public getMovementGranularities(): number;
				public setCheckable(checkable: boolean): void;
				public describeContents(): number;
				public setLabelFor(labeled: android.view.View): void;
				public getMaxTextLength(): number;
				public isTextEntryKey(): boolean;
				public isChecked(): boolean;
				public getHintText(): string;
				public getBoundsInScreen(outBounds: android.graphics.Rect): void;
				public setLabeledBy(root: android.view.View, virtualDescendantId: number): void;
				public setTooltipText(tooltipText: string): void;
				public getCollectionItemInfo(): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo;
				public isImportantForAccessibility(): boolean;
				public setSource(root: android.view.View, virtualDescendantId: number): void;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public setTraversalAfter(view: android.view.View): void;
				public setCollectionInfo(collectionInfo: android.view.accessibility.AccessibilityNodeInfo.CollectionInfo): void;
				public setStateDescription(stateDescription: string): void;
				public isClickable(): boolean;
				/** @deprecated */
				public removeAction(action: number): void;
				public setDrawingOrder(drawingOrderInParent: number): void;
				public getTextSelectionEnd(): number;
				public getAvailableExtraData(): java.util.List<string>;
				public getViewIdResourceName(): string;
				public getParent(prefetchingStrategy: number): android.view.accessibility.AccessibilityNodeInfo;
				public constructor(source: android.view.View);
				public setTraversalBefore(view: android.view.View): void;
				public setMinDurationBetweenContentChanges(duration: java.time.Duration): void;
				public getPaneTitle(): string;
				/** @deprecated */
				public static obtain(info: android.view.accessibility.AccessibilityNodeInfo): android.view.accessibility.AccessibilityNodeInfo;
				public getTraversalAfter(): android.view.accessibility.AccessibilityNodeInfo;
				public getLiveRegion(): number;
				/** @deprecated */
				public getBoundsInParent(outBounds: android.graphics.Rect): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public findAccessibilityNodeInfosByViewId(viewId: string): java.util.List<android.view.accessibility.AccessibilityNodeInfo>;
				public isVisibleToUser(): boolean;
				public setClassName(className: string): void;
				public canOpenPopup(): boolean;
				public setBoundsInWindow(bounds: android.graphics.Rect): void;
				public setContextClickable(contextClickable: boolean): void;
				public isHeading(): boolean;
				public setTraversalBefore(root: android.view.View, virtualDescendantId: number): void;
				public setError(error: string): void;
				public getUniqueId(): string;
				public setSource(source: android.view.View): void;
				public refreshWithExtraData(extraDataKey: string, args: android.os.Bundle): boolean;
				public findAccessibilityNodeInfosByText(text: string): java.util.List<android.view.accessibility.AccessibilityNodeInfo>;
				public isEnabled(): boolean;
				public refresh(): boolean;
				/** @deprecated */
				public addAction(action: number): void;
				public getContainerTitle(): string;
			}
			export module AccessibilityNodeInfo {
				export class AccessibilityAction extends java.lang.Object implements android.os.Parcelable {
					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_DRAG_CANCEL: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_DRAG_DROP: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_DRAG_START: 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_IME_ENTER: 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_PAGE_DOWN: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_PAGE_LEFT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_PAGE_RIGHT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_PAGE_UP: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_PASTE: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_PRESS_AND_HOLD: 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_IN_DIRECTION: 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_TEXT_SUGGESTIONS: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SHOW_TOOLTIP: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static CREATOR: android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction>;
					public getLabel(): string;
					public toString(): string;
					public constructor(actionId: number, label: string);
					public getId(): number;
					public equals(other: any): boolean;
					public describeContents(): number;
					public writeToParcel(out: android.os.Parcel, flags: number): void;
					public hashCode(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export class CollectionInfo extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.CollectionInfo>;
					public static SELECTION_MODE_MULTIPLE: 2;
					public static SELECTION_MODE_NONE: 0;
					public static SELECTION_MODE_SINGLE: 1;
					public static UNDEFINED: -1;
					public getRowCount(): number;
					/** @deprecated */
					public static obtain(rowCount: number, columnCount: number, hierarchical: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
					public getColumnCount(): number;
					public getSelectionMode(): number;
					public getItemCount(): number;
					public getImportantForAccessibilityItemCount(): number;
					public constructor(rowCount: number, columnCount: number, hierarchical: boolean, selectionMode: number);
					public constructor(rowCount: number, columnCount: number, hierarchical: boolean);
					/** @deprecated */
					public static obtain(rowCount: number, columnCount: number, hierarchical: boolean, selectionMode: number): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
					public isHierarchical(): boolean;
				}
				export module CollectionInfo {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.CollectionInfo.Builder>;
						public constructor();
						public setImportantForAccessibilityItemCount(importantForAccessibilityItemCount: number): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo.Builder;
						public setRowCount(rowCount: number): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo.Builder;
						public setColumnCount(columnCount: number): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo.Builder;
						public setSelectionMode(selectionMode: number): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo.Builder;
						public setItemCount(itemCount: number): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo.Builder;
						public build(): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
						public setHierarchical(hierarchical: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo.Builder;
					}
				}
				export class CollectionItemInfo extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo>;
					public constructor(rowIndex: number, rowSpan: number, columnIndex: number, columnSpan: number, heading: boolean, selected: boolean);
					public getColumnTitle(): string;
					/** @deprecated */
					public static obtain(rowIndex: number, rowSpan: number, columnIndex: number, columnSpan: number, heading: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo;
					public constructor(rowIndex: number, rowSpan: number, columnIndex: number, columnSpan: number, heading: boolean);
					public getRowSpan(): number;
					public getColumnSpan(): number;
					/** @deprecated */
					public isHeading(): boolean;
					public getRowIndex(): number;
					/** @deprecated */
					public static obtain(rowIndex: number, rowSpan: number, columnIndex: number, columnSpan: number, heading: boolean, selected: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo;
					public getColumnIndex(): number;
					public isSelected(): boolean;
					public getRowTitle(): string;
				}
				export module CollectionItemInfo {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder>;
						public setSelected(selected: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder;
						public setColumnIndex(columnIndex: number): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder;
						public setRowIndex(rowIndex: number): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder;
						public constructor();
						public setRowTitle(rowTitle: string): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder;
						public setColumnSpan(columnSpan: number): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder;
						public setColumnTitle(columnTitle: string): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder;
						public build(): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo;
						public setRowSpan(rowSpan: number): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder;
						public setHeading(heading: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo.Builder;
					}
				}
				export class ExtraRenderingInfo extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.ExtraRenderingInfo>;
					public getTextSizeInPx(): number;
					public getTextSizeUnit(): number;
					public getLayoutSize(): any;
				}
				export class RangeInfo extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.RangeInfo>;
					public static RANGE_TYPE_FLOAT: 1;
					public static RANGE_TYPE_INT: 0;
					public static RANGE_TYPE_PERCENT: 2;
					public getType(): number;
					public getCurrent(): number;
					public constructor(type: number, min: number, max: number, current: number);
					/** @deprecated */
					public static obtain(type: number, min: number, max: number, current: number): android.view.accessibility.AccessibilityNodeInfo.RangeInfo;
					public getMax(): number;
					public getMin(): number;
				}
				export class TouchDelegateInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo>;
					public constructor(targetMap: java.util.Map<android.graphics.Region,android.view.View>);
					public getRegionAt(index: number): android.graphics.Region;
					public describeContents(): number;
					public getTargetForRegion(region: android.graphics.Region): android.view.accessibility.AccessibilityNodeInfo;
					public getRegionCount(): number;
					public writeToParcel(dest: android.os.Parcel, flags: number): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

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: -1;
				public findFocus(focus: number): android.view.accessibility.AccessibilityNodeInfo;
				public findAccessibilityNodeInfosByText(text: string, virtualViewId: number): java.util.List<android.view.accessibility.AccessibilityNodeInfo>;
				public performAction(virtualViewId: number, action: number, arguments_: android.os.Bundle): boolean;
				public addExtraDataToAccessibilityNodeInfo(virtualViewId: number, info: android.view.accessibility.AccessibilityNodeInfo, extraDataKey: string, arguments_: android.os.Bundle): void;
				public createAccessibilityNodeInfo(virtualViewId: 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 getClassName(): string;
				public setBeforeText(beforeText: string): void;
				/** @deprecated */
				public static obtain(record: android.view.accessibility.AccessibilityRecord): android.view.accessibility.AccessibilityRecord;
				public getContentDescription(): string;
				public getParcelableData(): android.os.Parcelable;
				public getRemovedCount(): number;
				public setCurrentItemIndex(currentItemIndex: number): void;
				public constructor();
				public getItemCount(): number;
				public getWindowId(): number;
				public setAddedCount(addedCount: number): void;
				public setContentDescription(contentDescription: string): void;
				public setMaxScrollY(maxScrollY: number): void;
				public setScrollDeltaX(scrollDeltaX: number): void;
				public isScrollable(): boolean;
				public setScrollX(scrollX: number): void;
				public getScrollX(): number;
				public setFromIndex(fromIndex: number): void;
				public setScrollable(scrollable: boolean): void;
				public toString(): string;
				public getText(): java.util.List<string>;
				public getBeforeText(): string;
				public getSource(): android.view.accessibility.AccessibilityNodeInfo;
				public setParcelableData(parcelableData: android.os.Parcelable): void;
				public setToIndex(toIndex: number): void;
				/** @deprecated */
				public static obtain(): android.view.accessibility.AccessibilityRecord;
				public isChecked(): boolean;
				public setEnabled(isEnabled: boolean): void;
				public getSource(prefetchingStrategy: number): android.view.accessibility.AccessibilityNodeInfo;
				public setSource(root: android.view.View, virtualDescendantId: number): void;
				public setPassword(isPassword: boolean): void;
				public setRemovedCount(removedCount: number): void;
				public getAddedCount(): number;
				public getToIndex(): number;
				public setScrollY(scrollY: number): void;
				/** @deprecated */
				public recycle(): void;
				public getScrollY(): number;
				public setScrollDeltaY(scrollDeltaY: number): void;
				public getCurrentItemIndex(): number;
				public isFullScreen(): boolean;
				public isPassword(): boolean;
				public constructor(record: android.view.accessibility.AccessibilityRecord);
				public getScrollDeltaY(): number;
				public getDisplayId(): number;
				public getMaxScrollX(): number;
				public setChecked(isChecked: boolean): void;
				public setClassName(className: string): void;
				public getScrollDeltaX(): number;
				public setSource(source: android.view.View): void;
				public getMaxScrollY(): number;
				public isEnabled(): boolean;
				public getFromIndex(): number;
				public setFullScreen(isFullScreen: boolean): void;
				public setItemCount(itemCount: number): void;
				public setMaxScrollX(maxScrollX: number): void;
			}
		}
	}
}

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: 1;
				public getView(): android.view.View;
				public constructor(view: android.view.View, requestTypes: number);
				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: 4;
				public static TYPE_APPLICATION: 1;
				public static TYPE_INPUT_METHOD: 2;
				public static TYPE_MAGNIFICATION_OVERLAY: 6;
				public static TYPE_SPLIT_SCREEN_DIVIDER: 5;
				public static TYPE_SYSTEM: 3;
				public getTransitionTimeMillis(): number;
				public recycle(): void;
				public getRoot(prefetchingStrategy: number): android.view.accessibility.AccessibilityNodeInfo;
				public getBoundsInScreen(outBounds: android.graphics.Rect): void;
				public getType(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public getParent(): android.view.accessibility.AccessibilityWindowInfo;
				public constructor();
				public static obtain(info: android.view.accessibility.AccessibilityWindowInfo): android.view.accessibility.AccessibilityWindowInfo;
				public getRegionInScreen(outRegion: android.graphics.Region): void;
				public getLayer(): number;
				public getRoot(): android.view.accessibility.AccessibilityNodeInfo;
				public isAccessibilityFocused(): boolean;
				public isFocused(): boolean;
				public hashCode(): number;
				public static obtain(): android.view.accessibility.AccessibilityWindowInfo;
				public getChildCount(): number;
				public getDisplayId(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public toString(): string;
				public getTitle(): string;
				public isInPictureInPictureMode(): boolean;
				public getChild(index: number): android.view.accessibility.AccessibilityWindowInfo;
				public equals(obj: any): boolean;
				public constructor(info: android.view.accessibility.AccessibilityWindowInfo);
				public isActive(): boolean;
				public getLocales(): any;
				public describeContents(): number;
				public getAnchor(): android.view.accessibility.AccessibilityNodeInfo;
			}
		}
	}
}

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 isCallCaptioningEnabled(): boolean;
				public getLocale(): java.util.Locale;
				public isEnabled(): boolean;
				public isSystemAudioCaptioningEnabled(): boolean;
				public getUserStyle(): android.view.accessibility.CaptioningManager.CaptionStyle;
				public isSystemAudioCaptioningUiEnabled(): boolean;
				public removeCaptioningChangeListener(listener: android.view.accessibility.CaptioningManager.CaptioningChangeListener): void;
				public getFontScale(): number;
				public addCaptioningChangeListener(listener: android.view.accessibility.CaptioningManager.CaptioningChangeListener): void;
			}
			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: 4;
					public static EDGE_TYPE_DROP_SHADOW: 2;
					public static EDGE_TYPE_NONE: 0;
					public static EDGE_TYPE_OUTLINE: 1;
					public static EDGE_TYPE_RAISED: 3;
					public static EDGE_TYPE_UNSPECIFIED: -1;
					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(fontScale: number): void;
					public onEnabledChanged(enabled: boolean): void;
					public constructor();
					public onUserStyleChanged(userStyle: android.view.accessibility.CaptioningManager.CaptionStyle): void;
					public onLocaleChanged(locale: java.util.Locale): void;
					public onSystemAudioCaptioningUiChanged(enabled: boolean): void;
					public onSystemAudioCaptioningChanged(enabled: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(input: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(input: number): number;
				public constructor(factor: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(fromAlpha: number, toAlpha: number);
				public willChangeTransformationMatrix(): boolean;
				public willChangeBounds(): boolean;
				public applyTransformation(interpolatedTime: number, t: android.view.animation.Transformation): void;
				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: 0;
				public static INFINITE: -1;
				public static RELATIVE_TO_PARENT: 2;
				public static RELATIVE_TO_SELF: 1;
				public static RESTART: 1;
				public static REVERSE: 2;
				public static START_ON_FIRST_FRAME: -1;
				public static ZORDER_BOTTOM: -1;
				public static ZORDER_NORMAL: 0;
				public static ZORDER_TOP: 1;
				public getFillAfter(): boolean;
				public setStartOffset(startOffset: number): void;
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
				public initialize(width: number, height: number, parentWidth: number, parentHeight: number): void;
				public setDuration(durationMillis: number): void;
				public getFillBefore(): boolean;
				public setStartTime(startTimeMillis: number): void;
				public constructor();
				public getTransformation(currentTime: number, outTransformation: android.view.animation.Transformation, scale: number): boolean;
				public hasEnded(): boolean;
				public getStartOffset(): number;
				public clone(): any;
				public cancel(): void;
				public scaleCurrentDuration(scale: number): void;
				public hasStarted(): boolean;
				public setShowBackdrop(showBackdrop: boolean): void;
				public applyTransformation(interpolatedTime: number, t: android.view.animation.Transformation): void;
				/** @deprecated */
				public getDetachWallpaper(): boolean;
				public getRepeatCount(): number;
				public startNow(): void;
				public clone(): android.view.animation.Animation;
				public willChangeTransformationMatrix(): boolean;
				public setFillAfter(fillAfter: boolean): void;
				public willChangeBounds(): boolean;
				public ensureInterpolator(): void;
				public setZAdjustment(zAdjustment: number): void;
				public setInterpolator(i: android.view.animation.Interpolator): void;
				public getDuration(): number;
				public getShowBackdrop(): boolean;
				public setFillEnabled(fillEnabled: boolean): void;
				public finalize(): void;
				public setRepeatCount(repeatCount: number): void;
				public setAnimationListener(listener: android.view.animation.Animation.AnimationListener): void;
				public getStartTime(): number;
				public reset(): void;
				public getZAdjustment(): number;
				/** @deprecated */
				public getBackgroundColor(): number;
				public setInterpolator(context: android.content.Context, resID: number): void;
				public resolveSize(type: number, value: number, size: number, parentSize: number): number;
				public start(): void;
				public isInitialized(): boolean;
				public setFillBefore(fillBefore: boolean): void;
				public setBackdropColor(backdropColor: number): void;
				public setRepeatMode(repeatMode: number): void;
				public getBackdropColor(): number;
				public restrictDuration(durationMillis: number): void;
				public getRepeatMode(): number;
				public getInterpolator(): android.view.animation.Interpolator;
				public computeDurationHint(): number;
				public getTransformation(currentTime: number, outTransformation: android.view.animation.Transformation): boolean;
				/** @deprecated */
				public setBackgroundColor(bg: number): void;
				/** @deprecated */
				public setDetachWallpaper(detachWallpaper: boolean): void;
				public getScaleFactor(): 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 setStartOffset(startOffset: number): void;
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
				public getDuration(): number;
				public setDuration(durationMillis: number): void;
				public initialize(width: number, height: number, parentWidth: number, parentHeight: number): void;
				public setStartTime(startTimeMillis: number): void;
				public constructor();
				public getStartTime(): number;
				public getTransformation(currentTime: number, outTransformation: android.view.animation.Transformation, scale: number): boolean;
				public reset(): void;
				public clone(): any;
				public scaleCurrentDuration(scale: number): void;
				public setFillBefore(fillBefore: boolean): void;
				public setRepeatMode(repeatMode: number): void;
				public clone(): android.view.animation.Animation;
				public restrictDuration(durationMillis: number): void;
				public getTransformation(currentTime: number, t: android.view.animation.Transformation): boolean;
				public willChangeTransformationMatrix(): boolean;
				public getAnimations(): java.util.List<android.view.animation.Animation>;
				public computeDurationHint(): number;
				public addAnimation(a: android.view.animation.Animation): void;
				public constructor(shareInterpolator: boolean);
				public setFillAfter(fillAfter: boolean): void;
				public willChangeBounds(): boolean;
				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 loadAnimation(context: android.content.Context, id: number): android.view.animation.Animation;
				public static makeOutAnimation(c: android.content.Context, toRight: boolean): android.view.animation.Animation;
				public static loadInterpolator(context: android.content.Context, id: number): android.view.animation.Interpolator;
				public static makeInChildBottomAnimation(c: android.content.Context): android.view.animation.Animation;
				public static makeInAnimation(c: android.content.Context, fromLeft: boolean): android.view.animation.Animation;
				public static loadLayoutAnimation(context: android.content.Context, id: number): android.view.animation.LayoutAnimationController;
				public constructor();
			}
		}
	}
}

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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(t: number): number;
				public constructor(tension: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(t: number): number;
				public constructor(tension: number, extraTension: number);
				public constructor(tension: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(t: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(input: number): number;
				public constructor(cycles: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(input: number): number;
				public constructor(factor: 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: 2;
				public static DIRECTION_HORIZONTAL_MASK: 1;
				public static DIRECTION_LEFT_TO_RIGHT: 0;
				public static DIRECTION_RIGHT_TO_LEFT: 1;
				public static DIRECTION_TOP_TO_BOTTOM: 0;
				public static DIRECTION_VERTICAL_MASK: 2;
				public static PRIORITY_COLUMN: 1;
				public static PRIORITY_NONE: 0;
				public static PRIORITY_ROW: 2;
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
				public getRowDelay(): number;
				public constructor(animation: android.view.animation.Animation, columnDelay: number, rowDelay: number);
				public getDirectionPriority(): number;
				public willOverlap(): boolean;
				public getColumnDelay(): number;
				public setColumnDelay(columnDelay: number): void;
				public setRowDelay(rowDelay: number): void;
				public getDelayForView(view: android.view.View): number;
				public constructor(animation: android.view.animation.Animation, delay: number);
				public getDirection(): number;
				public constructor(animation: android.view.animation.Animation);
				public setDirection(direction: number): void;
				public setDirectionPriority(directionPriority: number): void;
			}
			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: 0;
				public static ORDER_RANDOM: 2;
				public static ORDER_REVERSE: 1;
				public mAnimation: android.view.animation.Animation;
				public mInterpolator: android.view.animation.Interpolator;
				public mRandomizer: java.util.Random;
				public setAnimation(context: android.content.Context, resourceID: number): void;
				public setInterpolator(interpolator: android.view.animation.Interpolator): void;
				public setInterpolator(context: android.content.Context, resourceID: number): void;
				public getAnimationForView(view: android.view.View): android.view.animation.Animation;
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
				public getAnimation(): android.view.animation.Animation;
				public setOrder(order: number): void;
				public getInterpolator(): android.view.animation.Interpolator;
				public willOverlap(): boolean;
				public getDelayForView(view: android.view.View): number;
				public getDelay(): number;
				public constructor(animation: android.view.animation.Animation, delay: number);
				public isDone(): boolean;
				public setDelay(delay: number): void;
				public constructor(animation: android.view.animation.Animation);
				public start(): void;
				public setAnimation(animation: android.view.animation.Animation): void;
				public getTransformedIndex(params: android.view.animation.LayoutAnimationController.AnimationParameters): number;
				public getOrder(): number;
			}
			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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(input: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(t: number): number;
				public constructor(tension: 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(controlX1: number, controlY1: number, controlX2: number, controlY2: number);
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
				public getInterpolation(t: number): number;
				public constructor(path: android.graphics.Path);
				public constructor(controlX: number, controlY: 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(fromDegrees: number, toDegrees: number);
				public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
				public initialize(width: number, height: number, parentWidth: number, parentHeight: number): void;
				public constructor(fromDegrees: number, toDegrees: number, pivotXType: number, pivotXValue: number, pivotYType: number, pivotYValue: number);
				public applyTransformation(interpolatedTime: number, t: android.view.animation.Transformation): void;
				public constructor(fromDegrees: number, toDegrees: number, pivotX: number, pivotY: 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(fromX: number, toX: number, fromY: number, toY: number, pivotX: number, pivotY: number);
				public initialize(width: number, height: number, parentWidth: number, parentHeight: number): void;
				public constructor(fromX: number, toX: number, fromY: number, toY: number, pivotXType: number, pivotXValue: number, pivotYType: number, pivotYValue: number);
				public applyTransformation(interpolatedTime: number, t: android.view.animation.Transformation): void;
				public constructor(fromX: number, toX: number, fromY: number, toY: 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: 1;
				public static TYPE_BOTH: 3;
				public static TYPE_IDENTITY: 0;
				public static TYPE_MATRIX: 2;
				public mAlpha: number;
				public mMatrix: android.graphics.Matrix;
				public mTransformationType: number;
				public getMatrix(): android.graphics.Matrix;
				public set(t: android.view.animation.Transformation): void;
				public clear(): void;
				public setTransformationType(transformationType: number): void;
				public compose(t: android.view.animation.Transformation): void;
				public getAlpha(): number;
				public toString(): string;
				public getTransformationType(): number;
				public setAlpha(alpha: number): 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(context: android.content.Context, attrs: android.util.AttributeSet);
				public initialize(width: number, height: number, parentWidth: number, parentHeight: number): void;
				public constructor(fromXDelta: number, toXDelta: number, fromYDelta: number, toYDelta: number);
				public constructor(fromXType: number, fromXValue: number, toXType: number, toXValue: number, fromYType: number, fromYValue: number, toYType: number, toYValue: number);
				public applyTransformation(interpolatedTime: number, t: 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 equals(obj: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public toString(): string;
				public static create(host: android.view.View, virtualId: number): android.view.autofill.AutofillId;
			}
		}
	}
}

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: "android.view.autofill.extra.ASSIST_STRUCTURE";
				public static EXTRA_AUTHENTICATION_RESULT: "android.view.autofill.extra.AUTHENTICATION_RESULT";
				public static EXTRA_AUTHENTICATION_RESULT_EPHEMERAL_DATASET: "android.view.autofill.extra.AUTHENTICATION_RESULT_EPHEMERAL_DATASET";
				public static EXTRA_CLIENT_STATE: "android.view.autofill.extra.CLIENT_STATE";
				public static EXTRA_INLINE_SUGGESTIONS_REQUEST: "android.view.autofill.extra.INLINE_SUGGESTIONS_REQUEST";
				public notifyViewVisibilityChanged(view: android.view.View, isVisible: boolean): void;
				public getAvailableFieldClassificationAlgorithms(): java.util.List<string>;
				public requestAutofill(view: android.view.View, virtualId: number, absBounds: android.graphics.Rect): void;
				public isAutofillSupported(): boolean;
				public showAutofillDialog(view: android.view.View): boolean;
				public notifyViewExited(view: android.view.View, virtualId: number): void;
				public notifyViewEntered(view: android.view.View): void;
				public setUserData(userData: android.service.autofill.UserData): void;
				public getUserData(): android.service.autofill.UserData;
				public isFieldClassificationEnabled(): boolean;
				public cancel(): void;
				public hasEnabledAutofillServices(): boolean;
				public getDefaultFieldClassificationAlgorithm(): string;
				public notifyViewVisibilityChanged(view: android.view.View, virtualId: number, isVisible: boolean): void;
				public registerCallback(callback: android.view.autofill.AutofillManager.AutofillCallback): void;
				public notifyViewExited(view: android.view.View): void;
				public notifyViewEntered(view: android.view.View, virtualId: number, absBounds: android.graphics.Rect): void;
				public commit(): void;
				public requestAutofill(view: android.view.View): void;
				public getNextAutofillId(): android.view.autofill.AutofillId;
				public notifyValueChanged(view: android.view.View, virtualId: number, value: android.view.autofill.AutofillValue): void;
				public disableAutofillServices(): void;
				public isEnabled(): boolean;
				public notifyViewClicked(view: android.view.View, virtualId: number): void;
				public getUserDataId(): string;
				public notifyViewClicked(view: android.view.View): void;
				public getAutofillServiceComponentName(): android.content.ComponentName;
				public showAutofillDialog(view: android.view.View, virtualId: number): boolean;
				public notifyValueChanged(view: android.view.View): void;
				public unregisterCallback(callback: android.view.autofill.AutofillManager.AutofillCallback): void;
				public notifyVirtualViewsReady(view: android.view.View, infos: android.util.SparseArray<android.view.autofill.VirtualViewFillInfo>): void;
			}
			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: 2;
					public static EVENT_INPUT_SHOWN: 1;
					public static EVENT_INPUT_UNAVAILABLE: 3;
					public onAutofillEvent(view: android.view.View, virtualId: number, event: number): void;
					public constructor();
					public onAutofillEvent(view: android.view.View, event: 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 forToggle(value: boolean): android.view.autofill.AutofillValue;
				public static forDate(value: number): android.view.autofill.AutofillValue;
				public getTextValue(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public isDate(): boolean;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public toString(): string;
				public static forList(value: number): android.view.autofill.AutofillValue;
				public static forText(value: string): android.view.autofill.AutofillValue;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public isToggle(): boolean;
				public describeContents(): number;
				public isText(): boolean;
				public getToggleValue(): boolean;
				public getListValue(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module autofill {
			export class VirtualViewFillInfo extends java.lang.Object {
				public static class: java.lang.Class<android.view.autofill.VirtualViewFillInfo>;
				public getAutofillHints(): androidNative.Array<string>;
			}
			export module VirtualViewFillInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.autofill.VirtualViewFillInfo.Builder>;
					public constructor();
					public setAutofillHints(value: androidNative.Array<string>): android.view.autofill.VirtualViewFillInfo.Builder;
					public build(): android.view.autofill.VirtualViewFillInfo;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module contentcapture {
			export class ContentCaptureCondition extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.contentcapture.ContentCaptureCondition>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureCondition>;
				public static FLAG_IS_REGEX: 2;
				public constructor(locusId: android.content.LocusId, flags: number);
				public getLocusId(): android.content.LocusId;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public getFlags(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module contentcapture {
			export class ContentCaptureContext extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.contentcapture.ContentCaptureContext>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureContext>;
				public getLocusId(): android.content.LocusId;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public static forLocusId(id: string): android.view.contentcapture.ContentCaptureContext;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public getExtras(): android.os.Bundle;
				public toString(): string;
			}
			export module ContentCaptureContext {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.contentcapture.ContentCaptureContext.Builder>;
					public build(): android.view.contentcapture.ContentCaptureContext;
					public setExtras(extras: android.os.Bundle): android.view.contentcapture.ContentCaptureContext.Builder;
					public constructor(id: android.content.LocusId);
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module contentcapture {
			export class ContentCaptureManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.contentcapture.ContentCaptureManager>;
				public static DATA_SHARE_ERROR_CONCURRENT_REQUEST: 2;
				public static DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED: 3;
				public static DATA_SHARE_ERROR_UNKNOWN: 1;
				public shareData(request: android.view.contentcapture.DataShareRequest, executor: java.util.concurrent.Executor, dataShareWriteAdapter: android.view.contentcapture.DataShareWriteAdapter): void;
				public getServiceComponentName(): android.content.ComponentName;
				public isContentCaptureEnabled(): boolean;
				public getContentCaptureConditions(): java.util.Set<android.view.contentcapture.ContentCaptureCondition>;
				public setContentCaptureEnabled(enabled: boolean): void;
				public removeData(request: android.view.contentcapture.DataRemovalRequest): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module contentcapture {
			export abstract class ContentCaptureSession extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.view.contentcapture.ContentCaptureSession>;
				public close(): void;
				public getContentCaptureContext(): android.view.contentcapture.ContentCaptureContext;
				public createContentCaptureSession(context: android.view.contentcapture.ContentCaptureContext): android.view.contentcapture.ContentCaptureSession;
				public notifyViewAppeared(node: any): void;
				public notifySessionResumed(): void;
				public notifyViewsAppeared(appearedNodes: java.util.List<any>): void;
				public notifySessionPaused(): void;
				public toString(): string;
				public notifyViewsDisappeared(hostId: android.view.autofill.AutofillId, virtualIds: androidNative.Array<number>): void;
				public newVirtualViewStructure(parentId: android.view.autofill.AutofillId, virtualId: number): any;
				public destroy(): void;
				public newViewStructure(view: android.view.View): any;
				public setContentCaptureContext(context: android.view.contentcapture.ContentCaptureContext): void;
				public getContentCaptureSessionId(): android.view.contentcapture.ContentCaptureSessionId;
				public notifyViewInsetsChanged(viewInsets: android.graphics.Insets): void;
				public notifyViewTextChanged(id: android.view.autofill.AutofillId, text: string): void;
				public newAutofillId(hostId: android.view.autofill.AutofillId, virtualChildId: number): android.view.autofill.AutofillId;
				public notifyViewDisappeared(id: android.view.autofill.AutofillId): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module contentcapture {
			export class ContentCaptureSessionId extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.contentcapture.ContentCaptureSessionId>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureSessionId>;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module contentcapture {
			export class DataRemovalRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.contentcapture.DataRemovalRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.contentcapture.DataRemovalRequest>;
				public static FLAG_IS_PREFIX: 1;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public describeContents(): number;
				public writeToParcel(parcel: android.os.Parcel, flags: number): void;
				public isForEverything(): boolean;
				public getLocusIdRequests(): java.util.List<android.view.contentcapture.DataRemovalRequest.LocusIdRequest>;
			}
			export module DataRemovalRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.contentcapture.DataRemovalRequest.Builder>;
					public addLocusId(locusId: android.content.LocusId, flags: number): android.view.contentcapture.DataRemovalRequest.Builder;
					public forEverything(): android.view.contentcapture.DataRemovalRequest.Builder;
					public constructor();
					public build(): android.view.contentcapture.DataRemovalRequest;
				}
				export class LocusIdRequest extends java.lang.Object {
					public static class: java.lang.Class<android.view.contentcapture.DataRemovalRequest.LocusIdRequest>;
					public getLocusId(): android.content.LocusId;
					public getFlags(): number;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module contentcapture {
			export class DataShareRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.contentcapture.DataShareRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.contentcapture.DataShareRequest>;
				public getLocusId(): android.content.LocusId;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getMimeType(): string;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public constructor(locusId: android.content.LocusId, mimeType: string);
			}
		}
	}
}

declare module android {
	export module view {
		export module contentcapture {
			export class DataShareWriteAdapter extends java.lang.Object {
				public static class: java.lang.Class<android.view.contentcapture.DataShareWriteAdapter>;
				/**
				 * Constructs a new instance of the android.view.contentcapture.DataShareWriteAdapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onWrite(param0: android.os.ParcelFileDescriptor): void;
					onRejected(): void;
					onError(errorCode: number): void;
				});
				public constructor();
				public onWrite(param0: android.os.ParcelFileDescriptor): void;
				public onRejected(): void;
				public onError(errorCode: number): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module displayhash {
			export class DisplayHash extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.displayhash.DisplayHash>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.displayhash.DisplayHash>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module displayhash {
			export class DisplayHashManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.displayhash.DisplayHashManager>;
				public verifyDisplayHash(displayHash: android.view.displayhash.DisplayHash): android.view.displayhash.VerifiedDisplayHash;
				public getSupportedHashAlgorithms(): java.util.Set<string>;
			}
		}
	}
}

declare module android {
	export module view {
		export module displayhash {
			export class DisplayHashResultCallback extends java.lang.Object {
				public static class: java.lang.Class<android.view.displayhash.DisplayHashResultCallback>;
				/**
				 * Constructs a new instance of the android.view.displayhash.DisplayHashResultCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDisplayHashResult(param0: android.view.displayhash.DisplayHash): void;
					onDisplayHashError(param0: number): void;
				});
				public constructor();
				public static DISPLAY_HASH_ERROR_MISSING_WINDOW: -3;
				public static DISPLAY_HASH_ERROR_INVALID_BOUNDS: -2;
				public static DISPLAY_HASH_ERROR_TOO_MANY_REQUESTS: -6;
				public static DISPLAY_HASH_ERROR_UNKNOWN: -1;
				public static DISPLAY_HASH_ERROR_INVALID_HASH_ALGORITHM: -5;
				public static DISPLAY_HASH_ERROR_NOT_VISIBLE_ON_SCREEN: -4;
				public onDisplayHashError(param0: number): void;
				public onDisplayHashResult(param0: android.view.displayhash.DisplayHash): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module displayhash {
			export class VerifiedDisplayHash extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.displayhash.VerifiedDisplayHash>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.displayhash.VerifiedDisplayHash>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getHashAlgorithm(): string;
				public describeContents(): number;
				public getImageHash(): androidNative.Array<number>;
				public toString(): string;
				public getBoundsInWindow(): android.graphics.Rect;
				public constructor(timeMillis: number, boundsInWindow: android.graphics.Rect, hashAlgorithm: string, imageHash: androidNative.Array<number>);
				public getTimeMillis(): 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 performPrivateCommand(param0: string, param1: android.os.Bundle): boolean;
				public constructor(targetView: android.view.View, fullEditor: boolean);
				public performPrivateCommand(action: string, data: android.os.Bundle): boolean;
				public takeSnapshot(): android.view.inputmethod.TextSnapshot;
				public previewHandwritingGesture(gesture: android.view.inputmethod.PreviewableHandwritingGesture, cancellationSignal: android.os.CancellationSignal): boolean;
				public commitCorrection(correctionInfo: android.view.inputmethod.CorrectionInfo): boolean;
				public deleteSurroundingText(param0: number, param1: number): boolean;
				public getTextAfterCursor(param0: number, param1: number): string;
				public commitText(param0: string, param1: number): boolean;
				public performEditorAction(param0: number): boolean;
				public setSelection(start: number, end: number): boolean;
				public commitCorrection(param0: android.view.inputmethod.CorrectionInfo): boolean;
				public getCursorCapsMode(param0: number): number;
				public beginBatchEdit(): boolean;
				public deleteSurroundingText(beforeLength: number, afterLength: number): boolean;
				public setSelection(param0: number, param1: number): boolean;
				public sendKeyEvent(param0: android.view.KeyEvent): boolean;
				public getSelectedText(flags: number): string;
				public requestCursorUpdates(cursorUpdateMode: number): boolean;
				public static removeComposingSpans(text: android.text.Spannable): void;
				public commitText(text: string, newCursorPosition: number): boolean;
				public getTextBeforeCursor(param0: number, param1: number): string;
				public getTextBeforeCursor(length: number, flags: number): string;
				public performContextMenuAction(id: number): boolean;
				public finishComposingText(): boolean;
				public deleteSurroundingTextInCodePoints(param0: number, param1: number): boolean;
				public getExtractedText(request: android.view.inputmethod.ExtractedTextRequest, flags: number): android.view.inputmethod.ExtractedText;
				public performEditorAction(actionCode: number): boolean;
				public commitContent(inputContentInfo: android.view.inputmethod.InputContentInfo, flags: number, opts: android.os.Bundle): boolean;
				public getTextAfterCursor(length: number, flags: number): string;
				public performHandwritingGesture(gesture: android.view.inputmethod.HandwritingGesture, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
				public getCursorCapsMode(reqModes: number): number;
				public endBatchEdit(): boolean;
				public static getComposingSpanEnd(text: android.text.Spannable): number;
				public setComposingRegion(param0: number, param1: number): boolean;
				public setComposingText(text: string, newCursorPosition: number): boolean;
				public reportFullscreenMode(enabled: boolean): boolean;
				public setComposingText(param0: string, param1: number): boolean;
				public setComposingText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public requestCursorUpdates(param0: number): boolean;
				public reportFullscreenMode(param0: boolean): boolean;
				public getHandler(): android.os.Handler;
				public commitText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public clearMetaKeyStates(states: number): boolean;
				public deleteSurroundingTextInCodePoints(beforeLength: number, afterLength: number): boolean;
				public clearMetaKeyStates(param0: number): boolean;
				public performSpellCheck(): boolean;
				public commitCompletion(param0: android.view.inputmethod.CompletionInfo): boolean;
				public getSelectedText(param0: number): string;
				public getExtractedText(param0: android.view.inputmethod.ExtractedTextRequest, param1: number): android.view.inputmethod.ExtractedText;
				public static getComposingSpanStart(text: android.text.Spannable): number;
				public getEditable(): android.text.Editable;
				public setImeConsumesInput(imeConsumesInput: boolean): boolean;
				public commitContent(param0: android.view.inputmethod.InputContentInfo, param1: number, param2: android.os.Bundle): boolean;
				public static setComposingSpans(text: android.text.Spannable): void;
				public replaceText(start: number, end: number, text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public setComposingRegion(start: number, end: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public commitCompletion(text: android.view.inputmethod.CompletionInfo): boolean;
				public performContextMenuAction(param0: number): boolean;
				public requestCursorUpdates(cursorUpdateMode: number, cursorUpdateFilter: number): boolean;
				public getSurroundingText(beforeLength: number, afterLength: number, flags: number): android.view.inputmethod.SurroundingText;
				public sendKeyEvent(event: android.view.KeyEvent): boolean;
				public requestTextBoundsInfo(bounds: android.graphics.RectF, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
				public closeConnection(): void;
				public setComposingRegion(start: number, end: number): 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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getLabel(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(id: number, index: number, text: string);
				public getId(): number;
				public constructor(id: number, index: number, text: string, label: string);
				public describeContents(): number;
				public getPosition(): number;
				public toString(): string;
				public getText(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class ConnectionlessHandwritingCallback extends java.lang.Object {
				public static class: java.lang.Class<android.view.inputmethod.ConnectionlessHandwritingCallback>;
				/**
				 * Constructs a new instance of the android.view.inputmethod.ConnectionlessHandwritingCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onResult(param0: string): void;
					onError(param0: number): void;
				});
				public constructor();
				public static CONNECTIONLESS_HANDWRITING_ERROR_OTHER: 2;
				public static CONNECTIONLESS_HANDWRITING_ERROR_NO_TEXT_RECOGNIZED: 0;
				public static CONNECTIONLESS_HANDWRITING_ERROR_UNSUPPORTED: 1;
				public onResult(param0: string): void;
				public onError(param0: number): void;
			}
		}
	}
}

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(dest: android.os.Parcel, flags: number): void;
				public constructor(offset: number, oldText: string, newText: string);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getOldText(): string;
				public toString(): 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: 2;
				public static FLAG_HAS_VISIBLE_REGION: 1;
				public static FLAG_IS_RTL: 4;
				public getInsertionMarkerBaseline(): number;
				public getTextAppearanceInfo(): android.view.inputmethod.TextAppearanceInfo;
				public getMatrix(): android.graphics.Matrix;
				public getInsertionMarkerHorizontal(): number;
				public getEditorBoundsInfo(): android.view.inputmethod.EditorBoundsInfo;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getSelectionEnd(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getComposingText(): string;
				public toString(): string;
				public constructor(source: android.os.Parcel);
				public getSelectionStart(): number;
				public getComposingTextStart(): number;
				public getVisibleLineBounds(): java.util.List<android.graphics.RectF>;
				public equals(obj: any): boolean;
				public getCharacterBounds(index: number): android.graphics.RectF;
				public hashCode(): number;
				public describeContents(): number;
				public getInsertionMarkerTop(): number;
				public getCharacterBoundsFlags(index: number): 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 setMatrix(matrix: android.graphics.Matrix): android.view.inputmethod.CursorAnchorInfo.Builder;
					public build(): android.view.inputmethod.CursorAnchorInfo;
					public reset(): void;
					public addVisibleLineBounds(left: number, top: number, right: number, bottom: number): android.view.inputmethod.CursorAnchorInfo.Builder;
					public constructor();
					public addCharacterBounds(index: number, left: number, top: number, right: number, bottom: number, flags: number): android.view.inputmethod.CursorAnchorInfo.Builder;
					public setEditorBoundsInfo(bounds: android.view.inputmethod.EditorBoundsInfo): android.view.inputmethod.CursorAnchorInfo.Builder;
					public clearVisibleLineBounds(): android.view.inputmethod.CursorAnchorInfo.Builder;
					public setSelectionRange(newStart: number, newEnd: number): android.view.inputmethod.CursorAnchorInfo.Builder;
					public setInsertionMarkerLocation(horizontalPosition: number, lineTop: number, lineBaseline: number, lineBottom: number, flags: number): android.view.inputmethod.CursorAnchorInfo.Builder;
					public setComposingText(composingTextStart: number, composingText: string): android.view.inputmethod.CursorAnchorInfo.Builder;
					public setTextAppearanceInfo(textAppearanceInfo: android.view.inputmethod.TextAppearanceInfo): android.view.inputmethod.CursorAnchorInfo.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class DeleteGesture extends android.view.inputmethod.PreviewableHandwritingGesture implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.DeleteGesture>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.DeleteGesture>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getGranularity(): number;
				public getDeletionArea(): android.graphics.RectF;
			}
			export module DeleteGesture {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.DeleteGesture.Builder>;
					public setDeletionArea(area: android.graphics.RectF): android.view.inputmethod.DeleteGesture.Builder;
					public build(): android.view.inputmethod.DeleteGesture;
					public constructor();
					public setGranularity(granularity: number): android.view.inputmethod.DeleteGesture.Builder;
					public setFallbackText(fallbackText: string): android.view.inputmethod.DeleteGesture.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class DeleteRangeGesture extends android.view.inputmethod.PreviewableHandwritingGesture implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.DeleteRangeGesture>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.DeleteRangeGesture>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDeletionStartArea(): android.graphics.RectF;
				public getDeletionEndArea(): android.graphics.RectF;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getGranularity(): number;
			}
			export module DeleteRangeGesture {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.DeleteRangeGesture.Builder>;
					public setDeletionEndArea(endArea: android.graphics.RectF): android.view.inputmethod.DeleteRangeGesture.Builder;
					public constructor();
					public setGranularity(granularity: number): android.view.inputmethod.DeleteRangeGesture.Builder;
					public setFallbackText(fallbackText: string): android.view.inputmethod.DeleteRangeGesture.Builder;
					public build(): android.view.inputmethod.DeleteRangeGesture;
					public setDeletionStartArea(startArea: android.graphics.RectF): android.view.inputmethod.DeleteRangeGesture.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class EditorBoundsInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.EditorBoundsInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.EditorBoundsInfo>;
				public equals(obj: any): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getEditorBounds(): android.graphics.RectF;
				public getHandwritingBounds(): android.graphics.RectF;
				public toString(): string;
			}
			export module EditorBoundsInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.EditorBoundsInfo.Builder>;
					public constructor();
					public setEditorBounds(bounds: android.graphics.RectF): android.view.inputmethod.EditorBoundsInfo.Builder;
					public build(): android.view.inputmethod.EditorBoundsInfo;
					public setHandwritingBounds(bounds: android.graphics.RectF): android.view.inputmethod.EditorBoundsInfo.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: 6;
				public static IME_ACTION_GO: 2;
				public static IME_ACTION_NEXT: 5;
				public static IME_ACTION_NONE: 1;
				public static IME_ACTION_PREVIOUS: 7;
				public static IME_ACTION_SEARCH: 3;
				public static IME_ACTION_SEND: 4;
				public static IME_ACTION_UNSPECIFIED: 0;
				public static IME_FLAG_FORCE_ASCII: -2147483648;
				public static IME_FLAG_NAVIGATE_NEXT: 134217728;
				public static IME_FLAG_NAVIGATE_PREVIOUS: 67108864;
				public static IME_FLAG_NO_ACCESSORY_ACTION: 536870912;
				public static IME_FLAG_NO_ENTER_ACTION: 1073741824;
				public static IME_FLAG_NO_EXTRACT_UI: 268435456;
				public static IME_FLAG_NO_FULLSCREEN: 33554432;
				public static IME_FLAG_NO_PERSONALIZED_LEARNING: 16777216;
				public static IME_MASK_ACTION: 255;
				public static IME_NULL: 0;
				public actionId: number;
				public actionLabel: string;
				public contentMimeTypes: androidNative.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 setInitialSurroundingSubText(subText: string, subTextStart: number): void;
				public getInitialTextAfterCursor(length: number, flags: number): string;
				public getInitialToolType(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getSupportedHandwritingGestures(): java.util.List<java.lang.Class<any>>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getInitialSurroundingText(beforeLength: number, afterLength: number, flags: number): android.view.inputmethod.SurroundingText;
				public setInitialSurroundingText(sourceText: string): void;
				public constructor();
				public setStylusHandwritingEnabled(enabled: boolean): void;
				public setInitialToolType(toolType: number): void;
				public setSupportedHandwritingGestures(gestures: java.util.List<java.lang.Class<any>>): void;
				public dump(pw: android.util.Printer, prefix: string): void;
				public setSupportedHandwritingGesturePreviews(gestures: java.util.Set<java.lang.Class<any>>): void;
				public getInitialTextBeforeCursor(length: number, flags: number): string;
				public makeCompatible(targetSdkVersion: number): void;
				public isStylusHandwritingEnabled(): boolean;
				public describeContents(): number;
				public getInitialSelectedText(flags: number): string;
				public getSupportedHandwritingGesturePreviews(): java.util.Set<java.lang.Class<any>>;
			}
		}
	}
}

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: 2;
				public static FLAG_SINGLE_LINE: 1;
				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(dest: android.os.Parcel, flags: number): void;
				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(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export abstract class HandwritingGesture extends java.lang.Object {
				public static class: java.lang.Class<android.view.inputmethod.HandwritingGesture>;
				public static GRANULARITY_CHARACTER: 2;
				public static GRANULARITY_WORD: 1;
				public getFallbackText(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InlineSuggestion extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InlineSuggestion>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestion>;
				public getInfo(): android.view.inputmethod.InlineSuggestionInfo;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public inflate(context: android.content.Context, size: any, callbackExecutor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InlineSuggestionInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InlineSuggestionInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionInfo>;
				public static SOURCE_AUTOFILL: "android:autofill";
				public static SOURCE_PLATFORM: "android:platform";
				public static TYPE_ACTION: "android:autofill:action";
				public static TYPE_SUGGESTION: "android:autofill:suggestion";
				public getType(): string;
				public getInlinePresentationSpec(): android.widget.inline.InlinePresentationSpec;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getAutofillHints(): androidNative.Array<string>;
				public getSource(): string;
				public equals(o: any): boolean;
				public toString(): string;
				public isPinned(): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InlineSuggestionsRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InlineSuggestionsRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionsRequest>;
				public static SUGGESTION_COUNT_UNLIMITED: 2147483647;
				public getHostPackageName(): string;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getMaxSuggestionCount(): number;
				public describeContents(): number;
				public getExtras(): android.os.Bundle;
				public getInlineTooltipPresentationSpec(): android.widget.inline.InlinePresentationSpec;
				public equals(o: any): boolean;
				public getSupportedLocales(): any;
				public toString(): string;
				public getInlinePresentationSpecs(): java.util.List<android.widget.inline.InlinePresentationSpec>;
			}
			export module InlineSuggestionsRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.InlineSuggestionsRequest.Builder>;
					public setInlinePresentationSpecs(value: java.util.List<android.widget.inline.InlinePresentationSpec>): android.view.inputmethod.InlineSuggestionsRequest.Builder;
					public addInlinePresentationSpecs(value: android.widget.inline.InlinePresentationSpec): android.view.inputmethod.InlineSuggestionsRequest.Builder;
					public setMaxSuggestionCount(value: number): android.view.inputmethod.InlineSuggestionsRequest.Builder;
					public setSupportedLocales(value: any): android.view.inputmethod.InlineSuggestionsRequest.Builder;
					public constructor(inlinePresentationSpecs: java.util.List<android.widget.inline.InlinePresentationSpec>);
					public setExtras(value: android.os.Bundle): android.view.inputmethod.InlineSuggestionsRequest.Builder;
					public build(): android.view.inputmethod.InlineSuggestionsRequest;
					public setInlineTooltipPresentationSpec(value: android.widget.inline.InlinePresentationSpec): android.view.inputmethod.InlineSuggestionsRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InlineSuggestionsResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InlineSuggestionsResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionsResponse>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getInlineSuggestions(): java.util.List<android.view.inputmethod.InlineSuggestion>;
				public equals(o: any): boolean;
				public toString(): string;
			}
		}
	}
}

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 constructor(conn: android.view.inputmethod.InputConnection, connToken: android.os.IBinder, uid: number, pid: number);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getConnectionToken(): android.os.IBinder;
				public getUid(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPid(): number;
				public describeContents(): number;
				public constructor(conn: android.view.inputmethod.InputConnection, binding: android.view.inputmethod.InputBinding);
				public toString(): string;
				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;
					getSurroundingText(beforeLength: number, afterLength: number, flags: number): android.view.inputmethod.SurroundingText;
					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;
					setComposingText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
					setComposingRegion(param0: number, param1: number): boolean;
					setComposingRegion(start: number, end: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
					finishComposingText(): boolean;
					commitText(param0: string, param1: number): boolean;
					commitText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): 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;
					performSpellCheck(): boolean;
					performPrivateCommand(param0: string, param1: android.os.Bundle): boolean;
					performHandwritingGesture(gesture: android.view.inputmethod.HandwritingGesture, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
					previewHandwritingGesture(gesture: android.view.inputmethod.PreviewableHandwritingGesture, cancellationSignal: android.os.CancellationSignal): boolean;
					requestCursorUpdates(param0: number): boolean;
					requestCursorUpdates(cursorUpdateMode: number, cursorUpdateFilter: number): boolean;
					requestTextBoundsInfo(bounds: android.graphics.RectF, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
					getHandler(): android.os.Handler;
					closeConnection(): void;
					commitContent(param0: android.view.inputmethod.InputContentInfo, param1: number, param2: android.os.Bundle): boolean;
					setImeConsumesInput(imeConsumesInput: boolean): boolean;
					takeSnapshot(): android.view.inputmethod.TextSnapshot;
					replaceText(start: number, end: number, text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				});
				public constructor();
				public static HANDWRITING_GESTURE_RESULT_UNSUPPORTED: 2;
				public static HANDWRITING_GESTURE_RESULT_FALLBACK: 5;
				public static HANDWRITING_GESTURE_RESULT_UNKNOWN: 0;
				public static CURSOR_UPDATE_MONITOR: 2;
				public static HANDWRITING_GESTURE_RESULT_CANCELLED: 4;
				public static CURSOR_UPDATE_FILTER_INSERTION_MARKER: 16;
				public static GET_TEXT_WITH_STYLES: 1;
				public static HANDWRITING_GESTURE_RESULT_FAILED: 3;
				public static GET_EXTRACTED_TEXT_MONITOR: 1;
				public static CURSOR_UPDATE_FILTER_TEXT_APPEARANCE: 64;
				public static INPUT_CONTENT_GRANT_READ_URI_PERMISSION: 1;
				public static CURSOR_UPDATE_IMMEDIATE: 1;
				public static CURSOR_UPDATE_FILTER_EDITOR_BOUNDS: 4;
				public static CURSOR_UPDATE_FILTER_VISIBLE_LINE_BOUNDS: 32;
				public static HANDWRITING_GESTURE_RESULT_SUCCESS: 1;
				public static CURSOR_UPDATE_FILTER_CHARACTER_BOUNDS: 8;
				public getHandler(): android.os.Handler;
				public performPrivateCommand(param0: string, param1: android.os.Bundle): boolean;
				public commitText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public takeSnapshot(): android.view.inputmethod.TextSnapshot;
				public previewHandwritingGesture(gesture: android.view.inputmethod.PreviewableHandwritingGesture, cancellationSignal: android.os.CancellationSignal): boolean;
				public clearMetaKeyStates(param0: number): boolean;
				public performSpellCheck(): 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 setImeConsumesInput(imeConsumesInput: boolean): 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 setComposingRegion(start: number, end: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public replaceText(start: number, end: number, text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public performHandwritingGesture(gesture: android.view.inputmethod.HandwritingGesture, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
				public performContextMenuAction(param0: number): boolean;
				public requestCursorUpdates(cursorUpdateMode: number, cursorUpdateFilter: number): boolean;
				public getSurroundingText(beforeLength: number, afterLength: number, flags: number): android.view.inputmethod.SurroundingText;
				public endBatchEdit(): boolean;
				public setComposingRegion(param0: number, param1: number): boolean;
				public requestTextBoundsInfo(bounds: android.graphics.RectF, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
				public closeConnection(): void;
				public setComposingText(param0: string, param1: number): boolean;
				public setComposingText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): 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 performPrivateCommand(param0: string, param1: android.os.Bundle): boolean;
				public performPrivateCommand(action: string, data: android.os.Bundle): boolean;
				public takeSnapshot(): android.view.inputmethod.TextSnapshot;
				public previewHandwritingGesture(gesture: android.view.inputmethod.PreviewableHandwritingGesture, cancellationSignal: android.os.CancellationSignal): boolean;
				public commitCorrection(correctionInfo: android.view.inputmethod.CorrectionInfo): boolean;
				public deleteSurroundingText(param0: number, param1: number): boolean;
				public getTextAfterCursor(param0: number, param1: number): string;
				public commitText(param0: string, param1: number): boolean;
				public performEditorAction(param0: number): boolean;
				public setSelection(start: number, end: number): boolean;
				public commitCorrection(param0: android.view.inputmethod.CorrectionInfo): boolean;
				public getCursorCapsMode(param0: number): number;
				public deleteSurroundingText(beforeLength: number, afterLength: number): boolean;
				public beginBatchEdit(): boolean;
				public setSelection(param0: number, param1: number): boolean;
				public sendKeyEvent(param0: android.view.KeyEvent): boolean;
				public getSelectedText(flags: number): string;
				public requestCursorUpdates(cursorUpdateMode: number): boolean;
				public commitText(text: string, newCursorPosition: number): boolean;
				public getTextBeforeCursor(param0: number, param1: number): string;
				public performContextMenuAction(id: number): boolean;
				public finishComposingText(): boolean;
				public deleteSurroundingTextInCodePoints(param0: number, param1: number): boolean;
				public getTextBeforeCursor(n: number, flags: number): string;
				public getExtractedText(request: android.view.inputmethod.ExtractedTextRequest, flags: number): android.view.inputmethod.ExtractedText;
				public commitContent(inputContentInfo: android.view.inputmethod.InputContentInfo, flags: number, opts: android.os.Bundle): boolean;
				public performHandwritingGesture(gesture: android.view.inputmethod.HandwritingGesture, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
				public getCursorCapsMode(reqModes: number): number;
				public endBatchEdit(): boolean;
				public setComposingRegion(param0: number, param1: number): boolean;
				public setComposingText(text: string, newCursorPosition: number): boolean;
				public reportFullscreenMode(enabled: boolean): boolean;
				public setComposingText(param0: string, param1: number): boolean;
				public setComposingText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public requestCursorUpdates(param0: number): boolean;
				public reportFullscreenMode(param0: boolean): boolean;
				public getHandler(): android.os.Handler;
				public commitText(text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public clearMetaKeyStates(states: number): boolean;
				public deleteSurroundingTextInCodePoints(beforeLength: number, afterLength: number): boolean;
				public clearMetaKeyStates(param0: number): boolean;
				public performSpellCheck(): boolean;
				public performEditorAction(editorAction: number): boolean;
				public commitCompletion(param0: android.view.inputmethod.CompletionInfo): boolean;
				public getSelectedText(param0: number): string;
				public getExtractedText(param0: android.view.inputmethod.ExtractedTextRequest, param1: number): android.view.inputmethod.ExtractedText;
				public setImeConsumesInput(imeConsumesInput: boolean): boolean;
				public setTarget(target: android.view.inputmethod.InputConnection): void;
				public commitContent(param0: android.view.inputmethod.InputContentInfo, param1: number, param2: android.os.Bundle): boolean;
				public getTextAfterCursor(n: number, flags: number): string;
				public setComposingRegion(start: number, end: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public replaceText(start: number, end: number, text: string, newCursorPosition: number, textAttribute: android.view.inputmethod.TextAttribute): boolean;
				public commitCompletion(text: android.view.inputmethod.CompletionInfo): boolean;
				public requestCursorUpdates(cursorUpdateMode: number, cursorUpdateFilter: number): boolean;
				public performContextMenuAction(param0: number): boolean;
				public getSurroundingText(beforeLength: number, afterLength: number, flags: number): android.view.inputmethod.SurroundingText;
				public sendKeyEvent(event: android.view.KeyEvent): boolean;
				public requestTextBoundsInfo(bounds: android.graphics.RectF, executor: java.util.concurrent.Executor, consumer: any /* any*/): void;
				public closeConnection(): void;
				public setComposingRegion(start: number, end: number): boolean;
				public constructor(target: android.view.inputmethod.InputConnection, mutable: 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(contentUri: android.net.Uri, description: android.content.ClipDescription);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				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 constructor(contentUri: android.net.Uri, description: android.content.ClipDescription, linkUri: android.net.Uri);
				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 SHOW_FORCED: 2;
				public static SERVICE_META_DATA: "android.view.im";
				public static SHOW_EXPLICIT: 1;
				public static SERVICE_INTERFACE: "android.view.InputMethod";
				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 ACTION_STYLUS_HANDWRITING_SETTINGS: "android.view.inputmethod.action.STYLUS_HANDWRITING_SETTINGS";
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InputMethodInfo>;
				public getConfigChanges(): number;
				public getId(): string;
				public getSettingsActivity(): string;
				public createStylusHandwritingSettingsActivityIntent(): android.content.Intent;
				public getServiceInfo(): android.content.pm.ServiceInfo;
				public constructor(context: android.content.Context, service: android.content.pm.ResolveInfo);
				public getSubtypeCount(): number;
				public shouldShowInInputMethodPicker(): boolean;
				public hashCode(): number;
				public equals(o: any): boolean;
				public getSubtypeAt(index: number): android.view.inputmethod.InputMethodSubtype;
				public getServiceName(): string;
				public getIsDefaultResourceId(): number;
				public supportsConnectionlessStylusHandwriting(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public getComponent(): android.content.ComponentName;
				public loadLabel(pm: android.content.pm.PackageManager): string;
				public constructor(packageName: string, className: string, label: string, settingsActivity: string);
				public loadIcon(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public toString(): string;
				public suppressesSpellChecker(): boolean;
				public supportsStylusHandwriting(): boolean;
				public dump(pw: android.util.Printer, prefix: string): void;
				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 HANDWRITING_DELEGATE_FLAG_HOME_DELEGATOR_ALLOWED: 1;
				public static HIDE_IMPLICIT_ONLY: 1;
				public static HIDE_NOT_ALWAYS: 2;
				public static RESULT_HIDDEN: 3;
				public static RESULT_SHOWN: 2;
				public static RESULT_UNCHANGED_HIDDEN: 1;
				public static RESULT_UNCHANGED_SHOWN: 0;
				public static SHOW_FORCED: 2;
				public static SHOW_IMPLICIT: 1;
				/** @deprecated */
				public hideStatusIcon(imeToken: android.os.IBinder): void;
				/** @deprecated */
				public setCurrentInputMethodSubtype(subtype: android.view.inputmethod.InputMethodSubtype): boolean;
				public isFullscreenMode(): boolean;
				public getCurrentInputMethodSubtype(): android.view.inputmethod.InputMethodSubtype;
				public restartInput(view: android.view.View): void;
				public startConnectionlessStylusHandwritingForDelegation(delegatorView: android.view.View, cursorAnchorInfo: android.view.inputmethod.CursorAnchorInfo, delegatePackageName: string, callbackExecutor: java.util.concurrent.Executor, callback: android.view.inputmethod.ConnectionlessHandwritingCallback): void;
				public getInputMethodList(): java.util.List<android.view.inputmethod.InputMethodInfo>;
				/** @deprecated */
				public shouldOfferSwitchingToNextInputMethod(imeToken: android.os.IBinder): boolean;
				/** @deprecated */
				public toggleSoftInput(showFlags: number, hideFlags: number): void;
				public startStylusHandwriting(view: android.view.View): void;
				/** @deprecated */
				public showSoftInputFromInputMethod(token: android.os.IBinder, flags: number): void;
				/** @deprecated */
				public viewClicked(view: android.view.View): void;
				public getCurrentInputMethodInfo(): android.view.inputmethod.InputMethodInfo;
				public showInputMethodPicker(): void;
				public dispatchKeyEventFromInputMethod(targetView: android.view.View, event: android.view.KeyEvent): void;
				public invalidateInput(view: android.view.View): void;
				public updateCursorAnchorInfo(view: android.view.View, cursorAnchorInfo: android.view.inputmethod.CursorAnchorInfo): void;
				public startConnectionlessStylusHandwritingForDelegation(delegatorView: android.view.View, cursorAnchorInfo: android.view.inputmethod.CursorAnchorInfo, callbackExecutor: java.util.concurrent.Executor, callback: android.view.inputmethod.ConnectionlessHandwritingCallback): void;
				/** @deprecated */
				public hideSoftInputFromInputMethod(token: android.os.IBinder, flags: number): void;
				public displayCompletions(view: android.view.View, completions: androidNative.Array<android.view.inputmethod.CompletionInfo>): void;
				public getLastInputMethodSubtype(): android.view.inputmethod.InputMethodSubtype;
				/** @deprecated */
				public switchToLastInputMethod(imeToken: android.os.IBinder): boolean;
				/** @deprecated */
				public switchToNextInputMethod(imeToken: android.os.IBinder, onlyCurrentIme: boolean): boolean;
				public isActive(): boolean;
				/** @deprecated */
				public setAdditionalInputMethodSubtypes(imiId: string, subtypes: androidNative.Array<android.view.inputmethod.InputMethodSubtype>): void;
				public acceptStylusHandwritingDelegation(delegateView: android.view.View, delegatorPackageName: string, flags: number, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public updateExtractedText(view: android.view.View, token: number, text: android.view.inputmethod.ExtractedText): void;
				public acceptStylusHandwritingDelegation(delegateView: android.view.View, delegatorPackageName: string, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public isActive(view: android.view.View): boolean;
				/** @deprecated */
				public toggleSoftInputFromWindow(windowToken: android.os.IBinder, showFlags: number, hideFlags: number): void;
				public startConnectionlessStylusHandwriting(view: android.view.View, cursorAnchorInfo: android.view.inputmethod.CursorAnchorInfo, callbackExecutor: java.util.concurrent.Executor, callback: android.view.inputmethod.ConnectionlessHandwritingCallback): void;
				public showSoftInput(view: android.view.View, flags: number, resultReceiver: android.os.ResultReceiver): boolean;
				public acceptStylusHandwritingDelegation(delegateView: android.view.View, delegatorPackageName: string): boolean;
				public isAcceptingText(): boolean;
				/** @deprecated */
				public setInputMethodAndSubtype(token: android.os.IBinder, id: string, subtype: android.view.inputmethod.InputMethodSubtype): void;
				public isStylusHandwritingAvailable(): boolean;
				public isInputMethodSuppressingSpellChecker(): boolean;
				/** @deprecated */
				public setInputMethod(token: android.os.IBinder, id: string): void;
				public acceptStylusHandwritingDelegation(delegateView: android.view.View): boolean;
				public updateSelection(view: android.view.View, selStart: number, selEnd: number, candidatesStart: number, candidatesEnd: number): void;
				public getShortcutInputMethodsAndSubtypes(): java.util.Map<android.view.inputmethod.InputMethodInfo,java.util.List<android.view.inputmethod.InputMethodSubtype>>;
				public getEnabledInputMethodSubtypeList(imi: android.view.inputmethod.InputMethodInfo, allowsImplicitlyEnabledSubtypes: boolean): java.util.List<android.view.inputmethod.InputMethodSubtype>;
				public sendAppPrivateCommand(view: android.view.View, action: string, data: android.os.Bundle): void;
				public getEnabledInputMethodList(): java.util.List<android.view.inputmethod.InputMethodInfo>;
				public showSoftInput(view: android.view.View, flags: number): boolean;
				public hideSoftInputFromWindow(windowToken: android.os.IBinder, flags: number, resultReceiver: android.os.ResultReceiver): boolean;
				public isConnectionlessStylusHandwritingAvailable(): boolean;
				public hideSoftInputFromWindow(windowToken: android.os.IBinder, flags: number): boolean;
				public showInputMethodAndSubtypeEnabler(imiId: string): void;
				/** @deprecated */
				public showStatusIcon(imeToken: android.os.IBinder, packageName: string, iconId: number): void;
				public prepareStylusHandwritingDelegation(delegatorView: android.view.View): void;
				/** @deprecated */
				public isWatchingCursor(view: android.view.View): boolean;
				/** @deprecated */
				public updateCursor(view: android.view.View, left: number, top: number, right: number, bottom: number): void;
				public prepareStylusHandwritingDelegation(delegatorView: android.view.View, delegatePackageName: string): void;
				public setExplicitlyEnabledInputMethodSubtypes(imiId: string, subtypeHashCodes: androidNative.Array<number>): 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: androidNative.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 displayCompletions(param0: androidNative.Array<android.view.inputmethod.CompletionInfo>): void;
				public viewClicked(param0: boolean): void;
				public finishInput(): void;
				public updateCursor(param0: android.graphics.Rect): void;
				/** @deprecated */
				public toggleSoftInput(param0: number, param1: number): 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 dispatchGenericMotionEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): 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 getNameOverride(): string;
				public getExtraValueOf(key: string): string;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				public isAsciiCapable(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPhysicalKeyboardHintLanguageTag(): android.icu.util.ULocale;
				/** @deprecated */
				public constructor(nameId: number, iconId: number, locale: string, mode: string, extraValue: string, isAuxiliary: boolean, overridesImplicitlyEnabledSubtype: boolean, id: number);
				public getIconResId(): number;
				public getLanguageTag(): string;
				public getExtraValue(): string;
				public getPhysicalKeyboardHintLayoutType(): string;
				public overridesImplicitlyEnabledSubtype(): boolean;
				/** @deprecated */
				public constructor(nameId: number, iconId: number, locale: string, mode: string, extraValue: string, isAuxiliary: boolean, overridesImplicitlyEnabledSubtype: boolean);
				public containsExtraValueKey(key: string): boolean;
				public hashCode(): number;
				/** @deprecated */
				public getLocale(): string;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getMode(): string;
				public isAuxiliary(): boolean;
				public getDisplayName(context: android.content.Context, packageName: string, appInfo: android.content.pm.ApplicationInfo): string;
			}
			export module InputMethodSubtype {
				export class InputMethodSubtypeBuilder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder>;
					public setSubtypeNameResId(subtypeNameResId: number): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeExtraValue(subtypeExtraValue: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setIsAsciiCapable(isAsciiCapable: boolean): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeNameOverride(nameOverride: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setIsAuxiliary(isAuxiliary: boolean): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setLanguageTag(languageTag: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeMode(subtypeMode: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public build(): android.view.inputmethod.InputMethodSubtype;
					public constructor();
					public setSubtypeIconResId(subtypeIconResId: number): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeLocale(subtypeLocale: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeId(subtypeId: number): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setOverridesImplicitlyEnabledSubtype(overridesImplicitlyEnabledSubtype: boolean): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setPhysicalKeyboardHint(languageTag: android.icu.util.ULocale, layoutType: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InsertGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InsertGesture>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InsertGesture>;
				public getInsertionPoint(): android.graphics.PointF;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getTextToInsert(): string;
			}
			export module InsertGesture {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.InsertGesture.Builder>;
					public constructor();
					public setTextToInsert(text: string): android.view.inputmethod.InsertGesture.Builder;
					public setFallbackText(fallbackText: string): android.view.inputmethod.InsertGesture.Builder;
					public build(): android.view.inputmethod.InsertGesture;
					public setInsertionPoint(point: android.graphics.PointF): android.view.inputmethod.InsertGesture.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InsertModeGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InsertModeGesture>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InsertModeGesture>;
				public getCancellationSignal(): android.os.CancellationSignal;
				public getInsertionPoint(): android.graphics.PointF;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
			export module InsertModeGesture {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.InsertModeGesture.Builder>;
					public build(): android.view.inputmethod.InsertModeGesture;
					public setCancellationSignal(cancellationSignal: android.os.CancellationSignal): android.view.inputmethod.InsertModeGesture.Builder;
					public constructor();
					public setInsertionPoint(point: android.graphics.PointF): android.view.inputmethod.InsertModeGesture.Builder;
					public setFallbackText(fallbackText: string): android.view.inputmethod.InsertModeGesture.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class JoinOrSplitGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.JoinOrSplitGesture>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.JoinOrSplitGesture>;
				public getJoinOrSplitPoint(): android.graphics.PointF;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
			}
			export module JoinOrSplitGesture {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.JoinOrSplitGesture.Builder>;
					public setFallbackText(fallbackText: string): android.view.inputmethod.JoinOrSplitGesture.Builder;
					public constructor();
					public setJoinOrSplitPoint(point: android.graphics.PointF): android.view.inputmethod.JoinOrSplitGesture.Builder;
					public build(): android.view.inputmethod.JoinOrSplitGesture;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export abstract class PreviewableHandwritingGesture extends android.view.inputmethod.HandwritingGesture {
				public static class: java.lang.Class<android.view.inputmethod.PreviewableHandwritingGesture>;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class RemoveSpaceGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.RemoveSpaceGesture>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.RemoveSpaceGesture>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getStartPoint(): android.graphics.PointF;
				public equals(o: any): boolean;
				public getEndPoint(): android.graphics.PointF;
			}
			export module RemoveSpaceGesture {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.RemoveSpaceGesture.Builder>;
					public setFallbackText(fallbackText: string): android.view.inputmethod.RemoveSpaceGesture.Builder;
					public constructor();
					public setPoints(startPoint: android.graphics.PointF, endPoint: android.graphics.PointF): android.view.inputmethod.RemoveSpaceGesture.Builder;
					public build(): android.view.inputmethod.RemoveSpaceGesture;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class SelectGesture extends android.view.inputmethod.PreviewableHandwritingGesture implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.SelectGesture>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.SelectGesture>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSelectionArea(): android.graphics.RectF;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getGranularity(): number;
			}
			export module SelectGesture {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.SelectGesture.Builder>;
					public setGranularity(granularity: number): android.view.inputmethod.SelectGesture.Builder;
					public setFallbackText(fallbackText: string): android.view.inputmethod.SelectGesture.Builder;
					public constructor();
					public build(): android.view.inputmethod.SelectGesture;
					public setSelectionArea(area: android.graphics.RectF): android.view.inputmethod.SelectGesture.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class SelectRangeGesture extends android.view.inputmethod.PreviewableHandwritingGesture implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.SelectRangeGesture>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.SelectRangeGesture>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getSelectionStartArea(): android.graphics.RectF;
				public getSelectionEndArea(): android.graphics.RectF;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getGranularity(): number;
			}
			export module SelectRangeGesture {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.SelectRangeGesture.Builder>;
					public setGranularity(granularity: number): android.view.inputmethod.SelectRangeGesture.Builder;
					public setSelectionEndArea(endArea: android.graphics.RectF): android.view.inputmethod.SelectRangeGesture.Builder;
					public constructor();
					public build(): android.view.inputmethod.SelectRangeGesture;
					public setSelectionStartArea(startArea: android.graphics.RectF): android.view.inputmethod.SelectRangeGesture.Builder;
					public setFallbackText(fallbackText: string): android.view.inputmethod.SelectRangeGesture.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class SurroundingText extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.SurroundingText>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.SurroundingText>;
				public getOffset(): number;
				public constructor(text: string, selectionStart: number, selectionEnd: number, offset: number);
				public getSelectionEnd(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public writeToParcel(out: android.os.Parcel, flags: number): void;
				public getSelectionStart(): number;
				public getText(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class TextAppearanceInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.TextAppearanceInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.TextAppearanceInfo>;
				public getLinkTextColor(): number;
				public getTextSize(): number;
				public getTextColor(): number;
				public hashCode(): number;
				public getFontFeatureSettings(): string;
				public getLetterSpacing(): number;
				public equals(o: any): boolean;
				public isFallbackLineSpacing(): boolean;
				public getTextFontWeight(): number;
				public getFontVariationSettings(): string;
				public getHintTextColor(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTextStyle(): number;
				public getLineBreakStyle(): number;
				public getSystemFontFamilyName(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getHighlightTextColor(): number;
				public toString(): string;
				public getShadowColor(): number;
				public getShadowDy(): number;
				public getShadowRadius(): number;
				public getLineBreakWordStyle(): number;
				public getTextScaleX(): number;
				public describeContents(): number;
				public isElegantTextHeight(): boolean;
				public getTextLocales(): any;
				public isAllCaps(): boolean;
				public getShadowDx(): number;
			}
			export module TextAppearanceInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.TextAppearanceInfo.Builder>;
					public setTextSize(textSize: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setTextLocales(textLocales: any): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setTextFontWeight(textFontWeight: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setTextScaleX(textScaleX: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setTextColor(textColor: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setShadowDy(shadowDy: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public build(): android.view.inputmethod.TextAppearanceInfo;
					public setLineBreakWordStyle(lineBreakWordStyle: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setShadowRadius(shadowRadius: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setShadowColor(shadowColor: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setFallbackLineSpacing(fallbackLineSpacing: boolean): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setLetterSpacing(letterSpacing: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setHighlightTextColor(highlightTextColor: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setTextStyle(textStyle: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setShadowDx(shadowDx: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setFontVariationSettings(fontVariationSettings: string): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setSystemFontFamilyName(systemFontFamilyName: string): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setAllCaps(allCaps: boolean): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setLineBreakStyle(lineBreakStyle: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public constructor();
					public setElegantTextHeight(elegantTextHeight: boolean): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setLinkTextColor(linkTextColor: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setHintTextColor(hintTextColor: number): android.view.inputmethod.TextAppearanceInfo.Builder;
					public setFontFeatureSettings(fontFeatureSettings: string): android.view.inputmethod.TextAppearanceInfo.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class TextAttribute extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.TextAttribute>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.TextAttribute>;
				public getTextConversionSuggestions(): java.util.List<string>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getExtras(): any;
				public describeContents(): number;
			}
			export module TextAttribute {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.TextAttribute.Builder>;
					public setExtras(extras: any): android.view.inputmethod.TextAttribute.Builder;
					public build(): android.view.inputmethod.TextAttribute;
					public constructor();
					public setTextConversionSuggestions(textConversionSuggestions: java.util.List<string>): android.view.inputmethod.TextAttribute.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class TextBoundsInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.TextBoundsInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.TextBoundsInfo>;
				public static FLAG_CHARACTER_LINEFEED: 2;
				public static FLAG_CHARACTER_PUNCTUATION: 4;
				public static FLAG_CHARACTER_WHITESPACE: 1;
				public static FLAG_LINE_IS_RTL: 8;
				public getLineSegmentFinder(): android.text.SegmentFinder;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getGraphemeSegmentFinder(): android.text.SegmentFinder;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getCharacterBidiLevel(index: number): number;
				public getRangeForRect(area: android.graphics.RectF, segmentFinder: android.text.SegmentFinder, inclusionStrategy: android.text.Layout.TextInclusionStrategy): androidNative.Array<number>;
				public getStartIndex(): number;
				public getWordSegmentFinder(): android.text.SegmentFinder;
				public getCharacterBounds(index: number, bounds: android.graphics.RectF): void;
				public describeContents(): number;
				public getEndIndex(): number;
				public getOffsetForPosition(x: number, y: number): number;
				public getMatrix(matrix: android.graphics.Matrix): void;
				public getCharacterFlags(index: number): number;
			}
			export module TextBoundsInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.TextBoundsInfo.Builder>;
					public setLineSegmentFinder(lineSegmentFinder: android.text.SegmentFinder): android.view.inputmethod.TextBoundsInfo.Builder;
					public setStartAndEnd(start: number, end: number): android.view.inputmethod.TextBoundsInfo.Builder;
					public setCharacterFlags(characterFlags: androidNative.Array<number>): android.view.inputmethod.TextBoundsInfo.Builder;
					public setGraphemeSegmentFinder(graphemeSegmentFinder: android.text.SegmentFinder): android.view.inputmethod.TextBoundsInfo.Builder;
					public constructor(start: number, end: number);
					public setMatrix(matrix: android.graphics.Matrix): android.view.inputmethod.TextBoundsInfo.Builder;
					public setWordSegmentFinder(wordSegmentFinder: android.text.SegmentFinder): android.view.inputmethod.TextBoundsInfo.Builder;
					public setCharacterBidiLevel(characterBidiLevels: androidNative.Array<number>): android.view.inputmethod.TextBoundsInfo.Builder;
					public setCharacterBounds(characterBounds: androidNative.Array<number>): android.view.inputmethod.TextBoundsInfo.Builder;
					public clear(): android.view.inputmethod.TextBoundsInfo.Builder;
					public build(): android.view.inputmethod.TextBoundsInfo;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class TextBoundsInfoResult extends java.lang.Object {
				public static class: java.lang.Class<android.view.inputmethod.TextBoundsInfoResult>;
				public static CODE_CANCELLED: 3;
				public static CODE_FAILED: 2;
				public static CODE_SUCCESS: 1;
				public static CODE_UNSUPPORTED: 0;
				public getTextBoundsInfo(): android.view.inputmethod.TextBoundsInfo;
				public constructor(resultCode: number);
				public constructor(resultCode: number, textBoundsInfo: android.view.inputmethod.TextBoundsInfo);
				public getResultCode(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class TextSnapshot extends java.lang.Object {
				public static class: java.lang.Class<android.view.inputmethod.TextSnapshot>;
				public getSelectionEnd(): number;
				public constructor(surroundingText: android.view.inputmethod.SurroundingText, compositionStart: number, compositionEnd: number, cursorCapsMode: number);
				public getCompositionEnd(): number;
				public getCompositionStart(): number;
				public getCursorCapsMode(): number;
				public getSurroundingText(): android.view.inputmethod.SurroundingText;
				public getSelectionStart(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module inspector {
			export class InspectionCompanion<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.view.inspector.InspectionCompanion<any>>;
				/**
				 * Constructs a new instance of the android.view.inspector.InspectionCompanion<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					mapProperties(param0: android.view.inspector.PropertyMapper): void;
					readProperties(param0: T, param1: android.view.inspector.PropertyReader): void;
				});
				public constructor();
				public readProperties(param0: T, param1: android.view.inspector.PropertyReader): void;
				public mapProperties(param0: android.view.inspector.PropertyMapper): void;
			}
			export module InspectionCompanion {
				export class UninitializedPropertyMapException extends java.lang.RuntimeException {
					public static class: java.lang.Class<android.view.inspector.InspectionCompanion.UninitializedPropertyMapException>;
					public constructor(message: string);
					public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor();
					public constructor(cause: java.lang.Throwable);
					public constructor(message: string, cause: java.lang.Throwable);
				}
			}
		}
	}
}

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

declare module android {
	export module view {
		export module inspector {
			export class IntFlagMapping extends java.lang.Object {
				public static class: java.lang.Class<android.view.inspector.IntFlagMapping>;
				public add(mask: number, target: number, name: string): void;
				public get(value: number): java.util.Set<string>;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module inspector {
			export class PropertyMapper extends java.lang.Object {
				public static class: java.lang.Class<android.view.inspector.PropertyMapper>;
				/**
				 * Constructs a new instance of the android.view.inspector.PropertyMapper interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					mapBoolean(param0: string, param1: number): number;
					mapByte(param0: string, param1: number): number;
					mapChar(param0: string, param1: number): number;
					mapDouble(param0: string, param1: number): number;
					mapFloat(param0: string, param1: number): number;
					mapInt(param0: string, param1: number): number;
					mapLong(param0: string, param1: number): number;
					mapShort(param0: string, param1: number): number;
					mapObject(param0: string, param1: number): number;
					mapColor(param0: string, param1: number): number;
					mapGravity(param0: string, param1: number): number;
					mapIntEnum(param0: string, param1: number, param2: any /* any*/): number;
					mapResourceId(param0: string, param1: number): number;
					mapIntFlag(param0: string, param1: number, param2: any /* any*/): number;
				});
				public constructor();
				public mapColor(param0: string, param1: number): number;
				public mapResourceId(param0: string, param1: number): number;
				public mapIntFlag(param0: string, param1: number, param2: any /* any*/): number;
				public mapByte(param0: string, param1: number): number;
				public mapInt(param0: string, param1: number): number;
				public mapObject(param0: string, param1: number): number;
				public mapFloat(param0: string, param1: number): number;
				public mapLong(param0: string, param1: number): number;
				public mapChar(param0: string, param1: number): number;
				public mapDouble(param0: string, param1: number): number;
				public mapIntEnum(param0: string, param1: number, param2: any /* any*/): number;
				public mapShort(param0: string, param1: number): number;
				public mapBoolean(param0: string, param1: number): number;
				public mapGravity(param0: string, param1: number): number;
			}
			export module PropertyMapper {
				export class PropertyConflictException extends java.lang.RuntimeException {
					public static class: java.lang.Class<android.view.inspector.PropertyMapper.PropertyConflictException>;
					public constructor(message: string);
					public constructor(name: string, newPropertyType: string, existingPropertyType: string);
					public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor();
					public constructor(cause: java.lang.Throwable);
					public constructor(message: string, cause: java.lang.Throwable);
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inspector {
			export class PropertyReader extends java.lang.Object {
				public static class: java.lang.Class<android.view.inspector.PropertyReader>;
				/**
				 * Constructs a new instance of the android.view.inspector.PropertyReader interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					readBoolean(param0: number, param1: boolean): void;
					readByte(param0: number, param1: number): void;
					readChar(param0: number, param1: string): void;
					readDouble(param0: number, param1: number): void;
					readFloat(param0: number, param1: number): void;
					readInt(param0: number, param1: number): void;
					readLong(param0: number, param1: number): void;
					readShort(param0: number, param1: number): void;
					readObject(param0: number, param1: any): void;
					readColor(param0: number, param1: number): void;
					readColor(param0: number, param1: number): void;
					readColor(param0: number, param1: android.graphics.Color): void;
					readGravity(param0: number, param1: number): void;
					readIntEnum(param0: number, param1: number): void;
					readIntFlag(param0: number, param1: number): void;
					readResourceId(param0: number, param1: number): void;
				});
				public constructor();
				public readInt(param0: number, param1: number): void;
				public readIntFlag(param0: number, param1: number): void;
				public readResourceId(param0: number, param1: number): void;
				public readDouble(param0: number, param1: number): void;
				public readColor(param0: number, param1: number): void;
				public readChar(param0: number, param1: string): void;
				public readObject(param0: number, param1: any): void;
				public readByte(param0: number, param1: number): void;
				public readFloat(param0: number, param1: number): void;
				public readGravity(param0: number, param1: number): void;
				public readIntEnum(param0: number, param1: number): void;
				public readBoolean(param0: number, param1: boolean): void;
				public readLong(param0: number, param1: number): void;
				public readShort(param0: number, param1: number): void;
				public readColor(param0: number, param1: android.graphics.Color): void;
			}
			export module PropertyReader {
				export class PropertyTypeMismatchException extends java.lang.RuntimeException {
					public static class: java.lang.Class<android.view.inspector.PropertyReader.PropertyTypeMismatchException>;
					public constructor(message: string);
					public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor(id: number, expectedPropertyType: string, actualPropertyType: string, propertyName: string);
					public constructor();
					public constructor(cause: java.lang.Throwable);
					public constructor(message: string, cause: java.lang.Throwable);
					public constructor(id: number, expectedPropertyType: string, actualPropertyType: string);
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inspector {
			export class StaticInspectionCompanionProvider extends java.lang.Object implements android.view.inspector.InspectionCompanionProvider {
				public static class: java.lang.Class<android.view.inspector.StaticInspectionCompanionProvider>;
				public provide(cls: java.lang.Class<any>): android.view.inspector.InspectionCompanion<any>;
				public provide(param0: java.lang.Class<any>): android.view.inspector.InspectionCompanion<any>;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module inspector {
			export class WindowInspector extends java.lang.Object {
				public static class: java.lang.Class<android.view.inspector.WindowInspector>;
				public static getGlobalWindowViews(): java.util.List<android.view.View>;
			}
		}
	}
}

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 getSuggestionsInfoAt(i: number): android.view.textservice.SuggestionsInfo;
				public getOffsetAt(i: number): number;
				public constructor(suggestionsInfos: androidNative.Array<android.view.textservice.SuggestionsInfo>, offsets: androidNative.Array<number>, lengths: androidNative.Array<number>);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getLengthAt(i: number): number;
				public constructor(source: android.os.Parcel);
				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 writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public getSettingsActivity(): string;
				public describeContents(): number;
				public getComponent(): android.content.ComponentName;
				public loadLabel(pm: android.content.pm.PackageManager): string;
				public getSubtypeAt(index: number): android.view.textservice.SpellCheckerSubtype;
				public loadIcon(pm: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public getServiceInfo(): android.content.pm.ServiceInfo;
			}
		}
	}
}

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: "android.view.textservice.scs";
				public close(): void;
				public getSentenceSuggestions(textInfos: androidNative.Array<android.view.textservice.TextInfo>, suggestionsLimit: number): void;
				public finalize(): void;
				public cancel(): void;
				public isSessionDisconnected(): boolean;
				/** @deprecated */
				public getSuggestions(textInfos: androidNative.Array<android.view.textservice.TextInfo>, suggestionsLimit: number, sequentialWords: boolean): void;
				public getSpellChecker(): android.view.textservice.SpellCheckerInfo;
				/** @deprecated */
				public getSuggestions(textInfo: android.view.textservice.TextInfo, suggestionsLimit: number): void;
			}
			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: androidNative.Array<android.view.textservice.SuggestionsInfo>): void;
						onGetSentenceSuggestions(param0: androidNative.Array<android.view.textservice.SentenceSuggestionsInfo>): void;
					});
					public constructor();
					public onGetSentenceSuggestions(param0: androidNative.Array<android.view.textservice.SentenceSuggestionsInfo>): void;
					public onGetSuggestions(param0: androidNative.Array<android.view.textservice.SuggestionsInfo>): void;
				}
				export class SpellCheckerSessionParams extends java.lang.Object {
					public static class: java.lang.Class<android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams>;
					public shouldReferToSpellCheckerLanguageSettings(): boolean;
					public getSupportedAttributes(): number;
					public getExtras(): android.os.Bundle;
					public getLocale(): java.util.Locale;
				}
				export module SpellCheckerSessionParams {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder>;
						public setSupportedAttributes(supportedAttributes: number): android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder;
						public constructor();
						public setLocale(locale: java.util.Locale): android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder;
						public setExtras(extras: android.os.Bundle): android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder;
						public setShouldReferToSpellCheckerLanguageSettings(shouldReferToSpellCheckerLanguageSettings: boolean): android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder;
						public build(): android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams;
					}
				}
			}
		}
	}
}

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 getExtraValueOf(key: string): string;
				public writeToParcel(dest: android.os.Parcel, parcelableFlags: number): void;
				/** @deprecated */
				public constructor(nameId: number, locale: string, extraValue: string);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getLanguageTag(): string;
				public getExtraValue(): string;
				public containsExtraValueKey(key: string): boolean;
				public hashCode(): number;
				/** @deprecated */
				public getLocale(): string;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getDisplayName(context: android.content.Context, packageName: string, appInfo: android.content.pm.ApplicationInfo): 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_DONT_SHOW_UI_FOR_SUGGESTIONS: 16;
				public static RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS: 4;
				public static RESULT_ATTR_IN_THE_DICTIONARY: 1;
				public static RESULT_ATTR_LOOKS_LIKE_GRAMMAR_ERROR: 8;
				public static RESULT_ATTR_LOOKS_LIKE_TYPO: 2;
				public getSuggestionAt(i: number): string;
				public setCookieAndSequence(cookie: number, sequence: number): void;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public constructor(suggestionsAttributes: number, suggestions: androidNative.Array<string>);
				public getSequence(): number;
				public getCookie(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(suggestionsAttributes: number, suggestions: androidNative.Array<string>, cookie: number, sequence: number);
				public describeContents(): number;
				public getSuggestionsAttributes(): number;
				public constructor(source: android.os.Parcel);
				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(text: string, cookie: number, sequenceNumber: number);
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getSequence(): number;
				public constructor(charSequence: string, start: number, end: number, cookie: number, sequenceNumber: number);
				public getCookie(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(text: string);
				public describeContents(): number;
				public constructor(source: android.os.Parcel);
				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(bundle: android.os.Bundle, locale: java.util.Locale, listener: android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener, referToSpellCheckerLanguageSettings: boolean): android.view.textservice.SpellCheckerSession;
				public getCurrentSpellCheckerInfo(): android.view.textservice.SpellCheckerInfo;
				public getEnabledSpellCheckerInfos(): java.util.List<android.view.textservice.SpellCheckerInfo>;
				public newSpellCheckerSession(params: android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams, executor: java.util.concurrent.Executor, listener: android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener): android.view.textservice.SpellCheckerSession;
				public isSpellCheckerEnabled(): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class TranslationCapability extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.TranslationCapability>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.TranslationCapability>;
				public static STATE_AVAILABLE_TO_DOWNLOAD: 1;
				public static STATE_DOWNLOADING: 2;
				public static STATE_NOT_AVAILABLE: 4;
				public static STATE_ON_DEVICE: 3;
				public isUiTranslationEnabled(): boolean;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTargetSpec(): android.view.translation.TranslationSpec;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getState(): number;
				public describeContents(): number;
				public getSourceSpec(): android.view.translation.TranslationSpec;
				public toString(): string;
				public getSupportedTranslationFlags(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class TranslationContext extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.TranslationContext>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.TranslationContext>;
				public static FLAG_DEFINITIONS: 4;
				public static FLAG_LOW_LATENCY: 1;
				public static FLAG_TRANSLITERATION: 2;
				public getTranslationFlags(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTargetSpec(): android.view.translation.TranslationSpec;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSourceSpec(): android.view.translation.TranslationSpec;
				public toString(): string;
			}
			export module TranslationContext {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.translation.TranslationContext.Builder>;
					public build(): android.view.translation.TranslationContext;
					public setTranslationFlags(value: number): android.view.translation.TranslationContext.Builder;
					public constructor(sourceSpec: android.view.translation.TranslationSpec, targetSpec: android.view.translation.TranslationSpec);
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class TranslationManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.translation.TranslationManager>;
				public removeOnDeviceTranslationCapabilityUpdateListener(capabilityListener: any /* any*/): void;
				public createOnDeviceTranslator(translationContext: android.view.translation.TranslationContext, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
				public getOnDeviceTranslationCapabilities(sourceFormat: number, targetFormat: number): java.util.Set<android.view.translation.TranslationCapability>;
				public addOnDeviceTranslationCapabilityUpdateListener(executor: java.util.concurrent.Executor, capabilityListener: any /* any*/): void;
				public getOnDeviceTranslationSettingsActivityIntent(): android.app.PendingIntent;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class TranslationRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.TranslationRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.TranslationRequest>;
				public static FLAG_DICTIONARY_RESULT: 2;
				public static FLAG_PARTIAL_RESPONSES: 8;
				public static FLAG_TRANSLATION_RESULT: 1;
				public static FLAG_TRANSLITERATION_RESULT: 4;
				public getViewTranslationRequests(): java.util.List<android.view.translation.ViewTranslationRequest>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getFlags(): number;
				public toString(): string;
				public getTranslationRequestValues(): java.util.List<android.view.translation.TranslationRequestValue>;
			}
			export module TranslationRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.translation.TranslationRequest.Builder>;
					public setViewTranslationRequests(value: java.util.List<android.view.translation.ViewTranslationRequest>): android.view.translation.TranslationRequest.Builder;
					public setFlags(value: number): android.view.translation.TranslationRequest.Builder;
					public constructor();
					public build(): android.view.translation.TranslationRequest;
					public setTranslationRequestValues(value: java.util.List<android.view.translation.TranslationRequestValue>): android.view.translation.TranslationRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class TranslationRequestValue extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.TranslationRequestValue>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.TranslationRequestValue>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public static forText(text: string): android.view.translation.TranslationRequestValue;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getText(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class TranslationResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.TranslationResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.TranslationResponse>;
				public static TRANSLATION_STATUS_CONTEXT_UNSUPPORTED: 2;
				public static TRANSLATION_STATUS_SUCCESS: 0;
				public static TRANSLATION_STATUS_UNKNOWN_ERROR: 1;
				public getTranslationStatus(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getTranslationResponseValues(): android.util.SparseArray<android.view.translation.TranslationResponseValue>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public getViewTranslationResponses(): android.util.SparseArray<android.view.translation.ViewTranslationResponse>;
				public isFinalResponse(): boolean;
			}
			export module TranslationResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.translation.TranslationResponse.Builder>;
					public setTranslationResponseValue(index: number, value: android.view.translation.TranslationResponseValue): android.view.translation.TranslationResponse.Builder;
					public setViewTranslationResponse(index: number, response: android.view.translation.ViewTranslationResponse): android.view.translation.TranslationResponse.Builder;
					public constructor(translationStatus: number);
					public setTranslationResponseValues(value: android.util.SparseArray<android.view.translation.TranslationResponseValue>): android.view.translation.TranslationResponse.Builder;
					public setViewTranslationResponses(value: android.util.SparseArray<android.view.translation.ViewTranslationResponse>): android.view.translation.TranslationResponse.Builder;
					public setFinalResponse(value: boolean): android.view.translation.TranslationResponse.Builder;
					public build(): android.view.translation.TranslationResponse;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class TranslationResponseValue extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.TranslationResponseValue>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.TranslationResponseValue>;
				public static EXTRA_DEFINITIONS: "android.view.translation.extra.DEFINITIONS";
				public static STATUS_ERROR: 1;
				public static STATUS_SUCCESS: 0;
				public getTransliteration(): string;
				public getStatusCode(): number;
				public static forError(): android.view.translation.TranslationResponseValue;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getExtras(): android.os.Bundle;
				public equals(o: any): boolean;
				public toString(): string;
				public getText(): string;
			}
			export module TranslationResponseValue {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.translation.TranslationResponseValue.Builder>;
					public constructor(statusCode: number);
					public setExtras(value: android.os.Bundle): android.view.translation.TranslationResponseValue.Builder;
					public setTransliteration(value: string): android.view.translation.TranslationResponseValue.Builder;
					public build(): android.view.translation.TranslationResponseValue;
					public setText(value: string): android.view.translation.TranslationResponseValue.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class TranslationSpec extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.TranslationSpec>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.TranslationSpec>;
				public static DATA_FORMAT_TEXT: 1;
				public getDataFormat(): number;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getLocale(): android.icu.util.ULocale;
				public equals(o: any): boolean;
				public constructor(locale: android.icu.util.ULocale, dataFormat: number);
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class Translator extends java.lang.Object {
				public static class: java.lang.Class<android.view.translation.Translator>;
				public destroy(): void;
				public isDestroyed(): boolean;
				public translate(request: android.view.translation.TranslationRequest, cancellationSignal: android.os.CancellationSignal, executor: java.util.concurrent.Executor, callback: any /* any*/): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class UiTranslationManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.translation.UiTranslationManager>;
				public registerUiTranslationStateCallback(executor: java.util.concurrent.Executor, callback: android.view.translation.UiTranslationStateCallback): void;
				public unregisterUiTranslationStateCallback(callback: android.view.translation.UiTranslationStateCallback): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class UiTranslationStateCallback extends java.lang.Object {
				public static class: java.lang.Class<android.view.translation.UiTranslationStateCallback>;
				/**
				 * Constructs a new instance of the android.view.translation.UiTranslationStateCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onStarted(sourceLocale: android.icu.util.ULocale, targetLocale: android.icu.util.ULocale): void;
					onStarted(sourceLocale: android.icu.util.ULocale, targetLocale: android.icu.util.ULocale, packageName: string): void;
					onPaused(): void;
					onPaused(packageName: string): void;
					onResumed(sourceLocale: android.icu.util.ULocale, targetLocale: android.icu.util.ULocale): void;
					onResumed(sourceLocale: android.icu.util.ULocale, targetLocale: android.icu.util.ULocale, packageName: string): void;
					onFinished(): void;
					onFinished(packageName: string): void;
				});
				public constructor();
				public onFinished(packageName: string): void;
				public onPaused(): void;
				public onFinished(): void;
				public onPaused(packageName: string): void;
				public onResumed(sourceLocale: android.icu.util.ULocale, targetLocale: android.icu.util.ULocale, packageName: string): void;
				public onStarted(sourceLocale: android.icu.util.ULocale, targetLocale: android.icu.util.ULocale, packageName: string): void;
				public onStarted(sourceLocale: android.icu.util.ULocale, targetLocale: android.icu.util.ULocale): void;
				public onResumed(sourceLocale: android.icu.util.ULocale, targetLocale: android.icu.util.ULocale): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class ViewTranslationCallback extends java.lang.Object {
				public static class: java.lang.Class<android.view.translation.ViewTranslationCallback>;
				/**
				 * Constructs a new instance of the android.view.translation.ViewTranslationCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onShowTranslation(param0: android.view.View): boolean;
					onHideTranslation(param0: android.view.View): boolean;
					onClearTranslation(param0: android.view.View): boolean;
				});
				public constructor();
				public onClearTranslation(param0: android.view.View): boolean;
				public onHideTranslation(param0: android.view.View): boolean;
				public onShowTranslation(param0: android.view.View): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class ViewTranslationRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.ViewTranslationRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.ViewTranslationRequest>;
				public static ID_TEXT: "android:text";
				public getAutofillId(): android.view.autofill.AutofillId;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getValue(key: string): android.view.translation.TranslationRequestValue;
				public describeContents(): number;
				public equals(o: any): boolean;
				public getKeys(): java.util.Set<string>;
				public toString(): string;
			}
			export module ViewTranslationRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.translation.ViewTranslationRequest.Builder>;
					public constructor(autofillId: android.view.autofill.AutofillId);
					public build(): android.view.translation.ViewTranslationRequest;
					public constructor(autofillId: android.view.autofill.AutofillId, virtualChildId: number);
					public setValue(key: string, value: android.view.translation.TranslationRequestValue): android.view.translation.ViewTranslationRequest.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module translation {
			export class ViewTranslationResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.translation.ViewTranslationResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.translation.ViewTranslationResponse>;
				public getAutofillId(): android.view.autofill.AutofillId;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getValue(key: string): android.view.translation.TranslationResponseValue;
				public equals(o: any): boolean;
				public getKeys(): java.util.Set<string>;
				public toString(): string;
			}
			export module ViewTranslationResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.translation.ViewTranslationResponse.Builder>;
					public constructor(autofillId: android.view.autofill.AutofillId);
					public build(): android.view.translation.ViewTranslationResponse;
					public setValue(key: string, value: android.view.translation.TranslationResponseValue): android.view.translation.ViewTranslationResponse.Builder;
				}
			}
		}
	}
}

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(): androidNative.Array<string>;
			public getHost(): string;
			public proceed(param0: java.security.PrivateKey, param1: androidNative.Array<java.security.cert.X509Certificate>): void;
			public ignore(): void;
			public cancel(): void;
			public constructor();
			public getPrincipals(): androidNative.Array<java.security.Principal>;
			public getPort(): number;
		}
	}
}

declare module android {
	export module webkit {
		export class ConsoleMessage extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.ConsoleMessage>;
			public constructor(message: string, sourceId: string, lineNumber: number, msgLevel: 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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.webkit.ConsoleMessage.MessageLevel;
				public static values(): androidNative.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 setAcceptCookie(param0: boolean): void;
			/** @deprecated */
			public static setAcceptFileSchemeCookies(accept: boolean): void;
			/** @deprecated */
			public removeSessionCookie(): void;
			/** @deprecated */
			public constructor();
			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 static createInstance(context: android.content.Context): android.webkit.CookieSyncManager;
			/** @deprecated */
			public resetSync(): void;
			/** @deprecated */
			public static getInstance(): android.webkit.CookieSyncManager;
			/** @deprecated */
			public stopSync(): void;
			/** @deprecated */
			public startSync(): void;
			/** @deprecated */
			public run(): void;
			/** @deprecated */
			public sync(): void;
			public run(): void;
			/** @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: 5;
			public constructor(context: android.content.Context);
			public getLabel(index: number): string;
			public getBoundary(index: number): number;
			public getIndex(time: 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(callback: android.webkit.ValueCallback<java.util.Set<string>>): void;
			public clear(origin: string): void;
			public getAllowed(origin: string, callback: android.webkit.ValueCallback<java.lang.Boolean>): void;
			public clearAll(): void;
			public allow(origin: string): void;
			public static getInstance(): android.webkit.GeolocationPermissions;
		}
		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(username: string, password: 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(result: string): void;
			public confirm(): 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 hasExtension(extension: string): boolean;
			public getExtensionFromMimeType(mimeType: string): string;
			public static getFileExtensionFromUrl(url: string): string;
			public hasMimeType(mimeType: string): boolean;
			public static getSingleton(): android.webkit.MimeTypeMap;
			public getMimeTypeFromExtension(extension: 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: "android.webkit.resource.AUDIO_CAPTURE";
			public static RESOURCE_MIDI_SYSEX: "android.webkit.resource.MIDI_SYSEX";
			public static RESOURCE_PROTECTED_MEDIA_ID: "android.webkit.resource.PROTECTED_MEDIA_ID";
			public static RESOURCE_VIDEO_CAPTURE: "android.webkit.resource.VIDEO_CAPTURE";
			public getOrigin(): android.net.Uri;
			public deny(): void;
			public constructor();
			public getResources(): androidNative.Array<string>;
			public grant(param0: androidNative.Array<string>): void;
		}
	}
}

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>;
			/** @deprecated */
			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;
			/** @deprecated */
			public constructor();
			public backToSafety(param0: boolean): void;
			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 shouldInterceptRequest(request: android.webkit.WebResourceRequest): android.webkit.WebResourceResponse;
			public constructor();
		}
	}
}

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;
			/** @deprecated */
			public constructor();
			public static getInstance(): android.webkit.ServiceWorkerController;
			public setServiceWorkerClient(param0: android.webkit.ServiceWorkerClient): void;
		}
	}
}

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: 1;
			public static CATEGORIES_ANDROID_WEBVIEW: 2;
			public static CATEGORIES_FRAME_VIEWER: 64;
			public static CATEGORIES_INPUT_LATENCY: 8;
			public static CATEGORIES_JAVASCRIPT_AND_RENDERING: 32;
			public static CATEGORIES_NONE: 0;
			public static CATEGORIES_RENDERING: 16;
			public static CATEGORIES_WEB_DEVELOPER: 4;
			public static RECORD_CONTINUOUSLY: 1;
			public static RECORD_UNTIL_FULL: 0;
			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 build(): android.webkit.TracingConfig;
				public addCategories(predefinedCategories: androidNative.Array<number>): android.webkit.TracingConfig.Builder;
				public addCategories(categories: androidNative.Array<string>): android.webkit.TracingConfig.Builder;
				public addCategories(categories: java.util.Collection<string>): android.webkit.TracingConfig.Builder;
				public setTracingMode(tracingMode: number): 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;
			/** @deprecated */
			public constructor();
			public start(param0: android.webkit.TracingConfig): void;
			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 isDataUrl(url: string): boolean;
			public static decode(url: androidNative.Array<number>): androidNative.Array<number>;
			public static isAssetUrl(url: string): boolean;
			public static isHttpUrl(url: string): boolean;
			public static isHttpsUrl(url: string): boolean;
			/** @deprecated */
			public static isCookielessProxyUrl(url: string): boolean;
			public static isValidUrl(url: string): boolean;
			public constructor();
			public static guessFileName(url: string, contentDisposition: string, mimeType: string): string;
			public static guessUrl(inUrl: string): string;
			public static isNetworkUrl(url: string): boolean;
			public static composeSearchUrl(inQuery: string, template: string, queryPlaceHolder: string): string;
			public static isJavaScriptUrl(url: string): boolean;
			public static isContentUrl(url: string): boolean;
			public static isAboutUrl(url: string): boolean;
			public static isFileUrl(url: string): boolean;
			public static stripAnchor(url: string): string;
		}
	}
}

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(message: string, lineNumber: number, sourceID: string): void;
			public onGeolocationPermissionsHidePrompt(): void;
			public onReceivedTouchIconUrl(view: android.webkit.WebView, url: string, precomposed: boolean): void;
			public onGeolocationPermissionsShowPrompt(origin: string, callback: android.webkit.GeolocationPermissions.Callback): void;
			public onProgressChanged(view: android.webkit.WebView, newProgress: number): void;
			public onJsConfirm(view: android.webkit.WebView, url: string, message: string, result: android.webkit.JsResult): boolean;
			public onPermissionRequest(request: android.webkit.PermissionRequest): void;
			public getVisitedHistory(callback: android.webkit.ValueCallback<androidNative.Array<string>>): void;
			public onHideCustomView(): void;
			public onCreateWindow(view: android.webkit.WebView, isDialog: boolean, isUserGesture: boolean, resultMsg: android.os.Message): boolean;
			public getVideoLoadingProgressView(): android.view.View;
			public onReceivedTitle(view: android.webkit.WebView, title: string): void;
			public onReceivedIcon(view: android.webkit.WebView, icon: android.graphics.Bitmap): void;
			public onJsPrompt(view: android.webkit.WebView, url: string, message: string, defaultValue: string, result: android.webkit.JsPromptResult): boolean;
			public onShowFileChooser(webView: android.webkit.WebView, filePathCallback: android.webkit.ValueCallback<androidNative.Array<android.net.Uri>>, fileChooserParams: android.webkit.WebChromeClient.FileChooserParams): boolean;
			/** @deprecated */
			public onExceededDatabaseQuota(url: string, databaseIdentifier: string, quota: number, estimatedDatabaseSize: number, totalQuota: number, quotaUpdater: android.webkit.WebStorage.QuotaUpdater): void;
			public onJsAlert(view: android.webkit.WebView, url: string, message: string, result: android.webkit.JsResult): boolean;
			public onConsoleMessage(consoleMessage: android.webkit.ConsoleMessage): boolean;
			public onCloseWindow(window: android.webkit.WebView): void;
			public constructor();
			public onRequestFocus(view: android.webkit.WebView): void;
			/** @deprecated */
			public onJsTimeout(): boolean;
			public getDefaultVideoPoster(): android.graphics.Bitmap;
			public onShowCustomView(view: android.view.View, callback: android.webkit.WebChromeClient.CustomViewCallback): void;
			public onPermissionRequestCanceled(request: android.webkit.PermissionRequest): void;
			public onJsBeforeUnload(view: android.webkit.WebView, url: string, message: string, result: android.webkit.JsResult): boolean;
			/** @deprecated */
			public onShowCustomView(view: android.view.View, requestedOrientation: number, callback: 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: 0;
				public static MODE_OPEN_MULTIPLE: 1;
				public static MODE_SAVE: 3;
				public getMode(): number;
				public static parseResult(resultCode: number, data: android.content.Intent): androidNative.Array<android.net.Uri>;
				public isCaptureEnabled(): boolean;
				public getFilenameHint(): string;
				public getAcceptTypes(): androidNative.Array<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>;
			/** @deprecated */
			public close(): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public requestIconForPageUrl(param0: string, param1: android.webkit.WebIconDatabase.IconListener): void;
			/** @deprecated */
			public retainIconForPageUrl(param0: string): void;
			/** @deprecated */
			public open(param0: string): void;
			/** @deprecated */
			public releaseIconForPageUrl(param0: string): void;
			/** @deprecated */
			public removeAllIcons(): void;
			/** @deprecated */
			public static getInstance(): android.webkit.WebIconDatabase;
		}
		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();
				/** @deprecated */
				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 constructor(data: string);
			public constructor(data: string, ports: androidNative.Array<android.webkit.WebMessagePort>);
			public getPorts(): androidNative.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(port: android.webkit.WebMessagePort, message: 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 setResponseHeaders(headers: java.util.Map<string,string>): void;
			public setData(data: java.io.InputStream): void;
			public setEncoding(encoding: string): void;
			public getMimeType(): string;
			public getData(): java.io.InputStream;
			public constructor(mimeType: string, encoding: string, data: java.io.InputStream);
			public getStatusCode(): number;
			public constructor(mimeType: string, encoding: string, statusCode: number, reasonPhrase: string, responseHeaders: java.util.Map<string,string>, data: java.io.InputStream);
			public getReasonPhrase(): string;
			public getEncoding(): string;
			public setMimeType(mimeType: string): void;
			public getResponseHeaders(): java.util.Map<string,string>;
			public setStatusCodeAndReasonPhrase(statusCode: number, reasonPhrase: string): void;
		}
	}
}

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 FORCE_DARK_AUTO: 1;
			public static FORCE_DARK_OFF: 0;
			public static FORCE_DARK_ON: 2;
			public static LOAD_CACHE_ELSE_NETWORK: 1;
			public static LOAD_CACHE_ONLY: 3;
			public static LOAD_DEFAULT: -1;
			public static LOAD_NORMAL: 0;
			public static LOAD_NO_CACHE: 2;
			public static MENU_ITEM_NONE: 0;
			public static MENU_ITEM_PROCESS_TEXT: 4;
			public static MENU_ITEM_SHARE: 1;
			public static MENU_ITEM_WEB_SEARCH: 2;
			public static MIXED_CONTENT_ALWAYS_ALLOW: 0;
			public static MIXED_CONTENT_COMPATIBILITY_MODE: 2;
			public static MIXED_CONTENT_NEVER_ALLOW: 1;
			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 getSansSerifFontFamily(): string;
			public setSupportMultipleWindows(param0: boolean): void;
			/** @deprecated */
			public getDefaultZoom(): android.webkit.WebSettings.ZoomDensity;
			public constructor();
			public setFixedFontFamily(param0: string): void;
			/** @deprecated */
			public setRenderPriority(param0: android.webkit.WebSettings.RenderPriority): void;
			public setAllowContentAccess(param0: boolean): void;
			public static getDefaultUserAgent(context: android.content.Context): string;
			public getMinimumLogicalFontSize(): number;
			public getDisplayZoomControls(): boolean;
			public setSafeBrowsingEnabled(param0: boolean): void;
			public setAllowFileAccess(param0: boolean): void;
			/** @deprecated */
			public setAllowFileAccessFromFileURLs(param0: boolean): void;
			public setBlockNetworkLoads(param0: boolean): void;
			public setCursiveFontFamily(param0: string): void;
			/** @deprecated */
			public setLightTouchEnabled(param0: boolean): void;
			public getStandardFontFamily(): string;
			public getLoadWithOverviewMode(): boolean;
			/** @deprecated */
			public setDatabaseEnabled(param0: boolean): void;
			public setMinimumLogicalFontSize(param0: number): void;
			public getDefaultTextEncodingName(): string;
			public setDisplayZoomControls(param0: boolean): void;
			public getAllowContentAccess(): boolean;
			public getDefaultFontSize(): number;
			/** @deprecated */
			public getDatabaseEnabled(): boolean;
			public setMinimumFontSize(param0: number): void;
			public isAlgorithmicDarkeningAllowed(): boolean;
			/** @deprecated */
			public getForceDark(): number;
			/** @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;
			/** @deprecated */
			public setTextSize(t: android.webkit.WebSettings.TextSize): void;
			/** @deprecated */
			public setAllowUniversalAccessFromFileURLs(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;
			/** @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 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 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 setForceDark(forceDark: number): void;
			/** @deprecated */
			public getSavePassword(): boolean;
			public getFantasyFontFamily(): string;
			public setDefaultFixedFontSize(param0: number): void;
			public setSerifFontFamily(param0: string): void;
			public setJavaScriptCanOpenWindowsAutomatically(param0: boolean): void;
			public setAlgorithmicDarkeningAllowed(allow: 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 values(): androidNative.Array<android.webkit.WebSettings.LayoutAlgorithm>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.webkit.WebSettings.LayoutAlgorithm;
			}
			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 valueOf(name: string): android.webkit.WebSettings.PluginState;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.webkit.WebSettings.PluginState>;
			}
			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 valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.webkit.WebSettings.RenderPriority>;
				public static valueOf(name: string): android.webkit.WebSettings.RenderPriority;
			}
			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 values(): androidNative.Array<android.webkit.WebSettings.TextSize>;
				public static valueOf(name: string): android.webkit.WebSettings.TextSize;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): android.webkit.WebSettings.ZoomDensity;
				public static values(): androidNative.Array<android.webkit.WebSettings.ZoomDensity>;
			}
		}
	}
}

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 deleteOrigin(origin: string): void;
			public getUsageForOrigin(origin: string, callback: android.webkit.ValueCallback<java.lang.Long>): void;
			/** @deprecated */
			public setQuotaForOrigin(origin: string, quota: number): void;
			public static getInstance(): android.webkit.WebStorage;
			public getOrigins(callback: android.webkit.ValueCallback<java.util.Map<any,any>>): void;
			public getQuotaForOrigin(origin: string, callback: android.webkit.ValueCallback<java.lang.Long>): void;
		}
		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();
				/** @deprecated */
				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: 1;
			public static RENDERER_PRIORITY_IMPORTANT: 2;
			public static RENDERER_PRIORITY_WAIVED: 0;
			public static SCHEME_GEO: "geo:0,0?q=";
			public static SCHEME_MAILTO: "mailto:";
			public static SCHEME_TEL: "tel:";
			public removeJavascriptInterface(name: string): void;
			public canGoBackOrForward(steps: number): boolean;
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			public onStopNestedScroll(param0: android.view.View): void;
			public resumeTimers(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public requestFocus(): boolean;
			public getWebViewRenderProcess(): android.webkit.WebViewRenderProcess;
			public saveWebArchive(basename: string, autoname: boolean, callback: android.webkit.ValueCallback<string>): void;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): 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 static setSafeBrowsingWhitelist(hosts: java.util.List<string>, callback: android.webkit.ValueCallback<java.lang.Boolean>): void;
			public setLayerType(layerType: number, paint: android.graphics.Paint): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setInitialScale(scaleInPercent: number): void;
			public clearMatches(): void;
			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 getContentHeight(): number;
			public static enableSlowWholeDocumentDraw(): void;
			public getAccessibilityClassName(): string;
			public getWebViewLooper(): android.os.Looper;
			public onDraw(canvas: android.graphics.Canvas): void;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public setVerticalScrollbarOverlay(overlay: boolean): void;
			public clearFormData(): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onOverScrolled(scrollX: number, scrollY: number, clampedX: boolean, clampedY: boolean): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public setOverScrollMode(mode: number): void;
			/** @deprecated */
			public getScale(): number;
			/** @deprecated */
			public showFindDialog(text: string, showIme: boolean): boolean;
			public setLayoutParams(params: android.view.ViewGroup.LayoutParams): void;
			public requestLayout(): void;
			public requestFocus(direction: number, previouslyFocusedRect: android.graphics.Rect): boolean;
			public getUrl(): string;
			public flingScroll(vx: number, vy: number): void;
			public onWindowFocusChanged(hasWindowFocus: boolean): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public setHttpAuthUsernamePassword(host: string, realm: string, username: string, password: string): void;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public overlayVerticalScrollbar(): boolean;
			/** @deprecated */
			public onChildViewAdded(parent: android.view.View, child: android.view.View): void;
			/** @deprecated */
			public overlayHorizontalScrollbar(): boolean;
			public getTextClassifier(): any;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public loadUrl(url: string, additionalHttpHeaders: java.util.Map<string,string>): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public getProgress(): number;
			public getOriginalUrl(): string;
			public onProvideAutofillVirtualStructure(structure: any, flags: number): void;
			public performLongClick(): boolean;
			public autofill(value: android.view.autofill.AutofillValue): void;
			public pageDown(bottom: boolean): boolean;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public setRendererPriorityPolicy(rendererRequestedPriority: number, waivedWhenNotVisible: boolean): void;
			public requestImageRef(msg: android.os.Message): void;
			/** @deprecated */
			public onChildViewRemoved(p: android.view.View, child: android.view.View): void;
			public computeHorizontalScrollRange(): number;
			public zoomIn(): boolean;
			public getHitTestResult(): android.webkit.WebView.HitTestResult;
			public saveWebArchive(filename: string): void;
			public getTitle(): string;
			public onWindowVisibilityChanged(visibility: number): void;
			public onApplyWindowInsets(insets: android.view.WindowInsets): android.view.WindowInsets;
			public canGoBack(): boolean;
			/** @deprecated */
			public findAll(find: string): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public setWebChromeClient(client: android.webkit.WebChromeClient): void;
			public onScrollChanged(l: number, t: number, oldl: number, oldt: number): void;
			public stopLoading(): void;
			public getTextAlignment(): number;
			public getRendererPriorityWaivedWhenNotVisible(): boolean;
			/** @deprecated */
			public getHttpAuthUsernamePassword(host: string, realm: string): androidNative.Array<string>;
			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 pageUp(top: boolean): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getAccessibilityNodeProvider(): android.view.accessibility.AccessibilityNodeProvider;
			/** @deprecated */
			public freeMemory(): void;
			public onCheckIsTextEditor(): boolean;
			public onProvideContentCaptureStructure(structure: any, flags: number): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			/** @deprecated */
			public canZoomIn(): boolean;
			public onChildViewRemoved(param0: android.view.View, param1: android.view.View): void;
			public static startSafeBrowsing(context: android.content.Context, callback: android.webkit.ValueCallback<java.lang.Boolean>): void;
			public onPause(): void;
			public onTrackballEvent(event: android.view.MotionEvent): boolean;
			/** @deprecated */
			public clearView(): void;
			public isTextAlignmentResolved(): boolean;
			public autofill(values: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestChildRectangleOnScreen(child: android.view.View, rect: android.graphics.Rect, immediate: boolean): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, privateBrowsing: boolean);
			public addView(child: android.view.View): void;
			/** @deprecated */
			public savePassword(host: string, username: string, password: string): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public clearHistory(): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public goForward(): void;
			public postVisualStateCallback(requestId: number, callback: android.webkit.WebView.VisualStateCallback): void;
			public getWebChromeClient(): android.webkit.WebChromeClient;
			/** @deprecated */
			public onGlobalFocusChanged(oldFocus: android.view.View, newFocus: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public loadDataWithBaseURL(baseUrl: string, data: string, mimeType: string, encoding: string, historyUrl: string): void;
			public getWebViewClient(): android.webkit.WebViewClient;
			public reload(): void;
			public setFindListener(listener: android.webkit.WebView.FindListener): void;
			public constructor(context: android.content.Context);
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setTextClassifier(textClassifier: any): void;
			public postUrl(url: string, postData: androidNative.Array<number>): void;
			public bringChildToFront(param0: android.view.View): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public copyBackForwardList(): android.webkit.WebBackForwardList;
			public setBackgroundColor(color: number): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			public setWebViewRenderProcessClient(webViewRenderProcessClient: android.webkit.WebViewRenderProcessClient): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public capturePicture(): android.graphics.Picture;
			public setWebViewClient(client: android.webkit.WebViewClient): void;
			public static getSafeBrowsingPrivacyPolicyUrl(): android.net.Uri;
			/** @deprecated */
			public setPictureListener(listener: android.webkit.WebView.PictureListener): void;
			public findNext(forward: boolean): void;
			public static setDataDirectorySuffix(suffix: string): void;
			public getFavicon(): android.graphics.Bitmap;
			public loadData(data: string, mimeType: string, encoding: string): void;
			/** @deprecated */
			public canZoomOut(): boolean;
			public goBackOrForward(steps: number): void;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public computeVerticalScrollExtent(): number;
			public findAllAsync(find: string): void;
			public getHandler(): android.os.Handler;
			public static getWebViewClassLoader(): java.lang.ClassLoader;
			public onChildViewAdded(param0: android.view.View, param1: android.view.View): void;
			public invokeZoomPicker(): void;
			public getRendererRequestedPriority(): number;
			public restoreState(inState: android.os.Bundle): android.webkit.WebBackForwardList;
			public setNetworkAvailable(networkUp: boolean): void;
			public onSizeChanged(w: number, h: number, ow: number, oh: number): void;
			public findFocus(): android.view.View;
			/** @deprecated */
			public setMapTrackballToArrowKeys(setMap: boolean): void;
			public onVisibilityChanged(changedView: android.view.View, visibility: number): void;
			public loadUrl(url: string): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public createWebMessageChannel(): androidNative.Array<android.webkit.WebMessagePort>;
			public goBack(): void;
			/** @deprecated */
			public setCertificate(certificate: android.net.http.SslCertificate): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public onKeyMultiple(keyCode: number, repeatCount: number, event: android.view.KeyEvent): boolean;
			public setDownloadListener(listener: android.webkit.DownloadListener): void;
			public setScrollBarStyle(style: number): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public clearSslPreferences(): void;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public static setWebContentsDebuggingEnabled(enabled: boolean): void;
			public getWebViewRenderProcessClient(): android.webkit.WebViewRenderProcessClient;
			public onVirtualViewTranslationResponses(response: android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>): void;
			public onDragEvent(event: android.view.DragEvent): boolean;
			public onProvideVirtualStructure(structure: any): void;
			public static disableWebView(): void;
			public zoomBy(zoomFactor: number): void;
			public static getCurrentWebViewPackage(): android.content.pm.PackageInfo;
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			/** @deprecated */
			public shouldDelayChildPressedState(): boolean;
			public createPrintDocumentAdapter(documentName: string): any;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public isLayoutDirectionResolved(): boolean;
			public requestFocus(direction: number): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onStartTemporaryDetach(): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public onFinishTemporaryDetach(): void;
			public onGlobalFocusChanged(param0: android.view.View, param1: android.view.View): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getCertificate(): android.net.http.SslCertificate;
			public documentHasImages(response: android.os.Message): void;
			public addView(child: android.view.View, index: number): void;
			public isVisibleToUserForAutofill(virtualId: number): boolean;
			public performLongClick(x: number, y: number): boolean;
			public postWebMessage(message: android.webkit.WebMessage, targetOrigin: android.net.Uri): void;
			public getSettings(): android.webkit.WebSettings;
			public evaluateJavascript(script: string, resultCallback: android.webkit.ValueCallback<string>): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onResume(): void;
			public dispatchCreateViewTranslationRequest(viewIds: java.util.Map<android.view.autofill.AutofillId,androidNative.Array<number>>, supportedFormats: androidNative.Array<number>, capability: android.view.translation.TranslationCapability, requests: java.util.List<android.view.translation.ViewTranslationRequest>): void;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public onFocusChanged(focused: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public pauseTimers(): void;
			public setWebViewRenderProcessClient(executor: java.util.concurrent.Executor, webViewRenderProcessClient: android.webkit.WebViewRenderProcessClient): void;
			public computeVerticalScrollOffset(): number;
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			public requestFocusNodeHref(hrefMsg: android.os.Message): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			/** @deprecated */
			public createPrintDocumentAdapter(): any;
			public onCreateInputConnection(outAttrs: android.view.inputmethod.EditorInfo): android.view.inputmethod.InputConnection;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setHorizontalScrollbarOverlay(overlay: boolean): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public isPrivateBrowsingEnabled(): boolean;
			public computeHorizontalScrollOffset(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public zoomOut(): boolean;
			public computeScroll(): void;
			public onCreateVirtualViewTranslationRequests(virtualIds: androidNative.Array<number>, supportedFormats: androidNative.Array<number>, requestsCollector: any /* any*/): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public destroy(): void;
			public saveState(outState: android.os.Bundle): android.webkit.WebBackForwardList;
			public clearCache(includeDiskFiles: boolean): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public onHoverEvent(event: android.view.MotionEvent): boolean;
			/** @deprecated */
			public static findAddress(addr: string): string;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addJavascriptInterface(object: any, name: string): void;
			public onAttachedToWindow(): void;
			public static clearClientCertPreferences(onCleared: java.lang.Runnable): void;
			public dispatchDraw(canvas: android.graphics.Canvas): 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: 1;
				public static EDIT_TEXT_TYPE: 9;
				public static EMAIL_TYPE: 4;
				public static GEO_TYPE: 3;
				public static IMAGE_ANCHOR_TYPE: 6;
				public static IMAGE_TYPE: 5;
				public static PHONE_TYPE: 2;
				public static SRC_ANCHOR_TYPE: 7;
				public static SRC_IMAGE_ANCHOR_TYPE: 8;
				public static UNKNOWN_TYPE: 0;
				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(this$0: android.webkit.WebView);
				public setWebView(webview: 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: -4;
			public static ERROR_BAD_URL: -12;
			public static ERROR_CONNECT: -6;
			public static ERROR_FAILED_SSL_HANDSHAKE: -11;
			public static ERROR_FILE: -13;
			public static ERROR_FILE_NOT_FOUND: -14;
			public static ERROR_HOST_LOOKUP: -2;
			public static ERROR_IO: -7;
			public static ERROR_PROXY_AUTHENTICATION: -5;
			public static ERROR_REDIRECT_LOOP: -9;
			public static ERROR_TIMEOUT: -8;
			public static ERROR_TOO_MANY_REQUESTS: -15;
			public static ERROR_UNKNOWN: -1;
			public static ERROR_UNSAFE_RESOURCE: -16;
			public static ERROR_UNSUPPORTED_AUTH_SCHEME: -3;
			public static ERROR_UNSUPPORTED_SCHEME: -10;
			public static SAFE_BROWSING_THREAT_BILLING: 4;
			public static SAFE_BROWSING_THREAT_MALWARE: 1;
			public static SAFE_BROWSING_THREAT_PHISHING: 2;
			public static SAFE_BROWSING_THREAT_UNKNOWN: 0;
			public static SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE: 3;
			public onFormResubmission(view: android.webkit.WebView, dontResend: android.os.Message, resend: android.os.Message): void;
			/** @deprecated */
			public onTooManyRedirects(view: android.webkit.WebView, cancelMsg: android.os.Message, continueMsg: android.os.Message): void;
			public onReceivedHttpAuthRequest(view: android.webkit.WebView, handler: android.webkit.HttpAuthHandler, host: string, realm: string): void;
			public constructor();
			/** @deprecated */
			public onReceivedError(view: android.webkit.WebView, errorCode: number, description: string, failingUrl: string): void;
			public onScaleChanged(view: android.webkit.WebView, oldScale: number, newScale: number): void;
			public onLoadResource(view: android.webkit.WebView, url: string): void;
			public onPageStarted(view: android.webkit.WebView, url: string, favicon: android.graphics.Bitmap): void;
			/** @deprecated */
			public shouldInterceptRequest(view: android.webkit.WebView, url: string): android.webkit.WebResourceResponse;
			public onReceivedSslError(view: android.webkit.WebView, handler: android.webkit.SslErrorHandler, error: android.net.http.SslError): void;
			public shouldOverrideKeyEvent(view: android.webkit.WebView, event: android.view.KeyEvent): boolean;
			public onReceivedLoginRequest(view: android.webkit.WebView, realm: string, account: string, args: string): void;
			public onRenderProcessGone(view: android.webkit.WebView, detail: android.webkit.RenderProcessGoneDetail): boolean;
			public onPageCommitVisible(view: android.webkit.WebView, url: string): void;
			public doUpdateVisitedHistory(view: android.webkit.WebView, url: string, isReload: boolean): void;
			public shouldOverrideUrlLoading(view: android.webkit.WebView, request: android.webkit.WebResourceRequest): boolean;
			public onReceivedError(view: android.webkit.WebView, request: android.webkit.WebResourceRequest, error: android.webkit.WebResourceError): void;
			public onReceivedHttpError(view: android.webkit.WebView, request: android.webkit.WebResourceRequest, errorResponse: android.webkit.WebResourceResponse): void;
			public onUnhandledKeyEvent(view: android.webkit.WebView, event: android.view.KeyEvent): void;
			public onReceivedClientCertRequest(view: android.webkit.WebView, request: android.webkit.ClientCertRequest): void;
			public onSafeBrowsingHit(view: android.webkit.WebView, request: android.webkit.WebResourceRequest, threatType: number, callback: android.webkit.SafeBrowsingResponse): void;
			public onPageFinished(view: android.webkit.WebView, url: string): void;
			/** @deprecated */
			public shouldOverrideUrlLoading(view: android.webkit.WebView, url: string): boolean;
			public shouldInterceptRequest(view: android.webkit.WebView, request: android.webkit.WebResourceRequest): android.webkit.WebResourceResponse;
		}
	}
}

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;
			/** @deprecated */
			public hasFormData(): boolean;
			/** @deprecated */
			public constructor();
			public getHttpAuthUsernamePassword(param0: string, param1: string): androidNative.Array<string>;
			public static getInstance(context: android.content.Context): android.webkit.WebViewDatabase;
			/** @deprecated */
			public clearUsernamePassword(): void;
			public setHttpAuthUsernamePassword(param0: string, param1: string, param2: string, param3: string): void;
			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;
			/** @deprecated */
			public constructor();
			public onTrimMemory(param0: number): void;
			/** @deprecated */
			public getWebView(): android.webkit.WebView;
			/** @deprecated */
			public onPause(): void;
			/** @deprecated */
			public onCreateView(inflater: android.view.LayoutInflater, container: android.view.ViewGroup, savedInstanceState: android.os.Bundle): android.view.View;
			/** @deprecated */
			public onDestroyView(): void;
			/** @deprecated */
			public onDestroy(): void;
			/** @deprecated */
			public onResume(): void;
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebViewRenderProcess extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebViewRenderProcess>;
			public terminate(): boolean;
			public constructor();
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebViewRenderProcessClient extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebViewRenderProcessClient>;
			public onRenderProcessUnresponsive(param0: android.webkit.WebView, param1: android.webkit.WebViewRenderProcess): void;
			public constructor();
			public onRenderProcessResponsive(param0: android.webkit.WebView, param1: android.webkit.WebViewRenderProcess): 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: 2;
			public static CHOICE_MODE_MULTIPLE_MODAL: 3;
			public static CHOICE_MODE_NONE: 0;
			public static CHOICE_MODE_SINGLE: 1;
			public static TRANSCRIPT_MODE_ALWAYS_SCROLL: 2;
			public static TRANSCRIPT_MODE_DISABLED: 0;
			public static TRANSCRIPT_MODE_NORMAL: 1;
			public deferNotifyDataSetChanged(): void;
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			public smoothScrollToPositionFromTop(position: number, offset: number): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public afterTextChanged(s: android.text.Editable): void;
			public invalidateViews(): void;
			public handleDataChanged(): void;
			public verifyDrawable(dr: android.graphics.drawable.Drawable): boolean;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public setItemChecked(position: number, value: boolean): 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 getListPaddingTop(): number;
			public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public beforeTextChanged(s: string, start: number, count: number, after: number): void;
			public setFastScrollAlwaysVisible(alwaysShow: boolean): void;
			public setOnScrollListener(l: android.widget.AbsListView.OnScrollListener): 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 requestDisallowInterceptTouchEvent(disallowIntercept: boolean): void;
			public isSmoothScrollbarEnabled(): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public computeVerticalScrollRange(): number;
			public performItemClick(view: android.view.View, position: number, id: number): boolean;
			public getLayoutDirection(): number;
			public getFocusedRect(r: android.graphics.Rect): void;
			public setSelectionFromTop(position: number, y: number): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onInitializeAccessibilityNodeInfoForItem(view: android.view.View, position: number, info: android.view.accessibility.AccessibilityNodeInfo): void;
			public isTextFilterEnabled(): boolean;
			public getAccessibilityClassName(): string;
			public smoothScrollBy(distance: number, duration: number): void;
			public onTouchModeChanged(param0: boolean): void;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public getCheckedItemIds(): androidNative.Array<number>;
			public dispatchSetPressed(pressed: boolean): void;
			public isFastScrollAlwaysVisible(): boolean;
			public getVerticalScrollbarWidth(): number;
			public setBottomEdgeEffectColor(color: number): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onOverScrolled(scrollX: number, scrollY: number, clampedX: boolean, clampedY: boolean): void;
			public onInterceptTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public getCheckedItemPositions(): android.util.SparseBooleanArray;
			public requestLayout(): void;
			public onWindowFocusChanged(hasWindowFocus: boolean): void;
			public getBottomEdgeEffectColor(): number;
			public canResolveTextDirection(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public getSolidColor(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public isStackFromBottom(): boolean;
			public drawableStateChanged(): void;
			public dispatchDrawableHotspotChanged(x: number, y: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public setCacheColorHint(color: number): void;
			public isSelectedChildViewEnabled(): boolean;
			public draw(canvas: android.graphics.Canvas): void;
			public getListPaddingRight(): number;
			public smoothScrollToPositionFromTop(position: number, offset: number, duration: number): void;
			public isDrawSelectorOnTop(): boolean;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public setTranscriptMode(mode: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public layoutChildren(): void;
			public getTextAlignment(): number;
			public getLeftPaddingOffset(): number;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			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 pointToPosition(x: number, y: number): number;
			public setAdapter(param0: any): void;
			public setScrollIndicators(indicators: number, mask: number): void;
			public smoothScrollToPosition(position: number, boundPosition: number): void;
			public isItemChecked(position: number): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public getCheckedItemCount(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public onProvideContentCaptureStructure(structure: any, flags: number): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public isPaddingOffsetRequired(): boolean;
			public onNestedFling(target: android.view.View, velocityX: number, velocityY: number, consumed: boolean): boolean;
			public clearTextFilter(): void;
			public getBottomPaddingOffset(): number;
			public setFastScrollEnabled(enabled: boolean): void;
			public onInterceptHoverEvent(event: android.view.MotionEvent): boolean;
			public isTextAlignmentResolved(): boolean;
			public setAdapter(adapter: android.widget.ListAdapter): void;
			public onRemoteAdapterDisconnected(): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public getSelector(): android.graphics.drawable.Drawable;
			public onTouchModeChanged(isInTouchMode: boolean): void;
			public isInFilterMode(): boolean;
			public addView(child: android.view.View): void;
			public setSmoothScrollbarEnabled(enabled: boolean): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public isScrollingCacheEnabled(): boolean;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public setScrollIndicators(up: android.view.View, down: android.view.View): void;
			public setFriction(friction: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onDisplayHint(hint: number): void;
			public checkInputConnectionProxy(view: android.view.View): boolean;
			public getBottomFadingEdgeStrength(): number;
			public constructor(context: android.content.Context);
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setTopEdgeEffectColor(color: number): void;
			public onNestedScrollAccepted(child: android.view.View, target: android.view.View, axes: number): 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 afterTextChanged(param0: android.text.Editable): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onCancelPendingInputEvents(): void;
			public getCheckedItemPosition(): number;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onTextChanged(s: string, start: number, before: number, count: number): void;
			public scrollListBy(y: number): void;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public computeVerticalScrollExtent(): number;
			public onNestedScroll(target: android.view.View, dxConsumed: number, dyConsumed: number, dxUnconsumed: number, dyUnconsumed: number): void;
			public getRightPaddingOffset(): number;
			public getTopFadingEdgeStrength(): number;
			public onGlobalLayout(): void;
			public getTextFilter(): string;
			public smoothScrollToPosition(position: number): void;
			public setVerticalScrollbarPosition(position: number): void;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.AbsListView.LayoutParams;
			public setChoiceMode(choiceMode: number): void;
			public onFilterComplete(param0: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public onFocusChanged(gainFocus: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			public setSelector(resID: number): void;
			public setScrollBarStyle(style: number): void;
			public setRecyclerListener(listener: android.widget.AbsListView.RecyclerListener): void;
			public addTouchables(views: java.util.ArrayList<android.view.View>): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public getTopPaddingOffset(): number;
			public hasTextFilter(): boolean;
			public getListPaddingBottom(): number;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public setTextFilterEnabled(textFilterEnabled: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public getContextMenuInfo(): android.view.ContextMenu.ContextMenuInfo;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getTopEdgeEffectColor(): number;
			public addView(child: android.view.View, index: number): void;
			public setScrollIndicators(indicators: number): void;
			public setScrollingCacheEnabled(enabled: boolean): void;
			public setRemoteViewsAdapter(intent: android.content.Intent): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setDrawSelectorOnTop(onTop: boolean): void;
			public reclaimViews(views: java.util.List<android.view.View>): void;
			public setFastScrollStyle(styleResId: number): void;
			public setSelector(sel: android.graphics.drawable.Drawable): void;
			public computeVerticalScrollOffset(): number;
			public setEdgeEffectColor(color: number): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onSaveInstanceState(): android.os.Parcelable;
			public onCreateInputConnection(outAttrs: android.view.inputmethod.EditorInfo): android.view.inputmethod.InputConnection;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getSelectedView(): android.view.View;
			public getCacheColorHint(): number;
			public onStartNestedScroll(child: android.view.View, target: android.view.View, nestedScrollAxes: number): boolean;
			public onRemoteAdapterConnected(): boolean;
			public onFilterComplete(count: number): void;
			public clearChoices(): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public jumpDrawablesToCurrentState(): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getTranscriptMode(): number;
			public getChoiceMode(): number;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public showContextMenuForChild(originalView: android.view.View): boolean;
			public fling(velocityY: number): void;
			public setMultiChoiceModeListener(listener: android.widget.AbsListView.MultiChoiceModeListener): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public showContextMenu(x: number, y: number): boolean;
			public canScrollList(direction: number): boolean;
			public isTextDirectionResolved(): boolean;
			public setSelectedChildViewEnabled(selectedChildViewEnabled: boolean): void;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public setFilterText(filterText: string): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public getListPaddingLeft(): number;
			public onAttachedToWindow(): void;
			public setVelocityScale(scale: number): void;
			public setStackFromBottom(stackFromBottom: boolean): void;
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			public pointToRowId(x: number, y: number): number;
		}
		export module AbsListView {
			export class LayoutParams extends android.view.ViewGroup.LayoutParams {
				public static class: java.lang.Class<android.widget.AbsListView.LayoutParams>;
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public constructor(w: number, h: number);
				public constructor(w: number, h: number, viewType: number);
			}
			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: 2;
				public static SCROLL_STATE_TOUCH_SCROLL: 1;
				public static SCROLL_STATE_IDLE: 0;
				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 setSplitTrack(splitTrack: boolean): void;
			public setThumbTintList(tint: android.content.res.ColorStateList): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setThumb(thumb: android.graphics.drawable.Drawable): void;
			public constructor(context: android.content.Context);
			public setThumbTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public setMin(min: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setThumbTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public setTickMarkTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public drawableHotspotChanged(x: number, y: number): void;
			public getTickMarkTintMode(): android.graphics.PorterDuff.Mode;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getTickMarkTintBlendMode(): android.graphics.BlendMode;
			public setTickMarkTintList(tint: android.content.res.ColorStateList): void;
			public getSplitTrack(): boolean;
			public getAccessibilityClassName(): string;
			public setMax(max: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setTickMarkTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public onDraw(canvas: android.graphics.Canvas): void;
			public setThumbOffset(thumbOffset: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getThumbTintBlendMode(): android.graphics.BlendMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public jumpDrawablesToCurrentState(): void;
			public setTickMark(tickMark: android.graphics.drawable.Drawable): void;
			public setSystemGestureExclusionRects(rects: java.util.List<android.graphics.Rect>): void;
			public getThumb(): android.graphics.drawable.Drawable;
			public getTickMarkTintList(): android.content.res.ColorStateList;
			public getThumbTintMode(): android.graphics.PorterDuff.Mode;
			public getTickMark(): android.graphics.drawable.Drawable;
			public getThumbTintList(): android.content.res.ColorStateList;
			public setKeyProgressIncrement(increment: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public verifyDrawable(who: android.graphics.drawable.Drawable): boolean;
			public getKeyProgressIncrement(): number;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public getThumbOffset(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public onTouchEvent(event: android.view.MotionEvent): boolean;
		}
	}
}

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(position: number, animate: boolean): void;
			public setSelection(param0: 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public autofill(value: android.view.autofill.AutofillValue): void;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 onMeasure(widthMeasureSpec: number, heightMeasureSpec: 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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setSelection(position: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public getAdapter(): android.widget.SpinnerAdapter;
			public getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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.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 onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public setAdapter(adapter: android.widget.SpinnerAdapter): void;
			public pointToPosition(x: number, y: number): number;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public setAdapter(param0: any): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public getSelectedView(): android.view.View;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			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 removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public autofill(values: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public dispatchRestoreInstanceState(container: android.util.SparseArray<android.os.Parcelable>): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export class AbsoluteLayout extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.AbsoluteLayout>;
			/** @deprecated */
			public shouldDelayChildPressedState(): 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 sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			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;
			/** @deprecated */
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			/** @deprecated */
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): 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 removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			/** @deprecated */
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
			/** @deprecated */
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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;
				/** @deprecated */
				public debug(output: string): string;
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public constructor(source: android.view.ViewGroup.LayoutParams);
				/** @deprecated */
				public constructor(width: number, height: number, x: number, y: number);
				/** @deprecated */
				public constructor(source: android.view.ViewGroup.LayoutParams);
				/** @deprecated */
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
			}
		}
	}
}

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 onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public getOverflowIcon(): android.graphics.drawable.Drawable;
			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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public dismissPopupMenus(): void;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 hideOverflowMenu(): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: 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 setPopupTheme(resId: number): void;
			public setOnMenuItemClickListener(listener: android.widget.ActionMenuView.OnMenuItemClickListener): void;
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 generateLayoutParams(attrs: android.util.AttributeSet): android.widget.ActionMenuView.LayoutParams;
			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(attrs: android.util.AttributeSet): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public showOverflowMenu(): boolean;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public generateLayoutParams(lp: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): 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 checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			public removeView(param0: android.view.View): void;
			public isOverflowMenuShowing(): boolean;
			public clearChildFocus(param0: android.view.View): void;
			public setOverflowIcon(icon: android.graphics.drawable.Drawable): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.widget.ActionMenuView.LayoutParams;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
		}
		export module ActionMenuView {
			export class LayoutParams extends android.widget.LinearLayout.LayoutParams {
				public static class: java.lang.Class<android.widget.ActionMenuView.LayoutParams>;
				public constructor(p: android.view.ViewGroup.LayoutParams);
				public constructor(other: android.view.ViewGroup.LayoutParams);
				public constructor(other: android.widget.ActionMenuView.LayoutParams);
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public constructor(width: number, height: number, weight: number);
				public constructor(source: android.widget.LinearLayout.LayoutParams);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
			}
			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(): androidNative.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: -2147483648;
			public static IGNORE_ITEM_VIEW_TYPE: -1;
			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(): androidNative.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: -1;
			public static INVALID_ROW_ID: -9223372036854775808;
			public static ITEM_VIEW_TYPE_HEADER_OR_FOOTER: -2;
			public static ITEM_VIEW_TYPE_IGNORE: -1;
			public setSelection(param0: number): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 removeViewAt(index: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public removeView(child: android.view.View): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public setOnClickListener(l: android.view.View.OnClickListener): void;
			public setEmptyView(emptyView: android.view.View): 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 performItemClick(view: android.view.View, position: number, id: number): boolean;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setFocusableInTouchMode(focusable: boolean): void;
			public getItemIdAtPosition(position: number): number;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public setFocusable(focusable: boolean): void;
			public setOnItemSelectedListener(listener: android.widget.AdapterView.OnItemSelectedListener): void;
			public getSelectedItemId(): number;
			public getEmptyView(): android.view.View;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public removeAllViews(): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getOnItemSelectedListener(): android.widget.AdapterView.OnItemSelectedListener;
			public dispatchRestoreInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setOnItemClickListener(listener: android.widget.AdapterView.OnItemClickListener): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public getSelectedItem(): any;
			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 canAnimate(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getOnItemLongClickListener(): android.widget.AdapterView.OnItemLongClickListener;
			public addView(child: android.view.View, index: number): void;
			public getCount(): number;
			public setFocusable(focusable: number): void;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setOnItemLongClickListener(listener: android.widget.AdapterView.OnItemLongClickListener): 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 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;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public getSelectedView(): android.view.View;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public getPositionForView(view: android.view.View): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAdapter(): any;
			public getItemAtPosition(position: number): any;
			public onProvideAutofillStructure(structure: any, flags: number): void;
			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 dispatchSaveInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public getSelectedItemPosition(): number;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
		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(targetView: android.view.View, position: number, id: 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 deferNotifyDataSetChanged(): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setAdapter(adapter: android.widget.Adapter): void;
			public constructor(context: android.content.Context);
			public setAnimateFirstView(animate: boolean): void;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): 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 recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public showNext(): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public advance(): void;
			public getDisplayedChild(): number;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public setDisplayedChild(whichChild: number): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public setOutAnimation(context: android.content.Context, resourceID: number): void;
			public getAdapter(): android.widget.Adapter;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setInAnimation(inAnimation: android.animation.ObjectAnimator): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public setSelection(position: number): void;
			public setOutAnimation(outAnimation: android.animation.ObjectAnimator): void;
			public setRemoteViewsAdapter(intent: android.content.Intent): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			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 onSaveInstanceState(): android.os.Parcelable;
			public setInAnimation(context: android.content.Context, resourceID: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public getSelectedView(): android.view.View;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public onRemoteAdapterConnected(): boolean;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public getOutAnimation(): android.animation.ObjectAnimator;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public showPrevious(): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public getCurrentView(): android.view.View;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
	}
}

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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setAdapter(adapter: android.widget.Adapter): void;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public onWindowVisibilityChanged(visibility: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 setFlipInterval(flipInterval: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public showNext(): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public advance(): void;
			public isAutoStart(): boolean;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public showPrevious(): void;
			public getFlipInterval(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setAutoStart(autoStart: boolean): void;
			public requestLayout(): 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 isFlipping(): boolean;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 onAttachedToWindow(): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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 setCursor(cursor: android.database.Cursor): void;
			public getPositionForSection(sectionIndex: number): number;
			public onInvalidated(): void;
			public getPositionForSection(param0: number): number;
			public getSectionForPosition(position: number): number;
			public constructor();
			public getSections(): androidNative.Array<any>;
			public compare(word: string, letter: string): number;
			public constructor(cursor: android.database.Cursor, sortedColumnIndex: number, alphabet: string);
			public onChanged(): void;
			public getSectionForPosition(param0: number): number;
		}
	}
}

declare module android {
	export module widget {
		export class AnalogClock extends android.view.View {
			public static class: java.lang.Class<android.widget.AnalogClock>;
			/** @deprecated */
			public setDialTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setDial(icon: any): void;
			/** @deprecated */
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			/** @deprecated */
			public setSecondHand(icon: any): void;
			/** @deprecated */
			public onDraw(canvas: android.graphics.Canvas): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public onAttachedToWindow(): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getDialTintBlendMode(): android.graphics.BlendMode;
			/** @deprecated */
			public getTimeZone(): string;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public setDialTintList(tint: android.content.res.ColorStateList): void;
			/** @deprecated */
			public setHourHandTintList(tint: android.content.res.ColorStateList): void;
			/** @deprecated */
			public getHourHandTintList(): android.content.res.ColorStateList;
			/** @deprecated */
			public getMinuteHandTintList(): android.content.res.ColorStateList;
			/** @deprecated */
			public setSecondHandTintList(tint: android.content.res.ColorStateList): void;
			/** @deprecated */
			public getSecondHandTintList(): android.content.res.ColorStateList;
			/** @deprecated */
			public onDetachedFromWindow(): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public setHourHandTintBlendMode(blendMode: android.graphics.BlendMode): void;
			/** @deprecated */
			public setSecondHandTintBlendMode(blendMode: android.graphics.BlendMode): void;
			/** @deprecated */
			public setMinuteHand(icon: any): void;
			/** @deprecated */
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			/** @deprecated */
			public setHourHand(icon: any): void;
			/** @deprecated */
			public setMinuteHandTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			/** @deprecated */
			public getDialTintList(): android.content.res.ColorStateList;
			/** @deprecated */
			public setMinuteHandTintList(tint: android.content.res.ColorStateList): void;
			/** @deprecated */
			public getHourHandTintBlendMode(): android.graphics.BlendMode;
			/** @deprecated */
			public getMinuteHandTintBlendMode(): android.graphics.BlendMode;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public setTimeZone(timeZone: string): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			/** @deprecated */
			public onVisibilityAggregated(isVisible: boolean): void;
			/** @deprecated */
			public getSecondHandTintBlendMode(): android.graphics.BlendMode;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

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 setDropDownViewResource(resource: number): void;
			public getItem(param0: number): any;
			public getFilter(): android.widget.Filter;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public remove(object: any): void;
			public static createFromResource(context: android.content.Context, textArrayResId: number, textViewResId: number): android.widget.ArrayAdapter<string>;
			public getItemId(param0: number): number;
			public getDropDownView(position: number, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public constructor(context: android.content.Context, resource: number, textViewResourceId: number, objects: androidNative.Array<any>);
			public add(object: any): void;
			public hasStableIds(): boolean;
			public setNotifyOnChange(notifyOnChange: boolean): void;
			public constructor(context: android.content.Context, resource: number, objects: androidNative.Array<any>);
			public constructor(context: android.content.Context, resource: number, objects: java.util.List<any>);
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public constructor(context: android.content.Context, resource: number, textViewResourceId: number);
			public sort(comparator: java.util.Comparator<any>): void;
			public getView(position: number, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public addAll(items: androidNative.Array<any>): void;
			public constructor(context: android.content.Context, resource: number, textViewResourceId: number, objects: java.util.List<any>);
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public isEnabled(param0: number): boolean;
			public getContext(): android.content.Context;
			public getItemId(position: number): number;
			public getCount(): number;
			public clear(): void;
			public setDropDownViewTheme(theme: android.content.res.Resources.Theme): void;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public isEmpty(): boolean;
			public constructor();
			public addAll(collection: java.util.Collection<any>): void;
			public insert(object: any, index: number): void;
			public constructor(context: android.content.Context, resource: number);
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getPosition(item: any): number;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public getItem(position: number): any;
			public getAutofillOptions(): androidNative.Array<string>;
			public areAllItemsEnabled(): boolean;
			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 getValidator(): android.widget.AutoCompleteTextView.Validator;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setText(text: string): void;
			public replaceText(text: string): void;
			public onDisplayHint(hint: number): void;
			public setDropDownVerticalOffset(offset: number): void;
			public setDropDownWidth(width: number): void;
			public constructor(context: android.content.Context);
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number, popupTheme: android.content.res.Resources.Theme);
			public getThreshold(): number;
			public getOnItemClickListener(): android.widget.AdapterView.OnItemClickListener;
			public getDropDownVerticalOffset(): number;
			public getInputMethodMode(): number;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public performCompletion(): void;
			public setText(text: string, type: android.widget.TextView.BufferType): void;
			public setDropDownBackgroundDrawable(d: android.graphics.drawable.Drawable): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public getItemSelectedListener(): android.widget.AdapterView.OnItemSelectedListener;
			public onFocusChanged(focused: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public setOnDismissListener(dismissListener: android.widget.AutoCompleteTextView.OnDismissListener): void;
			public getListSelection(): number;
			public setDropDownHeight(height: number): void;
			public getDropDownHeight(): number;
			public getDropDownBackground(): android.graphics.drawable.Drawable;
			public setOnItemClickListener(l: android.widget.AdapterView.OnItemClickListener): void;
			public getDropDownAnchor(): number;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setThreshold(threshold: number): void;
			public onKeyPreIme(keyCode: number, event: android.view.KeyEvent): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setText(text: string, filter: boolean): void;
			public performFiltering(text: string, keyCode: number): void;
			public getAccessibilityClassName(): string;
			public getFilter(): android.widget.Filter;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getDropDownWidth(): number;
			public isPopupShowing(): boolean;
			public setFrame(l: number, t: number, r: number, b: number): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public clearListSelection(): void;
			public setInputMethodMode(mode: number): void;
			public setValidator(validator: android.widget.AutoCompleteTextView.Validator): void;
			public setOnClickListener(listener: android.view.View.OnClickListener): void;
			public refreshAutoCompleteResults(): void;
			public getDropDownHorizontalOffset(): number;
			public onFilterComplete(count: number): void;
			public setDropDownBackgroundResource(id: number): void;
			public setOnItemSelectedListener(l: android.widget.AdapterView.OnItemSelectedListener): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getItemClickListener(): android.widget.AdapterView.OnItemClickListener;
			public setListSelection(position: number): void;
			public onPreDraw(): boolean;
			public setText(text: androidNative.Array<string>, start: number, len: number): void;
			public setText(resid: number, type: android.widget.TextView.BufferType): void;
			public convertSelectionToString(selectedItem: any): string;
			public onFilterComplete(param0: number): void;
			public setAdapter(adapter: android.widget.ListAdapter): void;
			public setDropDownHorizontalOffset(offset: number): void;
			public onWindowFocusChanged(hasWindowFocus: boolean): void;
			public performValidation(): void;
			public getOnItemSelectedListener(): android.widget.AdapterView.OnItemSelectedListener;
			public setText(resid: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public enoughToFilter(): boolean;
			public setCompletionHint(hint: string): void;
			public setDropDownAnchor(id: number): void;
			public isPerformingCompletion(): boolean;
			public dismissDropDown(): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public getCompletionHint(): string;
			public onAttachedToWindow(): void;
			public onCommitCompletion(completion: android.view.inputmethod.CompletionInfo): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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 getItemId(param0: number): number;
			public getDropDownView(position: number, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public hasStableIds(): boolean;
			public constructor();
			public registerDataSetObserver(observer: android.database.DataSetObserver): void;
			public getItemViewType(position: number): number;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEnabled(position: number): boolean;
			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 getAutofillOptions(): androidNative.Array<string>;
			public isEnabled(param0: number): boolean;
			public unregisterDataSetObserver(observer: android.database.DataSetObserver): void;
			public setAutofillOptions(options: androidNative.Array<string>): void;
			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 onGroupExpanded(groupPosition: number): void;
			public getCombinedGroupId(groupId: number): number;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCount(param0: number): number;
			public getChildTypeCount(): 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 getCombinedChildId(groupId: number, childId: number): number;
			public getGroupId(param0: number): number;
			public getGroupType(param0: number): number;
			public getCombinedChildId(param0: number, param1: number): number;
			public getGroupCount(): number;
			public getChildType(groupPosition: number, childPosition: number): number;
			public getGroupType(groupPosition: number): number;
			public onGroupCollapsed(groupPosition: number): void;
			public isEmpty(): boolean;
			public getChildId(param0: number, param1: number): number;
			public constructor();
			public registerDataSetObserver(observer: android.database.DataSetObserver): void;
			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 unregisterDataSetObserver(observer: android.database.DataSetObserver): void;
			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 onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onPreDraw(): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 getDateTextAppearance(): number;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public setSelectedDateVerticalBar(drawable: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public setMinDate(minDate: 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;
			/** @deprecated */
			public setUnfocusedMonthDateColor(color: number): void;
			/** @deprecated */
			public getFocusedMonthDateColor(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getMinDate(): number;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public setFocusedMonthDateColor(color: number): void;
			public getMaxDate(): number;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			/** @deprecated */
			public setShowWeekNumber(showWeekNumber: boolean): void;
			public setDate(date: number, animate: boolean, center: boolean): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public setOnDateChangeListener(listener: android.widget.CalendarView.OnDateChangeListener): void;
			/** @deprecated */
			public setWeekSeparatorLineColor(color: number): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public setWeekDayTextAppearance(resourceId: number): void;
			public canResolveTextDirection(): boolean;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setWeekNumberColor(color: number): void;
			/** @deprecated */
			public setSelectedDateVerticalBar(resourceId: number): void;
			/** @deprecated */
			public setShownWeekCount(count: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public getSelectedDateVerticalBar(): android.graphics.drawable.Drawable;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public setDateTextAppearance(resourceId: number): void;
			/** @deprecated */
			public getShownWeekCount(): number;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public setMaxDate(maxDate: 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 addView(child: android.view.View, index: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @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 setFirstDayOfWeek(firstDayOfWeek: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			/** @deprecated */
			public setSelectedWeekBackgroundColor(color: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getDate(): number;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public getSelectedWeekBackgroundColor(): number;
			public getFirstDayOfWeek(): number;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: 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;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public setDate(date: number): void;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
		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 isChecked(): boolean;
			public toggle(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onPreDraw(): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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 onDraw(canvas: android.graphics.Canvas): void;
			public toggle(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public setCheckMarkTintBlendMode(tintMode: android.graphics.BlendMode): void;
			public setChecked(checked: boolean): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public setCheckMarkTintList(tint: android.content.res.ColorStateList): void;
			public jumpDrawablesToCurrentState(): void;
			public onPreDraw(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setCheckMarkTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public setChecked(param0: boolean): void;
			public getCheckMarkDrawable(): android.graphics.drawable.Drawable;
			public setCheckMarkDrawable(d: android.graphics.drawable.Drawable): void;
			public isChecked(): boolean;
			public onCreateDrawableState(extraSpace: number): androidNative.Array<number>;
			public setCheckMarkDrawable(resId: number): void;
			public getCheckMarkTintMode(): android.graphics.PorterDuff.Mode;
			public getCheckMarkTintBlendMode(): android.graphics.BlendMode;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public drawableHotspotChanged(x: number, y: number): void;
			public verifyDrawable(who: android.graphics.drawable.Drawable): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getCheckMarkTintList(): android.content.res.ColorStateList;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public setVisibility(visibility: number): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

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 constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getBase(): number;
			public isTheFinalCountDown(): boolean;
			public getContentDescription(): string;
			public constructor(context: android.content.Context);
			public setFormat(format: string): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public stop(): void;
			public onPreDraw(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public start(): void;
			public onDetachedFromWindow(): void;
			public onVisibilityChanged(changedView: android.view.View, visibility: number): void;
			public sendAccessibilityEvent(param0: number): void;
			public isCountDown(): boolean;
			public onWindowVisibilityChanged(visibility: number): void;
			public setOnChronometerTickListener(listener: android.widget.Chronometer.OnChronometerTickListener): void;
			public getOnChronometerTickListener(): android.widget.Chronometer.OnChronometerTickListener;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setCountDown(countDown: boolean): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public getFormat(): string;
			public setBase(base: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
		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 onDraw(canvas: android.graphics.Canvas): void;
			public toggle(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getButtonTintList(): android.content.res.ColorStateList;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public getCompoundPaddingRight(): number;
			public autofill(value: android.view.autofill.AutofillValue): void;
			public setChecked(checked: boolean): void;
			public constructor(context: android.content.Context);
			public getButtonTintMode(): android.graphics.PorterDuff.Mode;
			public setButtonDrawable(resId: number): void;
			public setButtonIcon(icon: any): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public setOnCheckedChangeListener(listener: android.widget.CompoundButton.OnCheckedChangeListener): void;
			public jumpDrawablesToCurrentState(): void;
			public onPreDraw(): boolean;
			public setButtonTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public getAutofillType(): number;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setChecked(param0: boolean): void;
			public isChecked(): boolean;
			public getButtonTintBlendMode(): android.graphics.BlendMode;
			public setButtonDrawable(drawable: android.graphics.drawable.Drawable): void;
			public getButtonDrawable(): android.graphics.drawable.Drawable;
			public onCreateDrawableState(extraSpace: number): androidNative.Array<number>;
			public autofill(values: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public getCompoundPaddingLeft(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public drawableHotspotChanged(x: number, y: number): void;
			public verifyDrawable(who: android.graphics.drawable.Drawable): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setStateDescription(stateDescription: string): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public performClick(): boolean;
			public setButtonTintList(tint: android.content.res.ColorStateList): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public setButtonTintBlendMode(tintMode: android.graphics.BlendMode): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
		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: 1;
			public static FLAG_REGISTER_CONTENT_OBSERVER: 2;
			public getItem(param0: number): any;
			public getFilter(): android.widget.Filter;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public constructor(context: android.content.Context, c: android.database.Cursor, flags: number);
			public getItemId(param0: number): number;
			public getDropDownView(position: number, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public hasStableIds(): boolean;
			public newView(param0: android.content.Context, param1: android.database.Cursor, param2: android.view.ViewGroup): android.view.View;
			public swapCursor(newCursor: android.database.Cursor): android.database.Cursor;
			public convertToString(cursor: android.database.Cursor): string;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public getView(position: number, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public isEnabled(param0: number): boolean;
			public getItemId(position: number): number;
			public getCount(): number;
			/** @deprecated */
			public init(context: android.content.Context, c: android.database.Cursor, autoRequery: boolean): void;
			public setDropDownViewTheme(theme: android.content.res.Resources.Theme): void;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			/** @deprecated */
			public constructor(context: android.content.Context, c: android.database.Cursor);
			public isEmpty(): boolean;
			public newDropDownView(context: android.content.Context, cursor: android.database.Cursor, parent: android.view.ViewGroup): android.view.View;
			public changeCursor(cursor: android.database.Cursor): void;
			public constructor();
			public bindView(param0: android.view.View, param1: android.content.Context, param2: android.database.Cursor): void;
			public constructor(context: android.content.Context, c: android.database.Cursor, autoRequery: boolean);
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public getCursor(): android.database.Cursor;
			public getItem(position: number): any;
			public getAutofillOptions(): androidNative.Array<string>;
			public areAllItemsEnabled(): boolean;
			public setFilterQueryProvider(filterQueryProvider: android.widget.FilterQueryProvider): void;
			public getFilterQueryProvider(): android.widget.FilterQueryProvider;
			public onContentChanged(): void;
			public runQueryOnBackgroundThread(constraint: string): android.database.Cursor;
		}
	}
}

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 getChildrenCount(param0: number): number;
			public newChildView(param0: android.content.Context, param1: android.database.Cursor, param2: boolean, param3: android.view.ViewGroup): android.view.View;
			public onGroupCollapsed(param0: number): void;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCursor(param0: android.database.Cursor): android.database.Cursor;
			public getGroupType(param0: number): number;
			public isChildSelectable(groupPosition: number, childPosition: number): boolean;
			public getCombinedChildId(param0: number, param1: number): number;
			public getChildId(groupPosition: number, childPosition: number): number;
			public getGroupView(groupPosition: number, isExpanded: boolean, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public getGroupId(groupPosition: number): number;
			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 changeCursor(cursor: android.database.Cursor): void;
			public constructor();
			public setChildrenCursor(groupPosition: number, childrenCursor: android.database.Cursor): void;
			public onGroupExpanded(param0: number): void;
			public isChildSelectable(param0: number, param1: number): boolean;
			public getGroup(param0: number): any;
			public getChildView(groupPosition: number, childPosition: number, isLastChild: boolean, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public getCursor(): android.database.Cursor;
			public constructor(cursor: android.database.Cursor, context: android.content.Context);
			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 setFilterQueryProvider(filterQueryProvider: android.widget.FilterQueryProvider): void;
			public notifyDataSetInvalidated(): void;
			public notifyDataSetChanged(): void;
			public getFilter(): android.widget.Filter;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public hasStableIds(): boolean;
			public getChildTypeCount(): number;
			public convertToString(cursor: android.database.Cursor): string;
			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 setGroupCursor(cursor: android.database.Cursor): void;
			public getGroupId(param0: number): number;
			public getGroupCount(): number;
			public getChildrenCount(groupPosition: number): number;
			public onGroupCollapsed(groupPosition: number): void;
			public isEmpty(): boolean;
			public getChild(groupPosition: number, childPosition: number): android.database.Cursor;
			public constructor(cursor: android.database.Cursor, context: android.content.Context, autoRequery: boolean);
			public getGroup(groupPosition: number): android.database.Cursor;
			public notifyDataSetChanged(releaseCursors: boolean): void;
			public getGroupTypeCount(): number;
			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 runQueryOnBackgroundThread(constraint: string): android.database.Cursor;
		}
	}
}

declare module android {
	export module widget {
		export class DatePicker extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.DatePicker>;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public setMinDate(minDate: 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 dispatchProvideAutofillStructure(structure: any, flags: number): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getMinDate(): number;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			/** @deprecated */
			public getSpinnersShown(): boolean;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public setEnabled(enabled: boolean): void;
			public getMaxDate(): number;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public getAutofillType(): number;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getDayOfMonth(): number;
			public dispatchRestoreInstanceState(container: android.util.SparseArray<android.os.Parcelable>): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public isEnabled(): boolean;
			public getMonth(): number;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public getCalendarViewShown(): boolean;
			public requestFitSystemWindows(): void;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			/** @deprecated */
			public setCalendarViewShown(shown: boolean): void;
			public setMaxDate(maxDate: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public autofill(value: android.view.autofill.AutofillValue): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public setOnDateChangedListener(onDateChangedListener: android.widget.DatePicker.OnDateChangedListener): 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 setFirstDayOfWeek(firstDayOfWeek: 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;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public updateDate(year: number, month: number, dayOfMonth: number): void;
			public init(year: number, monthOfYear: number, dayOfMonth: number, onDateChangedListener: android.widget.DatePicker.OnDateChangedListener): void;
			public getFirstDayOfWeek(): number;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: 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;
			public autofill(values: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			/** @deprecated */
			public setSpinnersShown(shown: boolean): void;
			public isTextDirectionResolved(): boolean;
			public getYear(): number;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
		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: 1;
			public static DIGITS_AND_LETTERS_NO_DIGITS: 2;
			public static DIGITS_AND_LETTERS_NO_LETTERS: 3;
			public static DIGITS_ONLY: 4;
			public static LETTERS_ONLY: 5;
			/** @deprecated */
			public removeFilterWatcher(watcher: android.text.TextWatcher): 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			/** @deprecated */
			public onFocusChanged(focused: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): 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 onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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;
			/** @deprecated */
			public getDigits(): string;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getLetters(): string;
			/** @deprecated */
			public onModeChange(oldMode: number, newMode: number): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			/** @deprecated */
			public getMode(): number;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			/** @deprecated */
			public clearText(): void;
			/** @deprecated */
			public append(text: string): void;
			public requestLayout(): void;
			/** @deprecated */
			public setMode(newMode: number): 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;
			/** @deprecated */
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public setLettersWatcher(watcher: android.text.TextWatcher): void;
			/** @deprecated */
			public onFinishInflate(): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public isQwertyKeyboard(): boolean;
			public addView(child: android.view.View): void;
			/** @deprecated */
			public getFilterText(): string;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
			/** @deprecated */
			public setDigitsWatcher(watcher: android.text.TextWatcher): void;
			/** @deprecated */
			public setFilterWatcher(watcher: android.text.TextWatcher): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			/** @deprecated */
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export class DigitalClock extends android.widget.TextView {
			public static class: java.lang.Class<android.widget.DigitalClock>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public onDetachedFromWindow(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public getAccessibilityClassName(): string;
			/** @deprecated */
			public constructor(context: android.content.Context);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public onAttachedToWindow(): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public onPreDraw(): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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 static DEFAULT_BLEND_MODE: android.graphics.BlendMode;
			public getColor(): number;
			public setSize(width: number, height: number): void;
			public finish(): void;
			public onAbsorb(velocity: number): void;
			public onPull(deltaDistance: number, displacement: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public draw(canvas: android.graphics.Canvas): boolean;
			public setBlendMode(blendmode: android.graphics.BlendMode): void;
			public onPullDistance(deltaDistance: number, displacement: number): number;
			public constructor(context: android.content.Context);
			public setColor(color: number): void;
			public getBlendMode(): android.graphics.BlendMode;
			public isFinished(): boolean;
			public getDistance(): number;
			public onRelease(): void;
			public getMaxHeight(): number;
			public onPull(deltaDistance: number): void;
		}
	}
}

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 isStyleShortcutEnabled(): boolean;
			public getDefaultMovementMethod(): android.text.method.MovementMethod;
			public onTextContextMenuItem(id: number): boolean;
			public getFreezesText(): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setText(text: string): void;
			public setSelection(index: number): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getText(): android.text.Editable;
			public onPreDraw(): boolean;
			public setText(text: androidNative.Array<string>, start: number, len: number): void;
			public setText(text: string, type: android.widget.TextView.BufferType): void;
			public setEllipsize(ellipsis: android.text.TextUtils.TruncateAt): void;
			public getDefaultEditable(): boolean;
			public onKeyShortcut(keyCode: number, event: android.view.KeyEvent): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setText(resid: number, type: android.widget.TextView.BufferType): void;
			public setStyleShortcutsEnabled(enabled: boolean): void;
			public extendSelection(index: number): void;
			public sendAccessibilityEvent(param0: number): void;
			public setSelection(start: number, stop: number): void;
			public getText(): string;
			public setText(resid: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

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: -1;
			public static PACKED_POSITION_TYPE_CHILD: 1;
			public static PACKED_POSITION_TYPE_GROUP: 0;
			public static PACKED_POSITION_TYPE_NULL: 2;
			public static PACKED_POSITION_VALUE_NULL: 4294967295;
			public getExpandableListPosition(flatListPosition: number): number;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public static getPackedPositionChild(packedPosition: number): number;
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public expandGroup(groupPos: number, animate: boolean): 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 isGroupExpanded(groupPosition: number): boolean;
			public setGroupIndicator(groupIndicator: android.graphics.drawable.Drawable): void;
			public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public performItemClick(v: android.view.View, position: number, id: number): boolean;
			public static getPackedPositionForGroup(groupPosition: number): number;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public setIndicatorBounds(left: number, right: 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 setAdapter(adapter: android.widget.ExpandableListAdapter): void;
			public onInitializeAccessibilityNodeInfoForItem(view: android.view.View, position: number, info: android.view.accessibility.AccessibilityNodeInfo): void;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public onTouchModeChanged(param0: boolean): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public setSelectedGroup(groupPosition: number): void;
			public setChildIndicatorBoundsRelative(start: number, end: number): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public setChildDivider(childDivider: android.graphics.drawable.Drawable): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public onGlobalLayout(): void;
			public requestLayout(): void;
			public onFilterComplete(param0: number): void;
			public setChildIndicatorBounds(left: number, right: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public getExpandableListAdapter(): android.widget.ExpandableListAdapter;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public static getPackedPositionGroup(packedPosition: number): number;
			public getAdapter(): android.widget.ListAdapter;
			public setOnGroupExpandListener(onGroupExpandListener: android.widget.ExpandableListView.OnGroupExpandListener): void;
			public isLayoutDirectionResolved(): boolean;
			public setOnGroupCollapseListener(onGroupCollapseListener: android.widget.ExpandableListView.OnGroupCollapseListener): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public setChildIndicator(childIndicator: android.graphics.drawable.Drawable): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public expandGroup(groupPos: number): boolean;
			public static getPackedPositionForChild(groupPosition: number, childPosition: number): number;
			public addView(child: android.view.View, index: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public collapseGroup(groupPos: number): boolean;
			public setSelectedChild(groupPosition: number, childPosition: number, shouldExpandGroup: boolean): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setOnChildClickListener(onChildClickListener: android.widget.ExpandableListView.OnChildClickListener): void;
			public setOnItemClickListener(l: android.widget.AdapterView.OnItemClickListener): 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 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;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setOnGroupClickListener(onGroupClickListener: android.widget.ExpandableListView.OnGroupClickListener): void;
			public getFlatListPosition(packedPosition: number): number;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAdapter(): any;
			public isTextAlignmentResolved(): boolean;
			public setAdapter(adapter: android.widget.ListAdapter): void;
			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 getSelectedPosition(): number;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public setIndicatorBoundsRelative(start: number, end: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			public static getPackedPositionType(packedPosition: number): number;
		}
		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(targetView: android.view.View, packedPosition: number, id: 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 filter(constraint: string, listener: android.widget.Filter.FilterListener): void;
			public publishResults(param0: string, param1: android.widget.Filter.FilterResults): void;
			public convertResultToString(resultValue: any): string;
			public filter(constraint: 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 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public shouldDelayChildPressedState(): boolean;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 onMeasure(widthMeasureSpec: number, heightMeasureSpec: 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(lp: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			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;
			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(attrs: android.util.AttributeSet): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.FrameLayout.LayoutParams;
			/** @deprecated */
			public getConsiderGoneChildrenWhenMeasuring(): boolean;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setMeasureAllChildren(measureAll: boolean): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			public removeView(param0: android.view.View): void;
			public setForegroundGravity(foregroundGravity: number): 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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: -1;
				public gravity: number;
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				public constructor(width: number, height: number, gravity: number);
				public constructor(source: 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>;
			/** @deprecated */
			public getContextMenuInfo(): android.view.ContextMenu.ContextMenuInfo;
			/** @deprecated */
			public showContextMenuForChild(originalView: android.view.View): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context);
			/** @deprecated */
			public getChildStaticTransformation(child: android.view.View, t: android.view.animation.Transformation): boolean;
			/** @deprecated */
			public onAttachedToWindow(): void;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 onSingleTapUp(param0: android.view.MotionEvent): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public getChildDrawingOrder(drawingPosition: number): number;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			/** @deprecated */
			public setSpacing(spacing: number): void;
			public addView(child: android.view.View, width: number, height: number): void;
			/** @deprecated */
			public getChildDrawingOrder(childCount: number, i: number): number;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			/** @deprecated */
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 onScroll(e1: android.view.MotionEvent, e2: android.view.MotionEvent, distanceX: number, distanceY: number): boolean;
			/** @deprecated */
			public onDown(e: android.view.MotionEvent): boolean;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			/** @deprecated */
			public dispatchSetPressed(pressed: boolean): void;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			/** @deprecated */
			public computeHorizontalScrollRange(): number;
			public isLayoutRequested(): boolean;
			/** @deprecated */
			public showContextMenu(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public dispatchSetSelected(selected: boolean): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public onDown(param0: android.view.MotionEvent): boolean;
			public onLongPress(param0: android.view.MotionEvent): void;
			public onFling(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			/** @deprecated */
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public onSingleTapUp(e: android.view.MotionEvent): boolean;
			/** @deprecated */
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public computeHorizontalScrollExtent(): number;
			/** @deprecated */
			public onFocusChanged(gainFocus: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onShowPress(param0: android.view.MotionEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			/** @deprecated */
			public setAnimationDuration(animationDurationMillis: number): void;
			public onScroll(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
			public isLayoutDirectionResolved(): boolean;
			/** @deprecated */
			public setCallbackDuringFling(shouldCallback: boolean): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			/** @deprecated */
			public setGravity(gravity: 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;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public addView(child: android.view.View, index: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			/** @deprecated */
			public setUnselectedAlpha(unselectedAlpha: number): void;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public computeHorizontalScrollOffset(): number;
			/** @deprecated */
			public showContextMenu(x: number, y: number): boolean;
			/** @deprecated */
			public getAccessibilityClassName(): string;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			/** @deprecated */
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			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;
			/** @deprecated */
			public onFling(e1: android.view.MotionEvent, e2: android.view.MotionEvent, velocityX: number, velocityY: number): boolean;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			/** @deprecated */
			public onShowPress(e: android.view.MotionEvent): 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public showContextMenu(x: number, y: number): boolean;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			/** @deprecated */
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			/** @deprecated */
			public onLongPress(e: android.view.MotionEvent): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			/** @deprecated */
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			/** @deprecated */
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
		}
		export module Gallery {
			export class LayoutParams extends android.view.ViewGroup.LayoutParams {
				public static class: java.lang.Class<android.widget.Gallery.LayoutParams>;
				public constructor(width: number, height: number);
				public constructor(source: android.view.ViewGroup.LayoutParams);
				/** @deprecated */
				public constructor(source: android.view.ViewGroup.LayoutParams);
				/** @deprecated */
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				/** @deprecated */
				public constructor(w: number, h: number);
			}
		}
	}
}

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: 0;
			public static ALIGN_MARGINS: 1;
			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: 0;
			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: -2147483648;
			public static VERTICAL: 1;
			public static spec(start: number, size: number, weight: number): android.widget.GridLayout.Spec;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public setColumnOrderPreserved(columnOrderPreserved: boolean): void;
			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 generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public static spec(start: number, alignment: android.widget.GridLayout.Alignment): android.widget.GridLayout.Spec;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isRowOrderPreserved(): boolean;
			public isLayoutRequested(): boolean;
			public setRowCount(rowCount: number): void;
			public getUseDefaultMargins(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public requestLayout(): void;
			public getColumnCount(): number;
			public childDrawableStateChanged(param0: android.view.View): void;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			public static spec(start: number, alignment: android.widget.GridLayout.Alignment, weight: number): android.widget.GridLayout.Spec;
			public isColumnOrderPreserved(): boolean;
			public setAlignmentMode(alignmentMode: number): void;
			public canResolveTextDirection(): boolean;
			public onViewRemoved(child: android.view.View): void;
			public setColumnCount(columnCount: number): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setOrientation(orientation: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setUseDefaultMargins(useDefaultMargins: boolean): void;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.GridLayout.LayoutParams;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public generateDefaultLayoutParams(): android.widget.GridLayout.LayoutParams;
			public getRowCount(): number;
			public static spec(start: number, size: number, alignment: android.widget.GridLayout.Alignment): android.widget.GridLayout.Spec;
			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 onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public static spec(start: number, size: number): android.widget.GridLayout.Spec;
			public getTextAlignment(): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public generateLayoutParams(lp: android.view.ViewGroup.LayoutParams): android.widget.GridLayout.LayoutParams;
			public static spec(start: number): android.widget.GridLayout.Spec;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public onMeasure(widthSpec: number, heightSpec: number): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getOrientation(): number;
			public onViewAdded(child: android.view.View): 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public setRowOrderPreserved(rowOrderPreserved: boolean): void;
			public static spec(start: number, size: number, alignment: android.widget.GridLayout.Alignment, weight: number): android.widget.GridLayout.Spec;
			public addView(child: android.view.View): void;
			public static spec(start: number, weight: number): android.widget.GridLayout.Spec;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
		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(context: android.content.Context, attrs: android.util.AttributeSet);
				public setGravity(gravity: number): void;
				public constructor(params: android.view.ViewGroup.MarginLayoutParams);
				public constructor(width: number, height: number);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				public constructor(source: android.widget.GridLayout.LayoutParams);
				public constructor();
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public hashCode(): number;
				public constructor(params: android.view.ViewGroup.LayoutParams);
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public equals(o: any): boolean;
				public setBaseAttributes(attributes: android.content.res.TypedArray, widthAttr: number, heightAttr: number): void;
				public constructor(rowSpec: android.widget.GridLayout.Spec, columnSpec: android.widget.GridLayout.Spec);
			}
			export class Spec extends java.lang.Object {
				public static class: java.lang.Class<android.widget.GridLayout.Spec>;
				public hashCode(): number;
				public equals(that: 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: -1;
			public static NO_STRETCH: 0;
			public static STRETCH_COLUMN_WIDTH: 2;
			public static STRETCH_SPACING: 1;
			public static STRETCH_SPACING_UNIFORM: 3;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 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 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 addView(child: android.view.View, width: number, height: 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 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 onInitializeAccessibilityNodeInfoForItem(view: android.view.View, position: number, info: android.view.accessibility.AccessibilityNodeInfo): void;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public onTouchModeChanged(param0: boolean): void;
			public isLayoutRequested(): boolean;
			public computeVerticalScrollExtent(): number;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public getStretchMode(): number;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public onGlobalLayout(): void;
			public smoothScrollToPosition(position: number): void;
			public requestLayout(): void;
			public onFilterComplete(param0: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public onFocusChanged(gainFocus: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public canResolveTextDirection(): boolean;
			public onKeyMultiple(keyCode: number, repeatCount: number, event: android.view.KeyEvent): boolean;
			public setNumColumns(numColumns: number): void;
			public getVerticalSpacing(): number;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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 setHorizontalSpacing(horizontalSpacing: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getHorizontalSpacing(): number;
			public setColumnWidth(columnWidth: number): void;
			public addView(child: android.view.View, index: number): void;
			public setSelection(position: number): void;
			public setRemoteViewsAdapter(intent: android.content.Intent): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public smoothScrollByOffset(offset: number): void;
			public setGravity(gravity: 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 getColumnWidth(): number;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public setStretchMode(stretchMode: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setAdapter(param0: any): void;
			public smoothScrollToPosition(position: number, boundPosition: number): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getNumColumns(): number;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			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 attachLayoutAnimationParameters(child: android.view.View, params: android.view.ViewGroup.LayoutParams, index: number, count: number): void;
			public isTextAlignmentResolved(): boolean;
			public setAdapter(adapter: android.widget.ListAdapter): void;
			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 setVerticalSpacing(verticalSpacing: number): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
	}
}

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 getItemId(param0: number): number;
			public constructor(headerViewInfos: java.util.ArrayList<android.widget.ListView.FixedViewInfo>, footerViewInfos: java.util.ArrayList<android.widget.ListView.FixedViewInfo>, adapter: android.widget.ListAdapter);
			public hasStableIds(): boolean;
			public getItemViewType(position: number): number;
			public removeHeader(v: android.view.View): boolean;
			public getView(position: number, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getFootersCount(): number;
			public getHeadersCount(): number;
			public isEnabled(param0: number): boolean;
			public getItemId(position: number): number;
			public getCount(): number;
			public removeFooter(v: android.view.View): boolean;
			public isEmpty(): boolean;
			public registerDataSetObserver(observer: android.database.DataSetObserver): void;
			public isEnabled(position: number): boolean;
			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 getItem(position: number): any;
			public getAutofillOptions(): androidNative.Array<string>;
			public unregisterDataSetObserver(observer: android.database.DataSetObserver): void;
		}
	}
}

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(smoothScrollingEnabled: boolean): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public fling(velocityX: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public measureChildWithMargins(child: android.view.View, parentWidthMeasureSpec: number, widthUsed: number, parentHeightMeasureSpec: number, heightUsed: number): void;
			public computeScrollDeltaToGetChildRectOnScreen(rect: android.graphics.Rect): number;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestChildFocus(child: android.view.View, focused: android.view.View): void;
			public requestChildRectangleOnScreen(child: android.view.View, rectangle: android.graphics.Rect, immediate: boolean): boolean;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			public measureChild(child: android.view.View, parentWidthMeasureSpec: number, parentHeightMeasureSpec: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public requestDisallowInterceptTouchEvent(disallowIntercept: boolean): void;
			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 getAccessibilityClassName(): string;
			public fullScroll(direction: number): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public scrollTo(x: number, y: number): void;
			public isSmoothScrollingEnabled(): boolean;
			public executeKeyEvent(event: android.view.KeyEvent): boolean;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onOverScrolled(scrollX: number, scrollY: number, clampedX: boolean, clampedY: boolean): void;
			public onInterceptTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public getMaxScrollAmount(): number;
			public smoothScrollBy(dx: number, dy: number): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public setLeftEdgeEffectColor(color: number): void;
			public canResolveTextDirection(): boolean;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setFillViewport(fillViewport: boolean): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public smoothScrollTo(x: number, y: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public shouldDelayChildPressedState(): boolean;
			public getLeftEdgeEffectColor(): number;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public draw(canvas: android.graphics.Canvas): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public computeHorizontalScrollRange(): number;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public onRequestFocusInDescendants(direction: number, previouslyFocusedRect: android.graphics.Rect): boolean;
			public getParentForAccessibility(): android.view.ViewParent;
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			public setEdgeEffectColor(color: number): 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 onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public setRightEdgeEffectColor(color: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public getRightEdgeEffectColor(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			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 arrowScroll(direction: number): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public pageScroll(direction: number): boolean;
			public addView(child: android.view.View): void;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
	}
}

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 onSetAlpha(alpha: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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 setImageDrawable(drawable: android.graphics.drawable.Drawable): 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public setImageURI(uri: android.net.Uri): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): 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 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setImageResource(resid: number): void;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export class ImageView extends android.view.View {
			public static class: java.lang.Class<android.widget.ImageView>;
			public setImageDrawable(drawable: android.graphics.drawable.Drawable): void;
			public getColorFilter(): android.graphics.ColorFilter;
			public setAdjustViewBounds(adjustViewBounds: boolean): void;
			public getImageTintList(): android.content.res.ColorStateList;
			public drawableStateChanged(): void;
			public setColorFilter(color: number, mode: android.graphics.PorterDuff.Mode): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onVisibilityAggregated(isVisible: boolean): void;
			public setColorFilter(color: number): void;
			public verifyDrawable(dr: android.graphics.drawable.Drawable): boolean;
			public setImageResource(resId: number): void;
			public setColorFilter(cf: android.graphics.ColorFilter): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public getBaselineAlignBottom(): boolean;
			public getImageTintMode(): android.graphics.PorterDuff.Mode;
			public getScaleType(): android.widget.ImageView.ScaleType;
			public setAlpha(alpha: number): void;
			public setMaxHeight(maxHeight: number): void;
			public getImageAlpha(): number;
			public getCropToPadding(): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setImageLevel(level: number): void;
			public getImageMatrix(): android.graphics.Matrix;
			public drawableHotspotChanged(x: number, y: number): void;
			public setImageIcon(icon: any): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAdjustViewBounds(): boolean;
			public getMaxHeight(): number;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public hasOverlappingRendering(): boolean;
			public setImageTintList(tint: android.content.res.ColorStateList): void;
			public setImageAlpha(alpha: number): void;
			public invalidateDrawable(dr: android.graphics.drawable.Drawable): void;
			public onDraw(canvas: android.graphics.Canvas): void;
			public setMaxWidth(maxWidth: number): void;
			public setFrame(l: number, t: number, r: number, b: number): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setBaselineAlignBottom(aligned: boolean): void;
			public animateTransform(matrix: android.graphics.Matrix): void;
			/** @deprecated */
			public setAlpha(alpha: number): void;
			public setImageTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public setImageURI(uri: android.net.Uri): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public jumpDrawablesToCurrentState(): void;
			public setImageMatrix(matrix: android.graphics.Matrix): void;
			public getBaseline(): number;
			public isOpaque(): boolean;
			public setImageBitmap(bm: android.graphics.Bitmap): void;
			public getDrawable(): android.graphics.drawable.Drawable;
			public setCropToPadding(cropToPadding: boolean): void;
			public onCreateDrawableState(extraSpace: number): androidNative.Array<number>;
			public setScaleType(scaleType: android.widget.ImageView.ScaleType): void;
			public getMaxWidth(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public clearColorFilter(): void;
			public setSelected(selected: boolean): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public getImageTintBlendMode(): android.graphics.BlendMode;
			public setImageState(state: androidNative.Array<number>, merge: boolean): void;
			public setVisibility(visibility: number): void;
			public setBaseline(baseline: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public setImageTintMode(tintMode: android.graphics.PorterDuff.Mode): 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 valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<android.widget.ImageView.ScaleType>;
				public static valueOf(name: string): android.widget.ImageView.ScaleType;
			}
		}
	}
}

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: 0;
			public static SHOW_DIVIDER_BEGINNING: 1;
			public static SHOW_DIVIDER_END: 4;
			public static SHOW_DIVIDER_MIDDLE: 2;
			public static SHOW_DIVIDER_NONE: 0;
			public static VERTICAL: 1;
			public setBaselineAlignedChildIndex(i: number): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 setHorizontalGravity(horizontalGravity: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public setVerticalGravity(verticalGravity: number): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): 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 generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public onDraw(canvas: android.graphics.Canvas): void;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public generateLayoutParams(lp: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public isMeasureWithLargestChildEnabled(): boolean;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			public canResolveTextDirection(): boolean;
			public setShowDividers(showDividers: number): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public setOrientation(orientation: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public shouldDelayChildPressedState(): boolean;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public getWeightSum(): number;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public getDividerPadding(): number;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setGravity(gravity: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public setDividerDrawable(divider: android.graphics.drawable.Drawable): void;
			public getTextAlignment(): number;
			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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getBaselineAlignedChildIndex(): number;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setBaselineAligned(baselineAligned: boolean): void;
			public getShowDividers(): number;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getGravity(): number;
			public setWeightSum(weightSum: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getBaseline(): number;
			public getOrientation(): number;
			public setMeasureWithLargestChildEnabled(enabled: boolean): void;
			public setDividerPadding(padding: number): 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			public getDividerDrawable(): android.graphics.drawable.Drawable;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
		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(p: android.view.ViewGroup.LayoutParams);
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public constructor(width: number, height: number, weight: number);
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public constructor(source: android.widget.LinearLayout.LayoutParams);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				public debug(output: string): string;
			}
		}
	}
}

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(): androidNative.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: -2147483648;
			public static IGNORE_ITEM_VIEW_TYPE: -1;
			public getItem(param0: number): any;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEmpty(): boolean;
			public getItemId(param0: number): number;
			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 getAutofillOptions(): androidNative.Array<string>;
			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: 0;
			public static INPUT_METHOD_NEEDED: 1;
			public static INPUT_METHOD_NOT_NEEDED: 2;
			public static MATCH_PARENT: -1;
			public static POSITION_PROMPT_ABOVE: 0;
			public static POSITION_PROMPT_BELOW: 1;
			public static WRAP_CONTENT: -2;
			public createDragToOpenListener(src: android.view.View): android.view.View.OnTouchListener;
			public getSelectedItem(): any;
			public getWidth(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getSoftInputMode(): number;
			public setOnDismissListener(listener: android.widget.PopupWindow.OnDismissListener): void;
			public constructor(context: android.content.Context);
			public setEpicenterBounds(bounds: android.graphics.Rect): void;
			public getInputMethodMode(): number;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public setModal(modal: boolean): void;
			public getAnchorView(): android.view.View;
			public isShowing(): boolean;
			public isInputMethodNotNeeded(): boolean;
			public setSelection(position: number): void;
			public getHeight(): number;
			public setHeight(height: number): void;
			public setHorizontalOffset(offset: number): void;
			public getEpicenterBounds(): android.graphics.Rect;
			public setWindowLayoutType(layoutType: number): void;
			public onKeyPreIme(keyCode: number, event: android.view.KeyEvent): boolean;
			public setAnimationStyle(animationStyle: number): void;
			public getAnimationStyle(): number;
			public getPromptPosition(): number;
			public setBackgroundDrawable(d: android.graphics.drawable.Drawable): void;
			public performItemClick(position: number): boolean;
			public show(): void;
			public setSoftInputMode(mode: number): void;
			public setAnchorView(anchor: android.view.View): void;
			public setVerticalOffset(offset: number): void;
			public getSelectedView(): android.view.View;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public clearListSelection(): void;
			public setInputMethodMode(mode: number): void;
			public getSelectedItemId(): number;
			public setContentWidth(width: number): void;
			public setOnItemSelectedListener(selectedListener: android.widget.AdapterView.OnItemSelectedListener): void;
			public setListSelector(selector: android.graphics.drawable.Drawable): void;
			public setWidth(width: number): void;
			public isModal(): boolean;
			public getVerticalOffset(): number;
			public setPromptView(prompt: android.view.View): void;
			public setAdapter(adapter: android.widget.ListAdapter): void;
			public dismiss(): void;
			public getHorizontalOffset(): number;
			public postShow(): void;
			public setDropDownGravity(gravity: number): void;
			public setOnItemClickListener(clickListener: android.widget.AdapterView.OnItemClickListener): void;
			public getSelectedItemPosition(): number;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public setPromptPosition(position: number): void;
			public getListView(): android.widget.ListView;
			public getBackground(): android.graphics.drawable.Drawable;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

declare module android {
	export module widget {
		export class ListView extends android.widget.AbsListView {
			public static class: java.lang.Class<android.widget.ListView>;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public setHeaderDividersEnabled(headerDividersEnabled: boolean): void;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 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 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 addView(child: android.view.View, width: number, height: number): void;
			public setDividerHeight(height: number): void;
			public addHeaderView(v: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public getDividerHeight(): number;
			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 getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onInitializeAccessibilityNodeInfoForItem(view: android.view.View, position: number, info: android.view.accessibility.AccessibilityNodeInfo): void;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public addFooterView(v: android.view.View): void;
			public onTouchModeChanged(param0: boolean): void;
			public getHeaderViewsCount(): number;
			public setDivider(divider: android.graphics.drawable.Drawable): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public onGlobalLayout(): void;
			public getMaxScrollAmount(): number;
			public smoothScrollToPosition(position: number): void;
			public setSelectionAfterHeaderView(): void;
			public requestLayout(): void;
			public onFilterComplete(param0: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public onFocusChanged(gainFocus: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public canResolveTextDirection(): boolean;
			public onKeyMultiple(keyCode: number, repeatCount: number, event: android.view.KeyEvent): boolean;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public setOverscrollFooter(footer: android.graphics.drawable.Drawable): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addHeaderView(v: android.view.View, data: any, isSelectable: boolean): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public getAdapter(): android.widget.ListAdapter;
			public isLayoutDirectionResolved(): boolean;
			public setOverscrollHeader(header: android.graphics.drawable.Drawable): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public removeHeaderView(v: android.view.View): boolean;
			public getItemsCanFocus(): boolean;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public onFinishInflate(): void;
			public setCacheColorHint(color: number): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public canAnimate(): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public areFooterDividersEnabled(): boolean;
			public setSelection(position: number): void;
			public setRemoteViewsAdapter(intent: android.content.Intent): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public smoothScrollByOffset(offset: number): void;
			public removeFooterView(v: android.view.View): boolean;
			public drawChild(canvas: android.graphics.Canvas, child: android.view.View, drawingTime: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public layoutChildren(): void;
			public getTextAlignment(): number;
			public dispatchKeyEvent(event: android.view.KeyEvent): 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 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 smoothScrollToPosition(position: number, boundPosition: number): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public getCheckItemIds(): androidNative.Array<number>;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getOverscrollFooter(): android.graphics.drawable.Drawable;
			public setFooterDividersEnabled(footerDividersEnabled: boolean): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAdapter(): any;
			public isOpaque(): boolean;
			public addFooterView(v: android.view.View, data: any, isSelectable: boolean): void;
			public isTextAlignmentResolved(): boolean;
			public setAdapter(adapter: android.widget.ListAdapter): void;
			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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getFooterViewsCount(): number;
			public requestChildRectangleOnScreen(child: android.view.View, rect: android.graphics.Rect, immediate: boolean): boolean;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 setItemsCanFocus(itemsCanFocus: boolean): void;
			public dispatchDraw(canvas: android.graphics.Canvas): 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(this$0: 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 static SOURCE_BOUND_MAX_IN_SURFACE: 0;
			public static SOURCE_BOUND_MAX_VISIBLE: 1;
			public getElevation(): number;
			public getDefaultHorizontalSourceToMagnifierOffset(): number;
			public getDefaultVerticalSourceToMagnifierOffset(): number;
			public dismiss(): void;
			public show(sourceCenterX: number, sourceCenterY: number): void;
			public getHeight(): number;
			public getWidth(): number;
			public isClippingEnabled(): boolean;
			public setZoom(zoom: number): void;
			public getOverlay(): android.graphics.drawable.Drawable;
			public getSourcePosition(): android.graphics.Point;
			public update(): void;
			/** @deprecated */
			public constructor(view: android.view.View);
			public show(sourceCenterX: number, sourceCenterY: number, magnifierCenterX: number, magnifierCenterY: number): void;
			public getSourceWidth(): number;
			public getSourceHeight(): number;
			public getCornerRadius(): number;
			public getZoom(): number;
			public getPosition(): android.graphics.Point;
		}
		export module Magnifier {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.widget.Magnifier.Builder>;
				public setCornerRadius(cornerRadius: number): android.widget.Magnifier.Builder;
				public setSourceBounds(left: number, top: number, right: number, bottom: number): android.widget.Magnifier.Builder;
				public setOverlay(overlay: android.graphics.drawable.Drawable): android.widget.Magnifier.Builder;
				public build(): android.widget.Magnifier;
				public setInitialZoom(zoom: number): android.widget.Magnifier.Builder;
				public setSize(width: number, height: number): android.widget.Magnifier.Builder;
				public setElevation(elevation: number): android.widget.Magnifier.Builder;
				public setDefaultSourceToMagnifierOffset(horizontalOffset: number, verticalOffset: number): android.widget.Magnifier.Builder;
				public setClippingEnabled(clip: boolean): android.widget.Magnifier.Builder;
				public constructor(view: android.view.View);
			}
		}
	}
}

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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 addView(child: android.view.View, index: number): void;
			public isShowing(): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public show(timeout: 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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 constructor(context: android.content.Context, useFastForward: boolean);
			public setPrevNextListeners(next: android.view.View.OnClickListener, prev: android.view.View.OnClickListener): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public show(): void;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public setEnabled(enabled: boolean): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onTrackballEvent(ev: android.view.MotionEvent): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setAnchorView(view: android.view.View): void;
			public requestLayout(): 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;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public setMediaPlayer(player: android.widget.MediaController.MediaPlayerControl): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public requestFitSystemWindows(): 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 performFiltering(text: string, keyCode: number): void;
			public getAccessibilityClassName(): string;
			public onFilterComplete(param0: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public performValidation(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setTokenizer(t: android.widget.MultiAutoCompleteTextView.Tokenizer): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public replaceText(text: string): void;
			public performFiltering(text: string, start: number, end: number, keyCode: 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number, popupTheme: android.content.res.Resources.Theme);
			public constructor(context: android.content.Context);
			public enoughToFilter(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onPreDraw(): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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 findTokenEnd(text: string, cursor: number): number;
				public terminateToken(param0: string): string;
				public findTokenStart(text: string, cursor: number): number;
				public findTokenEnd(param0: string, param1: number): number;
				public terminateToken(text: string): string;
				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 scrollBy(x: number, y: number): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getBottomFadingEdgeStrength(): number;
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public getTextColor(): number;
			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 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 addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public getMinValue(): number;
			public getTextSize(): number;
			public getMaxValue(): number;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public setOnValueChangedListener(onValueChangedListener: android.widget.NumberPicker.OnValueChangeListener): void;
			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 performClick(): boolean;
			public dispatchTrackballEvent(event: android.view.MotionEvent): boolean;
			public setTextColor(color: number): void;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public computeVerticalScrollExtent(): number;
			public onDraw(canvas: android.graphics.Canvas): void;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public setEnabled(enabled: boolean): void;
			public setMaxValue(maxValue: number): void;
			public setMinValue(minValue: number): void;
			public setOnScrollListener(onScrollListener: android.widget.NumberPicker.OnScrollListener): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public getTopFadingEdgeStrength(): number;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public setDisplayedValues(displayedValues: androidNative.Array<string>): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public getWrapSelectorWheel(): boolean;
			public canResolveTextDirection(): boolean;
			public getDisplayedValues(): androidNative.Array<string>;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public dispatchTouchEvent(event: android.view.MotionEvent): boolean;
			public getSolidColor(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public requestFitSystemWindows(): void;
			public isLayoutDirectionResolved(): boolean;
			public drawableStateChanged(): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public performLongClick(): boolean;
			public setOnLongPressUpdateInterval(intervalMillis: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public setWrapSelectorWheel(wrapSelectorWheel: boolean): void;
			public addView(child: android.view.View, index: number): void;
			public performLongClick(x: number, y: number): boolean;
			public onInterceptTouchEvent(event: android.view.MotionEvent): boolean;
			public setFormatter(formatter: android.widget.NumberPicker.Formatter): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getValue(): number;
			public computeVerticalScrollOffset(): number;
			public getTextAlignment(): number;
			public dispatchKeyEvent(event: android.view.KeyEvent): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setSelectionDividerHeight(height: number): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getAccessibilityNodeProvider(): android.view.accessibility.AccessibilityNodeProvider;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public jumpDrawablesToCurrentState(): void;
			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 dispatchHoverEvent(event: android.view.MotionEvent): boolean;
			public clearChildFocus(param0: android.view.View): void;
			public getSelectionDividerHeight(): 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 addView(child: android.view.View): void;
			public setValue(value: number): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public setTextSize(size: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: 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: 2;
				public static SCROLL_STATE_TOUCH_SCROLL: 1;
				public static SCROLL_STATE_IDLE: 0;
				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 setFriction(friction: number): void;
			public getFinalX(): number;
			public getCurrVelocity(): number;
			public computeScrollOffset(): boolean;
			public constructor(context: android.content.Context, interpolator: android.view.animation.Interpolator);
			public notifyVerticalEdgeReached(startY: number, finalY: number, overY: number): void;
			public getCurrX(): number;
			public getStartY(): number;
			public abortAnimation(): void;
			public notifyHorizontalEdgeReached(startX: number, finalX: number, overX: number): void;
			/** @deprecated */
			public constructor(context: android.content.Context, interpolator: android.view.animation.Interpolator, bounceCoefficientX: number, bounceCoefficientY: number);
			public fling(startX: number, startY: number, velocityX: number, velocityY: number, minX: number, maxX: number, minY: number, maxY: number, overX: number, overY: number): void;
			public getFinalY(): number;
			public constructor(context: android.content.Context);
			public startScroll(startX: number, startY: number, dx: number, dy: number, duration: number): void;
			public springBack(startX: number, startY: number, minX: number, maxX: number, minY: number, maxY: number): boolean;
			public isFinished(): boolean;
			public getCurrY(): number;
			public isOverScrolled(): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, interpolator: android.view.animation.Interpolator, bounceCoefficientX: number, bounceCoefficientY: number, flywheel: boolean);
			public getStartX(): number;
			public startScroll(startX: number, startY: number, dx: number, dy: number): void;
			public forceFinished(finished: boolean): void;
			public fling(startX: number, startY: number, velocityX: number, velocityY: number, minX: number, maxX: number, minY: number, maxY: number): void;
		}
	}
}

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 setOnMenuItemClickListener(listener: android.widget.PopupMenu.OnMenuItemClickListener): void;
			public getMenu(): android.view.Menu;
			public dismiss(): void;
			public constructor(context: android.content.Context, anchor: android.view.View);
			public setGravity(gravity: number): void;
			public inflate(menuRes: number): void;
			public setForceShowIcon(forceShowIcon: boolean): void;
			public getMenuInflater(): android.view.MenuInflater;
			public constructor(context: android.content.Context, anchor: android.view.View, gravity: number, popupStyleAttr: number, popupStyleRes: number);
			public constructor(context: android.content.Context, anchor: android.view.View, gravity: number);
			public getGravity(): number;
			public getDragToOpenListener(): android.view.View.OnTouchListener;
			public setOnDismissListener(listener: android.widget.PopupMenu.OnDismissListener): 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: 0;
			public static INPUT_METHOD_NEEDED: 1;
			public static INPUT_METHOD_NOT_NEEDED: 2;
			public setSplitTouchEnabled(enabled: boolean): void;
			public setIsLaidOutInScreen(enabled: boolean): void;
			public showAtLocation(parent: android.view.View, gravity: number, x: number, y: number): void;
			public showAsDropDown(anchor: android.view.View): void;
			public showAsDropDown(anchor: android.view.View, xoff: number, yoff: number): void;
			public isTouchable(): boolean;
			public isAttachedInDecor(): boolean;
			public getWidth(): number;
			public constructor(contentView: android.view.View, width: number, height: number, focusable: boolean);
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getSoftInputMode(): number;
			public setOutsideTouchable(touchable: boolean): void;
			public getMaxAvailableHeight(anchor: android.view.View): number;
			public setClippingEnabled(enabled: boolean): void;
			public isSplitTouchEnabled(): boolean;
			public constructor(context: android.content.Context);
			public setEpicenterBounds(bounds: android.graphics.Rect): void;
			public getOverlapAnchor(): boolean;
			public setExitTransition(exitTransition: android.transition.Transition): void;
			public getInputMethodMode(): number;
			public setIgnoreCheekPress(): void;
			public isAboveAnchor(): boolean;
			public setEnterTransition(enterTransition: android.transition.Transition): void;
			public isShowing(): boolean;
			public isFocusable(): boolean;
			public getEnterTransition(): android.transition.Transition;
			public getExitTransition(): android.transition.Transition;
			public getHeight(): number;
			public setHeight(height: number): void;
			public constructor(contentView: android.view.View, width: number, height: number);
			public constructor();
			public getContentView(): android.view.View;
			public getEpicenterBounds(): android.graphics.Rect;
			public setAttachedInDecor(enabled: boolean): void;
			public setWindowLayoutType(layoutType: number): void;
			public constructor(contentView: android.view.View);
			public setAnimationStyle(animationStyle: number): void;
			public update(anchor: android.view.View, width: number, height: number): void;
			public getAnimationStyle(): number;
			/** @deprecated */
			public setWindowLayoutMode(widthSpec: number, heightSpec: number): void;
			public setSoftInputMode(mode: number): void;
			public isTouchModal(): boolean;
			public setBackgroundDrawable(background: android.graphics.drawable.Drawable): void;
			public isClippingEnabled(): boolean;
			public showAsDropDown(anchor: android.view.View, xoff: number, yoff: number, gravity: number): void;
			public update(width: number, height: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setFocusable(focusable: boolean): void;
			public setTouchable(touchable: boolean): void;
			public setInputMethodMode(mode: number): void;
			public update(): void;
			public update(x: number, y: number, width: number, height: number, force: boolean): void;
			public setElevation(elevation: number): void;
			public setOverlapAnchor(overlapAnchor: boolean): void;
			public setWidth(width: number): void;
			public getMaxAvailableHeight(anchor: android.view.View, yOffset: number, ignoreBottomDecorations: boolean): number;
			public isClippedToScreen(): boolean;
			public getMaxAvailableHeight(anchor: android.view.View, yOffset: number): number;
			public getElevation(): number;
			public dismiss(): void;
			public setOnDismissListener(onDismissListener: android.widget.PopupWindow.OnDismissListener): void;
			public update(anchor: android.view.View, xoff: number, yoff: number, width: number, height: number): void;
			public setContentView(contentView: android.view.View): void;
			public isOutsideTouchable(): boolean;
			public getWindowLayoutType(): number;
			public update(x: number, y: number, width: number, height: number): void;
			public setTouchModal(touchModal: boolean): void;
			public setTouchInterceptor(l: android.view.View.OnTouchListener): void;
			public setIsClippedToScreen(enabled: boolean): void;
			public constructor(width: number, height: number);
			public getBackground(): android.graphics.drawable.Drawable;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public isLaidOutInScreen(): boolean;
		}
		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 setIndeterminateDrawableTiled(d: android.graphics.drawable.Drawable): void;
			public setSecondaryProgress(secondaryProgress: number): void;
			public incrementSecondaryProgressBy(diff: number): void;
			public getSecondaryProgressTintList(): android.content.res.ColorStateList;
			public getProgress(): number;
			public setProgress(progress: number, animate: boolean): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onVisibilityAggregated(isVisible: boolean): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public getIndeterminateTintMode(): android.graphics.PorterDuff.Mode;
			public setProgressBackgroundTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public setProgressDrawableTiled(d: android.graphics.drawable.Drawable): void;
			public setMin(min: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public getIndeterminateTintList(): android.content.res.ColorStateList;
			public setSecondaryProgressTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public getProgressBackgroundTintMode(): android.graphics.PorterDuff.Mode;
			public getCurrentDrawable(): android.graphics.drawable.Drawable;
			public getProgressBackgroundTintBlendMode(): android.graphics.BlendMode;
			public postInvalidate(left: number, top: number, right: number, bottom: number): void;
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public setMaxHeight(maxHeight: number): void;
			public setProgressBackgroundTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public setInterpolator(interpolator: android.view.animation.Interpolator): void;
			public setInterpolator(context: android.content.Context, resID: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public isIndeterminate(): boolean;
			public drawableHotspotChanged(x: number, y: number): void;
			public incrementProgressBy(diff: number): void;
			public getMinWidth(): number;
			public setIndeterminateTintList(tint: android.content.res.ColorStateList): void;
			public setProgressTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getMaxHeight(): number;
			public onSaveInstanceState(): android.os.Parcelable;
			public getAccessibilityClassName(): string;
			public setMax(max: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getIndeterminateDrawable(): android.graphics.drawable.Drawable;
			public getSecondaryProgress(): number;
			public getIndeterminateTintBlendMode(): android.graphics.BlendMode;
			public invalidateDrawable(dr: android.graphics.drawable.Drawable): void;
			public setIndeterminateTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public setMinHeight(minHeight: number): void;
			public onDraw(canvas: android.graphics.Canvas): void;
			public setMaxWidth(maxWidth: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setMinWidth(minWidth: number): void;
			public setIndeterminate(indeterminate: boolean): void;
			public getProgressTintList(): android.content.res.ColorStateList;
			public getInterpolator(): android.view.animation.Interpolator;
			public getMinHeight(): number;
			public getMax(): number;
			public setProgressTintList(tint: android.content.res.ColorStateList): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getProgressTintMode(): android.graphics.PorterDuff.Mode;
			public jumpDrawablesToCurrentState(): void;
			public setProgressDrawable(d: android.graphics.drawable.Drawable): void;
			public postInvalidate(): void;
			public getProgressDrawable(): android.graphics.drawable.Drawable;
			public getProgressTintBlendMode(): android.graphics.BlendMode;
			public getMin(): number;
			public isAnimating(): boolean;
			public setProgressTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public getProgressBackgroundTintList(): android.content.res.ColorStateList;
			public setProgress(progress: number): void;
			public getMaxWidth(): number;
			public getSecondaryProgressTintMode(): android.graphics.PorterDuff.Mode;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setProgressBackgroundTintList(tint: android.content.res.ColorStateList): void;
			public verifyDrawable(who: android.graphics.drawable.Drawable): boolean;
			public setStateDescription(stateDescription: string): void;
			public getSecondaryProgressTintBlendMode(): android.graphics.BlendMode;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public setIndeterminateDrawable(d: android.graphics.drawable.Drawable): void;
			public setIndeterminateTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public onAttachedToWindow(): void;
			public setSecondaryProgressTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public setSecondaryProgressTintList(tint: android.content.res.ColorStateList): 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: androidNative.Array<string>;
			public getAccessibilityClassName(): string;
			public setMode(size: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onDraw(canvas: android.graphics.Canvas): void;
			public assignContactFromPhone(phoneNumber: string, lazyLookup: boolean): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public drawableStateChanged(): void;
			public assignContactFromEmail(emailAddress: string, lazyLookup: boolean, extras: android.os.Bundle): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setOverlay(overlay: android.graphics.drawable.Drawable): void;
			public assignContactFromEmail(emailAddress: string, lazyLookup: boolean): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setExcludeMimes(excludeMimes: androidNative.Array<string>): void;
			public sendAccessibilityEvent(param0: number): void;
			public setPrioritizedMimeType(prioritizedMimeType: string): void;
			public assignContactUri(contactUri: 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(x: number, y: number): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public assignContactFromPhone(phoneNumber: string, lazyLookup: boolean, extras: android.os.Bundle): void;
			public onClick(param0: android.view.View): void;
			public setImageToDefault(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public onClick(v: android.view.View): 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 isChecked(): boolean;
			public toggle(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onPreDraw(): boolean;
			public onInitializeAccessibilityNodeInfo(info: android.view.accessibility.AccessibilityNodeInfo): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public autofill(value: android.view.autofill.AutofillValue): void;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): 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 addView(child: android.view.View, width: number, height: number): 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;
			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(attrs: android.util.AttributeSet): android.widget.RadioGroup.LayoutParams;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onInitializeAccessibilityNodeInfo(info: android.view.accessibility.AccessibilityNodeInfo): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public check(id: number): void;
			public setOnCheckedChangeListener(listener: android.widget.RadioGroup.OnCheckedChangeListener): void;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getCheckedRadioButtonId(): number;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public generateLayoutParams(lp: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAutofillType(): number;
			public setOnHierarchyChangeListener(listener: android.view.ViewGroup.OnHierarchyChangeListener): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public autofill(values: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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(p: android.view.ViewGroup.LayoutParams);
				public constructor(w: number, h: number, initWeight: number);
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public setBaseAttributes(a: android.content.res.TypedArray, widthAttr: number, heightAttr: number): void;
				public constructor(width: number, height: number, weight: number);
				public constructor(source: android.widget.LinearLayout.LayoutParams);
				public constructor(w: number, h: number);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
			}
			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 setMax(max: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setStepSize(stepSize: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setOnRatingBarChangeListener(listener: android.widget.RatingBar.OnRatingBarChangeListener): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setIsIndicator(isIndicator: boolean): void;
			public setRating(rating: number): 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 isIndicator(): boolean;
			public setNumStars(numStars: number): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
		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: 2;
			public static ALIGN_BASELINE: 4;
			public static ALIGN_BOTTOM: 8;
			public static ALIGN_END: 19;
			public static ALIGN_LEFT: 5;
			public static ALIGN_PARENT_BOTTOM: 12;
			public static ALIGN_PARENT_END: 21;
			public static ALIGN_PARENT_LEFT: 9;
			public static ALIGN_PARENT_RIGHT: 11;
			public static ALIGN_PARENT_START: 20;
			public static ALIGN_PARENT_TOP: 10;
			public static ALIGN_RIGHT: 7;
			public static ALIGN_START: 18;
			public static ALIGN_TOP: 6;
			public static BELOW: 3;
			public static CENTER_HORIZONTAL: 14;
			public static CENTER_IN_PARENT: 13;
			public static CENTER_VERTICAL: 15;
			public static END_OF: 17;
			public static LEFT_OF: 0;
			public static RIGHT_OF: 1;
			public static START_OF: 16;
			public static TRUE: -1;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public shouldDelayChildPressedState(): boolean;
			public constructor(context: android.content.Context);
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.RelativeLayout.LayoutParams;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 onMeasure(widthMeasureSpec: number, heightMeasureSpec: 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 setHorizontalGravity(horizontalGravity: number): void;
			public generateLayoutParams(lp: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public setVerticalGravity(verticalGravity: number): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public getIgnoreGravity(): number;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			public setGravity(gravity: 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(attrs: android.util.AttributeSet): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getGravity(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getBaseline(): number;
			public setIgnoreGravity(viewId: number): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): 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;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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 addRule(verb: number, subject: number): void;
				public removeRule(verb: number): void;
				public constructor(width: number, height: number);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				public debug(output: string): string;
				public resolveLayoutDirection(layoutDirection: number): void;
				public constructor(source: android.widget.RelativeLayout.LayoutParams);
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public addRule(verb: number): void;
				public getRules(): androidNative.Array<number>;
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public constructor(w: number, h: number);
				public getRule(verb: number): number;
			}
		}
	}
}

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 static EXTRA_CHECKED: "android.widget.extra.CHECKED";
			public static EXTRA_SHARED_ELEMENT_BOUNDS: "android.widget.extra.SHARED_ELEMENT_BOUNDS";
			public static MARGIN_BOTTOM: 3;
			public static MARGIN_END: 5;
			public static MARGIN_LEFT: 0;
			public static MARGIN_RIGHT: 2;
			public static MARGIN_START: 4;
			public static MARGIN_TOP: 1;
			public setImageViewUri(viewId: number, uri: android.net.Uri): void;
			public constructor(landscape: android.widget.RemoteViews, portrait: android.widget.RemoteViews);
			public setColor(viewId: number, methodName: string, colorResource: number): void;
			/** @deprecated */
			public clone(): android.widget.RemoteViews;
			public setIntDimen(viewId: number, methodName: string, dimenResource: number): void;
			public setEmptyView(viewId: number, emptyViewId: number): void;
			public setLabelFor(viewId: number, labeledId: number): void;
			public setTextViewCompoundDrawables(viewId: number, left: number, top: number, right: number, bottom: number): void;
			public addView(viewId: number, nestedView: android.widget.RemoteViews): void;
			/** @deprecated */
			public setRemoteAdapter(appWidgetId: number, viewId: number, intent: android.content.Intent): void;
			public setIntDimenAttr(viewId: number, methodName: string, dimenAttr: number): void;
			public setLong(viewId: number, methodName: string, value: number): void;
			public setUri(viewId: number, methodName: string, value: android.net.Uri): void;
			public setViewLayoutWidthDimen(viewId: number, widthDimen: number): void;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public setIntDimen(viewId: number, methodName: string, value: number, unit: number): void;
			public setOnCheckedChangeResponse(viewId: number, response: android.widget.RemoteViews.RemoteResponse): void;
			public clone(): any;
			public setImageViewResource(viewId: number, srcId: number): void;
			public setInt(viewId: number, methodName: string, value: number): void;
			public reapply(context: android.content.Context, v: android.view.View): void;
			public describeContents(): number;
			/** @deprecated */
			public showPrevious(viewId: number): void;
			public setChronometerCountDown(viewId: number, isCountDown: boolean): void;
			public setViewLayoutMarginDimen(viewId: number, type: number, dimen: number): void;
			public setImageViewIcon(viewId: number, icon: any): void;
			public setColorAttr(viewId: number, methodName: string, colorAttribute: number): void;
			public setIcon(viewId: number, methodName: string, value: any): void;
			public setColorStateList(viewId: number, methodName: string, value: android.content.res.ColorStateList): void;
			public getLayoutId(): number;
			public getPackage(): string;
			public setColorStateList(viewId: number, methodName: string, colorResource: number): void;
			public constructor(remoteViews: java.util.Map<any,android.widget.RemoteViews>);
			public setBitmap(viewId: number, methodName: string, value: android.graphics.Bitmap): void;
			public setShort(viewId: number, methodName: string, value: number): void;
			public constructor(packageName: string, layoutId: number, viewId: number);
			public setOnClickResponse(viewId: number, response: android.widget.RemoteViews.RemoteResponse): void;
			public setViewLayoutHeightAttr(viewId: number, heightAttr: number): void;
			public setBlendMode(viewId: number, methodName: string, value: android.graphics.BlendMode): void;
			public setViewVisibility(viewId: number, visibility: number): void;
			public setIntent(viewId: number, methodName: string, value: android.content.Intent): void;
			public setTextViewTextSize(viewId: number, units: number, size: number): void;
			public setViewLayoutHeight(viewId: number, height: number, units: number): void;
			public setAccessibilityTraversalBefore(viewId: number, nextId: number): void;
			public setViewLayoutWidthAttr(viewId: number, widthAttr: number): void;
			public setBoolean(viewId: number, methodName: string, value: boolean): void;
			public setColorStateListAttr(viewId: number, methodName: string, colorAttr: number): void;
			public setOnClickPendingIntent(viewId: number, pendingIntent: android.app.PendingIntent): void;
			public setRemoteAdapter(viewId: number, items: android.widget.RemoteViews.RemoteCollectionItems): void;
			public setAccessibilityTraversalAfter(viewId: number, nextId: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setLightBackgroundLayoutId(layoutId: number): void;
			public constructor(src: android.widget.RemoteViews);
			public setViewOutlinePreferredRadius(viewId: number, radius: number, units: number): void;
			public setScrollPosition(viewId: number, position: number): void;
			public setFloatDimen(viewId: number, methodName: string, dimenResource: number): void;
			public setPendingIntentTemplate(viewId: number, pendingIntentTemplate: android.app.PendingIntent): void;
			public setChronometer(viewId: number, base: number, format: string, started: boolean): void;
			public setBundle(viewId: number, methodName: string, value: android.os.Bundle): void;
			public setFloatDimenAttr(viewId: number, methodName: string, dimenAttr: number): void;
			public onLoadClass(param0: java.lang.Class<any>): boolean;
			public setOnClickFillInIntent(viewId: number, fillInIntent: android.content.Intent): void;
			public setCompoundButtonChecked(viewId: number, checked: boolean): void;
			public setViewLayoutMarginAttr(viewId: number, type: number, attr: number): void;
			public setOnStylusHandwritingPendingIntent(viewId: number, pendingIntent: android.app.PendingIntent): void;
			/** @deprecated */
			public onLoadClass(clazz: java.lang.Class<any>): boolean;
			public setDisplayedChild(viewId: number, childIndex: number): void;
			public setByte(viewId: number, methodName: string, value: number): void;
			public setTextColor(viewId: number, color: number): void;
			public constructor(packageName: string, layoutId: number);
			public setDouble(viewId: number, methodName: string, value: number): void;
			public getViewId(): number;
			public setViewPadding(viewId: number, left: number, top: number, right: number, bottom: number): void;
			public setRelativeScrollPosition(viewId: number, offset: number): void;
			public setFloat(viewId: number, methodName: string, value: number): void;
			public setColorStateList(viewId: number, methodName: string, notNight: android.content.res.ColorStateList, night: android.content.res.ColorStateList): void;
			public setFloatDimen(viewId: number, methodName: string, value: number, unit: number): void;
			public setChar(viewId: number, methodName: string, value: string): void;
			public setString(viewId: number, methodName: string, value: string): void;
			public setViewLayoutWidth(viewId: number, width: number, units: number): void;
			public addStableView(viewId: number, nestedView: android.widget.RemoteViews, stableId: number): void;
			public setCharSequence(viewId: number, methodName: string, stringResource: number): void;
			public setImageViewBitmap(viewId: number, bitmap: android.graphics.Bitmap): void;
			public setTextViewText(viewId: number, text: string): void;
			public constructor(parcel: android.os.Parcel);
			public setViewLayoutMargin(viewId: number, type: number, value: number, units: number): void;
			public constructor(drawInstructions: android.widget.RemoteViews.DrawInstructions);
			public setColorInt(viewId: number, methodName: string, notNight: number, night: number): void;
			public removeAllViews(viewId: number): void;
			/** @deprecated */
			public showNext(viewId: number): void;
			public setViewOutlinePreferredRadiusAttr(viewId: number, attrId: number): void;
			public setIcon(viewId: number, methodName: string, notNight: any, night: any): void;
			public setContentDescription(viewId: number, contentDescription: string): void;
			public setProgressBar(viewId: number, max: number, progress: number, indeterminate: boolean): void;
			public setCharSequence(viewId: number, methodName: string, value: string): void;
			public setRadioGroupChecked(viewId: number, checkedId: number): void;
			public setViewOutlinePreferredRadiusDimen(viewId: number, resId: number): void;
			/** @deprecated */
			public setRemoteAdapter(viewId: number, intent: android.content.Intent): void;
			public setCharSequenceAttr(viewId: number, methodName: string, stringAttribute: number): void;
			public apply(context: android.content.Context, parent: android.view.ViewGroup): android.view.View;
			public setTextViewCompoundDrawablesRelative(viewId: number, start: number, top: number, end: number, bottom: number): void;
			public setViewLayoutHeightDimen(viewId: number, heightDimen: number): void;
		}
		export module RemoteViews {
			export class ActionException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.widget.RemoteViews.ActionException>;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(ex: java.lang.Exception);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
			export class DrawInstructions extends java.lang.Object {
				public static class: java.lang.Class<android.widget.RemoteViews.DrawInstructions>;
				public static getSupportedVersion(): number;
			}
			export module DrawInstructions {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.widget.RemoteViews.DrawInstructions.Builder>;
					public build(): android.widget.RemoteViews.DrawInstructions;
					public constructor(instructions: java.util.List<androidNative.Array<number>>);
				}
			}
			export class RemoteCollectionItems extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.widget.RemoteViews.RemoteCollectionItems>;
				public static CREATOR: android.os.Parcelable.Creator<android.widget.RemoteViews.RemoteCollectionItems>;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public getViewTypeCount(): number;
				public hasStableIds(): boolean;
				public getItemId(position: number): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getItemView(position: number): android.widget.RemoteViews;
				public getItemCount(): number;
			}
			export module RemoteCollectionItems {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.widget.RemoteViews.RemoteCollectionItems.Builder>;
					public constructor();
					public addItem(id: number, view: android.widget.RemoteViews): android.widget.RemoteViews.RemoteCollectionItems.Builder;
					public setHasStableIds(hasStableIds: boolean): android.widget.RemoteViews.RemoteCollectionItems.Builder;
					public build(): android.widget.RemoteViews.RemoteCollectionItems;
					public setViewTypeCount(viewTypeCount: number): android.widget.RemoteViews.RemoteCollectionItems.Builder;
				}
			}
			export class RemoteResponse extends java.lang.Object {
				public static class: java.lang.Class<android.widget.RemoteViews.RemoteResponse>;
				public static fromPendingIntent(pendingIntent: android.app.PendingIntent): android.widget.RemoteViews.RemoteResponse;
				public addSharedElement(viewId: number, sharedElementName: string): android.widget.RemoteViews.RemoteResponse;
				public static fromFillInIntent(fillIntent: android.content.Intent): android.widget.RemoteViews.RemoteResponse;
				public constructor();
			}
			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;
			}
			export class RemoteViewOutlineProvider extends android.view.ViewOutlineProvider {
				public static class: java.lang.Class<android.widget.RemoteViews.RemoteViewOutlineProvider>;
				public getRadius(): number;
				public getOutline(view: android.view.View, outline: any): void;
				public constructor(radius: number);
				public constructor();
			}
		}
	}
}

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 constructor();
			public constructor(base: android.content.Context);
			public onBind(intent: android.content.Intent): android.os.IBinder;
			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>;
			public getFilter(): android.widget.Filter;
			public setDropDownViewTheme(theme: android.content.res.Resources.Theme): void;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			/** @deprecated */
			public constructor(context: android.content.Context, c: android.database.Cursor);
			public newDropDownView(context: android.content.Context, cursor: android.database.Cursor, parent: android.view.ViewGroup): android.view.View;
			public constructor(context: android.content.Context, c: android.database.Cursor, flags: number);
			public constructor();
			public setDropDownViewResource(dropDownLayout: number): void;
			public newView(context: android.content.Context, cursor: android.database.Cursor, parent: android.view.ViewGroup): android.view.View;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public constructor(context: android.content.Context, c: android.database.Cursor, autoRequery: boolean);
			public constructor(context: android.content.Context, layout: number, c: android.database.Cursor, autoRequery: boolean);
			public constructor(context: android.content.Context, layout: number, c: android.database.Cursor, flags: number);
			public areAllItemsEnabled(): boolean;
			public isEnabled(param0: number): boolean;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			/** @deprecated */
			public constructor(context: android.content.Context, layout: number, c: android.database.Cursor);
			public setViewResource(layout: 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 registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCount(param0: number): number;
			public getChildTypeCount(): 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 getGroupId(param0: number): number;
			public getGroupType(param0: number): number;
			public getCombinedChildId(param0: number, param1: number): number;
			public constructor(context: android.content.Context, cursor: android.database.Cursor, groupLayout: number, childLayout: number);
			public getGroupCount(): number;
			public constructor(context: android.content.Context, cursor: android.database.Cursor, collapsedGroupLayout: number, expandedGroupLayout: number, childLayout: number);
			public constructor(context: android.content.Context, cursor: android.database.Cursor, collapsedGroupLayout: number, expandedGroupLayout: number, childLayout: number, lastChildLayout: number);
			public isEmpty(): boolean;
			public getChild(groupPosition: number, childPosition: number): android.database.Cursor;
			public getChildId(param0: number, param1: number): number;
			public constructor(cursor: android.database.Cursor, context: android.content.Context, autoRequery: boolean);
			public constructor();
			public newGroupView(context: android.content.Context, cursor: android.database.Cursor, isExpanded: boolean, parent: android.view.ViewGroup): android.view.View;
			public getGroup(groupPosition: number): android.database.Cursor;
			public onGroupExpanded(param0: number): void;
			public isChildSelectable(param0: number, param1: number): boolean;
			public getGroup(param0: number): any;
			public constructor(cursor: android.database.Cursor, context: android.content.Context);
			public getGroupTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public getChildType(param0: number, param1: number): number;
			public newChildView(context: android.content.Context, cursor: android.database.Cursor, isLastChild: boolean, parent: 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(smoothScrollingEnabled: boolean): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getBottomFadingEdgeStrength(): number;
			public constructor(context: android.content.Context);
			public measureChildWithMargins(child: android.view.View, parentWidthMeasureSpec: number, widthUsed: number, parentHeightMeasureSpec: number, heightUsed: number): void;
			public computeScrollDeltaToGetChildRectOnScreen(rect: android.graphics.Rect): number;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 setTopEdgeEffectColor(color: 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 onNestedScrollAccepted(child: android.view.View, target: android.view.View, axes: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestChildFocus(child: android.view.View, focused: android.view.View): void;
			public requestChildRectangleOnScreen(child: android.view.View, rectangle: android.graphics.Rect, immediate: boolean): boolean;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			public measureChild(child: android.view.View, parentWidthMeasureSpec: number, parentHeightMeasureSpec: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public requestDisallowInterceptTouchEvent(disallowIntercept: boolean): void;
			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 getAccessibilityClassName(): string;
			public fullScroll(direction: number): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public onNestedScroll(target: android.view.View, dxConsumed: number, dyConsumed: number, dxUnconsumed: number, dyUnconsumed: number): void;
			public setBottomEdgeEffectColor(color: number): void;
			public scrollTo(x: number, y: number): void;
			public isSmoothScrollingEnabled(): boolean;
			public executeKeyEvent(event: android.view.KeyEvent): boolean;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public getTopFadingEdgeStrength(): number;
			public onOverScrolled(scrollX: number, scrollY: number, clampedX: boolean, clampedY: boolean): void;
			public onInterceptTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public getMaxScrollAmount(): number;
			public smoothScrollBy(dx: number, dy: number): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public getBottomEdgeEffectColor(): number;
			public canResolveTextDirection(): boolean;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setFillViewport(fillViewport: boolean): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public smoothScrollTo(x: number, y: number): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(target: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public shouldDelayChildPressedState(): boolean;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public draw(canvas: android.graphics.Canvas): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getTopEdgeEffectColor(): number;
			public addView(child: android.view.View, index: number): void;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public onRequestFocusInDescendants(direction: number, previouslyFocusedRect: android.graphics.Rect): boolean;
			public getParentForAccessibility(): android.view.ViewParent;
			public onSizeChanged(w: number, h: number, oldw: number, oldh: number): void;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public computeVerticalScrollOffset(): number;
			public getTextAlignment(): number;
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			public setEdgeEffectColor(color: number): 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 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;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public scrollToDescendant(child: android.view.View): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public onStartNestedScroll(child: android.view.View, target: android.view.View, nestedScrollAxes: number): boolean;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onNestedFling(target: android.view.View, velocityX: number, velocityY: number, consumed: boolean): 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 fling(velocityY: number): void;
			public arrowScroll(direction: number): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public pageScroll(direction: number): boolean;
			public addView(child: android.view.View): void;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
	}
}

declare module android {
	export module widget {
		export class Scroller extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Scroller>;
			public setFriction(friction: number): void;
			public extendDuration(extend: number): void;
			public timePassed(): number;
			public getFinalX(): number;
			public getCurrVelocity(): number;
			public computeScrollOffset(): boolean;
			public constructor(context: android.content.Context, interpolator: android.view.animation.Interpolator);
			public setFinalX(newX: number): void;
			public getCurrX(): number;
			public getDuration(): number;
			public getStartY(): number;
			public abortAnimation(): void;
			public constructor(context: android.content.Context, interpolator: android.view.animation.Interpolator, flywheel: boolean);
			public getFinalY(): number;
			public constructor(context: android.content.Context);
			public startScroll(startX: number, startY: number, dx: number, dy: number, duration: number): void;
			public isFinished(): boolean;
			public setFinalY(newY: number): void;
			public getCurrY(): number;
			public getStartX(): number;
			public startScroll(startX: number, startY: number, dx: number, dy: number): void;
			public forceFinished(finished: boolean): void;
			public fling(startX: number, startY: number, velocityX: number, velocityY: number, minX: number, maxX: number, minY: number, maxY: number): void;
		}
	}
}

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 setOnSearchClickListener(listener: android.view.View.OnClickListener): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public requestFocus(): boolean;
			public isSubmitButtonEnabled(): boolean;
			public setIconified(iconify: boolean): void;
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public setInputType(inputType: number): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): 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 setOnCloseListener(listener: android.widget.SearchView.OnCloseListener): void;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public onActionViewExpanded(): void;
			public setImeOptions(imeOptions: number): void;
			public getInputType(): number;
			public requestLayout(): void;
			public setOnQueryTextFocusChangeListener(listener: android.view.View.OnFocusChangeListener): void;
			public requestFocus(direction: number, previouslyFocusedRect: android.graphics.Rect): boolean;
			public childDrawableStateChanged(param0: android.view.View): void;
			public onWindowFocusChanged(hasWindowFocus: boolean): void;
			public canResolveTextDirection(): boolean;
			public getMaxWidth(): number;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setIconifiedByDefault(iconified: boolean): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
			public isLayoutDirectionResolved(): boolean;
			public requestFocus(direction: number): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public onActionViewCollapsed(): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public isIconified(): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getQuery(): string;
			public addView(child: android.view.View, index: number): void;
			public setQueryHint(hint: string): void;
			public setOnSuggestionListener(listener: android.widget.SearchView.OnSuggestionListener): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setSuggestionsAdapter(adapter: android.widget.CursorAdapter): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public setOnQueryTextListener(listener: android.widget.SearchView.OnQueryTextListener): void;
			public isQueryRefinementEnabled(): boolean;
			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 onSaveInstanceState(): android.os.Parcelable;
			public isIconifiedByDefault(): boolean;
			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;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setQueryRefinementEnabled(enable: boolean): void;
			/** @deprecated */
			public isIconfiedByDefault(): boolean;
			public setSearchableInfo(searchable: android.app.SearchableInfo): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public setQuery(query: string, submit: boolean): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public clearFocus(): void;
			public setSubmitButtonEnabled(enabled: boolean): void;
			public setMaxWidth(maxpixels: number): 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 addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
		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(): androidNative.Array<any>;
				getPositionForSection(param0: number): number;
				getSectionForPosition(param0: number): number;
			});
			public constructor();
			public getPositionForSection(param0: number): number;
			public getSections(): androidNative.Array<any>;
			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 constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setOnSeekBarChangeListener(l: android.widget.SeekBar.OnSeekBarChangeListener): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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: "share_history.xml";
			public setShareHistoryFileName(shareHistoryFile: string): void;
			public constructor(context: android.content.Context);
			public onCreateActionView(): android.view.View;
			public onCreateActionView(forItem: android.view.MenuItem): android.view.View;
			public onPrepareSubMenu(subMenu: android.view.SubMenu): void;
			public setOnShareTargetSelectedListener(listener: android.widget.ShareActionProvider.OnShareTargetSelectedListener): void;
			public hasSubMenu(): boolean;
			public setShareIntent(shareIntent: 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 setDropDownViewResource(resource: number): void;
			public getItem(param0: number): any;
			public getFilter(): android.widget.Filter;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getItemId(param0: number): number;
			public getDropDownView(position: number, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public hasStableIds(): boolean;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public getView(position: number, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public isEnabled(param0: number): boolean;
			public getItemId(position: number): number;
			public getCount(): number;
			public getViewBinder(): android.widget.SimpleAdapter.ViewBinder;
			public setDropDownViewTheme(theme: android.content.res.Resources.Theme): void;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public isEmpty(): boolean;
			public setViewText(v: android.widget.TextView, text: string): void;
			public constructor();
			public constructor(context: android.content.Context, data: java.util.List<any>, resource: number, from: androidNative.Array<string>, to: androidNative.Array<number>);
			public setViewBinder(viewBinder: android.widget.SimpleAdapter.ViewBinder): void;
			public setViewImage(v: android.widget.ImageView, value: number): 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 getItem(position: number): any;
			public getAutofillOptions(): androidNative.Array<string>;
			public areAllItemsEnabled(): boolean;
			public setViewImage(v: android.widget.ImageView, value: string): 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>;
			public getCursorToStringConverter(): android.widget.SimpleCursorAdapter.CursorToStringConverter;
			public getFilter(): android.widget.Filter;
			public setViewBinder(viewBinder: android.widget.SimpleCursorAdapter.ViewBinder): void;
			public constructor(context: android.content.Context, c: android.database.Cursor, flags: number);
			public constructor(context: android.content.Context, layout: number, c: android.database.Cursor, from: androidNative.Array<string>, to: androidNative.Array<number>, flags: number);
			public convertToString(cursor: android.database.Cursor): string;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public changeCursorAndColumns(c: android.database.Cursor, from: androidNative.Array<string>, to: androidNative.Array<number>): void;
			public isEnabled(param0: number): boolean;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			/** @deprecated */
			public constructor(context: android.content.Context, layout: number, c: android.database.Cursor);
			/** @deprecated */
			public constructor(context: android.content.Context, layout: number, c: android.database.Cursor, from: androidNative.Array<string>, to: androidNative.Array<number>);
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			/** @deprecated */
			public constructor(context: android.content.Context, c: android.database.Cursor);
			public setViewText(v: android.widget.TextView, text: string): void;
			public constructor();
			public setCursorToStringConverter(cursorToStringConverter: android.widget.SimpleCursorAdapter.CursorToStringConverter): void;
			public swapCursor(c: android.database.Cursor): android.database.Cursor;
			public constructor(context: android.content.Context, c: android.database.Cursor, autoRequery: boolean);
			public constructor(context: android.content.Context, layout: number, c: android.database.Cursor, autoRequery: boolean);
			public bindView(view: android.view.View, context: android.content.Context, cursor: android.database.Cursor): void;
			public constructor(context: android.content.Context, layout: number, c: android.database.Cursor, flags: number);
			public areAllItemsEnabled(): boolean;
			public setViewImage(v: android.widget.ImageView, value: string): void;
			public getStringConversionColumn(): number;
			public getViewBinder(): android.widget.SimpleCursorAdapter.ViewBinder;
			public setStringConversionColumn(stringConversionColumn: number): void;
		}
		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 registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCount(param0: number): number;
			public bindChildView(view: android.view.View, context: android.content.Context, cursor: android.database.Cursor, isLastChild: boolean): void;
			public getChildTypeCount(): 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 getGroupId(param0: number): number;
			public constructor(context: android.content.Context, cursor: android.database.Cursor, collapsedGroupLayout: number, expandedGroupLayout: number, groupFrom: androidNative.Array<string>, groupTo: androidNative.Array<number>, childLayout: number, childFrom: androidNative.Array<string>, childTo: androidNative.Array<number>);
			public getGroupType(param0: number): number;
			public getCombinedChildId(param0: number, param1: number): number;
			public setViewBinder(viewBinder: android.widget.SimpleCursorTreeAdapter.ViewBinder): void;
			public constructor(context: android.content.Context, cursor: android.database.Cursor, groupLayout: number, childLayout: number);
			public getGroupCount(): number;
			public bindGroupView(view: android.view.View, context: android.content.Context, cursor: android.database.Cursor, isExpanded: boolean): void;
			public constructor(context: android.content.Context, cursor: android.database.Cursor, collapsedGroupLayout: number, expandedGroupLayout: number, childLayout: number);
			public constructor(context: android.content.Context, cursor: android.database.Cursor, collapsedGroupLayout: number, expandedGroupLayout: number, childLayout: number, lastChildLayout: number);
			public isEmpty(): boolean;
			public getChild(groupPosition: number, childPosition: number): android.database.Cursor;
			public constructor(context: android.content.Context, cursor: android.database.Cursor, groupLayout: number, groupFrom: androidNative.Array<string>, groupTo: androidNative.Array<number>, childLayout: number, childFrom: androidNative.Array<string>, childTo: androidNative.Array<number>);
			public getChildId(param0: number, param1: number): number;
			public constructor(cursor: android.database.Cursor, context: android.content.Context, autoRequery: boolean);
			public constructor(context: android.content.Context, cursor: android.database.Cursor, collapsedGroupLayout: number, expandedGroupLayout: number, groupFrom: androidNative.Array<string>, groupTo: androidNative.Array<number>, childLayout: number, lastChildLayout: number, childFrom: androidNative.Array<string>, childTo: androidNative.Array<number>);
			public setViewText(v: android.widget.TextView, text: string): void;
			public constructor();
			public getGroup(groupPosition: number): android.database.Cursor;
			public onGroupExpanded(param0: number): void;
			public isChildSelectable(param0: number, param1: number): boolean;
			public getGroup(param0: number): any;
			public constructor(cursor: android.database.Cursor, context: android.content.Context);
			public getGroupTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public getChildType(param0: number, param1: number): number;
			public setViewImage(v: android.widget.ImageView, value: string): void;
			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 newChildView(isLastChild: boolean, parent: android.view.ViewGroup): android.view.View;
			public getChildrenCount(param0: number): number;
			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 newGroupView(isExpanded: boolean, parent: 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 isChildSelectable(groupPosition: number, childPosition: number): boolean;
			public getCombinedChildId(param0: number, param1: number): number;
			public constructor(context: android.content.Context, groupData: java.util.List<any>, groupLayout: number, groupFrom: androidNative.Array<string>, groupTo: androidNative.Array<number>, childData: java.util.List<any>, childLayout: number, childFrom: androidNative.Array<string>, childTo: androidNative.Array<number>);
			public getChildId(groupPosition: number, childPosition: number): number;
			public getGroupCount(): number;
			public getChildrenCount(groupPosition: number): number;
			public getChild(groupPosition: number, childPosition: number): any;
			public getGroupView(groupPosition: number, isExpanded: boolean, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public constructor(context: android.content.Context, groupData: java.util.List<any>, expandedGroupLayout: number, collapsedGroupLayout: number, groupFrom: androidNative.Array<string>, groupTo: androidNative.Array<number>, childData: java.util.List<any>, childLayout: number, lastChildLayout: number, childFrom: androidNative.Array<string>, childTo: androidNative.Array<number>);
			public getGroupId(groupPosition: number): 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 constructor(context: android.content.Context, groupData: java.util.List<any>, expandedGroupLayout: number, collapsedGroupLayout: number, groupFrom: androidNative.Array<string>, groupTo: androidNative.Array<number>, childData: java.util.List<any>, childLayout: number, childFrom: androidNative.Array<string>, childTo: androidNative.Array<number>);
			public getChildView(groupPosition: number, childPosition: number, isLastChild: boolean, convertView: android.view.View, parent: android.view.ViewGroup): android.view.View;
			public getGroupTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public getChildType(param0: number, param1: number): number;
			public getGroup(groupPosition: number): any;
		}
	}
}

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: 0;
			public static ORIENTATION_VERTICAL: 1;
			/** @deprecated */
			public toggle(): void;
			/** @deprecated */
			public animateOpen(): void;
			/** @deprecated */
			public setOnDrawerScrollListener(onDrawerScrollListener: android.widget.SlidingDrawer.OnDrawerScrollListener): 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public isMoving(): boolean;
			/** @deprecated */
			public close(): void;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public isOpened(): boolean;
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public animateToggle(): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public getHandle(): android.view.View;
			/** @deprecated */
			public getAccessibilityClassName(): string;
			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;
			/** @deprecated */
			public lock(): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			/** @deprecated */
			public setOnDrawerCloseListener(onDrawerCloseListener: android.widget.SlidingDrawer.OnDrawerCloseListener): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			/** @deprecated */
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public unlock(): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			/** @deprecated */
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			/** @deprecated */
			public onInterceptTouchEvent(event: android.view.MotionEvent): boolean;
			/** @deprecated */
			public setOnDrawerOpenListener(onDrawerOpenListener: android.widget.SlidingDrawer.OnDrawerOpenListener): void;
			/** @deprecated */
			public open(): void;
			public requestLayout(): void;
			/** @deprecated */
			public getContent(): android.view.View;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public onFinishInflate(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			/** @deprecated */
			public animateClose(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			/** @deprecated */
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
			/** @deprecated */
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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();
				/** @deprecated */
				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();
				/** @deprecated */
				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();
				/** @deprecated */
				public onScrollStarted(): void;
				/** @deprecated */
				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 constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(context: android.content.Context);
			public draw(canvas: android.graphics.Canvas): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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: 0;
			public static MODE_DROPDOWN: 1;
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getPopupBackground(): android.graphics.drawable.Drawable;
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 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 addView(child: android.view.View, width: number, height: number): void;
			public setPromptId(promptId: number): void;
			public canResolveTextAlignment(): boolean;
			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 requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, mode: number);
			public performClick(): boolean;
			public setPopupBackgroundResource(resId: number): void;
			public getAccessibilityClassName(): string;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public getDropDownWidth(): number;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public setEnabled(enabled: boolean): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public setPopupBackgroundDrawable(background: android.graphics.drawable.Drawable): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, mode: number);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public requestFitSystemWindows(): void;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			public getPrompt(): string;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public getDropDownVerticalOffset(): number;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public addView(child: android.view.View, index: number): void;
			public setDropDownVerticalOffset(pixels: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number, mode: number);
			public setGravity(gravity: number): void;
			public setOnItemClickListener(l: android.widget.AdapterView.OnItemClickListener): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public setDropDownHorizontalOffset(pixels: number): 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 onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public setAdapter(adapter: android.widget.SpinnerAdapter): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setAdapter(param0: any): void;
			public onClick(dialog: android.content.DialogInterface, which: number): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setDropDownWidth(pixels: number): void;
			public getDropDownHorizontalOffset(): number;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public setPrompt(prompt: string): void;
			public getGravity(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number, mode: number, popupTheme: android.content.res.Resources.Theme);
			public getBaseline(): 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
		}
	}
}

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(): androidNative.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: -2147483648;
			public static IGNORE_ITEM_VIEW_TYPE: -1;
			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(): androidNative.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 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 onMeasure(widthMeasureSpec: number, heightMeasureSpec: 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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public showNext(): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public advance(): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onInterceptTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public showPrevious(): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): 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 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export class Switch extends android.widget.CompoundButton {
			public static class: java.lang.Class<android.widget.Switch>;
			public setTrackIcon(icon: any): void;
			public setSplitTrack(splitTrack: boolean): void;
			public setThumbTintList(tint: android.content.res.ColorStateList): void;
			public getTextOn(): string;
			public getSwitchPadding(): number;
			public getTrackDrawable(): android.graphics.drawable.Drawable;
			public setTrackDrawable(track: android.graphics.drawable.Drawable): void;
			public draw(c: android.graphics.Canvas): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setTrackTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public getThumbDrawable(): android.graphics.drawable.Drawable;
			public constructor(context: android.content.Context);
			public getTrackTintList(): android.content.res.ColorStateList;
			public setThumbTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setChecked(param0: boolean): void;
			public setThumbTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public setTextOn(textOn: string): void;
			public setTextOff(textOff: string): void;
			public setThumbDrawable(thumb: android.graphics.drawable.Drawable): void;
			public setShowText(showText: boolean): void;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public setSwitchMinWidth(pixels: number): void;
			public getTrackTintBlendMode(): android.graphics.BlendMode;
			public setSwitchPadding(pixels: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setThumbTextPadding(pixels: number): void;
			public getTrackTintMode(): android.graphics.PorterDuff.Mode;
			public drawableHotspotChanged(x: number, y: number): void;
			public setTrackTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getShowText(): boolean;
			public setSwitchTypeface(tf: android.graphics.Typeface): void;
			public getSplitTrack(): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setThumbIcon(icon: any): void;
			public onDraw(canvas: android.graphics.Canvas): void;
			public toggle(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getCompoundPaddingRight(): number;
			public setChecked(checked: boolean): void;
			public getThumbTintBlendMode(): android.graphics.BlendMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public setSwitchTextAppearance(context: android.content.Context, resid: number): void;
			public jumpDrawablesToCurrentState(): void;
			public onPreDraw(): boolean;
			public setThumbResource(resId: number): void;
			public setSwitchTypeface(tf: android.graphics.Typeface, style: number): void;
			public setTrackTintList(tint: android.content.res.ColorStateList): void;
			public getThumbTextPadding(): number;
			public isChecked(): boolean;
			public onCreateDrawableState(extraSpace: number): androidNative.Array<number>;
			public getCompoundPaddingLeft(): number;
			public getThumbTintMode(): android.graphics.PorterDuff.Mode;
			public getThumbTintList(): android.content.res.ColorStateList;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public getTextOff(): string;
			public getSwitchMinWidth(): number;
			public verifyDrawable(who: android.graphics.drawable.Drawable): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public setTrackResource(resId: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

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>;
			/** @deprecated */
			public getCurrentTab(): number;
			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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public dispatchKeyEvent(event: android.view.KeyEvent): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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;
			/** @deprecated */
			public clearAllTabs(): 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;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public newTabSpec(tag: string): android.widget.TabHost.TabSpec;
			/** @deprecated */
			public getTabContentView(): android.widget.FrameLayout;
			/** @deprecated */
			public setup(): void;
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public getAccessibilityClassName(): string;
			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;
			/** @deprecated */
			public addTab(tabSpec: android.widget.TabHost.TabSpec): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			/** @deprecated */
			public setCurrentTab(index: number): void;
			/** @deprecated */
			public onTouchModeChanged(isInTouchMode: 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public onTouchModeChanged(param0: boolean): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setCurrentTabByTag(tag: string): void;
			/** @deprecated */
			public getTabWidget(): android.widget.TabWidget;
			/** @deprecated */
			public getCurrentTabView(): android.view.View;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			/** @deprecated */
			public setOnTabChangedListener(l: android.widget.TabHost.OnTabChangeListener): void;
			public requestLayout(): 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;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public getCurrentTabTag(): string;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public getCurrentView(): android.view.View;
			/** @deprecated */
			public setup(activityGroup: android.app.LocalActivityManager): void;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			/** @deprecated */
			public dispatchWindowFocusChanged(hasFocus: boolean): 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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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();
				/** @deprecated */
				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();
				/** @deprecated */
				public createTabContent(param0: string): android.view.View;
			}
			export class TabSpec extends java.lang.Object {
				public static class: java.lang.Class<android.widget.TabHost.TabSpec>;
				/** @deprecated */
				public setIndicator(label: string, icon: android.graphics.drawable.Drawable): android.widget.TabHost.TabSpec;
				/** @deprecated */
				public setContent(intent: android.content.Intent): android.widget.TabHost.TabSpec;
				/** @deprecated */
				public setContent(contentFactory: android.widget.TabHost.TabContentFactory): android.widget.TabHost.TabSpec;
				/** @deprecated */
				public getTag(): string;
				/** @deprecated */
				public setContent(viewId: number): android.widget.TabHost.TabSpec;
				/** @deprecated */
				public setIndicator(label: string): android.widget.TabHost.TabSpec;
				/** @deprecated */
				public setIndicator(view: android.view.View): 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>;
			/** @deprecated */
			public addView(child: android.view.View): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 sendAccessibilityEvent(param0: number): void;
			public getChildDrawingOrder(drawingPosition: number): number;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): void;
			/** @deprecated */
			public getChildDrawingOrder(childCount: number, i: number): number;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public setRightStripDrawable(drawable: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public onSizeChanged(w: number, h: number, oldw: number, oldh: 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 setCurrentTab(index: number): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			/** @deprecated */
			public getLeftStripDrawable(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public setEnabled(enabled: boolean): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			/** @deprecated */
			public setRightStripDrawable(resId: number): void;
			/** @deprecated */
			public removeAllViews(): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public setStripEnabled(stripEnabled: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onFocusChange(param0: android.view.View, param1: boolean): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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 getChildTabViewAt(index: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			/** @deprecated */
			public setLeftStripDrawable(resId: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public addView(child: android.view.View, index: number): void;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public getAccessibilityClassName(): string;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			/** @deprecated */
			public isStripEnabled(): boolean;
			/** @deprecated */
			public focusCurrentTab(index: number): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setDividerDrawable(resId: number): void;
			/** @deprecated */
			public onFocusChange(v: android.view.View, hasFocus: boolean): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public childDrawableStateChanged(child: android.view.View): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			/** @deprecated */
			public dispatchDraw(canvas: android.graphics.Canvas): void;
			/** @deprecated */
			public setDividerDrawable(drawable: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getRightStripDrawable(): android.graphics.drawable.Drawable;
			public isTextAlignmentResolved(): boolean;
			/** @deprecated */
			public getTabCount(): number;
			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;
			/** @deprecated */
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			/** @deprecated */
			public setLeftStripDrawable(drawable: android.graphics.drawable.Drawable): 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;
		}
	}
}

declare module android {
	export module widget {
		export class TableLayout extends android.widget.LinearLayout {
			public static class: java.lang.Class<android.widget.TableLayout>;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public isLayoutDirectionResolved(): boolean;
			public isShrinkAllColumns(): 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public setStretchAllColumns(stretchAllColumns: boolean): 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 setColumnStretchable(columnIndex: number, isStretchable: boolean): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: 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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): 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 addView(child: android.view.View, width: number, height: number): 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 generateLayoutParams(attrs: android.util.AttributeSet): android.widget.TableLayout.LayoutParams;
			public isColumnCollapsed(columnIndex: number): boolean;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public isColumnStretchable(columnIndex: 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(attrs: android.util.AttributeSet): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public generateLayoutParams(lp: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setOnHierarchyChangeListener(listener: android.view.ViewGroup.OnHierarchyChangeListener): void;
			public requestLayout(): void;
			public setShrinkAllColumns(shrinkAllColumns: boolean): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public isColumnShrinkable(columnIndex: number): boolean;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setColumnShrinkable(columnIndex: number, isShrinkable: boolean): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setColumnCollapsed(columnIndex: number, isCollapsed: boolean): void;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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(p: android.view.ViewGroup.LayoutParams);
				public constructor(w: number, h: number, initWeight: number);
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public setBaseAttributes(a: android.content.res.TypedArray, widthAttr: number, heightAttr: number): void;
				public constructor(width: number, height: number, weight: number);
				public constructor(source: android.widget.LinearLayout.LayoutParams);
				public constructor(w: number, h: number);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				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(changed: boolean, l: number, t: number, r: number, b: 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 onMeasure(widthMeasureSpec: number, heightMeasureSpec: 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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 generateLayoutParams(attrs: android.util.AttributeSet): android.widget.TableRow.LayoutParams;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public getVirtualChildAt(i: number): android.view.View;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(attrs: android.util.AttributeSet): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public generateLayoutParams(lp: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setOnHierarchyChangeListener(listener: android.view.ViewGroup.OnHierarchyChangeListener): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): 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;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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(p: android.view.ViewGroup.LayoutParams);
				public constructor(w: number, h: number, initWeight: number);
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public setBaseAttributes(a: android.content.res.TypedArray, widthAttr: number, heightAttr: number): void;
				public constructor(width: number, height: number, weight: number);
				public constructor(column: number);
				public constructor(source: android.widget.LinearLayout.LayoutParams);
				public constructor(w: number, h: number);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				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 onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onVisibilityAggregated(isVisible: boolean): void;
			public getFormat24Hour(): string;
			public constructor(context: android.content.Context);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onPreDraw(): boolean;
			public setTimeZone(timeZone: string): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public getFormat12Hour(): string;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public setFormat12Hour(format: string): void;
			public getTimeZone(): string;
			public refreshTime(): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public is24HourModeEnabled(): boolean;
			public setFormat24Hour(format: string): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

declare module android {
	export module widget {
		export class TextSwitcher extends android.widget.ViewSwitcher {
			public static class: java.lang.Class<android.widget.TextSwitcher>;
			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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setText(text: string): void;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): 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 addView(child: android.view.View, width: number, height: number): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public setCurrentText(text: string): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): 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 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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: 0;
			public static AUTO_SIZE_TEXT_TYPE_UNIFORM: 1;
			public static FOCUSED_SEARCH_RESULT_INDEX_NONE: -1;
			public setLocalePreferredLineHeightForMinimumUsed(flag: boolean): void;
			public getExtendedPaddingTop(): number;
			public getFontVariationSettings(): string;
			public getLinksClickable(): boolean;
			public onResolvePointerIcon(event: android.view.MotionEvent, pointerIndex: number): any;
			public getFreezesText(): boolean;
			public getCustomSelectionActionModeCallback(): android.view.ActionMode.Callback;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setText(text: string): void;
			public isElegantTextHeight(): boolean;
			public getLineBreakWordStyle(): number;
			public setCursorVisible(visible: boolean): void;
			public setText(text: string, type: android.widget.TextView.BufferType): void;
			public bringPointIntoView(offset: number, requestRectWithoutFocus: boolean): boolean;
			public onKeyShortcut(keyCode: number, event: android.view.KeyEvent): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setFontFeatureSettings(fontFeatureSettings: string): void;
			public setLineHeight(lineHeight: number): void;
			public sendAccessibilityEvent(param0: number): void;
			public getTextCursorDrawable(): android.graphics.drawable.Drawable;
			public getTextSelectHandle(): android.graphics.drawable.Drawable;
			public getMinLines(): number;
			public getCompoundDrawablesRelative(): androidNative.Array<android.graphics.drawable.Drawable>;
			public getLinkTextColors(): android.content.res.ColorStateList;
			public setTextIsSelectable(selectable: boolean): void;
			public setLetterSpacing(letterSpacing: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getTextLocale(): java.util.Locale;
			public getRightFadingEdgeStrength(): number;
			public computeVerticalScrollRange(): number;
			public getFocusedRect(r: android.graphics.Rect): void;
			public setTextSelectHandle(textSelectHandle: number): void;
			public setCompoundDrawablesWithIntrinsicBounds(left: number, top: number, right: number, bottom: number): void;
			public setCompoundDrawableTintMode(tintMode: android.graphics.PorterDuff.Mode): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setHintTextColor(colors: android.content.res.ColorStateList): void;
			public setTextScaleX(size: number): void;
			public setTextColor(color: number): void;
			public getTextScaleX(): number;
			public getAccessibilityClassName(): string;
			public getSelectionEnd(): number;
			public getCompoundPaddingBottom(): number;
			public setSearchResultHighlights(ranges: androidNative.Array<number>): void;
			public onDraw(canvas: android.graphics.Canvas): void;
			public setEnabled(enabled: boolean): void;
			public onPrivateIMECommand(action: string, data: android.os.Bundle): boolean;
			public getJustificationMode(): number;
			public getTotalPaddingEnd(): number;
			public getHint(): string;
			public onCommitCompletion(text: android.view.inputmethod.CompletionInfo): void;
			public getMinHeight(): number;
			public setFocusedSearchResultIndex(index: number): void;
			public getPrivateImeOptions(): string;
			public getTextSelectHandleLeft(): android.graphics.drawable.Drawable;
			public isLocalePreferredLineHeightForMinimumUsed(): boolean;
			public setLineSpacing(add: number, mult: number): void;
			public getInputType(): number;
			public setSingleLine(singleLine: boolean): void;
			public getAutofillType(): number;
			public getLastBaselineToBottomHeight(): number;
			public setText(resid: number, type: android.widget.TextView.BufferType): void;
			public setTextLocale(locale: java.util.Locale): void;
			public getShadowDx(): number;
			public clearComposingText(): void;
			public setCompoundDrawableTintList(tint: android.content.res.ColorStateList): void;
			public setMinimumFontMetrics(minimumFontMetrics: android.graphics.Paint.FontMetrics): void;
			public getPaintFlags(): number;
			public onWindowFocusChanged(hasWindowFocus: boolean): void;
			public length(): number;
			public onCreateDrawableState(extraSpace: number): androidNative.Array<number>;
			public onBeginBatchEdit(): void;
			public setAutoSizeTextTypeUniformWithConfiguration(autoSizeMinTextSize: number, autoSizeMaxTextSize: number, autoSizeStepGranularity: number, unit: number): void;
			public setTypeface(tf: android.graphics.Typeface): void;
			public getMaxWidth(): number;
			public getTotalPaddingTop(): number;
			public setLinkTextColor(colors: android.content.res.ColorStateList): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setTextAppearance(context: android.content.Context, resId: number): void;
			public setFontVariationSettings(fontVariationSettings: string): boolean;
			public setPrivateImeOptions(type: string): void;
			public setSelected(selected: boolean): void;
			public getTextClassifier(): any;
			public getMaxEms(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public getTotalPaddingBottom(): number;
			public setTextKeepState(text: string): void;
			public getAutoLinkMask(): number;
			public onTextContextMenuItem(id: number): boolean;
			public drawableStateChanged(): void;
			public onVisibilityAggregated(isVisible: boolean): void;
			public append(text: string, start: number, end: number): void;
			public onCreateContextMenu(menu: android.view.ContextMenu): void;
			public performLongClick(): boolean;
			public autofill(value: android.view.autofill.AutofillValue): void;
			public getMarqueeRepeatLimit(): number;
			public setTextSelectHandleRight(textSelectHandleRight: android.graphics.drawable.Drawable): void;
			public setOnEditorActionListener(l: android.widget.TextView.OnEditorActionListener): void;
			public onCommitCorrection(info: android.view.inputmethod.CorrectionInfo): void;
			public getFilters(): androidNative.Array<android.text.InputFilter>;
			public setLineBreakWordStyle(lineBreakWordStyle: number): void;
			public getTextColors(): android.content.res.ColorStateList;
			public onTextChanged(text: string, start: number, lengthBefore: number, lengthAfter: number): void;
			public getDefaultEditable(): boolean;
			public computeHorizontalScrollRange(): number;
			public getTotalPaddingRight(): number;
			public setShiftDrawingOffsetForStartOverhang(shiftDrawingOffsetForStartOverhang: boolean): void;
			public getCompoundPaddingTop(): number;
			public getImeHintLocales(): any;
			public getSearchResultHighlights(): androidNative.Array<number>;
			public getUrls(): androidNative.Array<android.text.style.URLSpan>;
			public getText(): string;
			public setShadowLayer(radius: number, dx: number, dy: number, color: number): void;
			public getLayout(): android.text.Layout;
			public append(text: string): void;
			public getMinWidth(): number;
			public getTotalPaddingStart(): number;
			public isCursorVisible(): boolean;
			public setPaddingRelative(start: number, top: number, end: number, bottom: number): void;
			public getLeftPaddingOffset(): number;
			public setExtractedText(text: android.view.inputmethod.ExtractedText): void;
			public onScreenStateChanged(screenState: number): void;
			public addExtraDataToAccessibilityNodeInfo(info: android.view.accessibility.AccessibilityNodeInfo, extraDataKey: string, arguments_: android.os.Bundle): void;
			public getCompoundDrawablePadding(): number;
			public setLines(lines: number): void;
			public setSingleLine(): void;
			public setMinWidth(minPixels: number): void;
			public setRawInputType(type: number): void;
			public getImeOptions(): number;
			public getCompoundDrawableTintBlendMode(): android.graphics.BlendMode;
			public getCompoundDrawables(): androidNative.Array<android.graphics.drawable.Drawable>;
			public setMaxEms(maxEms: number): void;
			public setMaxLines(maxLines: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getCompoundPaddingRight(): number;
			public onCheckIsTextEditor(): boolean;
			public setLineHeight(unit: number, lineHeight: number): void;
			public isSuggestionsEnabled(): boolean;
			public getTextMetricsParams(): any;
			public getCompoundPaddingEnd(): number;
			public getCurrentHintTextColor(): number;
			public setLinksClickable(whether: boolean): void;
			public onEditorAction(actionCode: number): void;
			public setTextSize(unit: number, size: number): void;
			public isPaddingOffsetRequired(): boolean;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public getUseBoundsForWidth(): boolean;
			public getGravity(): number;
			public onPreDraw(): boolean;
			public getBottomPaddingOffset(): number;
			public getTransformationMethod(): android.text.method.TransformationMethod;
			public getLetterSpacing(): number;
			public setText(text: androidNative.Array<string>, start: number, len: number): void;
			public cancelLongPress(): void;
			public setTextLocales(locales: any): void;
			public getLineBounds(line: number, bounds: android.graphics.Rect): number;
			public hasSelection(): boolean;
			public onTrackballEvent(event: android.view.MotionEvent): boolean;
			public setEms(ems: number): void;
			public setCompoundDrawablePadding(pad: number): void;
			public getMinEms(): number;
			public setTextCursorDrawable(textCursorDrawable: number): void;
			public autofill(values: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public setMarqueeRepeatLimit(marqueeLimit: number): void;
			public getHighlightColor(): number;
			public setBreakStrategy(breakStrategy: number): void;
			public getTextSelectHandleRight(): android.graphics.drawable.Drawable;
			public setCustomInsertionActionModeCallback(actionModeCallback: android.view.ActionMode.Callback): void;
			public getPaint(): android.text.TextPaint;
			public setCompoundDrawablesRelativeWithIntrinsicBounds(start: android.graphics.drawable.Drawable, top: android.graphics.drawable.Drawable, end: android.graphics.drawable.Drawable, bottom: android.graphics.drawable.Drawable): void;
			public getCompoundDrawableTintList(): android.content.res.ColorStateList;
			public isAutoHandwritingEnabled(): boolean;
			public setTextSize(size: number): void;
			public getAutoSizeMaxTextSize(): number;
			public setHighlightColor(color: number): void;
			public getDefaultMovementMethod(): android.text.method.MovementMethod;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public setMaxWidth(maxPixels: number): void;
			public setElegantTextHeight(elegant: boolean): void;
			public getLineCount(): number;
			public constructor(context: android.content.Context);
			public setError(error: string): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setTransformationMethod(method: android.text.method.TransformationMethod): void;
			public setTextClassifier(textClassifier: any): void;
			public moveCursorToVisibleOffset(): boolean;
			public setMovementMethod(movement: android.text.method.MovementMethod): void;
			public beginBatchEdit(): void;
			public isInputMethodTarget(): boolean;
			public showContextMenu(): boolean;
			public getMinimumFontMetrics(): android.graphics.Paint.FontMetrics;
			public setScroller(s: android.widget.Scroller): void;
			public setCompoundDrawablesRelative(start: android.graphics.drawable.Drawable, top: android.graphics.drawable.Drawable, end: android.graphics.drawable.Drawable, bottom: android.graphics.drawable.Drawable): void;
			public setFreezesText(freezesText: boolean): void;
			public setLineBreakStyle(lineBreakStyle: number): void;
			public getCompoundPaddingStart(): number;
			public getTotalPaddingLeft(): number;
			public setMinEms(minEms: number): void;
			public bringPointIntoView(offset: number): boolean;
			public getTextSize(): number;
			public getAutofillHints(): androidNative.Array<string>;
			public findViewsWithText(outViews: java.util.ArrayList<android.view.View>, searched: string, flags: number): void;
			public setFilters(filters: androidNative.Array<android.text.InputFilter>): void;
			public setCompoundDrawablesWithIntrinsicBounds(left: android.graphics.drawable.Drawable, top: android.graphics.drawable.Drawable, right: android.graphics.drawable.Drawable, bottom: android.graphics.drawable.Drawable): void;
			public getEllipsize(): android.text.TextUtils.TruncateAt;
			public setHeight(pixels: number): void;
			public getMovementMethod(): android.text.method.MovementMethod;
			public getLeftFadingEdgeStrength(): number;
			public getImeActionId(): number;
			public drawableHotspotChanged(x: number, y: number): void;
			public getHintTextColors(): android.content.res.ColorStateList;
			public getImeActionLabel(): string;
			public setSelectAllOnFocus(selectAllOnFocus: boolean): void;
			public setUseBoundsForWidth(useBoundsForWidth: boolean): void;
			public setImeActionLabel(label: string, actionId: number): void;
			public getInputExtras(create: boolean): android.os.Bundle;
			public setHorizontallyScrolling(whether: boolean): void;
			public getMaxHeight(): number;
			public getShowSoftInputOnFocus(): boolean;
			public getSelectionStart(): number;
			public setIncludeFontPadding(includepad: boolean): void;
			public setHighlights(highlights: android.text.Highlights): void;
			public computeVerticalScrollExtent(): number;
			public setTextSelectHandle(textSelectHandle: android.graphics.drawable.Drawable): void;
			public setFrame(l: number, t: number, r: number, b: number): boolean;
			public getTextDirectionHeuristic(): any;
			public getKeyListener(): android.text.method.KeyListener;
			public getRightPaddingOffset(): number;
			public getHyphenationFrequency(): number;
			public setAutoSizeTextTypeWithDefaults(autoSizeTextType: number): void;
			public getOffsetForPosition(x: number, y: number): number;
			public getTypeface(): android.graphics.Typeface;
			public getLineSpacingExtra(): number;
			public getIncludeFontPadding(): boolean;
			public getTextLocales(): any;
			public getCustomInsertionActionModeCallback(): android.view.ActionMode.Callback;
			public setImeOptions(imeOptions: number): void;
			public onVisibilityChanged(changedView: android.view.View, visibility: number): void;
			public getLineSpacingMultiplier(): number;
			public getShiftDrawingOffsetForStartOverhang(): boolean;
			public isFallbackLineSpacing(): boolean;
			public getLineBreakStyle(): number;
			public setTextMetricsParams(params: any): void;
			public setText(resid: number): void;
			public invalidateDrawable(drawable: android.graphics.drawable.Drawable): void;
			public onKeyMultiple(keyCode: number, repeatCount: number, event: android.view.KeyEvent): boolean;
			public isAllCaps(): boolean;
			public getCompoundPaddingLeft(): number;
			public setPaintFlags(flags: number): void;
			public getShadowDy(): number;
			public setInputExtras(xmlResId: number): void;
			public getFontFeatureSettings(): string;
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public setTextSelectHandleRight(textSelectHandleRight: number): void;
			public onDragEvent(event: android.view.DragEvent): boolean;
			public setLastBaselineToBottomHeight(lastBaselineToBottomHeight: number): void;
			public verifyDrawable(who: android.graphics.drawable.Drawable): boolean;
			public setHint(hint: string): void;
			public isHorizontallyScrollable(): boolean;
			public setHyphenationFrequency(hyphenationFrequency: number): void;
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public sendAccessibilityEventUnchecked(event: android.view.accessibility.AccessibilityEvent): void;
			public setSearchResultHighlightColor(color: number): void;
			public getLineHeight(): number;
			public getShadowColor(): number;
			public setHint(resid: number): void;
			public getTopPaddingOffset(): number;
			public onConfigurationChanged(newConfig: android.content.res.Configuration): void;
			public setInputType(type: number): void;
			public setFirstBaselineToTopHeight(firstBaselineToTopHeight: number): void;
			public onSelectionChanged(selStart: number, selEnd: number): void;
			public onScrollChanged(horiz: number, vert: number, oldHoriz: number, oldVert: number): void;
			public setTextAppearance(resId: number): void;
			public getFocusedSearchResultHighlightColor(): number;
			public getTextSizeUnit(): number;
			public setSpannableFactory(factory: android.text.Spannable.Factory): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public setTextSelectHandleLeft(textSelectHandleLeft: number): void;
			public setMinHeight(minPixels: number): void;
			public getAutoSizeTextType(): number;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public setTypeface(tf: android.graphics.Typeface, style: number): void;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public setCompoundDrawableTintBlendMode(blendMode: android.graphics.BlendMode): void;
			public getHighlights(): android.text.Highlights;
			public getCurrentTextColor(): number;
			public removeTextChangedListener(watcher: android.text.TextWatcher): void;
			public performLongClick(x: number, y: number): boolean;
			public setEllipsize(where: android.text.TextUtils.TruncateAt): void;
			public setShowSoftInputOnFocus(show: boolean): void;
			public setWidth(pixels: number): void;
			public setImeHintLocales(hintLocales: any): void;
			public getEditableText(): android.text.Editable;
			public onFocusChanged(focused: boolean, direction: number, previouslyFocusedRect: android.graphics.Rect): void;
			public getCompoundDrawableTintMode(): android.graphics.PorterDuff.Mode;
			public setJustificationMode(justificationMode: number): void;
			public setGravity(gravity: number): void;
			public setFocusedSearchResultHighlightColor(color: number): void;
			public setTextKeepState(text: string, type: android.widget.TextView.BufferType): void;
			public didTouchFocusSelect(): boolean;
			public getAutoSizeStepGranularity(): number;
			public isSingleLine(): boolean;
			public onKeyPreIme(keyCode: number, event: android.view.KeyEvent): boolean;
			public addTextChangedListener(watcher: android.text.TextWatcher): void;
			public setAutoSizeTextTypeUniformWithPresetSizes(presetSizes: androidNative.Array<number>, unit: number): void;
			public setAutoLinkMask(mask: number): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onCreateInputConnection(outAttrs: android.view.inputmethod.EditorInfo): android.view.inputmethod.InputConnection;
			public setEditableFactory(factory: android.text.Editable.Factory): void;
			public setMinLines(minLines: number): void;
			public getBreakStrategy(): number;
			public setTextColor(colors: android.content.res.ColorStateList): void;
			public getFocusedSearchResultIndex(): number;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setKeyListener(input: android.text.method.KeyListener): void;
			public hasOverlappingRendering(): boolean;
			public setMaxHeight(maxPixels: number): void;
			public setError(error: string, icon: android.graphics.drawable.Drawable): void;
			public onCreateViewTranslationRequest(supportedFormats: androidNative.Array<number>, requestsCollector: any /* any*/): void;
			public onReceiveContent(payload: android.view.ContentInfo): android.view.ContentInfo;
			public endBatchEdit(): void;
			public debug(depth: number): void;
			public getFirstBaselineToTopHeight(): number;
			public setCompoundDrawables(left: android.graphics.drawable.Drawable, top: android.graphics.drawable.Drawable, right: android.graphics.drawable.Drawable, bottom: android.graphics.drawable.Drawable): void;
			public setFallbackLineSpacing(enabled: boolean): void;
			public getShadowRadius(): number;
			public extractText(request: android.view.inputmethod.ExtractedTextRequest, outText: android.view.inputmethod.ExtractedText): boolean;
			public getError(): string;
			public getExtendedPaddingBottom(): number;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public setPadding(left: number, top: number, right: number, bottom: number): void;
			public onEndBatchEdit(): void;
			public setCompoundDrawablesRelativeWithIntrinsicBounds(start: number, top: number, end: number, bottom: number): void;
			public jumpDrawablesToCurrentState(): void;
			public getBaseline(): number;
			public setHintTextColor(color: number): void;
			public computeScroll(): void;
			public getAutoSizeMinTextSize(): number;
			public setLinkTextColor(color: number): void;
			public setCustomSelectionActionModeCallback(actionModeCallback: android.view.ActionMode.Callback): void;
			public getAutoSizeTextAvailableSizes(): androidNative.Array<number>;
			public setAllCaps(allCaps: boolean): void;
			public getMaxLines(): number;
			public showContextMenu(x: number, y: number): boolean;
			public setTextSelectHandleLeft(textSelectHandleLeft: android.graphics.drawable.Drawable): void;
			public getSearchResultHighlightColor(): number;
			public setTextCursorDrawable(textCursorDrawable: android.graphics.drawable.Drawable): void;
			public onGenericMotionEvent(event: android.view.MotionEvent): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): 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(): androidNative.Array<android.widget.TextView.BufferType>;
				public static valueOf(name: string): android.widget.TextView.BufferType;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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 writeToParcel(out: android.os.Parcel, flags: number): void;
				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(): androidNative.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: -2147483648;
			public static IGNORE_ITEM_VIEW_TYPE: -1;
			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 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 getAutofillOptions(): androidNative.Array<string>;
			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 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public autofill(value: android.view.autofill.AutofillValue): void;
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 setHour(hour: number): void;
			/** @deprecated */
			public setCurrentMinute(currentMinute: java.lang.Integer): void;
			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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 setIs24HourView(is24HourView: java.lang.Boolean): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			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 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 dispatchProvideAutofillStructure(structure: any, flags: number): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public setCurrentHour(currentHour: java.lang.Integer): 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 onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public setEnabled(enabled: boolean): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAutofillType(): number;
			public is24HourView(): boolean;
			public getBaseline(): number;
			public requestLayout(): 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;
			/** @deprecated */
			public getCurrentHour(): java.lang.Integer;
			public canResolveTextDirection(): boolean;
			public setMinute(minute: number): void;
			public autofill(values: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public isEnabled(): boolean;
			public addView(child: android.view.View): void;
			public getMinute(): number;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 setOnTimeChangedListener(onTimeChangedListener: android.widget.TimePicker.OnTimeChangedListener): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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: 1;
			public static LENGTH_SHORT: 0;
			public show(): void;
			public getDuration(): number;
			public getVerticalMargin(): number;
			public cancel(): void;
			public getYOffset(): number;
			public setText(resId: number): void;
			public setMargin(horizontalMargin: number, verticalMargin: number): void;
			public getHorizontalMargin(): number;
			public setGravity(gravity: number, xOffset: number, yOffset: number): void;
			public static makeText(context: android.content.Context, text: string, duration: number): android.widget.Toast;
			/** @deprecated */
			public getView(): android.view.View;
			public constructor(context: android.content.Context);
			public getXOffset(): number;
			public addCallback(callback: android.widget.Toast.Callback): void;
			public setText(s: string): void;
			/** @deprecated */
			public setView(view: android.view.View): void;
			public getGravity(): number;
			public static makeText(context: android.content.Context, resId: number, duration: number): android.widget.Toast;
			public removeCallback(callback: android.widget.Toast.Callback): void;
			public setDuration(duration: number): void;
		}
		export module Toast {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.widget.Toast.Callback>;
				public onToastShown(): void;
				public constructor();
				public onToastHidden(): 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;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setChecked(checked: boolean): void;
			public constructor(context: android.content.Context);
			public onFinishInflate(): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onPreDraw(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setChecked(param0: boolean): void;
			public setTextOn(textOn: string): void;
			public setTextOff(textOff: string): void;
			public isChecked(): boolean;
			public getDisabledAlpha(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getTextOff(): string;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setBackgroundDrawable(d: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

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 getLogoDescription(): string;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public setContentInsetStartWithNavigation(insetStartWithNavigation: number): void;
			public getTitleMarginBottom(): number;
			public setTitleMarginBottom(margin: number): void;
			public constructor(context: android.content.Context);
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public getPopupTheme(): number;
			public getCollapseContentDescription(): string;
			public setTitleMargin(start: number, top: number, end: number, bottom: number): void;
			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 setPopupTheme(resId: number): void;
			public setSubtitle(subtitle: string): void;
			public getContentInsetLeft(): number;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 addView(child: android.view.View, width: number, height: number): void;
			public setTitleMarginEnd(margin: number): void;
			public canResolveTextAlignment(): boolean;
			public setNavigationIcon(resId: 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 setSubtitleTextColor(color: 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 setContentInsetsRelative(contentInsetStart: number, contentInsetEnd: number): void;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public setTitle(resId: number): void;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public showOverflowMenu(): boolean;
			public setTitleTextColor(color: number): void;
			public isLayoutRequested(): boolean;
			public generateLayoutParams(attrs: android.util.AttributeSet): android.widget.Toolbar.LayoutParams;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public getLogo(): android.graphics.drawable.Drawable;
			public setCollapseIcon(icon: android.graphics.drawable.Drawable): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public setTitleMarginStart(margin: number): void;
			public setOnMenuItemClickListener(listener: android.widget.Toolbar.OnMenuItemClickListener): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public setContentInsetsAbsolute(contentInsetLeft: number, contentInsetRight: number): void;
			public setLogoDescription(description: string): void;
			public requestLayout(): void;
			public setSubtitle(resId: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public checkLayoutParams(p: android.view.ViewGroup.LayoutParams): boolean;
			public canResolveTextDirection(): boolean;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRtlPropertiesChanged(layoutDirection: number): void;
			public inflateMenu(resId: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setNavigationContentDescription(resId: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public setCollapseContentDescription(description: string): void;
			public requestFitSystemWindows(): void;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
			public getNavigationContentDescription(): string;
			public getMenu(): android.view.Menu;
			public setCollapseIcon(resId: number): void;
			public setLogo(resId: number): void;
			public setNavigationOnClickListener(listener: android.view.View.OnClickListener): void;
			public getOverflowIcon(): android.graphics.drawable.Drawable;
			public setTitleTextAppearance(context: android.content.Context, resId: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onRestoreInstanceState(state: android.os.Parcelable): void;
			public dismissPopupMenus(): void;
			public getContentInsetEnd(): number;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public hasExpandedActionView(): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getTitleMarginStart(): number;
			public setLogoDescription(resId: number): void;
			public addView(child: android.view.View, index: number): void;
			public getCurrentContentInsetRight(): number;
			public setSubtitleTextAppearance(context: android.content.Context, resId: number): void;
			public getTitle(): string;
			public getSubtitle(): string;
			public getContentInsetStartWithNavigation(): number;
			public getParentForAccessibility(): android.view.ViewParent;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setTitle(title: string): 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 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 onSaveInstanceState(): android.os.Parcelable;
			public setNavigationIcon(icon: android.graphics.drawable.Drawable): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getCurrentContentInsetEnd(): number;
			public getCollapseIcon(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public setContentInsetEndWithActions(insetEndWithActions: number): void;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public setCollapseContentDescription(resId: number): void;
			public getContentInsetStart(): number;
			public setLogo(drawable: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public generateLayoutParams(p: android.view.ViewGroup.LayoutParams): android.widget.Toolbar.LayoutParams;
			public setNavigationContentDescription(description: string): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public isOverflowMenuShowing(): boolean;
			public clearChildFocus(param0: android.view.View): void;
			public setOverflowIcon(icon: android.graphics.drawable.Drawable): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setTitleMarginTop(margin: number): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public getContentInsetRight(): 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 getCurrentContentInsetLeft(): number;
		}
		export module Toolbar {
			export class LayoutParams extends android.app.ActionBar.LayoutParams {
				public static class: java.lang.Class<android.widget.Toolbar.LayoutParams>;
				public constructor(source: android.app.ActionBar.LayoutParams);
				public constructor(gravity: number);
				public constructor(c: android.content.Context, attrs: android.util.AttributeSet);
				public constructor(width: number, height: number);
				public constructor(source: android.widget.Toolbar.LayoutParams);
				public constructor(source: android.view.ViewGroup.LayoutParams);
				public constructor(source: android.view.ViewGroup.MarginLayoutParams);
				public constructor(width: number, height: number, gravity: number);
			}
			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 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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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;
			/** @deprecated */
			public getText1(): android.widget.TextView;
			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;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public getAccessibilityClassName(): string;
			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;
			/** @deprecated */
			public getText2(): android.widget.TextView;
			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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): 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 removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public onFinishInflate(): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): 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 setOnPreparedListener(l: android.media.MediaPlayer.OnPreparedListener): void;
			public canPause(): boolean;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public getBufferPercentage(): number;
			public constructor(context: android.content.Context);
			public draw(canvas: android.graphics.Canvas): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onKeyDown(keyCode: number, event: android.view.KeyEvent): boolean;
			public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
			public setMediaController(controller: android.widget.MediaController): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public start(): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public stopPlayback(): void;
			public setAudioAttributes(attributes: any): void;
			public addSubtitleSource(is: java.io.InputStream, format: android.media.MediaFormat): void;
			public seekTo(param0: number): void;
			public onTouchEvent(ev: android.view.MotionEvent): boolean;
			public getCurrentPosition(): number;
			public suspend(): void;
			public setVideoPath(path: string): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setOnInfoListener(l: android.media.MediaPlayer.OnInfoListener): void;
			public setOnErrorListener(l: android.media.MediaPlayer.OnErrorListener): void;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public resolveAdjustedSize(desiredSize: number, measureSpec: number): number;
			public getDuration(): number;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public isPlaying(): boolean;
			public pause(): void;
			public resume(): void;
			public setAudioFocusRequest(focusGain: number): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public onTrackballEvent(ev: android.view.MotionEvent): boolean;
			public onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void;
			public seekTo(msec: number): void;
			public canSeekBackward(): boolean;
			public setVideoURI(uri: android.net.Uri, headers: java.util.Map<string,string>): void;
			public setOnCompletionListener(l: android.media.MediaPlayer.OnCompletionListener): void;
			public canSeekForward(): boolean;
			public getAudioSessionId(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setVideoURI(uri: android.net.Uri): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

declare module android {
	export module widget {
		export class ViewAnimator extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.ViewAnimator>;
			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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public setAnimateFirstView(animate: boolean): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 removeViewAt(index: 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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public removeViews(start: number, count: number): void;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): 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 getInAnimation(): android.view.animation.Animation;
			public requestTransparentRegion(param0: android.view.View): void;
			public addView(child: android.view.View, width: number, height: number): 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 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 setInAnimation(context: android.content.Context, resourceID: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public setInAnimation(inAnimation: android.view.animation.Animation): void;
			public getAccessibilityClassName(): string;
			public setOutAnimation(outAnimation: android.view.animation.Animation): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public showNext(): void;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			public getAnimateFirstView(): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public getDisplayedChild(): number;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public removeAllViews(): void;
			public removeViewsInLayout(start: number, count: number): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public showPrevious(): void;
			public removeViewInLayout(view: android.view.View): void;
			public getCurrentView(): android.view.View;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setDisplayedChild(whichChild: number): void;
			public getBaseline(): number;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public removeView(view: 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 setOutAnimation(context: android.content.Context, resourceID: number): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public setFlipInterval(milliseconds: number): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public onWindowVisibilityChanged(visibility: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public isAutoStart(): boolean;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public getFlipInterval(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setAutoStart(autoStart: boolean): void;
			public requestLayout(): 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 isFlipping(): boolean;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): 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 onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 onAttachedToWindow(): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export class ViewSwitcher extends android.widget.ViewAnimator {
			public static class: java.lang.Class<android.widget.ViewSwitcher>;
			public setFactory(factory: android.widget.ViewSwitcher.ViewFactory): void;
			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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View, params: android.view.ViewGroup.LayoutParams): 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 addView(child: android.view.View, width: number, height: number): 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 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public reset(): 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 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			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(): androidNative.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: -2147483648;
			public static IGNORE_ITEM_VIEW_TYPE: -1;
			public getItem(param0: number): any;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEmpty(): boolean;
			public getItemId(param0: number): number;
			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 getAutofillOptions(): androidNative.Array<string>;
			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 onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setEnabled(enabled: boolean): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public onLongClick(v: android.view.View): boolean;
			/** @deprecated */
			public setZoomSpeed(speed: number): void;
			/** @deprecated */
			public constructor(context: android.content.Context);
			public onLongClickUseDefaultHapticFeedback(v: android.view.View): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public dispatchUnhandledMove(focused: android.view.View, direction: number): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			/** @deprecated */
			public getAccessibilityClassName(): string;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			/** @deprecated */
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			public onLongClick(param0: android.view.View): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			/** @deprecated */
			public onKeyUp(keyCode: number, event: android.view.KeyEvent): boolean;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
		}
	}
}

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>;
			/** @deprecated */
			public setFocusable(focusable: boolean): void;
			/** @deprecated */
			public isVisible(): boolean;
			/** @deprecated */
			public setAutoDismissed(autoDismiss: boolean): void;
			/** @deprecated */
			public setVisible(visible: boolean): void;
			/** @deprecated */
			public setZoomSpeed(speed: number): void;
			/** @deprecated */
			public setOnZoomListener(listener: android.widget.ZoomButtonsController.OnZoomListener): void;
			/** @deprecated */
			public isAutoDismissed(): boolean;
			/** @deprecated */
			public getContainer(): android.view.ViewGroup;
			/** @deprecated */
			public constructor(ownerView: android.view.View);
			/** @deprecated */
			public setZoomInEnabled(enabled: boolean): void;
			/** @deprecated */
			public setZoomOutEnabled(enabled: boolean): void;
			/** @deprecated */
			public getZoomControls(): android.view.View;
			/** @deprecated */
			public onTouch(v: android.view.View, event: android.view.MotionEvent): boolean;
			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();
				/** @deprecated */
				public onVisibilityChanged(param0: boolean): void;
				/** @deprecated */
				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(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number);
			/** @deprecated */
			public constructor(context: android.content.Context);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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;
			/** @deprecated */
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			public addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public hasFocus(): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public getAccessibilityClassName(): string;
			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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet);
			/** @deprecated */
			public setZoomSpeed(speed: number): void;
			/** @deprecated */
			public setIsZoomOutEnabled(isEnabled: boolean): void;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			/** @deprecated */
			public setOnZoomInClickListener(listener: android.view.View.OnClickListener): void;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			/** @deprecated */
			public setIsZoomInEnabled(isEnabled: boolean): void;
			public requestLayout(): 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;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			/** @deprecated */
			public show(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			/** @deprecated */
			public onTouchEvent(event: android.view.MotionEvent): boolean;
			/** @deprecated */
			public hide(): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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;
			/** @deprecated */
			public setOnZoomOutClickListener(listener: android.view.View.OnClickListener): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public constructor(context: android.content.Context, attrs: android.util.AttributeSet, defStyleAttr: number, defStyleRes: number);
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export module inline {
			export class InlineContentView extends android.view.ViewGroup {
				public static class: java.lang.Class<android.widget.inline.InlineContentView>;
				public requestDisallowInterceptTouchEvent(param0: boolean): void;
				public addView(child: android.view.View, width: number, height: number): void;
				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 onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
				public setZOrderedOnTop(onTop: boolean): boolean;
				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: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
				public requestFitSystemWindows(): void;
				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 scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public getSurfaceControl(): android.view.SurfaceControl;
				public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
				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 getTextAlignment(): number;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public onLayout(changed: boolean, l: number, t: number, r: number, b: number): void;
				public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
				public focusSearch(direction: number): android.view.View;
				public focusSearch(param0: android.view.View, param1: number): android.view.View;
				public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
				public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				public isZOrderedOnTop(): boolean;
				public requestTransparentRegion(param0: android.view.View): void;
				public createContextMenu(param0: android.view.ContextMenu): void;
				public removeView(param0: android.view.View): void;
				public isTextDirectionResolved(): boolean;
				public focusableViewAvailable(param0: android.view.View): void;
				public onDetachedFromWindow(): void;
				public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
				/** @deprecated */
				public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
				public isLayoutDirectionResolved(): boolean;
				public isTextAlignmentResolved(): boolean;
				public getLayoutDirection(): number;
				public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
				public canResolveTextDirection(): boolean;
				public showContextMenuForChild(param0: android.view.View): boolean;
				public canResolveTextAlignment(): boolean;
				public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
				public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
				public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
				public requestLayout(): void;
				public setClipBounds(clipBounds: android.graphics.Rect): void;
				public childDrawableStateChanged(param0: android.view.View): void;
				public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
				public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
				public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
				public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
				public getParentForAccessibility(): android.view.ViewParent;
				public addView(child: android.view.View): void;
				public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
				public onStopNestedScroll(param0: android.view.View): void;
				public addView(child: android.view.View, index: number): void;
				public setSurfaceControlCallback(callback: android.widget.inline.InlineContentView.SurfaceControlCallback): void;
				public bringChildToFront(param0: android.view.View): void;
				public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
				public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
				public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
				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 unscheduleDrawable(who: android.graphics.drawable.Drawable): void;
				public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
				public recomputeViewAttributes(param0: android.view.View): void;
				public onAttachedToWindow(): void;
				public clearChildFocus(param0: android.view.View): void;
			}
			export module InlineContentView {
				export class SurfaceControlCallback extends java.lang.Object {
					public static class: java.lang.Class<android.widget.inline.InlineContentView.SurfaceControlCallback>;
					/**
					 * Constructs a new instance of the android.widget.inline.InlineContentView$SurfaceControlCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onCreated(param0: android.view.SurfaceControl): void;
						onDestroyed(param0: android.view.SurfaceControl): void;
					});
					public constructor();
					public onCreated(param0: android.view.SurfaceControl): void;
					public onDestroyed(param0: android.view.SurfaceControl): void;
				}
			}
		}
	}
}

declare module android {
	export module widget {
		export module inline {
			export class InlinePresentationSpec extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.widget.inline.InlinePresentationSpec>;
				public static CREATOR: android.os.Parcelable.Creator<android.widget.inline.InlinePresentationSpec>;
				public getStyle(): android.os.Bundle;
				public writeToParcel(dest: android.os.Parcel, flags: number): void;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getMaxSize(): any;
				public describeContents(): number;
				public equals(o: any): boolean;
				public toString(): string;
				public getMinSize(): any;
			}
			export module InlinePresentationSpec {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.widget.inline.InlinePresentationSpec.Builder>;
					public constructor(minSize: any, maxSize: any);
					public build(): android.widget.inline.InlinePresentationSpec;
					public setStyle(value: android.os.Bundle): android.widget.inline.InlinePresentationSpec.Builder;
				}
			}
		}
	}
}

declare module android {
	export module window {
		export class BackEvent extends java.lang.Object {
			public static class: java.lang.Class<android.window.BackEvent>;
			public static EDGE_LEFT: 0;
			public static EDGE_RIGHT: 1;
			public getProgress(): number;
			public toString(): string;
			public constructor(touchX: number, touchY: number, progress: number, swipeEdge: number);
			public getTouchX(): number;
			public getSwipeEdge(): number;
			public getTouchY(): number;
		}
	}
}

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

declare module android {
	export module window {
		export class OnBackAnimationCallback extends java.lang.Object implements android.window.OnBackInvokedCallback {
			public static class: java.lang.Class<android.window.OnBackAnimationCallback>;
			/**
			 * Constructs a new instance of the android.window.OnBackAnimationCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onBackStarted(backEvent: android.window.BackEvent): void;
				onBackProgressed(backEvent: android.window.BackEvent): void;
				onBackCancelled(): void;
				onBackInvoked(): void;
			});
			public constructor();
			public onBackInvoked(): void;
			public onBackProgressed(backEvent: android.window.BackEvent): void;
			public onBackCancelled(): void;
			public onBackStarted(backEvent: android.window.BackEvent): void;
		}
	}
}

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

declare module android {
	export module window {
		export class OnBackInvokedDispatcher extends java.lang.Object {
			public static class: java.lang.Class<android.window.OnBackInvokedDispatcher>;
			/**
			 * Constructs a new instance of the android.window.OnBackInvokedDispatcher interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				registerOnBackInvokedCallback(param0: number, param1: android.window.OnBackInvokedCallback): void;
				unregisterOnBackInvokedCallback(param0: android.window.OnBackInvokedCallback): void;
			});
			public constructor();
			public static PRIORITY_OVERLAY: 1000000;
			public static PRIORITY_DEFAULT: 0;
			public registerOnBackInvokedCallback(param0: number, param1: android.window.OnBackInvokedCallback): void;
			public unregisterOnBackInvokedCallback(param0: android.window.OnBackInvokedCallback): void;
		}
	}
}

declare module android {
	export module window {
		export class SplashScreen extends java.lang.Object {
			public static class: java.lang.Class<android.window.SplashScreen>;
			/**
			 * Constructs a new instance of the android.window.SplashScreen interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setOnExitAnimationListener(param0: android.window.SplashScreen.OnExitAnimationListener): void;
				clearOnExitAnimationListener(): void;
				setSplashScreenTheme(param0: number): void;
			});
			public constructor();
			public static SPLASH_SCREEN_STYLE_ICON: 1;
			public static SPLASH_SCREEN_STYLE_SOLID_COLOR: 0;
			public clearOnExitAnimationListener(): void;
			public setOnExitAnimationListener(param0: android.window.SplashScreen.OnExitAnimationListener): void;
			public setSplashScreenTheme(param0: number): void;
		}
		export module SplashScreen {
			export class OnExitAnimationListener extends java.lang.Object {
				public static class: java.lang.Class<android.window.SplashScreen.OnExitAnimationListener>;
				/**
				 * Constructs a new instance of the android.window.SplashScreen$OnExitAnimationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSplashScreenExit(param0: android.window.SplashScreenView): void;
				});
				public constructor();
				public onSplashScreenExit(param0: android.window.SplashScreenView): void;
			}
		}
	}
}

declare module android {
	export module window {
		export class SplashScreenView extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.window.SplashScreenView>;
			public onLayout(changed: boolean, l: number, t: number, r: number, b: 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 getIconAnimationStart(): java.time.Instant;
			public getIconAnimationDuration(): java.time.Duration;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(originalView: android.view.View, x: number, y: number): boolean;
			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 addView(child: android.view.View, index: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			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 getParentForAccessibility(): android.view.ViewParent;
			public addView(child: android.view.View, width: number, height: number): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			public setAlpha(alpha: number): void;
			public remove(): 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 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 onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public focusSearch(direction: number): android.view.View;
			public getIconView(): android.view.View;
			public isLayoutRequested(): boolean;
			public addView(child: android.view.View, index: number, params: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public invalidateChildInParent(param0: androidNative.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public findOnBackInvokedDispatcherForChild(child: android.view.View, requester: android.view.View): android.window.OnBackInvokedDispatcher;
			public startActionModeForChild(originalView: android.view.View, callback: android.view.ActionMode.Callback, type: number): android.view.ActionMode;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: androidNative.Array<number>): void;
			public unscheduleDrawable(who: android.graphics.drawable.Drawable): 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 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 requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onDescendantInvalidated(child: android.view.View, target: android.view.View): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(child: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			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 notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module window {
		export class SurfaceSyncGroup extends java.lang.Object {
			public static class: java.lang.Class<android.window.SurfaceSyncGroup>;
			public markSyncReady(): void;
			public add(surfacePackage: android.view.SurfaceControlViewHost.SurfacePackage, runnable: java.lang.Runnable): boolean;
			public constructor(name: string);
			public addTransaction(transaction: android.view.SurfaceControl.Transaction): void;
			public add(attachedSurfaceControl: android.view.AttachedSurfaceControl, runnable: java.lang.Runnable): boolean;
		}
	}
}

declare module android {
	export module window {
		export class TrustedPresentationThresholds extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.window.TrustedPresentationThresholds>;
			public static CREATOR: android.os.Parcelable.Creator<android.window.TrustedPresentationThresholds>;
			public getMinAlpha(): number;
			public getMinFractionRendered(): number;
			public toString(): string;
			public constructor(minAlpha: number, minFractionRendered: number, stabilityRequirementMs: number);
			public getStabilityRequirementMillis(): number;
			public writeToParcel(dest: android.os.Parcel, flags: number): void;
			public equals(o: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

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(): androidNative.Array<java.lang.Class<any>>;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			/** @deprecated */
			public methodName(): string;
			public equals(param0: any): boolean;
			public toString(): string;
			/** @deprecated */
			public methodArgs(): androidNative.Array<java.lang.Class<any>>;
			/** @deprecated */
			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;
			/** @deprecated */
			public value(): java.lang.Class<any>;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module dalvik {
	export module annotation {
		export module optimization {
			export class CriticalNative extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<dalvik.annotation.optimization.CriticalNative>;
				/**
				 * Constructs a new instance of the dalvik.annotation.optimization.CriticalNative 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 dalvik {
	export module annotation {
		export module optimization {
			export class FastNative extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<dalvik.annotation.optimization.FastNative>;
				/**
				 * Constructs a new instance of the dalvik.annotation.optimization.FastNative 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 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_DOUBLE_TO_FLOAT: 140;
			public static OP_DIV_INT: 147;
			public static OP_MOVE_16: 3;
			public static OP_SUB_LONG_2ADDR: 188;
			public static OP_SPUT_JUMBO: 7167;
			public static OP_DIV_INT_2ADDR: 179;
			public static OP_SPUT_OBJECT_JUMBO: 7679;
			public static OP_OR_INT_2ADDR: 182;
			public static OP_IGET_WIDE_QUICK: 243;
			public static OP_IF_LT: 52;
			public static OP_DIV_FLOAT_2ADDR: 201;
			public static OP_SHL_INT: 152;
			public static OP_SGET_OBJECT: 98;
			public static OP_NOT_INT: 124;
			public static OP_SGET_BOOLEAN: 99;
			public static OP_SHR_INT_LIT8: 225;
			public static OP_ADD_LONG_2ADDR: 187;
			public static OP_IF_LE: 55;
			public static OP_IF_GTZ: 60;
			public static OP_IPUT_CHAR: 94;
			public static OP_NEG_DOUBLE: 128;
			public static OP_DIV_DOUBLE_2ADDR: 206;
			public static OP_MOVE_WIDE: 4;
			public static OP_MOVE_OBJECT_FROM16: 8;
			public static OP_NEG_INT: 123;
			public static OP_SPUT_SHORT_JUMBO: 8703;
			public static OP_MUL_DOUBLE_2ADDR: 205;
			public static OP_APUT_BYTE: 79;
			public static OP_APUT_OBJECT: 77;
			public static OP_CONST_WIDE_32: 23;
			public static OP_FILL_ARRAY_DATA: 38;
			public static OP_DIV_LONG: 158;
			public static OP_INVOKE_SUPER_JUMBO: 9215;
			public static OP_SGET_WIDE_VOLATILE: 234;
			public static OP_OR_LONG_2ADDR: 193;
			public static OP_OR_INT: 150;
			public static OP_ADD_FLOAT: 166;
			public static OP_IF_EQZ: 56;
			public static OP_REM_INT: 148;
			public static OP_APUT_BOOLEAN: 78;
			public static OP_INVOKE_INTERFACE_JUMBO: 9983;
			public static OP_MOVE_FROM16: 2;
			public static OP_MUL_LONG: 157;
			public static OP_MUL_LONG_2ADDR: 189;
			public static OP_ADD_INT: 144;
			public static OP_INVOKE_SUPER_QUICK_RANGE: 251;
			public static OP_IF_GEZ: 59;
			public static OP_MONITOR_ENTER: 29;
			public static OP_OR_INT_LIT16: 214;
			public static OP_DOUBLE_TO_INT: 138;
			public static OP_IGET_WIDE_VOLATILE: 232;
			public static OP_DIV_INT_LIT16: 211;
			public static OP_IPUT_OBJECT_QUICK: 247;
			public static OP_ADD_FLOAT_2ADDR: 198;
			public static OP_CONST_HIGH16: 21;
			public static OP_IF_NE: 51;
			public static OP_DIV_DOUBLE: 174;
			public static OP_SPUT_WIDE_JUMBO: 7423;
			public static OP_INVOKE_CUSTOM_RANGE: 253;
			public static OP_ADD_DOUBLE: 171;
			public static OP_APUT_WIDE: 76;
			public static OP_INVOKE_DIRECT_RANGE: 118;
			public static OP_CONST_4: 18;
			public static OP_CONST_16: 19;
			public static OP_IGET: 82;
			public static OP_REM_FLOAT: 170;
			public static OP_INVOKE_DIRECT: 112;
			public static OP_DIV_INT_LIT8: 219;
			public static OP_SPUT_BOOLEAN: 106;
			public static OP_MOVE_EXCEPTION: 13;
			public static OP_REM_INT_2ADDR: 180;
			public static OP_NEW_INSTANCE_JUMBO: 1023;
			public static OP_INT_TO_BYTE: 141;
			public static OP_EXECUTE_INLINE: 238;
			public static OP_NOP: 0;
			public static OP_SPUT_BYTE_JUMBO: 8191;
			public static OP_FILLED_NEW_ARRAY_RANGE: 37;
			public static OP_USHR_INT: 154;
			public static OP_CHECK_CAST_JUMBO: 511;
			public static OP_RSUB_INT_LIT8: 217;
			public static OP_ADD_INT_LIT16: 208;
			public static OP_INVOKE_POLYMORPHIC: 250;
			public static OP_INT_TO_FLOAT: 130;
			public static OP_MOVE_OBJECT_16: 9;
			public static OP_MOVE_WIDE_FROM16: 5;
			public static OP_SPUT_WIDE_VOLATILE: 235;
			public static OP_ARRAY_LENGTH: 33;
			public static OP_INSTANCE_OF: 32;
			public static OP_IPUT_WIDE_QUICK: 246;
			public static OP_INVOKE_STATIC: 113;
			public static OP_IPUT_WIDE_JUMBO: 3839;
			public static OP_LONG_TO_DOUBLE: 134;
			public static OP_IPUT_JUMBO: 3583;
			public static OP_INVOKE_VIRTUAL_JUMBO: 8959;
			public static OP_INVOKE_SUPER: 111;
			public static OP_USHR_LONG_2ADDR: 197;
			public static OP_INVOKE_VIRTUAL_QUICK: 248;
			public static OP_RETURN_VOID: 14;
			public static OP_SGET_BOOLEAN_JUMBO: 6143;
			public static OP_SGET_WIDE_JUMBO: 5631;
			public static OP_GOTO_16: 41;
			public static OP_SPUT_CHAR_JUMBO: 8447;
			public static OP_AGET_OBJECT: 70;
			public static OP_FILLED_NEW_ARRAY: 36;
			public static OP_IF_GT: 54;
			public static OP_USHR_INT_2ADDR: 186;
			public static OP_USHR_LONG: 165;
			public static OP_CONST_CLASS: 28;
			public static OP_IPUT_WIDE: 90;
			public static OP_MUL_FLOAT: 168;
			public static OP_NEW_ARRAY_JUMBO: 1279;
			public static OP_INT_TO_DOUBLE: 131;
			public static OP_INVOKE_STATIC_JUMBO: 9727;
			public static OP_SGET: 96;
			public static OP_INVOKE_SUPER_RANGE: 117;
			public static OP_IPUT_OBJECT: 91;
			public static OP_APUT_CHAR: 80;
			public static OP_MUL_INT_LIT16: 210;
			public static OP_THROW: 39;
			public static OP_IPUT: 89;
			public static OP_ADD_DOUBLE_2ADDR: 203;
			public static OP_IPUT_SHORT_JUMBO: 5119;
			public static OP_IPUT_BOOLEAN: 92;
			public static OP_IPUT_BYTE: 93;
			public static OP_NEW_INSTANCE: 34;
			public static OP_AGET_SHORT: 74;
			public static OP_SHL_LONG_2ADDR: 195;
			public static OP_CMP_LONG: 49;
			public static OP_MOVE_WIDE_16: 6;
			public static OP_FLOAT_TO_DOUBLE: 137;
			public static OP_SUB_FLOAT: 167;
			public static OP_CMPG_FLOAT: 46;
			public static OP_INVOKE_CUSTOM: 252;
			public static OP_SHL_LONG: 163;
			public static OP_MOVE: 1;
			public static OP_SGET_CHAR_JUMBO: 6655;
			public static OP_SHR_LONG: 164;
			public static OP_CMPL_DOUBLE: 47;
			public static OP_IPUT_BOOLEAN_JUMBO: 4351;
			public static OP_MUL_DOUBLE: 173;
			public static OP_AGET_BOOLEAN: 71;
			public static OP_NOT_LONG: 126;
			public static OP_INT_TO_CHAR: 142;
			public static OP_MONITOR_EXIT: 30;
			public static OP_GOTO_32: 42;
			public static OP_REM_DOUBLE_2ADDR: 207;
			public static OP_SPUT: 103;
			public static OP_INT_TO_SHORT: 143;
			public static OP_INVOKE_SUPER_QUICK: 250;
			public static OP_AND_INT_2ADDR: 181;
			public static OP_SGET_OBJECT_JUMBO: 5887;
			public static OP_LONG_TO_INT: 132;
			public static OP_AGET_WIDE: 69;
			public static OP_IF_LEZ: 61;
			public static OP_IGET_BOOLEAN_JUMBO: 2559;
			public static OP_ADD_LONG: 155;
			public static OP_FILLED_NEW_ARRAY_JUMBO: 1535;
			public static OP_PACKED_SWITCH: 43;
			public static OP_FLOAT_TO_LONG: 136;
			public static OP_SGET_CHAR: 101;
			public static OP_IGET_JUMBO: 1791;
			public static OP_SUB_FLOAT_2ADDR: 199;
			public static OP_CONST_WIDE: 24;
			public static OP_IPUT_QUICK: 245;
			public static OP_CMPL_FLOAT: 45;
			public static OP_INVOKE_VIRTUAL: 110;
			public static OP_INT_TO_LONG: 129;
			public static OP_INVOKE_DIRECT_EMPTY: 240;
			public static OP_RETURN: 15;
			public static OP_SUB_LONG: 156;
			public static OP_MOVE_RESULT_OBJECT: 12;
			public static OP_ADD_INT_LIT8: 216;
			public static OP_IGET_BYTE: 86;
			public static OP_DOUBLE_TO_LONG: 139;
			public static OP_SHR_INT_2ADDR: 185;
			public static OP_CONST_CLASS_JUMBO: 255;
			public static OP_SUB_INT_2ADDR: 177;
			public static OP_NEG_LONG: 125;
			public static OP_XOR_INT: 151;
			public static OP_CMPG_DOUBLE: 48;
			public static OP_SHL_INT_LIT8: 224;
			public static OP_MOVE_RESULT: 10;
			public static OP_REM_LONG_2ADDR: 191;
			public static OP_USHR_INT_LIT8: 226;
			public static OP_IF_GE: 53;
			public static OP_IGET_OBJECT_QUICK: 244;
			public static OP_SPUT_OBJECT: 105;
			public static OP_IGET_WIDE_JUMBO: 2047;
			public static OP_APUT_SHORT: 81;
			public static OP_IPUT_OBJECT_JUMBO: 4095;
			public static OP_RETURN_OBJECT: 17;
			public static OP_NEW_ARRAY: 35;
			public static OP_SPUT_BYTE: 107;
			public static OP_RSUB_INT: 209;
			public static OP_EXECUTE_INLINE_RANGE: 239;
			public static OP_AGET: 68;
			public static OP_IPUT_WIDE_VOLATILE: 233;
			public static OP_IPUT_CHAR_JUMBO: 4863;
			public static OP_OR_LONG: 161;
			public static OP_IGET_SHORT: 88;
			public static OP_SHR_LONG_2ADDR: 196;
			public static OP_NEG_FLOAT: 127;
			public static OP_RETURN_WIDE: 16;
			public static OP_IGET_BYTE_JUMBO: 2815;
			public static OP_AGET_BYTE: 72;
			public static OP_SUB_INT: 145;
			public static OP_SGET_BYTE_JUMBO: 6399;
			public static OP_INVOKE_STATIC_RANGE: 119;
			public static OP_GOTO: 40;
			public static OP_IGET_WIDE: 83;
			public static OP_SPUT_WIDE: 104;
			public static OP_DIV_LONG_2ADDR: 190;
			public static OP_IF_EQ: 50;
			public static OP_XOR_INT_LIT16: 215;
			public static OP_IGET_BOOLEAN: 85;
			public static OP_SGET_SHORT_JUMBO: 6911;
			public static OP_CHECK_CAST: 31;
			public static OP_REM_INT_LIT16: 212;
			public static OP_SGET_SHORT: 102;
			public static OP_MUL_INT_2ADDR: 178;
			public static OP_CONST_METHOD_HANDLE: 254;
			public static OP_IGET_CHAR: 87;
			public static OP_LONG_TO_FLOAT: 133;
			public static OP_CONST_WIDE_HIGH16: 25;
			public static OP_SGET_JUMBO: 5375;
			public static OP_SPUT_CHAR: 108;
			public static OP_REM_LONG: 159;
			public static OP_IPUT_BYTE_JUMBO: 4607;
			public static OP_XOR_INT_2ADDR: 183;
			public static OP_XOR_INT_LIT8: 223;
			public static OP_REM_DOUBLE: 175;
			public static OP_IF_NEZ: 57;
			public static OP_SGET_BYTE: 100;
			public static OP_AND_INT: 149;
			public static OP_IGET_OBJECT: 84;
			public static OP_IGET_SHORT_JUMBO: 3327;
			public static OP_SPUT_BOOLEAN_JUMBO: 7935;
			public static OP_THROW_VERIFICATION_ERROR: 237;
			public static OP_AND_LONG: 160;
			public static OP_CONST: 20;
			public static OP_IGET_OBJECT_JUMBO: 2303;
			public static OP_REM_FLOAT_2ADDR: 202;
			public static OP_XOR_LONG: 162;
			public static OP_IGET_QUICK: 242;
			public static OP_AGET_CHAR: 73;
			public static OP_MUL_FLOAT_2ADDR: 200;
			public static OP_AND_INT_LIT8: 221;
			public static OP_SHR_INT: 153;
			public static OP_APUT: 75;
			public static OP_MUL_INT: 146;
			public static OP_SPARSE_SWITCH: 44;
			public static OP_CONST_STRING_JUMBO: 27;
			public static OP_INSTANCE_OF_JUMBO: 767;
			public static OP_INVOKE_POLYMORPHIC_RANGE: 251;
			public static OP_SGET_WIDE: 97;
			public static OP_INVOKE_VIRTUAL_QUICK_RANGE: 249;
			public static OP_CONST_STRING: 26;
			public static OP_MUL_INT_LIT8: 218;
			public static OP_DIV_FLOAT: 169;
			public static OP_AND_LONG_2ADDR: 192;
			public static OP_REM_INT_LIT8: 220;
			public static OP_ADD_INT_2ADDR: 176;
			public static OP_MOVE_OBJECT: 7;
			public static OP_CONST_METHOD_TYPE: 255;
			public static OP_INVOKE_INTERFACE: 114;
			public static OP_IPUT_SHORT: 95;
			public static OP_MOVE_RESULT_WIDE: 11;
			public static OP_INVOKE_DIRECT_JUMBO: 9471;
			public static OP_IF_LTZ: 58;
			public static OP_SHL_INT_2ADDR: 184;
			public static OP_XOR_LONG_2ADDR: 194;
			public static OP_SUB_DOUBLE: 172;
			public static OP_SPUT_SHORT: 109;
			public static OP_FLOAT_TO_INT: 135;
			public static OP_IGET_CHAR_JUMBO: 3071;
			public static OP_INVOKE_VIRTUAL_RANGE: 116;
			public static OP_OR_INT_LIT8: 222;
			public static OP_SUB_DOUBLE_2ADDR: 204;
			public static OP_AND_INT_LIT16: 213;
			public static OP_BREAKPOINT: 236;
			public static OP_CONST_WIDE_16: 22;
			public static OP_INVOKE_INTERFACE_RANGE: 120;
		}
	}
}

declare module dalvik {
	export module system {
		export class ApplicationRuntime extends java.lang.Object {
			public static class: java.lang.Class<dalvik.system.ApplicationRuntime>;
			public static getBaseApkOptimizationInfo(): dalvik.system.DexFile.OptimizationInfo;
		}
	}
}

declare module dalvik {
	export module system {
		export class BaseDexClassLoader extends java.lang.ClassLoader {
			public static class: java.lang.Class<dalvik.system.BaseDexClassLoader>;
			/** @deprecated */
			public getPackage(name: string): java.lang.Package;
			public findResource(name: string): java.net.URL;
			public findResources(name: string): java.util.Enumeration<java.net.URL>;
			public toString(): string;
			public findClass(name: string): java.lang.Class<any>;
			public findLibrary(name: string): string;
			public constructor(parent: java.lang.ClassLoader);
			public constructor();
			public constructor(dexPath: string, optimizedDirectory: java.io.File, librarySearchPath: string, parent: java.lang.ClassLoader);
		}
	}
}

declare module dalvik {
	export module system {
		export class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
			public static class: java.lang.Class<dalvik.system.DelegateLastClassLoader>;
			public constructor(dexPath: string, parent: java.lang.ClassLoader);
			public constructor(dexPath: string, librarySearchPath: string, parent: java.lang.ClassLoader, delegateResourceLoading: boolean);
			public getResources(name: string): java.util.Enumeration<java.net.URL>;
			public getResource(name: string): java.net.URL;
			public constructor(parent: java.lang.ClassLoader);
			public loadClass(name: string): java.lang.Class<any>;
			public loadClass(name: string, resolve: boolean): java.lang.Class<any>;
			public constructor(dexPath: string, librarySearchPath: string, parent: java.lang.ClassLoader);
			public constructor();
			public constructor(dexPath: string, optimizedDirectory: java.io.File, librarySearchPath: string, parent: java.lang.ClassLoader);
		}
	}
}

declare module dalvik {
	export module system {
		export class DexClassLoader extends dalvik.system.BaseDexClassLoader {
			public static class: java.lang.Class<dalvik.system.DexClassLoader>;
			public constructor(dexPath: string, optimizedDirectory: string, librarySearchPath: string, parent: java.lang.ClassLoader);
			public constructor(parent: java.lang.ClassLoader);
			public constructor();
			public constructor(dexPath: string, optimizedDirectory: java.io.File, librarySearchPath: string, parent: java.lang.ClassLoader);
		}
	}
}

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(file: java.io.File);
			/** @deprecated */
			public constructor(fileName: string);
			/** @deprecated */
			public close(): void;
			/** @deprecated */
			public static isDexOptNeeded(param0: string): boolean;
			public toString(): string;
			/** @deprecated */
			public getName(): string;
			/** @deprecated */
			public loadClass(name: string, loader: java.lang.ClassLoader): java.lang.Class<any>;
			/** @deprecated */
			public entries(): java.util.Enumeration<string>;
			public finalize(): void;
			/** @deprecated */
			public static loadDex(sourcePathName: string, outputPathName: string, flags: number): dalvik.system.DexFile;
		}
		export module DexFile {
			export class OptimizationInfo extends java.lang.Object {
				public static class: java.lang.Class<dalvik.system.DexFile.OptimizationInfo>;
				public isOptimized(): boolean;
				public isVerified(): boolean;
				public isFullyCompiled(): boolean;
			}
		}
	}
}

declare module dalvik {
	export module system {
		export class InMemoryDexClassLoader extends dalvik.system.BaseDexClassLoader {
			public static class: java.lang.Class<dalvik.system.InMemoryDexClassLoader>;
			public constructor(dexBuffers: androidNative.Array<java.nio.ByteBuffer>, librarySearchPath: string, parent: java.lang.ClassLoader);
			public constructor(parent: java.lang.ClassLoader);
			public constructor(dexBuffer: java.nio.ByteBuffer, parent: java.lang.ClassLoader);
			public constructor();
			public constructor(dexBuffers: androidNative.Array<java.nio.ByteBuffer>, parent: java.lang.ClassLoader);
			public constructor(dexPath: string, optimizedDirectory: java.io.File, librarySearchPath: string, parent: java.lang.ClassLoader);
		}
	}
}

declare module dalvik {
	export module system {
		export class PathClassLoader extends dalvik.system.BaseDexClassLoader {
			public static class: java.lang.Class<dalvik.system.PathClassLoader>;
			public constructor(dexPath: string, parent: java.lang.ClassLoader);
			public constructor(parent: java.lang.ClassLoader);
			public constructor(dexPath: string, librarySearchPath: string, parent: java.lang.ClassLoader);
			public constructor();
			public constructor(dexPath: string, optimizedDirectory: java.io.File, librarySearchPath: string, parent: java.lang.ClassLoader);
		}
	}
}

declare module dalvik {
	export module system {
		export class ZipPathValidator extends java.lang.Object {
			public static class: java.lang.Class<dalvik.system.ZipPathValidator>;
			public static clearCallback(): void;
			public static setCallback(callback: dalvik.system.ZipPathValidator.Callback): void;
		}
		export module ZipPathValidator {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<dalvik.system.ZipPathValidator.Callback>;
				/**
				 * Constructs a new instance of the dalvik.system.ZipPathValidator$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onZipEntryAccess(path: string): void;
				});
				public constructor();
				public onZipEntryAccess(path: string): void;
			}
		}
	}
}

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: 524287;
				public static ARABIC: 2;
				public static BENGALI: 16;
				public static DEVANAGARI: 8;
				public static EASTERN_ARABIC: 4;
				public static ETHIOPIC: 65536;
				public static EUROPEAN: 1;
				public static GUJARATI: 64;
				public static GURMUKHI: 32;
				public static KANNADA: 1024;
				public static KHMER: 131072;
				public static LAO: 8192;
				public static MALAYALAM: 2048;
				public static MONGOLIAN: 262144;
				public static MYANMAR: 32768;
				public static ORIYA: 128;
				public static TAMIL: 256;
				public static TELUGU: 512;
				public static THAI: 4096;
				public static TIBETAN: 16384;
				public static getContextualShaper(ranges: number, defaultContext: number): java.awt.font.NumericShaper;
				public getRanges(): number;
				public static getShaper(singleRange: number): java.awt.font.NumericShaper;
				public shape(text: androidNative.Array<string>, start: number, count: number): void;
				public isContextual(): boolean;
				public toString(): string;
				public static getContextualShaper(ranges: java.util.Set<java.awt.font.NumericShaper.Range>, defaultContext: java.awt.font.NumericShaper.Range): java.awt.font.NumericShaper;
				public shape(text: androidNative.Array<string>, start: number, count: number, context: java.awt.font.NumericShaper.Range): void;
				public hashCode(): number;
				public static getShaper(singleRange: java.awt.font.NumericShaper.Range): java.awt.font.NumericShaper;
				public shape(text: androidNative.Array<string>, start: number, count: number, context: number): void;
				public static getContextualShaper(ranges: java.util.Set<java.awt.font.NumericShaper.Range>): java.awt.font.NumericShaper;
				public equals(o: any): boolean;
				public getRangeSet(): java.util.Set<java.awt.font.NumericShaper.Range>;
				public static getContextualShaper(ranges: number): java.awt.font.NumericShaper;
			}
			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(name: string): java.awt.font.NumericShaper.Range;
					public static values(): androidNative.Array<java.awt.font.NumericShaper.Range>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(name: 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(source: any);
			public constructor(source: any, propertyName: string, oldValue: any, newValue: any, index: number);
			public constructor(source: any, propertyName: string, oldValue: any, newValue: any);
		}
	}
}

declare module java {
	export module beans {
		export class PropertyChangeEvent extends java.util.EventObject {
			public static class: java.lang.Class<java.beans.PropertyChangeEvent>;
			public setPropagationId(propagationId: any): void;
			public toString(): string;
			public constructor(source: any);
			public getOldValue(): any;
			public constructor(source: any, propertyName: string, oldValue: any, newValue: any);
			public getPropertyName(): string;
			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 propertyChange(param0: java.beans.PropertyChangeEvent): void;
			public propertyChange(event: java.beans.PropertyChangeEvent): void;
			public constructor(propertyName: string, listener: java.beans.PropertyChangeListener);
			public getPropertyName(): string;
			public constructor(listener: 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 fireIndexedPropertyChange(propertyName: string, index: number, oldValue: number, newValue: number): void;
			public fireIndexedPropertyChange(propertyName: string, index: number, oldValue: boolean, newValue: boolean): void;
			public firePropertyChange(propertyName: string, oldValue: boolean, newValue: boolean): void;
			public fireIndexedPropertyChange(propertyName: string, index: number, oldValue: any, newValue: any): void;
			public getPropertyChangeListeners(): androidNative.Array<java.beans.PropertyChangeListener>;
			public removePropertyChangeListener(propertyName: string, listener: java.beans.PropertyChangeListener): void;
			public firePropertyChange(propertyName: string, oldValue: number, newValue: number): void;
			public addPropertyChangeListener(listener: java.beans.PropertyChangeListener): void;
			public removePropertyChangeListener(listener: java.beans.PropertyChangeListener): void;
			public firePropertyChange(propertyName: string, oldValue: any, newValue: any): void;
			public constructor(sourceBean: any);
			public firePropertyChange(event: java.beans.PropertyChangeEvent): void;
			public addPropertyChangeListener(propertyName: string, listener: java.beans.PropertyChangeListener): void;
			public getPropertyChangeListeners(propertyName: string): androidNative.Array<java.beans.PropertyChangeListener>;
			public hasListeners(propertyName: string): boolean;
		}
	}
}

declare module java {
	export module io {
		export class BufferedInputStream extends java.io.FilterInputStream {
			public static class: java.lang.Class<java.io.BufferedInputStream>;
			public buf: androidNative.Array<number>;
			public count: number;
			public marklimit: number;
			public markpos: number;
			public pos: number;
			public markSupported(): boolean;
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			public reset(): void;
			public constructor(in_: java.io.InputStream);
			public constructor();
			public close(): void;
			public constructor(in_: java.io.InputStream, size: number);
			public read(): number;
			public available(): number;
			public mark(readlimit: 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: androidNative.Array<number>;
			public count: number;
			public flush(): void;
			public write(b: androidNative.Array<number>): void;
			public constructor(out: java.io.OutputStream);
			public write(b: number): void;
			public constructor();
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public close(): void;
			public constructor(out: java.io.OutputStream, size: number);
		}
	}
}

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 constructor(lock: any);
			public skip(n: number): number;
			public lines(): java.util.stream.Stream<string>;
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public mark(readAheadLimit: number): void;
			public constructor();
			public read(param0: androidNative.Array<string>, param1: number, param2: number): number;
			public read(): number;
			public constructor(in_: java.io.Reader);
			public read(param0: java.nio.CharBuffer): number;
			public constructor(in_: java.io.Reader, sz: number);
			public reset(): void;
			public read(target: java.nio.CharBuffer): number;
			public read(cbuf: androidNative.Array<string>): number;
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class BufferedWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.BufferedWriter>;
			public flush(): void;
			public append(csq: string): java.io.Writer;
			public constructor(lock: any);
			public write(cbuf: androidNative.Array<string>): void;
			public write(cbuf: androidNative.Array<string>, off: number, len: number): void;
			public write(c: number): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public write(str: string): void;
			public write(s: string, off: number, len: number): void;
			public append(csq: string, start: number, end: number): java.io.Writer;
			public newLine(): void;
			public append(c: string): java.io.Writer;
			public constructor(out: java.io.Writer);
			public write(str: string, off: number, len: number): void;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public constructor(out: java.io.Writer, sz: number);
			public write(param0: androidNative.Array<string>, param1: number, param2: number): void;
		}
	}
}

declare module java {
	export module io {
		export class ByteArrayInputStream extends java.io.InputStream {
			public static class: java.lang.Class<java.io.ByteArrayInputStream>;
			public buf: androidNative.Array<number>;
			public count: number;
			public pos: number;
			public readAllBytes(): androidNative.Array<number>;
			public markSupported(): boolean;
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			public mark(readAheadLimit: number): void;
			public readNBytes(b: androidNative.Array<number>, off: number, len: number): number;
			public constructor();
			public read(): number;
			public transferTo(out: java.io.OutputStream): number;
			public available(): number;
			public readNBytes(len: number): androidNative.Array<number>;
			public constructor(buf: androidNative.Array<number>, offset: number, length: number);
			public reset(): void;
			public close(): void;
			public constructor(buf: androidNative.Array<number>);
		}
	}
}

declare module java {
	export module io {
		export class ByteArrayOutputStream extends java.io.OutputStream {
			public static class: java.lang.Class<java.io.ByteArrayOutputStream>;
			public buf: androidNative.Array<number>;
			public count: number;
			public flush(): void;
			public size(): number;
			/** @deprecated */
			public toString(hibyte: number): string;
			public constructor(size: number);
			public toString(charset: java.nio.charset.Charset): string;
			public toString(charsetName: string): string;
			public constructor();
			public toByteArray(): androidNative.Array<number>;
			public writeTo(out: java.io.OutputStream): void;
			public writeBytes(b: androidNative.Array<number>): void;
			public toString(): string;
			public write(b: androidNative.Array<number>): void;
			public write(b: number): void;
			public reset(): void;
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			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: androidNative.Array<string>;
			public count: number;
			public markedPos: number;
			public pos: number;
			public ready(): boolean;
			public markSupported(): boolean;
			public constructor(lock: any);
			public skip(n: number): number;
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public mark(readAheadLimit: number): void;
			public constructor(buf: androidNative.Array<string>, offset: number, length: number);
			public constructor();
			public read(param0: androidNative.Array<string>, param1: number, param2: number): number;
			public read(): number;
			public read(param0: java.nio.CharBuffer): number;
			public constructor(buf: androidNative.Array<string>);
			public reset(): void;
			public read(target: java.nio.CharBuffer): number;
			public read(cbuf: androidNative.Array<string>): number;
			public close(): 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: androidNative.Array<string>;
			public count: number;
			public flush(): void;
			public writeTo(out: java.io.Writer): void;
			public append(csq: string): java.io.Writer;
			public constructor(lock: any);
			public write(cbuf: androidNative.Array<string>): void;
			public size(): number;
			public toCharArray(): androidNative.Array<string>;
			public write(c: number): void;
			public write(c: androidNative.Array<string>, off: number, len: number): void;
			public append(csq: string, start: number, end: number): java.io.CharArrayWriter;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public write(str: string): void;
			public append(csq: string): java.io.CharArrayWriter;
			public constructor(initialSize: number);
			public toString(): string;
			public append(csq: string, start: number, end: number): java.io.Writer;
			public append(c: string): java.io.CharArrayWriter;
			public append(c: string): java.io.Writer;
			public reset(): void;
			public write(str: string, off: number, len: number): void;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public write(param0: androidNative.Array<string>, param1: number, param2: number): void;
		}
	}
}

declare module java {
	export module io {
		export class CharConversionException extends java.io.IOException {
			public static class: java.lang.Class<java.io.CharConversionException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 printf(format: string, args: androidNative.Array<any>): java.io.Console;
			public flush(): void;
			public readLine(): string;
			public writer(): java.io.PrintWriter;
			public reader(): java.io.Reader;
			public readPassword(fmt: string, args: androidNative.Array<any>): androidNative.Array<string>;
			public readPassword(): androidNative.Array<string>;
			public readLine(fmt: string, args: androidNative.Array<any>): string;
			public format(fmt: string, args: androidNative.Array<any>): java.io.Console;
			public charset(): java.nio.charset.Charset;
		}
	}
}

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: androidNative.Array<number>): void;
				readFully(param0: androidNative.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 readFully(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public readUnsignedShort(): number;
			public readLong(): number;
			public readByte(): number;
			public readUnsignedByte(): number;
			public readFully(param0: androidNative.Array<number>): void;
			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;
		}
	}
}

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 read(b: androidNative.Array<number>, off: number, len: number): number;
			public readFully(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public read(b: androidNative.Array<number>): number;
			public constructor(in_: java.io.InputStream);
			public readByte(): number;
			public readUnsignedByte(): number;
			public readFully(param0: androidNative.Array<number>): void;
			public read(): number;
			public readFully(b: androidNative.Array<number>): void;
			public readShort(): number;
			public static readUTF(in_: java.io.DataInput): string;
			public readDouble(): number;
			public readChar(): string;
			public skipBytes(param0: number): number;
			public readUTF(): string;
			public close(): void;
			public readInt(): number;
			public readFloat(): number;
			public readLine(): string;
			public readFully(b: androidNative.Array<number>, off: number, len: number): void;
			/** @deprecated */
			public readLine(): string;
			public readUnsignedShort(): number;
			public readLong(): number;
			public constructor();
			public readBoolean(): boolean;
			public skipBytes(n: number): number;
		}
	}
}

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: androidNative.Array<number>): void;
				write(param0: androidNative.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 write(param0: androidNative.Array<number>): void;
			public write(param0: androidNative.Array<number>, param1: number, param2: 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 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 writeUTF(param0: string): void;
			public write(param0: androidNative.Array<number>): void;
			public write(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public writeFloat(param0: number): void;
			public writeInt(v: number): void;
			public writeDouble(v: number): void;
			public writeBytes(s: string): void;
			public constructor(out: java.io.OutputStream);
			public writeChar(param0: number): void;
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public close(): void;
			public flush(): void;
			public writeBoolean(v: boolean): void;
			public writeByte(v: number): void;
			public size(): number;
			public writeInt(param0: number): void;
			public writeLong(param0: number): void;
			public writeByte(param0: number): void;
			public writeChars(s: string): void;
			public writeDouble(param0: number): void;
			public constructor();
			public writeBoolean(param0: boolean): void;
			public writeBytes(param0: string): void;
			public writeChar(v: number): void;
			public writeShort(param0: number): void;
			public writeFloat(v: number): void;
			public write(param0: number): void;
			public write(b: androidNative.Array<number>): void;
			public writeLong(v: number): void;
			public write(b: number): void;
			public writeUTF(str: string): void;
			public writeShort(v: number): 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 setWritable(writable: boolean): boolean;
			public setLastModified(time: number): boolean;
			public constructor(uri: java.net.URI);
			public canWrite(): boolean;
			public listFiles(): androidNative.Array<java.io.File>;
			public getParentFile(): java.io.File;
			public getTotalSpace(): number;
			public getFreeSpace(): number;
			public getParent(): string;
			public getAbsoluteFile(): java.io.File;
			public isDirectory(): boolean;
			public compareTo(pathname: java.io.File): number;
			public renameTo(dest: java.io.File): boolean;
			public toPath(): java.nio.file.Path;
			public canExecute(): boolean;
			public getUsableSpace(): number;
			public toURI(): java.net.URI;
			public mkdir(): boolean;
			public setExecutable(executable: boolean): boolean;
			public isHidden(): boolean;
			public static createTempFile(prefix: string, suffix: string): java.io.File;
			public lastModified(): number;
			public isFile(): boolean;
			public setReadable(readable: boolean, ownerOnly: boolean): boolean;
			public static createTempFile(prefix: string, suffix: string, directory: java.io.File): java.io.File;
			public list(filter: java.io.FilenameFilter): androidNative.Array<string>;
			public constructor(parent: java.io.File, child: string);
			public setWritable(writable: boolean, ownerOnly: boolean): boolean;
			public constructor(parent: string, child: string);
			public setReadable(readable: boolean): boolean;
			public getCanonicalPath(): string;
			public canRead(): boolean;
			public getCanonicalFile(): java.io.File;
			public createNewFile(): boolean;
			public delete(): boolean;
			public listFiles(filter: java.io.FileFilter): androidNative.Array<java.io.File>;
			public listFiles(filter: java.io.FilenameFilter): androidNative.Array<java.io.File>;
			public setExecutable(executable: boolean, ownerOnly: boolean): boolean;
			public length(): number;
			public setReadOnly(): boolean;
			public exists(): boolean;
			public constructor(pathname: string);
			public static listRoots(): androidNative.Array<java.io.File>;
			public getPath(): string;
			public toString(): string;
			public getName(): string;
			public equals(obj: any): boolean;
			public isAbsolute(): boolean;
			public deleteOnExit(): void;
			public getAbsolutePath(): string;
			public list(): androidNative.Array<string>;
			public mkdirs(): 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 read(b: androidNative.Array<number>, off: number, len: number): number;
			public constructor(name: string);
			public getFD(): java.io.FileDescriptor;
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			public constructor();
			public constructor(file: java.io.File);
			public read(): number;
			public available(): number;
			public getChannel(): java.nio.channels.FileChannel;
			public close(): void;
			public constructor(fdObj: java.io.FileDescriptor);
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 constructor(name: string);
			public getFD(): java.io.FileDescriptor;
			public constructor();
			public constructor(file: java.io.File);
			public getChannel(): java.nio.channels.FileChannel;
			public constructor(file: java.io.File, append: boolean);
			public write(b: androidNative.Array<number>): void;
			public constructor(name: string, append: boolean);
			public write(b: number): void;
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public close(): void;
			public constructor(fdObj: java.io.FileDescriptor);
			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(name: string);
			public getActions(): string;
			public constructor(path: string, actions: string);
			public checkGuard(param0: any): void;
			public implies(p: java.security.Permission): boolean;
		}
	}
}

declare module java {
	export module io {
		export class FileReader extends java.io.InputStreamReader {
			public static class: java.lang.Class<java.io.FileReader>;
			public constructor(in_: java.io.InputStream, dec: java.nio.charset.CharsetDecoder);
			public constructor(lock: any);
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public constructor(in_: java.io.InputStream);
			public constructor();
			public constructor(file: java.io.File);
			public read(): number;
			public constructor(fileName: string);
			public constructor(fileName: string, charset: java.nio.charset.Charset);
			public constructor(file: java.io.File, charset: java.nio.charset.Charset);
			public constructor(in_: java.io.InputStream, cs: java.nio.charset.Charset);
			public read(param0: java.nio.CharBuffer): number;
			public constructor(fd: java.io.FileDescriptor);
			public constructor(in_: java.io.InputStream, charsetName: string);
			public close(): void;
			public read(cbuf: androidNative.Array<string>): number;
		}
	}
}

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 append(csq: string): java.io.Writer;
			public constructor(lock: any);
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(file: java.io.File);
			public constructor(fileName: string, charset: java.nio.charset.Charset, append: boolean);
			public constructor(file: java.io.File, charset: java.nio.charset.Charset, append: boolean);
			public constructor(out: java.io.OutputStream, charsetName: string);
			public constructor(fileName: string);
			public constructor(fileName: string, charset: java.nio.charset.Charset);
			public constructor(file: java.io.File, charset: java.nio.charset.Charset);
			public constructor(file: java.io.File, append: boolean);
			public constructor(out: java.io.OutputStream, enc: java.nio.charset.CharsetEncoder);
			public append(csq: string, start: number, end: number): java.io.Writer;
			public constructor(out: java.io.OutputStream, cs: java.nio.charset.Charset);
			public constructor(out: java.io.OutputStream);
			public constructor(fd: java.io.FileDescriptor);
			public append(c: string): java.io.Writer;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public constructor(fileName: string, append: boolean);
		}
	}
}

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(b: androidNative.Array<number>, off: number, len: number): number;
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			public reset(): void;
			public constructor(in_: java.io.InputStream);
			public constructor();
			public close(): void;
			public read(): number;
			public available(): number;
			public mark(readlimit: 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(b: androidNative.Array<number>): void;
			public constructor(out: java.io.OutputStream);
			public write(b: number): void;
			public constructor();
			public write(b: androidNative.Array<number>, off: number, len: 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 constructor(lock: any);
			public skip(n: number): number;
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public mark(readAheadLimit: number): void;
			public constructor();
			public read(param0: androidNative.Array<string>, param1: number, param2: number): number;
			public read(): number;
			public constructor(in_: java.io.Reader);
			public read(param0: java.nio.CharBuffer): number;
			public reset(): void;
			public read(target: java.nio.CharBuffer): number;
			public read(cbuf: androidNative.Array<string>): number;
			public close(): 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 flush(): void;
			public append(csq: string): java.io.Writer;
			public constructor(lock: any);
			public write(cbuf: androidNative.Array<string>): void;
			public write(cbuf: androidNative.Array<string>, off: number, len: number): void;
			public write(c: number): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public write(str: string): void;
			public append(csq: string, start: number, end: number): java.io.Writer;
			public append(c: string): java.io.Writer;
			public constructor(out: java.io.Writer);
			public write(str: string, off: number, len: number): void;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public write(param0: androidNative.Array<string>, param1: number, param2: number): void;
		}
	}
}

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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(cause: java.lang.Throwable);
			public constructor();
		}
	}
}

declare module java {
	export module io {
		export class IOException extends java.lang.Exception {
			public static class: java.lang.Class<java.io.IOException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 readAllBytes(): androidNative.Array<number>;
			public markSupported(): boolean;
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			public readNBytes(b: androidNative.Array<number>, off: number, len: number): number;
			public constructor();
			public read(): number;
			public available(): number;
			public transferTo(out: java.io.OutputStream): number;
			public readNBytes(len: number): androidNative.Array<number>;
			public skipNBytes(n: number): void;
			public static nullInputStream(): java.io.InputStream;
			public reset(): void;
			public close(): void;
			public mark(readlimit: 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 constructor(lock: any);
			public constructor(in_: java.io.InputStream, dec: java.nio.charset.CharsetDecoder);
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public constructor(in_: java.io.InputStream);
			public constructor();
			public read(param0: androidNative.Array<string>, param1: number, param2: number): number;
			public read(): number;
			public getEncoding(): string;
			public constructor(in_: java.io.InputStream, cs: java.nio.charset.Charset);
			public read(param0: java.nio.CharBuffer): number;
			public constructor(in_: java.io.InputStream, charsetName: string);
			public read(cbuf: androidNative.Array<string>): number;
			public read(target: java.nio.CharBuffer): number;
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 getMessage(): string;
			public constructor(cname: string, reason: string);
			public constructor(reason: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module io {
		export class InvalidObjectException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.InvalidObjectException>;
			public constructor(reason: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module io {
		export class LineNumberInputStream extends java.io.FilterInputStream {
			public static class: java.lang.Class<java.io.LineNumberInputStream>;
			/** @deprecated */
			public mark(readlimit: number): void;
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			/** @deprecated */
			public getLineNumber(): number;
			public read(b: androidNative.Array<number>): number;
			public constructor();
			/** @deprecated */
			public setLineNumber(lineNumber: number): void;
			/** @deprecated */
			public available(): number;
			/** @deprecated */
			public skip(n: number): number;
			/** @deprecated */
			public read(): number;
			public close(): void;
			/** @deprecated */
			public reset(): void;
			/** @deprecated */
			public constructor(in_: java.io.InputStream);
			/** @deprecated */
			public read(b: androidNative.Array<number>, off: number, len: number): number;
		}
	}
}

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 constructor(lock: any);
			public skip(n: number): number;
			public getLineNumber(): number;
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public mark(readAheadLimit: number): void;
			public constructor();
			public read(): number;
			public constructor(in_: java.io.Reader);
			public read(param0: java.nio.CharBuffer): number;
			public constructor(in_: java.io.Reader, sz: number);
			public reset(): void;
			public read(target: java.nio.CharBuffer): number;
			public read(cbuf: androidNative.Array<string>): number;
			public close(): void;
			public setLineNumber(lineNumber: 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(reason: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module io {
		export class NotSerializableException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.NotSerializableException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(classname: 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: androidNative.Array<number>): number;
				read(param0: androidNative.Array<number>, param1: number, param2: number): number;
				skip(param0: number): number;
				available(): number;
				close(): void;
				readFully(param0: androidNative.Array<number>): void;
				readFully(param0: androidNative.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 readFully(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public readUnsignedShort(): number;
			public readLong(): number;
			public read(param0: androidNative.Array<number>): number;
			public readByte(): number;
			public readUnsignedByte(): number;
			public readFully(param0: androidNative.Array<number>): void;
			public read(): number;
			public available(): number;
			public readBoolean(): boolean;
			public readShort(): number;
			public read(param0: androidNative.Array<number>, param1: number, param2: 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;
		}
	}
}

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 read(b: androidNative.Array<number>, off: number, len: number): number;
			public readFully(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public read(b: androidNative.Array<number>): number;
			public read(param0: androidNative.Array<number>): number;
			public constructor(in_: java.io.InputStream);
			public readStreamHeader(): void;
			public readByte(): number;
			public readUnsignedByte(): number;
			public readFully(param0: androidNative.Array<number>): void;
			public read(): number;
			public available(): number;
			public readShort(): number;
			public read(param0: androidNative.Array<number>, param1: number, param2: number): number;
			public readUnshared(): any;
			public readFields(): java.io.ObjectInputStream.GetField;
			public defaultReadObject(): void;
			public readDouble(): number;
			public readFully(buf: androidNative.Array<number>, off: number, len: number): void;
			public readObject(): any;
			public skip(param0: number): number;
			public readChar(): string;
			public skipBytes(param0: number): number;
			public close(): void;
			public readUTF(): string;
			public readInt(): number;
			public readFloat(): number;
			public read(buf: androidNative.Array<number>, off: number, len: number): number;
			public readLine(): string;
			public enableResolveObject(enable: boolean): boolean;
			public skipBytes(len: number): number;
			/** @deprecated */
			public readLine(): string;
			public readUnsignedShort(): number;
			public registerValidation(obj: java.io.ObjectInputValidation, prio: number): void;
			public readLong(): number;
			public resolveProxyClass(interfaces: androidNative.Array<string>): java.lang.Class<any>;
			public readFully(buf: androidNative.Array<number>): void;
			public constructor();
			public resolveObject(obj: any): any;
			public readBoolean(): boolean;
			public readClassDescriptor(): java.io.ObjectStreamClass;
			public resolveClass(desc: java.io.ObjectStreamClass): java.lang.Class<any>;
		}
		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: androidNative.Array<number>): void;
				write(param0: androidNative.Array<number>, param1: number, param2: number): void;
				flush(): void;
				close(): void;
				write(param0: number): void;
				write(param0: androidNative.Array<number>): void;
				write(param0: androidNative.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 write(param0: androidNative.Array<number>): void;
			public write(param0: androidNative.Array<number>, param1: number, param2: 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 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 writeFloat(val: number): void;
			public annotateProxyClass(cl: java.lang.Class<any>): void;
			public writeFields(): void;
			public writeFloat(param0: number): void;
			public constructor(out: java.io.OutputStream);
			public writeDouble(val: number): void;
			public writeChar(param0: number): void;
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public useProtocolVersion(version: number): void;
			public flush(): void;
			public writeObject(obj: any): void;
			public writeLong(param0: number): void;
			public writeChars(str: string): void;
			public writeChar(val: number): void;
			public constructor();
			public writeBoolean(param0: boolean): void;
			public writeBytes(param0: string): void;
			public defaultWriteObject(): void;
			public writeShort(param0: number): void;
			public putFields(): java.io.ObjectOutputStream.PutField;
			public writeShort(val: number): void;
			public writeChars(param0: string): void;
			public writeClassDescriptor(desc: java.io.ObjectStreamClass): void;
			public writeUTF(param0: string): void;
			public writeBoolean(val: boolean): void;
			public writeInt(val: number): void;
			public write(param0: androidNative.Array<number>): void;
			public write(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public write(val: number): void;
			public write(buf: androidNative.Array<number>, off: number, len: number): void;
			public reset(): void;
			public writeByte(val: number): void;
			public close(): void;
			public writeUnshared(obj: any): void;
			public writeLong(val: number): void;
			public writeBytes(str: string): void;
			public write(buf: androidNative.Array<number>): void;
			public writeInt(param0: number): void;
			public writeByte(param0: number): void;
			public writeDouble(param0: number): void;
			public writeObject(param0: any): void;
			public annotateClass(cl: java.lang.Class<any>): void;
			public write(param0: number): void;
			public replaceObject(obj: any): any;
			public write(b: androidNative.Array<number>): void;
			public writeObjectOverride(obj: any): void;
			public writeStreamHeader(): void;
			public writeUTF(str: string): void;
			public enableReplaceObject(enable: boolean): boolean;
			public drain(): 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: androidNative.Array<java.io.ObjectStreamField>;
			public static lookup(cl: java.lang.Class<any>): java.io.ObjectStreamClass;
			public getSerialVersionUID(): number;
			public toString(): string;
			public getName(): string;
			public getField(name: string): java.io.ObjectStreamField;
			public getFields(): androidNative.Array<java.io.ObjectStreamField>;
			public static lookupAny(cl: java.lang.Class<any>): java.io.ObjectStreamClass;
			public forClass(): java.lang.Class<any>;
		}
	}
}

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_MAX: 126;
			public static TC_BLOCKDATA: 119;
			public static TC_REFERENCE: 113;
			public static baseWireHandle: 8257536;
			public static TC_BLOCKDATALONG: 122;
			public static TC_PROXYCLASSDESC: 125;
			public static TC_ENDBLOCKDATA: 120;
			public static SC_EXTERNALIZABLE: 4;
			public static TC_ARRAY: 117;
			public static TC_CLASS: 118;
			public static TC_EXCEPTION: 123;
			public static TC_BASE: 112;
			public static SC_ENUM: 16;
			public static SUBCLASS_IMPLEMENTATION_PERMISSION: java.io.SerializablePermission;
			public static TC_STRING: 116;
			public static SC_WRITE_METHOD: 1;
			public static STREAM_MAGIC: -21267;
			public static SC_BLOCK_DATA: 8;
			public static TC_OBJECT: 115;
			public static TC_CLASSDESC: 114;
			public static TC_NULL: 112;
			public static TC_ENUM: 126;
			public static SC_SERIALIZABLE: 2;
			public static PROTOCOL_VERSION_2: 2;
			public static PROTOCOL_VERSION_1: 1;
			public static TC_LONGSTRING: 124;
			public static STREAM_VERSION: 5;
			public static TC_RESET: 121;
			public static SUBSTITUTION_PERMISSION: java.io.SerializablePermission;
		}
	}
}

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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module io {
		export class ObjectStreamField extends java.lang.Comparable<any> {
			public static class: java.lang.Class<java.io.ObjectStreamField>;
			public setOffset(offset: number): void;
			public isUnshared(): boolean;
			public toString(): string;
			public constructor(name: string, type: java.lang.Class<any>);
			public getName(): string;
			public compareTo(obj: any): number;
			public getTypeCode(): string;
			public isPrimitive(): boolean;
			public getOffset(): number;
			public getType(): java.lang.Class<any>;
			public getTypeString(): string;
			public constructor(name: string, type: java.lang.Class<any>, unshared: boolean);
		}
	}
}

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(b: androidNative.Array<number>): void;
			public constructor();
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public close(): void;
			public static nullOutputStream(): java.io.OutputStream;
		}
	}
}

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 append(csq: string): java.io.Writer;
			public constructor(lock: any);
			public write(cbuf: androidNative.Array<string>): void;
			public write(cbuf: androidNative.Array<string>, off: number, len: number): void;
			public write(c: number): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public write(str: string): void;
			public constructor(out: java.io.OutputStream, charsetName: string);
			public getEncoding(): string;
			public constructor(out: java.io.OutputStream, enc: java.nio.charset.CharsetEncoder);
			public append(csq: string, start: number, end: number): java.io.Writer;
			public constructor(out: java.io.OutputStream, cs: java.nio.charset.Charset);
			public constructor(out: java.io.OutputStream);
			public append(c: string): java.io.Writer;
			public write(str: string, off: number, len: number): void;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public write(param0: androidNative.Array<string>, param1: number, param2: number): void;
		}
	}
}

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: 1024;
			public buffer: androidNative.Array<number>;
			public in: number;
			public out: number;
			public constructor(src: java.io.PipedOutputStream, pipeSize: number);
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public constructor(src: java.io.PipedOutputStream);
			public connect(src: java.io.PipedOutputStream): void;
			public receive(b: number): void;
			public constructor(pipeSize: number);
			public read(b: androidNative.Array<number>): number;
			public constructor();
			public close(): void;
			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 constructor(snk: java.io.PipedInputStream);
			public flush(): void;
			public write(b: androidNative.Array<number>): void;
			public write(b: number): void;
			public connect(snk: java.io.PipedInputStream): void;
			public constructor();
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class PipedReader extends java.io.Reader {
			public static class: java.lang.Class<java.io.PipedReader>;
			public constructor(src: java.io.PipedWriter, pipeSize: number);
			public ready(): boolean;
			public constructor(lock: any);
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public constructor();
			public read(param0: androidNative.Array<string>, param1: number, param2: number): number;
			public read(): number;
			public read(param0: java.nio.CharBuffer): number;
			public constructor(pipeSize: number);
			public connect(src: java.io.PipedWriter): void;
			public constructor(src: java.io.PipedWriter);
			public read(target: java.nio.CharBuffer): number;
			public read(cbuf: androidNative.Array<string>): number;
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class PipedWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.PipedWriter>;
			public connect(snk: java.io.PipedReader): void;
			public flush(): void;
			public append(csq: string): java.io.Writer;
			public constructor(lock: any);
			public write(cbuf: androidNative.Array<string>): void;
			public write(cbuf: androidNative.Array<string>, off: number, len: number): void;
			public write(c: number): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public write(str: string): void;
			public constructor(snk: java.io.PipedReader);
			public append(csq: string, start: number, end: number): java.io.Writer;
			public append(c: string): java.io.Writer;
			public write(str: string, off: number, len: number): void;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public write(param0: androidNative.Array<string>, param1: number, param2: number): void;
		}
	}
}

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 println(): void;
			public print(i: number): void;
			public print(f: number): void;
			public println(x: boolean): void;
			public print(b: boolean): void;
			public print(l: number): void;
			public println(x: any): void;
			public append(csq: string, start: number, end: number): java.io.PrintStream;
			public constructor(out: java.io.OutputStream, autoFlush: boolean);
			public writeBytes(buf: androidNative.Array<number>): void;
			public append(c: string): java.io.PrintStream;
			public print(s: string): void;
			public setError(): void;
			public println(x: number): void;
			public write(buf: androidNative.Array<number>, off: number, len: number): void;
			public constructor(out: java.io.OutputStream);
			public checkError(): boolean;
			public println(x: string): void;
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public format(l: java.util.Locale, format: string, args: androidNative.Array<any>): java.io.PrintStream;
			public close(): void;
			public constructor(out: java.io.OutputStream, autoFlush: boolean, charset: java.nio.charset.Charset);
			public clearError(): void;
			public constructor(out: java.io.OutputStream, autoFlush: boolean, encoding: string);
			public append(csq: string): java.io.PrintStream;
			public flush(): void;
			public write(buf: androidNative.Array<number>): void;
			public format(format: string, args: androidNative.Array<any>): java.io.PrintStream;
			public constructor(file: java.io.File, csn: string);
			public printf(format: string, args: androidNative.Array<any>): java.io.PrintStream;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(file: java.io.File);
			public printf(l: java.util.Locale, format: string, args: androidNative.Array<any>): java.io.PrintStream;
			public print(s: androidNative.Array<string>): void;
			public constructor(fileName: string);
			public print(c: string): void;
			public constructor(fileName: string, charset: java.nio.charset.Charset);
			public print(d: number): void;
			public constructor(file: java.io.File, charset: java.nio.charset.Charset);
			public println(x: androidNative.Array<string>): void;
			public constructor(fileName: string, csn: string);
			public write(b: androidNative.Array<number>): void;
			public write(b: number): void;
			public print(obj: any): void;
			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 append(c: string): java.io.PrintWriter;
			public constructor(lock: any);
			public println(x: boolean): void;
			public println(x: any): void;
			public constructor(out: java.io.OutputStream, autoFlush: boolean);
			public append(csq: string, start: number, end: number): java.io.Writer;
			public constructor(out: java.io.OutputStream);
			public append(c: string): java.io.Writer;
			public println(x: string): void;
			public clearError(): void;
			public write(param0: androidNative.Array<string>, param1: number, param2: number): void;
			public flush(): void;
			public write(buf: androidNative.Array<string>): void;
			public constructor(file: java.io.File, csn: string);
			public format(format: string, args: androidNative.Array<any>): java.io.PrintWriter;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public print(c: string): void;
			public constructor(fileName: string, charset: java.nio.charset.Charset);
			public constructor(file: java.io.File, charset: java.nio.charset.Charset);
			public printf(format: string, args: androidNative.Array<any>): java.io.PrintWriter;
			public println(x: androidNative.Array<string>): void;
			public write(buf: androidNative.Array<string>, off: number, len: number): void;
			public append(csq: string): java.io.PrintWriter;
			public println(): void;
			public print(i: number): void;
			public print(f: number): void;
			public write(cbuf: androidNative.Array<string>): void;
			public constructor(out: java.io.Writer, autoFlush: boolean);
			public write(c: number): void;
			public print(b: boolean): void;
			public print(l: number): void;
			public write(s: string): void;
			public append(csq: string, start: number, end: number): java.io.PrintWriter;
			public print(s: string): void;
			public setError(): void;
			public println(x: number): void;
			public constructor(out: java.io.Writer);
			public checkError(): boolean;
			public close(): void;
			public write(str: string, off: number, len: number): void;
			public constructor(out: java.io.OutputStream, autoFlush: boolean, charset: java.nio.charset.Charset);
			public append(csq: string): java.io.Writer;
			public constructor(file: java.io.File);
			public write(str: string): void;
			public print(s: androidNative.Array<string>): void;
			public printf(l: java.util.Locale, format: string, args: androidNative.Array<any>): java.io.PrintWriter;
			public constructor(fileName: string);
			public print(d: number): void;
			public write(s: string, off: number, len: number): void;
			public constructor(fileName: string, csn: string);
			public print(obj: any): void;
			public format(l: java.util.Locale, format: string, args: androidNative.Array<any>): java.io.PrintWriter;
			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: androidNative.Array<number>;
			public pos: number;
			public unread(b: androidNative.Array<number>, off: number, len: number): void;
			public markSupported(): boolean;
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			public constructor(in_: java.io.InputStream);
			public constructor();
			public unread(b: number): void;
			public constructor(in_: java.io.InputStream, size: number);
			public read(): number;
			public available(): number;
			public unread(b: androidNative.Array<number>): void;
			public reset(): void;
			public close(): void;
			public mark(readlimit: 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 ready(): boolean;
			public markSupported(): boolean;
			public unread(c: number): void;
			public constructor(lock: any);
			public unread(cbuf: androidNative.Array<string>): void;
			public skip(n: number): number;
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public mark(readAheadLimit: number): void;
			public constructor(in_: java.io.Reader, size: number);
			public constructor();
			public read(): number;
			public constructor(in_: java.io.Reader);
			public unread(cbuf: androidNative.Array<string>, off: number, len: number): void;
			public read(param0: java.nio.CharBuffer): number;
			public reset(): void;
			public read(target: java.nio.CharBuffer): number;
			public read(cbuf: androidNative.Array<string>): number;
			public close(): 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 readFully(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public readUnsignedByte(): number;
			public readFully(param0: androidNative.Array<number>): void;
			public writeFloat(param0: number): void;
			public writeDouble(v: number): void;
			public writeChar(param0: number): void;
			public readChar(): string;
			public skipBytes(param0: number): number;
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public readInt(): number;
			public readFloat(): number;
			public readLine(): string;
			public writeBoolean(v: boolean): void;
			public readFully(b: androidNative.Array<number>, off: number, len: number): void;
			public getFD(): java.io.FileDescriptor;
			public writeLong(param0: number): void;
			public writeBoolean(param0: boolean): void;
			public setLength(newLength: number): void;
			public readBoolean(): boolean;
			public writeBytes(param0: string): void;
			public getChannel(): java.nio.channels.FileChannel;
			public writeChar(v: number): void;
			public writeShort(param0: number): void;
			public getFilePointer(): number;
			public writeFloat(v: number): void;
			public seek(pos: number): void;
			public writeLong(v: number): void;
			public constructor(file: java.io.File, mode: string);
			public writeChars(param0: string): void;
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public writeUTF(param0: string): void;
			public read(b: androidNative.Array<number>): number;
			public readByte(): number;
			public write(param0: androidNative.Array<number>): void;
			public write(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public read(): number;
			public readFully(b: androidNative.Array<number>): void;
			public readShort(): number;
			public readDouble(): number;
			public writeInt(v: number): void;
			public writeBytes(s: string): void;
			public close(): void;
			public readUTF(): string;
			public finalize(): void;
			public writeByte(v: number): void;
			public readUnsignedShort(): number;
			public writeInt(param0: number): void;
			public length(): number;
			public readLong(): number;
			public writeByte(param0: number): void;
			public writeChars(s: string): void;
			public writeDouble(param0: number): void;
			public write(param0: number): void;
			public constructor(name: string, mode: string);
			public write(b: androidNative.Array<number>): void;
			public write(b: number): void;
			public writeUTF(str: string): void;
			public skipBytes(n: number): number;
			public writeShort(v: number): 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 constructor(lock: any);
			public skip(n: number): number;
			public mark(readAheadLimit: number): void;
			public transferTo(out: java.io.Writer): number;
			public constructor();
			public read(param0: androidNative.Array<string>, param1: number, param2: number): number;
			public static nullReader(): java.io.Reader;
			public read(): number;
			public read(param0: java.nio.CharBuffer): number;
			public reset(): void;
			public read(target: java.nio.CharBuffer): number;
			public read(cbuf: androidNative.Array<string>): number;
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class SequenceInputStream extends java.io.InputStream {
			public static class: java.lang.Class<java.io.SequenceInputStream>;
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public read(b: androidNative.Array<number>): number;
			public constructor(e: java.util.Enumeration<any>);
			public constructor(s1: java.io.InputStream, s2: java.io.InputStream);
			public constructor();
			public close(): void;
			public available(): number;
			public read(): number;
		}
	}
}

declare module java {
	export module io {
		export class Serial extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<java.io.Serial>;
			/**
			 * Constructs a new instance of the java.io.Serial 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 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(name: string);
			public constructor(name: string, actions: string);
			public checkGuard(param0: any): void;
		}
	}
}

declare module java {
	export module io {
		export class StreamCorruptedException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.StreamCorruptedException>;
			public constructor(reason: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: -1;
			public static TT_EOL: 10;
			public static TT_NUMBER: -2;
			public static TT_WORD: -3;
			public nval: number;
			public sval: string;
			public ttype: number;
			public resetSyntax(): void;
			public eolIsSignificant(flag: boolean): void;
			public nextToken(): number;
			public slashStarComments(flag: boolean): void;
			public slashSlashComments(flag: boolean): void;
			public whitespaceChars(low: number, hi: number): void;
			public pushBack(): void;
			public lineno(): number;
			public commentChar(ch: number): void;
			public wordChars(low: number, hi: number): void;
			public ordinaryChars(low: number, hi: number): void;
			public parseNumbers(): void;
			public toString(): string;
			public lowerCaseMode(fl: boolean): void;
			public ordinaryChar(ch: number): void;
			/** @deprecated */
			public constructor(is: java.io.InputStream);
			public constructor(r: java.io.Reader);
			public quoteChar(ch: 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(b: androidNative.Array<number>, off: number, len: number): number;
			/** @deprecated */
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			/** @deprecated */
			public read(): number;
			public constructor();
			public close(): void;
			/** @deprecated */
			public reset(): void;
			/** @deprecated */
			public available(): number;
			/** @deprecated */
			public constructor(s: string);
			/** @deprecated */
			public read(b: androidNative.Array<number>, off: number, len: number): 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 constructor(lock: any);
			public read(cbuf: androidNative.Array<string>, off: number, len: number): number;
			public mark(readAheadLimit: number): void;
			public constructor(s: string);
			public constructor();
			public read(param0: androidNative.Array<string>, param1: number, param2: number): number;
			public skip(ns: number): number;
			public read(): number;
			public read(param0: java.nio.CharBuffer): number;
			public reset(): void;
			public read(target: java.nio.CharBuffer): number;
			public read(cbuf: androidNative.Array<string>): number;
			public close(): 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 append(csq: string): java.io.Writer;
			public constructor(lock: any);
			public write(cbuf: androidNative.Array<string>): void;
			public write(cbuf: androidNative.Array<string>, off: number, len: number): void;
			public write(c: number): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public write(str: string): void;
			public append(c: string): java.io.StringWriter;
			public getBuffer(): java.lang.StringBuffer;
			public append(csq: string): java.io.StringWriter;
			public constructor(initialSize: number);
			public toString(): string;
			public append(csq: string, start: number, end: number): java.io.Writer;
			public append(csq: string, start: number, end: number): java.io.StringWriter;
			public append(c: string): java.io.Writer;
			public write(str: string, off: number, len: number): void;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public write(param0: androidNative.Array<string>, param1: number, param2: number): void;
		}
	}
}

declare module java {
	export module io {
		export class SyncFailedException extends java.io.IOException {
			public static class: java.lang.Class<java.io.SyncFailedException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(desc: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module io {
		export class UncheckedIOException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.io.UncheckedIOException>;
			public constructor(message: string, cause: java.io.IOException);
			public constructor(cause: java.io.IOException);
			public constructor(message: string);
			public getCause(): java.lang.Throwable;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getCause(): java.io.IOException;
		}
	}
}

declare module java {
	export module io {
		export class UnsupportedEncodingException extends java.io.IOException {
			public static class: java.lang.Class<java.io.UnsupportedEncodingException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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(message: string);
			public getCause(): java.lang.Throwable;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(s: string, ex: java.lang.Exception);
		}
	}
}

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 append(csq: string): java.io.Writer;
			public constructor(lock: any);
			public write(cbuf: androidNative.Array<string>): void;
			public write(c: number): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public write(str: string): void;
			public append(csq: string, start: number, end: number): java.io.Writer;
			public append(c: string): java.io.Writer;
			public static nullWriter(): java.io.Writer;
			public write(str: string, off: number, len: number): void;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public write(param0: androidNative.Array<string>, param1: number, param2: number): void;
		}
	}
}

declare module java {
	export module lang {
		export class AbstractMethodError extends java.lang.IncompatibleClassChangeError {
			public static class: java.lang.Class<java.lang.AbstractMethodError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class ArrayIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
			public static class: java.lang.Class<java.lang.ArrayIndexOutOfBoundsException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(index: number);
		}
	}
}

declare module java {
	export module lang {
		export class ArrayStoreException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.ArrayStoreException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class AssertionError extends java.lang.Error {
			public static class: java.lang.Class<java.lang.AssertionError>;
			public constructor(message: string);
			public constructor(detailMessage: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(detailMessage: any);
			public constructor(detailMessage: number);
			public constructor(detailMessage: boolean);
		}
	}
}

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 static logicalAnd(a: boolean, b: boolean): boolean;
			public static valueOf(b: boolean): java.lang.Boolean;
			public static compare(x: boolean, y: boolean): number;
			public static hashCode(value: boolean): number;
			/** @deprecated */
			public constructor(s: string);
			public compareTo(b: java.lang.Boolean): number;
			public toString(): string;
			public equals(obj: any): boolean;
			public static valueOf(s: string): java.lang.Boolean;
			public static toString(b: boolean): string;
			public static getBoolean(name: string): boolean;
			public static logicalXor(a: boolean, b: boolean): boolean;
			public static logicalOr(a: boolean, b: boolean): boolean;
			/** @deprecated */
			public constructor(value: boolean);
			public static parseBoolean(s: string): boolean;
			public hashCode(): 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(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: 1;
			public static MAX_VALUE: 127;
			public static MIN_VALUE: -128;
			public static SIZE: 8;
			public static TYPE: java.lang.Class<java.lang.Byte>;
			public static compare(x: number, y: number): number;
			public shortValue(): number;
			public static toUnsignedInt(x: number): number;
			/** @deprecated */
			public constructor(s: string);
			public static decode(nm: string): java.lang.Byte;
			public doubleValue(): number;
			public static compareUnsigned(x: number, y: number): number;
			public static valueOf(s: string, radix: number): java.lang.Byte;
			public static valueOf(s: string): java.lang.Byte;
			public static parseByte(s: string, radix: number): number;
			public constructor();
			public static valueOf(b: number): java.lang.Byte;
			public floatValue(): number;
			public static parseByte(s: string): number;
			public intValue(): number;
			public toString(): string;
			/** @deprecated */
			public constructor(value: number);
			public equals(obj: any): boolean;
			public compareTo(anotherByte: java.lang.Byte): number;
			public byteValue(): number;
			public static toUnsignedLong(x: number): number;
			public static toString(b: number): string;
			public longValue(): number;
			public hashCode(): number;
			public static hashCode(value: number): 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;
				isEmpty(): boolean;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				compare(cs1: string, cs2: string): number;
			});
			public constructor();
			public static compare(cs1: string, cs2: string): number;
			public charAt(param0: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public isEmpty(): boolean;
			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: 2;
			public static COMBINING_SPACING_MARK: 8;
			public static CONNECTOR_PUNCTUATION: 23;
			public static CONTROL: 15;
			public static CURRENCY_SYMBOL: 26;
			public static DASH_PUNCTUATION: 20;
			public static DECIMAL_DIGIT_NUMBER: 9;
			public static DIRECTIONALITY_ARABIC_NUMBER: 6;
			public static DIRECTIONALITY_BOUNDARY_NEUTRAL: 9;
			public static DIRECTIONALITY_COMMON_NUMBER_SEPARATOR: 7;
			public static DIRECTIONALITY_EUROPEAN_NUMBER: 3;
			public static DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR: 4;
			public static DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR: 5;
			public static DIRECTIONALITY_FIRST_STRONG_ISOLATE: 21;
			public static DIRECTIONALITY_LEFT_TO_RIGHT: 0;
			public static DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING: 14;
			public static DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE: 19;
			public static DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE: 15;
			public static DIRECTIONALITY_NONSPACING_MARK: 8;
			public static DIRECTIONALITY_OTHER_NEUTRALS: 13;
			public static DIRECTIONALITY_PARAGRAPH_SEPARATOR: 10;
			public static DIRECTIONALITY_POP_DIRECTIONAL_FORMAT: 18;
			public static DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE: 22;
			public static DIRECTIONALITY_RIGHT_TO_LEFT: 1;
			public static DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC: 2;
			public static DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING: 16;
			public static DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE: 20;
			public static DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE: 17;
			public static DIRECTIONALITY_SEGMENT_SEPARATOR: 11;
			public static DIRECTIONALITY_UNDEFINED: -1;
			public static DIRECTIONALITY_WHITESPACE: 12;
			public static ENCLOSING_MARK: 7;
			public static END_PUNCTUATION: 22;
			public static FINAL_QUOTE_PUNCTUATION: 30;
			public static FORMAT: 16;
			public static INITIAL_QUOTE_PUNCTUATION: 29;
			public static LETTER_NUMBER: 10;
			public static LINE_SEPARATOR: 13;
			public static LOWERCASE_LETTER: 2;
			public static MATH_SYMBOL: 25;
			public static MAX_CODE_POINT: 1114111;
			public static MAX_HIGH_SURROGATE: "56319";
			public static MAX_LOW_SURROGATE: "57343";
			public static MAX_RADIX: 36;
			public static MAX_SURROGATE: "57343";
			public static MAX_VALUE: "65535";
			public static MIN_CODE_POINT: 0;
			public static MIN_HIGH_SURROGATE: "55296";
			public static MIN_LOW_SURROGATE: "56320";
			public static MIN_RADIX: 2;
			public static MIN_SUPPLEMENTARY_CODE_POINT: 65536;
			public static MIN_SURROGATE: "55296";
			public static MIN_VALUE: "0";
			public static MODIFIER_LETTER: 4;
			public static MODIFIER_SYMBOL: 27;
			public static NON_SPACING_MARK: 6;
			public static OTHER_LETTER: 5;
			public static OTHER_NUMBER: 11;
			public static OTHER_PUNCTUATION: 24;
			public static OTHER_SYMBOL: 28;
			public static PARAGRAPH_SEPARATOR: 14;
			public static PRIVATE_USE: 18;
			public static SIZE: 16;
			public static SPACE_SEPARATOR: 12;
			public static START_PUNCTUATION: 21;
			public static SURROGATE: 19;
			public static TITLECASE_LETTER: 3;
			public static TYPE: java.lang.Class<java.lang.Character>;
			public static UNASSIGNED: 0;
			public static UPPERCASE_LETTER: 1;
			public static isDefined(ch: string): boolean;
			/** @deprecated */
			public static isJavaLetterOrDigit(ch: string): boolean;
			public static compare(x: string, y: string): number;
			public static isValidCodePoint(codePoint: number): boolean;
			public static isLetter(codePoint: number): boolean;
			public static charCount(codePoint: number): number;
			public charValue(): string;
			public static isSurrogatePair(high: string, low: string): boolean;
			public static isUnicodeIdentifierStart(ch: string): boolean;
			public static isJavaIdentifierStart(codePoint: number): boolean;
			public static isISOControl(ch: string): boolean;
			public static isIdeographic(codePoint: number): boolean;
			public static offsetByCodePoints(seq: string, index: number, codePointOffset: number): number;
			public static isUpperCase(codePoint: number): boolean;
			public static offsetByCodePoints(a: androidNative.Array<string>, start: number, count: number, index: number, codePointOffset: number): number;
			public static isBmpCodePoint(codePoint: number): boolean;
			public static isDigit(codePoint: number): boolean;
			/** @deprecated */
			public static isSpace(ch: string): boolean;
			public static toString(codePoint: number): string;
			public static isIdentifierIgnorable(codePoint: number): boolean;
			public static toUpperCase(ch: string): string;
			public static toUpperCase(codePoint: number): number;
			public static isAlphabetic(codePoint: number): boolean;
			/** @deprecated */
			public static isJavaLetter(ch: string): boolean;
			public static getNumericValue(codePoint: number): number;
			public static isDefined(codePoint: number): boolean;
			public static toCodePoint(high: string, low: string): number;
			public static toLowerCase(ch: string): string;
			public static isLetterOrDigit(codePoint: number): boolean;
			public static isWhitespace(codePoint: number): boolean;
			public static toString(c: string): string;
			public compareTo(anotherCharacter: java.lang.Character): number;
			public static isSurrogate(ch: string): boolean;
			public static digit(ch: string, radix: number): number;
			public static codePointBefore(a: androidNative.Array<string>, index: number, start: number): number;
			public static isTitleCase(codePoint: number): boolean;
			public static isMirrored(codePoint: number): boolean;
			public static digit(codePoint: number, radix: number): number;
			public static isUnicodeIdentifierPart(codePoint: number): boolean;
			public static valueOf(c: string): java.lang.Character;
			public static isDigit(ch: string): boolean;
			public static highSurrogate(codePoint: number): string;
			public static getDirectionality(ch: string): number;
			public static lowSurrogate(codePoint: number): string;
			public static isSupplementaryCodePoint(codePoint: number): boolean;
			public static codePointAt(a: androidNative.Array<string>, index: number, limit: number): number;
			public static getType(codePoint: number): number;
			public static getDirectionality(codePoint: number): number;
			public static getName(codePoint: number): string;
			public static codePointAt(seq: string, index: number): number;
			public static isIdentifierIgnorable(ch: string): boolean;
			public static reverseBytes(ch: string): string;
			public static codePointOf(name: string): number;
			public static codePointBefore(seq: string, index: number): number;
			public static toChars(codePoint: number, dst: androidNative.Array<string>, dstIndex: number): number;
			public static codePointAt(a: androidNative.Array<string>, index: number): number;
			public static isTitleCase(ch: string): boolean;
			public static isWhitespace(ch: string): boolean;
			public static isLowSurrogate(ch: string): boolean;
			public static hashCode(value: string): number;
			public static isLetterOrDigit(ch: string): boolean;
			public static isJavaIdentifierStart(ch: string): boolean;
			public static isJavaIdentifierPart(ch: string): boolean;
			public static forDigit(digit: number, radix: number): string;
			public static isMirrored(ch: string): boolean;
			public static isHighSurrogate(ch: string): boolean;
			public static isUnicodeIdentifierPart(ch: string): boolean;
			public static isSpaceChar(codePoint: number): boolean;
			public static isSpaceChar(ch: string): boolean;
			public static getType(ch: string): number;
			public static isLowerCase(codePoint: number): boolean;
			public static isLowerCase(ch: string): boolean;
			public static isISOControl(codePoint: number): boolean;
			public static codePointBefore(a: androidNative.Array<string>, index: number): number;
			public static codePointCount(seq: string, beginIndex: number, endIndex: number): number;
			public static codePointCount(a: androidNative.Array<string>, offset: number, count: number): number;
			public static isUpperCase(ch: string): boolean;
			public static toTitleCase(codePoint: number): number;
			public static getNumericValue(ch: string): number;
			public toString(): string;
			public equals(obj: any): boolean;
			public static isLetter(ch: string): boolean;
			public static isJavaIdentifierPart(codePoint: number): boolean;
			public static isUnicodeIdentifierStart(codePoint: number): boolean;
			/** @deprecated */
			public constructor(value: string);
			public static toLowerCase(codePoint: number): number;
			public static toChars(codePoint: number): androidNative.Array<string>;
			public static toTitleCase(ch: string): string;
			public hashCode(): number;
		}
		export module Character {
			export class Subset extends java.lang.Object {
				public static class: java.lang.Class<java.lang.Character.Subset>;
				public constructor(name: string);
				public equals(obj: any): boolean;
				public hashCode(): number;
				public toString(): string;
			}
			export class UnicodeBlock extends java.lang.Character.Subset {
				public static class: java.lang.Class<java.lang.Character.UnicodeBlock>;
				public static ADLAM: java.lang.Character.UnicodeBlock;
				public static AEGEAN_NUMBERS: java.lang.Character.UnicodeBlock;
				public static AHOM: java.lang.Character.UnicodeBlock;
				public static ALCHEMICAL_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static ALPHABETIC_PRESENTATION_FORMS: java.lang.Character.UnicodeBlock;
				public static ANATOLIAN_HIEROGLYPHS: 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 BASSA_VAH: java.lang.Character.UnicodeBlock;
				public static BATAK: java.lang.Character.UnicodeBlock;
				public static BENGALI: java.lang.Character.UnicodeBlock;
				public static BHAIKSUKI: 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 CAUCASIAN_ALBANIAN: 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 CHEROKEE_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static CHESS_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static CHORASMIAN: 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 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E: java.lang.Character.UnicodeBlock;
				public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F: java.lang.Character.UnicodeBlock;
				public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G: java.lang.Character.UnicodeBlock;
				public static COMBINING_DIACRITICAL_MARKS: java.lang.Character.UnicodeBlock;
				public static COMBINING_DIACRITICAL_MARKS_EXTENDED: 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 COPTIC_EPACT_NUMBERS: 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_EXTENDED_C: 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 DIVES_AKURU: java.lang.Character.UnicodeBlock;
				public static DOGRA: java.lang.Character.UnicodeBlock;
				public static DOMINO_TILES: java.lang.Character.UnicodeBlock;
				public static DUPLOYAN: java.lang.Character.UnicodeBlock;
				public static EARLY_DYNASTIC_CUNEIFORM: java.lang.Character.UnicodeBlock;
				public static EGYPTIAN_HIEROGLYPHS: java.lang.Character.UnicodeBlock;
				public static EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS: java.lang.Character.UnicodeBlock;
				public static ELBASAN: java.lang.Character.UnicodeBlock;
				public static ELYMAIC: 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 GEOMETRIC_SHAPES_EXTENDED: java.lang.Character.UnicodeBlock;
				public static GEORGIAN: java.lang.Character.UnicodeBlock;
				public static GEORGIAN_EXTENDED: java.lang.Character.UnicodeBlock;
				public static GEORGIAN_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static GLAGOLITIC: java.lang.Character.UnicodeBlock;
				public static GLAGOLITIC_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static GOTHIC: java.lang.Character.UnicodeBlock;
				public static GRANTHA: 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 GUNJALA_GONDI: 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 HANIFI_ROHINGYA: java.lang.Character.UnicodeBlock;
				public static HANUNOO: java.lang.Character.UnicodeBlock;
				public static HATRAN: 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 IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION: java.lang.Character.UnicodeBlock;
				public static IMPERIAL_ARAMAIC: java.lang.Character.UnicodeBlock;
				public static INDIC_SIYAQ_NUMBERS: 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_EXTENDED_A: 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 KHITAN_SMALL_SCRIPT: java.lang.Character.UnicodeBlock;
				public static KHMER: java.lang.Character.UnicodeBlock;
				public static KHMER_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static KHOJKI: java.lang.Character.UnicodeBlock;
				public static KHUDAWADI: 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 LATIN_EXTENDED_E: 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_A: 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 LISU_SUPPLEMENT: 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 MAHAJANI: java.lang.Character.UnicodeBlock;
				public static MAHJONG_TILES: java.lang.Character.UnicodeBlock;
				public static MAKASAR: java.lang.Character.UnicodeBlock;
				public static MALAYALAM: java.lang.Character.UnicodeBlock;
				public static MANDAIC: java.lang.Character.UnicodeBlock;
				public static MANICHAEAN: java.lang.Character.UnicodeBlock;
				public static MARCHEN: java.lang.Character.UnicodeBlock;
				public static MASARAM_GONDI: java.lang.Character.UnicodeBlock;
				public static MATHEMATICAL_ALPHANUMERIC_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static MATHEMATICAL_OPERATORS: java.lang.Character.UnicodeBlock;
				public static MAYAN_NUMERALS: java.lang.Character.UnicodeBlock;
				public static MEDEFAIDRIN: java.lang.Character.UnicodeBlock;
				public static MEETEI_MAYEK: java.lang.Character.UnicodeBlock;
				public static MEETEI_MAYEK_EXTENSIONS: java.lang.Character.UnicodeBlock;
				public static MENDE_KIKAKUI: 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 MODI: java.lang.Character.UnicodeBlock;
				public static MODIFIER_TONE_LETTERS: java.lang.Character.UnicodeBlock;
				public static MONGOLIAN: java.lang.Character.UnicodeBlock;
				public static MONGOLIAN_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static MRO: java.lang.Character.UnicodeBlock;
				public static MULTANI: 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 MYANMAR_EXTENDED_B: java.lang.Character.UnicodeBlock;
				public static NABATAEAN: java.lang.Character.UnicodeBlock;
				public static NANDINAGARI: java.lang.Character.UnicodeBlock;
				public static NEWA: 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 NUSHU: java.lang.Character.UnicodeBlock;
				public static NYIAKENG_PUACHUE_HMONG: java.lang.Character.UnicodeBlock;
				public static OGHAM: java.lang.Character.UnicodeBlock;
				public static OLD_HUNGARIAN: java.lang.Character.UnicodeBlock;
				public static OLD_ITALIC: java.lang.Character.UnicodeBlock;
				public static OLD_NORTH_ARABIAN: java.lang.Character.UnicodeBlock;
				public static OLD_PERMIC: java.lang.Character.UnicodeBlock;
				public static OLD_PERSIAN: java.lang.Character.UnicodeBlock;
				public static OLD_SOGDIAN: 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 ORNAMENTAL_DINGBATS: java.lang.Character.UnicodeBlock;
				public static OSAGE: java.lang.Character.UnicodeBlock;
				public static OSMANYA: java.lang.Character.UnicodeBlock;
				public static OTTOMAN_SIYAQ_NUMBERS: java.lang.Character.UnicodeBlock;
				public static PAHAWH_HMONG: java.lang.Character.UnicodeBlock;
				public static PALMYRENE: java.lang.Character.UnicodeBlock;
				public static PAU_CIN_HAU: 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 PSALTER_PAHLAVI: 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 SHORTHAND_FORMAT_CONTROLS: java.lang.Character.UnicodeBlock;
				public static SIDDHAM: java.lang.Character.UnicodeBlock;
				public static SINHALA: java.lang.Character.UnicodeBlock;
				public static SINHALA_ARCHAIC_NUMBERS: java.lang.Character.UnicodeBlock;
				public static SMALL_FORM_VARIANTS: java.lang.Character.UnicodeBlock;
				public static SMALL_KANA_EXTENSION: java.lang.Character.UnicodeBlock;
				public static SOGDIAN: java.lang.Character.UnicodeBlock;
				public static SORA_SOMPENG: java.lang.Character.UnicodeBlock;
				public static SOYOMBO: 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_ARROWS_C: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTAL_MATHEMATICAL_OPERATORS: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTAL_PUNCTUATION: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS: 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 SUTTON_SIGNWRITING: java.lang.Character.UnicodeBlock;
				public static SYLOTI_NAGRI: java.lang.Character.UnicodeBlock;
				public static SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A: java.lang.Character.UnicodeBlock;
				public static SYMBOLS_FOR_LEGACY_COMPUTING: java.lang.Character.UnicodeBlock;
				public static SYRIAC: java.lang.Character.UnicodeBlock;
				public static SYRIAC_SUPPLEMENT: 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 TAMIL_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static TANGUT: java.lang.Character.UnicodeBlock;
				public static TANGUT_COMPONENTS: java.lang.Character.UnicodeBlock;
				public static TANGUT_SUPPLEMENT: 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 TIRHUTA: 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 WANCHO: java.lang.Character.UnicodeBlock;
				public static WARANG_CITI: java.lang.Character.UnicodeBlock;
				public static YEZIDI: 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 ZANABAZAR_SQUARE: java.lang.Character.UnicodeBlock;
				public static forName(blockName: string): java.lang.Character.UnicodeBlock;
				public static of(codePoint: number): java.lang.Character.UnicodeBlock;
				public static of(c: 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 CAUCASIAN_ALBANIAN: java.lang.Character.UnicodeScript;
				public static BASSA_VAH: java.lang.Character.UnicodeScript;
				public static DUPLOYAN: java.lang.Character.UnicodeScript;
				public static ELBASAN: java.lang.Character.UnicodeScript;
				public static GRANTHA: java.lang.Character.UnicodeScript;
				public static PAHAWH_HMONG: java.lang.Character.UnicodeScript;
				public static KHOJKI: java.lang.Character.UnicodeScript;
				public static LINEAR_A: java.lang.Character.UnicodeScript;
				public static MAHAJANI: java.lang.Character.UnicodeScript;
				public static MANICHAEAN: java.lang.Character.UnicodeScript;
				public static MENDE_KIKAKUI: java.lang.Character.UnicodeScript;
				public static MODI: java.lang.Character.UnicodeScript;
				public static MRO: java.lang.Character.UnicodeScript;
				public static OLD_NORTH_ARABIAN: java.lang.Character.UnicodeScript;
				public static NABATAEAN: java.lang.Character.UnicodeScript;
				public static PALMYRENE: java.lang.Character.UnicodeScript;
				public static PAU_CIN_HAU: java.lang.Character.UnicodeScript;
				public static OLD_PERMIC: java.lang.Character.UnicodeScript;
				public static PSALTER_PAHLAVI: java.lang.Character.UnicodeScript;
				public static SIDDHAM: java.lang.Character.UnicodeScript;
				public static KHUDAWADI: java.lang.Character.UnicodeScript;
				public static TIRHUTA: java.lang.Character.UnicodeScript;
				public static WARANG_CITI: java.lang.Character.UnicodeScript;
				public static AHOM: java.lang.Character.UnicodeScript;
				public static ANATOLIAN_HIEROGLYPHS: java.lang.Character.UnicodeScript;
				public static HATRAN: java.lang.Character.UnicodeScript;
				public static MULTANI: java.lang.Character.UnicodeScript;
				public static OLD_HUNGARIAN: java.lang.Character.UnicodeScript;
				public static SIGNWRITING: java.lang.Character.UnicodeScript;
				public static ADLAM: java.lang.Character.UnicodeScript;
				public static BHAIKSUKI: java.lang.Character.UnicodeScript;
				public static MARCHEN: java.lang.Character.UnicodeScript;
				public static NEWA: java.lang.Character.UnicodeScript;
				public static OSAGE: java.lang.Character.UnicodeScript;
				public static TANGUT: java.lang.Character.UnicodeScript;
				public static MASARAM_GONDI: java.lang.Character.UnicodeScript;
				public static NUSHU: java.lang.Character.UnicodeScript;
				public static SOYOMBO: java.lang.Character.UnicodeScript;
				public static ZANABAZAR_SQUARE: java.lang.Character.UnicodeScript;
				public static HANIFI_ROHINGYA: java.lang.Character.UnicodeScript;
				public static OLD_SOGDIAN: java.lang.Character.UnicodeScript;
				public static SOGDIAN: java.lang.Character.UnicodeScript;
				public static DOGRA: java.lang.Character.UnicodeScript;
				public static GUNJALA_GONDI: java.lang.Character.UnicodeScript;
				public static MAKASAR: java.lang.Character.UnicodeScript;
				public static MEDEFAIDRIN: java.lang.Character.UnicodeScript;
				public static ELYMAIC: java.lang.Character.UnicodeScript;
				public static NANDINAGARI: java.lang.Character.UnicodeScript;
				public static NYIAKENG_PUACHUE_HMONG: java.lang.Character.UnicodeScript;
				public static WANCHO: java.lang.Character.UnicodeScript;
				public static YEZIDI: java.lang.Character.UnicodeScript;
				public static CHORASMIAN: java.lang.Character.UnicodeScript;
				public static DIVES_AKURU: java.lang.Character.UnicodeScript;
				public static KHITAN_SMALL_SCRIPT: java.lang.Character.UnicodeScript;
				public static UNKNOWN: java.lang.Character.UnicodeScript;
				public static valueOf(name: string): java.lang.Character.UnicodeScript;
				public static of(codePoint: number): java.lang.Character.UnicodeScript;
				public static forName(scriptName: string): java.lang.Character.UnicodeScript;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<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 getEnclosingClass(): java.lang.Class<any>;
			public getClassLoader(): java.lang.ClassLoader;
			public isInterface(): boolean;
			public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
			public isArray(): boolean;
			public getPackageName(): string;
			public getDeclaredConstructor(parameterTypes: androidNative.Array<java.lang.Class<any>>): java.lang.reflect.Constructor<T>;
			public desiredAssertionStatus(): boolean;
			public getDeclaredMethod(name: string, parameterTypes: androidNative.Array<java.lang.Class<any>>): java.lang.reflect.Method;
			public getRecordComponents(): androidNative.Array<java.lang.reflect.RecordComponent>;
			public descriptorString(): string;
			public getSuperclass(): java.lang.Class<any>;
			public getResource(name: string): java.net.URL;
			public getProtectionDomain(): java.security.ProtectionDomain;
			public getNestMembers(): androidNative.Array<java.lang.Class<any>>;
			public componentType(): any;
			public getCanonicalName(): string;
			public static forName(className: string): java.lang.Class<any>;
			public isPrimitive(): boolean;
			public getClasses(): androidNative.Array<java.lang.Class<any>>;
			public getModifiers(): number;
			public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
			public getDeclaredFields(): androidNative.Array<java.lang.reflect.Field>;
			public getGenericInterfaces(): androidNative.Array<java.lang.reflect.Type>;
			public getDeclaredField(param0: string): java.lang.reflect.Field;
			public getInterfaces(): androidNative.Array<java.lang.Class<any>>;
			public isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
			public getGenericSuperclass(): java.lang.reflect.Type;
			public getTypeName(): string;
			public getField(name: string): java.lang.reflect.Field;
			public isEnum(): boolean;
			public cast(obj: any): T;
			public isAnnotation(): boolean;
			public isAssignableFrom(cls: java.lang.Class<any>): boolean;
			public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
			public arrayType(): java.lang.Class<any>;
			public getEnumConstants(): androidNative.Array<T>;
			public getDeclaredConstructors(): androidNative.Array<java.lang.reflect.Constructor<any>>;
			public isRecord(): boolean;
			public getSimpleName(): string;
			public getFields(): androidNative.Array<java.lang.reflect.Field>;
			public isInstance(obj: any): boolean;
			public getMethods(): androidNative.Array<java.lang.reflect.Method>;
			public getPermittedSubclasses(): androidNative.Array<java.lang.Class<any>>;
			public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
			public getTypeParameters(): androidNative.Array<java.lang.reflect.TypeVariable<any>>;
			public getDeclaredClasses(): androidNative.Array<java.lang.Class<any>>;
			public getDeclaredMethods(): androidNative.Array<java.lang.reflect.Method>;
			public isSealed(): boolean;
			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 getMethod(name: string, parameterTypes: androidNative.Array<java.lang.Class<any>>): java.lang.reflect.Method;
			public asSubclass(clazz: java.lang.Class<any>): java.lang.Class<any>;
			public getNestHost(): java.lang.Class<any>;
			public componentType(): java.lang.Class<any>;
			public getComponentType(): java.lang.Class<any>;
			public isNestmateOf(c: java.lang.Class<any>): boolean;
			public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
			public getTypeParameters(): androidNative.Array<java.lang.reflect.TypeVariable<java.lang.Class<T>>>;
			public getSigners(): androidNative.Array<any>;
			public getDeclaringClass(): java.lang.Class<any>;
			public arrayType(): any;
			public getConstructor(parameterTypes: androidNative.Array<java.lang.Class<any>>): java.lang.reflect.Constructor<T>;
			public toGenericString(): string;
			public getPackage(): java.lang.Package;
			public isSynthetic(): boolean;
			public toString(): string;
			public getName(): string;
			public getEnclosingMethod(): java.lang.reflect.Method;
			public getEnclosingConstructor(): java.lang.reflect.Constructor<any>;
			/** @deprecated */
			public newInstance(): T;
			public isLocalClass(): boolean;
			public getResourceAsStream(name: string): java.io.InputStream;
			public isMemberClass(): boolean;
			public getConstructors(): androidNative.Array<java.lang.reflect.Constructor<any>>;
			public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
			public static forName(name: string, initialize: boolean, loader: java.lang.ClassLoader): java.lang.Class<any>;
		}
	}
}

declare module java {
	export module lang {
		export class ClassCastException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.ClassCastException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class ClassCircularityError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.ClassCircularityError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class ClassFormatError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.ClassFormatError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export abstract class ClassLoader extends java.lang.Object {
			public static class: java.lang.Class<java.lang.ClassLoader>;
			public findResource(name: string): java.net.URL;
			public findClass(name: string): java.lang.Class<any>;
			public setPackageAssertionStatus(packageName: string, enabled: boolean): void;
			public getParent(): java.lang.ClassLoader;
			public findSystemClass(name: string): java.lang.Class<any>;
			public definePackage(name: string, specTitle: string, specVersion: string, specVendor: string, implTitle: string, implVersion: string, implVendor: string, sealBase: java.net.URL): java.lang.Package;
			public findLoadedClass(name: string): java.lang.Class<any>;
			/** @deprecated */
			public getPackage(name: string): java.lang.Package;
			public findResources(name: string): java.util.Enumeration<java.net.URL>;
			public getResource(name: string): java.net.URL;
			public findLibrary(libname: string): string;
			/** @deprecated */
			public defineClass(b: androidNative.Array<number>, off: number, len: number): java.lang.Class<any>;
			public setClassAssertionStatus(className: string, enabled: boolean): void;
			public setDefaultAssertionStatus(enabled: boolean): void;
			public static registerAsParallelCapable(): boolean;
			public resolveClass(c: java.lang.Class<any>): void;
			public getResources(name: string): java.util.Enumeration<java.net.URL>;
			public defineClass(name: string, b: java.nio.ByteBuffer, protectionDomain: java.security.ProtectionDomain): java.lang.Class<any>;
			public constructor(parent: java.lang.ClassLoader);
			public defineClass(name: string, b: androidNative.Array<number>, off: number, len: number, protectionDomain: java.security.ProtectionDomain): java.lang.Class<any>;
			public static getSystemResource(name: string): java.net.URL;
			public static getSystemResources(name: string): java.util.Enumeration<java.net.URL>;
			public loadClass(name: string, resolve: boolean): java.lang.Class<any>;
			public getPackages(): androidNative.Array<java.lang.Package>;
			public constructor();
			public static getSystemClassLoader(): java.lang.ClassLoader;
			public loadClass(name: string): java.lang.Class<any>;
			public getResourceAsStream(name: string): java.io.InputStream;
			public static getSystemResourceAsStream(name: string): java.io.InputStream;
			public clearAssertionStatus(): void;
			public defineClass(name: string, b: androidNative.Array<number>, off: number, len: number): java.lang.Class<any>;
			public setSigners(c: java.lang.Class<any>, signers: androidNative.Array<any>): void;
		}
	}
}

declare module java {
	export module lang {
		export class ClassNotFoundException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.ClassNotFoundException>;
			public constructor(message: string);
			public getException(): java.lang.Throwable;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
			public constructor(s: string, ex: java.lang.Throwable);
		}
	}
}

declare module java {
	export module lang {
		export abstract class ClassValue<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.lang.ClassValue<any>>;
			public get(type: java.lang.Class<any>): T;
			public remove(type: java.lang.Class<any>): void;
			public constructor();
			public computeValue(param0: java.lang.Class<any>): T;
		}
	}
}

declare module java {
	export module lang {
		export class CloneNotSupportedException extends java.lang.Exception {
			public static class: java.lang.Class<java.lang.CloneNotSupportedException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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(classToCompile: java.lang.Class<any>): boolean;
			public static enable(): void;
			public static compileClasses(nameRoot: string): boolean;
			public static command(cmd: any): any;
			public static disable(): void;
		}
	}
}

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: {
				since(): string;
				forRemoval(): boolean;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public since(): string;
			public forRemoval(): boolean;
			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: 8;
			public static MAX_EXPONENT: 1023;
			public static MAX_VALUE: 1.7976931348623157E308;
			public static MIN_EXPONENT: -1022;
			public static MIN_NORMAL: 2.2250738585072014E-308;
			public static MIN_VALUE: 4.9E-324;
			// -Infinity;
			public static NEGATIVE_INFINITY: typeof Infinity;
			public static NaN: typeof NaN;
			public static POSITIVE_INFINITY: typeof Infinity;
			public static PRECISION: 53;
			public static SIZE: 64;
			public static TYPE: java.lang.Class<java.lang.Double>;
			public static doubleToRawLongBits(param0: number): number;
			public compareTo(anotherDouble: java.lang.Double): number;
			public static isFinite(d: number): boolean;
			public static parseDouble(s: string): number;
			public static valueOf(d: number): java.lang.Double;
			public static longBitsToDouble(param0: number): number;
			public shortValue(): number;
			/** @deprecated */
			public constructor(s: string);
			public static toHexString(d: number): string;
			public doubleValue(): number;
			public static toString(d: number): string;
			public isInfinite(): boolean;
			public static isNaN(v: number): boolean;
			public static compare(d1: number, d2: number): number;
			public static isInfinite(v: number): boolean;
			public static min(a: number, b: number): number;
			public constructor();
			public floatValue(): number;
			public isNaN(): boolean;
			public intValue(): number;
			public toString(): string;
			public static valueOf(s: string): java.lang.Double;
			/** @deprecated */
			public constructor(value: number);
			public equals(obj: any): boolean;
			public static doubleToLongBits(value: number): number;
			public byteValue(): number;
			public static sum(a: number, b: number): number;
			public longValue(): number;
			public hashCode(): number;
			public static hashCode(value: number): number;
			public static max(a: number, b: number): 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(other: any): boolean;
			public constructor(name: string, ordinal: number);
			public toString(): string;
			public clone(): any;
			public name(): string;
			public compareTo(o: E): number;
			public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public ordinal(): 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(message: string);
			public enumType(): java.lang.Class<any>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(enumType: java.lang.Class<any>, constantName: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class Exception extends java.lang.Throwable {
			public static class: java.lang.Class<java.lang.Exception>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class ExceptionInInitializerError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.ExceptionInInitializerError>;
			public constructor(thrown: java.lang.Throwable);
			public getException(): java.lang.Throwable;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: 4;
			public static MAX_EXPONENT: 127;
			public static MAX_VALUE: 3.4028235E38;
			public static MIN_EXPONENT: -126;
			public static MIN_NORMAL: 1.17549435E-38;
			public static MIN_VALUE: 1.4E-45;
			// -Infinity;
			public static NEGATIVE_INFINITY: typeof Infinity;
			public static NaN: typeof NaN;
			public static POSITIVE_INFINITY: typeof Infinity;
			public static PRECISION: 24;
			public static SIZE: 32;
			public static TYPE: java.lang.Class<java.lang.Float>;
			public static toString(f: number): string;
			public static isFinite(f: number): boolean;
			public static compare(f1: number, f2: number): number;
			public static valueOf(f: number): java.lang.Float;
			public shortValue(): number;
			public static floatToRawIntBits(param0: number): number;
			/** @deprecated */
			public constructor(s: string);
			public doubleValue(): number;
			public isInfinite(): boolean;
			public static parseFloat(s: string): number;
			public static toHexString(f: number): string;
			public static isNaN(v: number): boolean;
			public static isInfinite(v: number): boolean;
			public static min(a: number, b: number): number;
			public static valueOf(s: string): java.lang.Float;
			public static intBitsToFloat(param0: number): number;
			public constructor();
			public compareTo(anotherFloat: java.lang.Float): number;
			public floatValue(): number;
			public isNaN(): boolean;
			public intValue(): number;
			public toString(): string;
			/** @deprecated */
			public constructor(value: number);
			public equals(obj: any): boolean;
			public byteValue(): number;
			public static sum(a: number, b: number): number;
			public longValue(): number;
			public hashCode(): number;
			public static hashCode(value: number): number;
			public static floatToIntBits(value: number): number;
			public static max(a: number, b: number): 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(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class IllegalAccessException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.IllegalAccessException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class IllegalArgumentException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.IllegalArgumentException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class IllegalMonitorStateException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.IllegalMonitorStateException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class IllegalStateException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.IllegalStateException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class IllegalThreadStateException extends java.lang.IllegalArgumentException {
			public static class: java.lang.Class<java.lang.IllegalThreadStateException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class IncompatibleClassChangeError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.IncompatibleClassChangeError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class IndexOutOfBoundsException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.IndexOutOfBoundsException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
			public constructor(index: number);
		}
	}
}

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(parentValue: 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(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class InstantiationException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.InstantiationException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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: 4;
			public static MAX_VALUE: 2147483647;
			public static MIN_VALUE: -2147483648;
			public static SIZE: 32;
			public static TYPE: java.lang.Class<java.lang.Integer>;
			public static divideUnsigned(dividend: number, divisor: number): number;
			public static toString(i: number): string;
			public static compare(x: number, y: number): number;
			public static toUnsignedString(i: number, radix: number): string;
			/** @deprecated */
			public constructor(s: string);
			public static signum(i: number): number;
			public static parseInt(s: string, radix: number): number;
			public static parseUnsignedInt(s: string): number;
			public static lowestOneBit(i: number): number;
			public static parseUnsignedInt(s: string, beginIndex: number, endIndex: number, radix: number): number;
			public static compareUnsigned(x: number, y: number): number;
			public compareTo(anotherInteger: java.lang.Integer): number;
			public static min(a: number, b: number): number;
			public static toString(i: number, radix: number): string;
			public constructor();
			public static reverse(i: number): number;
			public static getInteger(nm: string, val: number): java.lang.Integer;
			public floatValue(): number;
			public intValue(): number;
			public static decode(nm: string): java.lang.Integer;
			/** @deprecated */
			public constructor(value: number);
			public static toHexString(i: number): string;
			public byteValue(): number;
			public static bitCount(i: number): number;
			public static sum(a: number, b: number): number;
			public longValue(): number;
			public static numberOfLeadingZeros(i: number): number;
			public static rotateRight(i: number, distance: number): number;
			public static valueOf(s: string, radix: number): java.lang.Integer;
			public shortValue(): number;
			public doubleValue(): number;
			public static toBinaryString(i: number): string;
			public static valueOf(s: string): java.lang.Integer;
			public static toUnsignedString(i: number): string;
			public static toOctalString(i: number): string;
			public static remainderUnsigned(dividend: number, divisor: number): number;
			public static numberOfTrailingZeros(i: number): number;
			public static reverseBytes(i: number): number;
			public static parseUnsignedInt(s: string, radix: number): number;
			public static getInteger(nm: string, val: java.lang.Integer): java.lang.Integer;
			public static rotateLeft(i: number, distance: number): number;
			public static highestOneBit(i: number): number;
			public static parseInt(s: string): number;
			public static getInteger(nm: string): java.lang.Integer;
			public toString(): string;
			public static valueOf(i: number): java.lang.Integer;
			public equals(obj: any): boolean;
			public static toUnsignedLong(x: number): number;
			public static parseInt(s: string, beginIndex: number, endIndex: number, radix: number): number;
			public hashCode(): number;
			public static hashCode(value: number): number;
			public static max(a: number, b: number): 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class InterruptedException extends java.lang.Exception {
			public static class: java.lang.Class<java.lang.InterruptedException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<T>;
			});
			public constructor();
			public iterator(): java.util.Iterator<T>;
			public forEach(action: any /* any*/): void;
			public spliterator(): java.util.Spliterator<T>;
		}
	}
}

declare module java {
	export module lang {
		export class LinkageError extends java.lang.Error {
			public static class: java.lang.Class<java.lang.LinkageError>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor();
		}
	}
}

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: 8;
			public static MAX_VALUE: 9223372036854775807;
			public static MIN_VALUE: -9223372036854775808;
			public static SIZE: 64;
			public static TYPE: java.lang.Class<java.lang.Long>;
			public static divideUnsigned(dividend: number, divisor: number): number;
			public static toString(i: number): string;
			public static parseUnsignedLong(s: string): number;
			public static compare(x: number, y: number): number;
			public static toUnsignedString(i: number, radix: number): string;
			public static getLong(nm: string): java.lang.Long;
			public static parseLong(s: string): number;
			/** @deprecated */
			public constructor(s: string);
			public static valueOf(s: string, radix: number): java.lang.Long;
			public static valueOf(l: number): java.lang.Long;
			public static signum(i: number): number;
			public static lowestOneBit(i: number): number;
			public static valueOf(s: string): java.lang.Long;
			public static compareUnsigned(x: number, y: number): number;
			public static min(a: number, b: number): number;
			public static toString(i: number, radix: number): string;
			public constructor();
			public static reverse(i: number): number;
			public floatValue(): number;
			public intValue(): number;
			public static decode(nm: string): java.lang.Long;
			/** @deprecated */
			public constructor(value: number);
			public static toHexString(i: number): string;
			public static getLong(nm: string, val: number): java.lang.Long;
			public byteValue(): number;
			public static getLong(nm: string, val: java.lang.Long): java.lang.Long;
			public static bitCount(i: number): number;
			public static sum(a: number, b: number): number;
			public longValue(): number;
			public static numberOfLeadingZeros(i: number): number;
			public static rotateRight(i: number, distance: number): number;
			public shortValue(): number;
			public doubleValue(): number;
			public static toBinaryString(i: number): string;
			public static toUnsignedString(i: number): string;
			public static parseLong(s: string, radix: number): number;
			public static toOctalString(i: number): string;
			public static remainderUnsigned(dividend: number, divisor: number): number;
			public static numberOfTrailingZeros(i: number): number;
			public static reverseBytes(i: number): number;
			public static rotateLeft(i: number, distance: number): number;
			public static highestOneBit(i: number): number;
			public toString(): string;
			public equals(obj: any): boolean;
			public static parseUnsignedLong(s: string, radix: number): number;
			public compareTo(anotherLong: java.lang.Long): number;
			public static parseUnsignedLong(s: string, beginIndex: number, endIndex: number, radix: number): number;
			public static parseLong(s: string, beginIndex: number, endIndex: number, radix: number): number;
			public hashCode(): number;
			public static hashCode(value: number): number;
			public static max(a: number, b: number): 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: 2.718281828459045;
			public static PI: 3.141592653589793;
			public static TAU: 6.283185307179586;
			public static nextUp(d: number): number;
			public static divideExact(x: number, y: number): number;
			public static acos(param0: number): number;
			public static floorMod(x: number, y: number): number;
			public static unsignedMultiplyHigh(x: number, y: number): number;
			public static log1p(param0: number): number;
			public static ceil(param0: number): number;
			public static ulp(d: number): number;
			public static signum(d: number): number;
			public static toRadians(angdeg: number): number;
			public static asin(param0: number): number;
			public static log10(param0: number): number;
			public static ceilDivExact(x: number, y: number): number;
			public static decrementExact(a: number): number;
			public static exp(param0: number): number;
			public static floor(param0: number): number;
			public static ulp(f: number): number;
			public static sinh(param0: number): number;
			public static toDegrees(angrad: number): number;
			public static round(a: number): number;
			public static min(a: number, b: number): number;
			public static copySign(magnitude: number, sign: number): number;
			public static nextDown(d: number): number;
			public static nextAfter(start: number, direction: number): number;
			public static cbrt(param0: number): number;
			public static subtractExact(x: number, y: number): number;
			public static pow(param0: number, param1: number): number;
			public static addExact(x: number, y: number): number;
			public static scalb(f: number, scaleFactor: number): number;
			public static clamp(value: number, min: number, max: number): number;
			public static multiplyFull(x: number, y: number): number;
			public static getExponent(f: number): number;
			public static floorDiv(x: number, y: number): number;
			public static scalb(d: number, scaleFactor: number): number;
			public static negateExact(a: number): number;
			public static toIntExact(value: number): number;
			public static absExact(a: number): number;
			public static abs(a: number): number;
			public static sin(param0: number): number;
			public static nextDown(f: number): number;
			public static expm1(param0: number): number;
			public static ceilMod(x: number, y: number): number;
			public static incrementExact(a: number): number;
			public static atan2(param0: number, param1: number): number;
			public static sqrt(param0: number): number;
			public static cosh(param0: number): number;
			public static signum(f: number): number;
			public static nextUp(f: number): number;
			public static getExponent(d: number): number;
			public static random(): number;
			public static multiplyExact(x: number, y: number): number;
			public static floorDivExact(x: number, y: number): number;
			public static log(param0: number): number;
			public static fma(a: number, b: number, c: number): number;
			public static tanh(param0: number): number;
			public static hypot(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 IEEEremainder(param0: number, param1: number): number;
			public static multiplyHigh(x: number, y: number): number;
			public static atan(param0: number): number;
			public static ceilDiv(x: number, y: number): number;
			public static max(a: number, b: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class NoClassDefFoundError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.NoClassDefFoundError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class NoSuchFieldError extends java.lang.IncompatibleClassChangeError {
			public static class: java.lang.Class<java.lang.NoSuchFieldError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class NoSuchFieldException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.NoSuchFieldException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class NoSuchMethodError extends java.lang.IncompatibleClassChangeError {
			public static class: java.lang.Class<java.lang.NoSuchMethodError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class NoSuchMethodException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.NoSuchMethodException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class NullPointerException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.NullPointerException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class Object {
			public static class: java.lang.Class<java.lang.Object>;
			public wait(): void;
			public clone(): any;
			public toString(): string;
			public equals(obj: any): boolean;
			public notify(): void;
			public wait(timeoutMillis: number): 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
			public getImplementationVendor(): string;
			public getImplementationVersion(): string;
			public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
			public getSpecificationVersion(): string;
			public isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
			public static getPackages(): androidNative.Array<java.lang.Package>;
			public isCompatibleWith(desired: string): boolean;
			public getSpecificationVendor(): string;
			public static getPackage(name: string): java.lang.Package;
			public isSealed(url: java.net.URL): boolean;
			public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
			public isSealed(): boolean;
			public toString(): string;
			public getName(): string;
			public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
			public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
			public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
			public getImplementationTitle(): string;
			public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
			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 waitFor(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
			public destroyForcibly(): java.lang.Process;
			public getInputStream(): java.io.InputStream;
			public exitValue(): number;
			public destroy(): void;
			public getOutputStream(): java.io.OutputStream;
			public constructor();
			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 directory(directory: java.io.File): java.lang.ProcessBuilder;
			public environment(): java.util.Map<string,string>;
			public directory(): java.io.File;
			public redirectErrorStream(): boolean;
			public start(): java.lang.Process;
			public redirectInput(): java.lang.ProcessBuilder.Redirect;
			public redirectOutput(file: java.io.File): java.lang.ProcessBuilder;
			public redirectError(destination: java.lang.ProcessBuilder.Redirect): java.lang.ProcessBuilder;
			public inheritIO(): java.lang.ProcessBuilder;
			public redirectError(): java.lang.ProcessBuilder.Redirect;
			public redirectErrorStream(redirectErrorStream: boolean): java.lang.ProcessBuilder;
			public redirectOutput(): java.lang.ProcessBuilder.Redirect;
			public constructor(command: androidNative.Array<string>);
			public redirectError(file: java.io.File): java.lang.ProcessBuilder;
			public command(command: androidNative.Array<string>): java.lang.ProcessBuilder;
			public command(): java.util.List<string>;
			public constructor(command: java.util.List<string>);
			public redirectOutput(destination: java.lang.ProcessBuilder.Redirect): java.lang.ProcessBuilder;
			public redirectInput(file: java.io.File): java.lang.ProcessBuilder;
			public redirectInput(source: java.lang.ProcessBuilder.Redirect): java.lang.ProcessBuilder;
			public command(command: java.util.List<string>): 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 file(): java.io.File;
				public equals(obj: any): boolean;
				public static from(file: java.io.File): java.lang.ProcessBuilder.Redirect;
				public static to(file: java.io.File): java.lang.ProcessBuilder.Redirect;
				public hashCode(): number;
				public type(): java.lang.ProcessBuilder.Redirect.Type;
				public static appendTo(file: 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(): androidNative.Array<java.lang.ProcessBuilder.Redirect.Type>;
					public static valueOf(name: string): java.lang.ProcessBuilder.Redirect.Type;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 abstract class Record extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Record>;
			public equals(param0: any): boolean;
			public toString(): string;
			public constructor();
			public hashCode(): 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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>;
			/** @deprecated */
			public traceMethodCalls(on: boolean): void;
			public exit(status: number): void;
			public exec(command: string, envp: androidNative.Array<string>, dir: java.io.File): java.lang.Process;
			public exec(cmdarray: androidNative.Array<string>, envp: androidNative.Array<string>): java.lang.Process;
			public totalMemory(): number;
			public halt(status: number): void;
			/** @deprecated */
			public traceInstructions(on: boolean): void;
			public loadLibrary(libname: string): void;
			public availableProcessors(): number;
			public exec(cmdarray: androidNative.Array<string>): java.lang.Process;
			public maxMemory(): number;
			public gc(): void;
			public exec(cmdarray: androidNative.Array<string>, envp: androidNative.Array<string>, dir: java.io.File): java.lang.Process;
			public exec(command: string): java.lang.Process;
			public freeMemory(): number;
			public removeShutdownHook(hook: java.lang.Thread): boolean;
			public static getRuntime(): java.lang.Runtime;
			public runFinalization(): void;
			public load(filename: string): void;
			public addShutdownHook(hook: java.lang.Thread): void;
			public exec(command: string, envp: androidNative.Array<string>): java.lang.Process;
			/** @deprecated */
			public static runFinalizersOnExit(value: boolean): void;
		}
	}
}

declare module java {
	export module lang {
		export class RuntimeException extends java.lang.Exception {
			public static class: java.lang.Class<java.lang.RuntimeException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class RuntimePermission extends java.security.BasicPermission {
			public static class: java.lang.Class<java.lang.RuntimePermission>;
			public constructor(name: string);
			public constructor(name: string, actions: string);
			public checkGuard(param0: any): void;
		}
	}
}

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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 checkPermission(perm: java.security.Permission, context: any): void;
			public checkWrite(file: string): void;
			public checkMulticast(maddr: java.net.InetAddress): void;
			public checkExit(status: number): void;
			public checkLink(lib: string): void;
			public checkPackageAccess(pkg: string): void;
			/** @deprecated */
			public inClassLoader(): boolean;
			public checkPackageDefinition(pkg: string): void;
			public checkRead(fd: java.io.FileDescriptor): void;
			/** @deprecated */
			public checkTopLevelWindow(window: any): boolean;
			/** @deprecated */
			public currentLoadedClass(): java.lang.Class<any>;
			public checkExec(cmd: string): void;
			public checkConnect(host: string, port: number, context: any): void;
			public checkAccept(host: string, port: number): void;
			public checkAccess(g: java.lang.ThreadGroup): void;
			/** @deprecated */
			public getInCheck(): boolean;
			public checkListen(port: number): void;
			public checkDelete(file: string): void;
			public checkRead(file: string): void;
			/** @deprecated */
			public checkMulticast(maddr: java.net.InetAddress, ttl: number): void;
			/** @deprecated */
			public classDepth(name: string): number;
			/** @deprecated */
			public currentClassLoader(): java.lang.ClassLoader;
			public checkPropertiesAccess(): void;
			public checkSystemClipboardAccess(): void;
			public checkCreateClassLoader(): void;
			/** @deprecated */
			public checkMemberAccess(clazz: java.lang.Class<any>, which: number): void;
			public checkAwtEventQueueAccess(): void;
			/** @deprecated */
			public classLoaderDepth(): number;
			public constructor();
			public checkSecurityAccess(target: string): void;
			public checkConnect(host: string, port: number): void;
			public checkSetFactory(): void;
			public getThreadGroup(): java.lang.ThreadGroup;
			public checkPermission(perm: java.security.Permission): void;
			public checkAccess(t: java.lang.Thread): void;
			public checkPropertyAccess(key: string): void;
			public checkPrintJobAccess(): void;
			public getClassContext(): androidNative.Array<java.lang.Class<any>>;
			/** @deprecated */
			public inClass(name: string): boolean;
			public getSecurityContext(): any;
			public checkRead(file: string, context: any): void;
			public checkWrite(fd: java.io.FileDescriptor): 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: 2;
			public static MAX_VALUE: 32767;
			public static MIN_VALUE: -32768;
			public static SIZE: 16;
			public static TYPE: java.lang.Class<java.lang.Short>;
			public compareTo(anotherShort: java.lang.Short): number;
			public static compare(x: number, y: number): number;
			public shortValue(): number;
			public static toUnsignedInt(x: number): number;
			/** @deprecated */
			public constructor(s: string);
			public static valueOf(s: string): java.lang.Short;
			public doubleValue(): number;
			public static decode(nm: string): java.lang.Short;
			public static compareUnsigned(x: number, y: number): number;
			public static reverseBytes(i: number): number;
			public static toString(s: number): string;
			public constructor();
			public static valueOf(s: number): java.lang.Short;
			public static valueOf(s: string, radix: number): java.lang.Short;
			public floatValue(): number;
			public intValue(): number;
			public toString(): string;
			public static parseShort(s: string): number;
			/** @deprecated */
			public constructor(value: number);
			public equals(obj: any): boolean;
			public static parseShort(s: string, radix: number): number;
			public byteValue(): number;
			public static toUnsignedLong(x: number): number;
			public longValue(): number;
			public hashCode(): number;
			public static hashCode(value: number): 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 isNativeMethod(): boolean;
			public toString(): string;
			public equals(obj: any): boolean;
			public getFileName(): string;
			public getClassName(): string;
			public getLineNumber(): number;
			public constructor(declaringClass: string, methodName: string, fileName: string, lineNumber: number);
			public getMethodName(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class StackWalker extends java.lang.Object {
			public static class: java.lang.Class<java.lang.StackWalker>;
			public static getInstance(option: java.lang.StackWalker.Option): java.lang.StackWalker;
			public static getInstance(options: java.util.Set<java.lang.StackWalker.Option>): java.lang.StackWalker;
			public static getInstance(options: java.util.Set<java.lang.StackWalker.Option>, estimateDepth: number): java.lang.StackWalker;
			public walk(function_: any /* any*/): any;
			public static getInstance(): java.lang.StackWalker;
			public forEach(action: any /* any*/): void;
			public getCallerClass(): java.lang.Class<any>;
		}
		export module StackWalker {
			export class Option {
				public static class: java.lang.Class<java.lang.StackWalker.Option>;
				public static RETAIN_CLASS_REFERENCE: java.lang.StackWalker.Option;
				public static SHOW_REFLECT_FRAMES: java.lang.StackWalker.Option;
				public static SHOW_HIDDEN_FRAMES: java.lang.StackWalker.Option;
				public static valueOf(name: string): java.lang.StackWalker.Option;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<java.lang.StackWalker.Option>;
			}
			export class StackFrame extends java.lang.Object {
				public static class: java.lang.Class<java.lang.StackWalker.StackFrame>;
				/**
				 * Constructs a new instance of the java.lang.StackWalker$StackFrame interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getClassName(): string;
					getMethodName(): string;
					getDeclaringClass(): java.lang.Class<any>;
					getMethodType(): java.lang.invoke.MethodType;
					getDescriptor(): string;
					getByteCodeIndex(): number;
					getFileName(): string;
					getLineNumber(): number;
					isNativeMethod(): boolean;
					toStackTraceElement(): java.lang.StackTraceElement;
				});
				public constructor();
				public getClassName(): string;
				public getLineNumber(): number;
				public getFileName(): string;
				public getMethodName(): string;
				public getMethodType(): java.lang.invoke.MethodType;
				public getDescriptor(): string;
				public getByteCodeIndex(): number;
				public isNativeMethod(): boolean;
				public toStackTraceElement(): java.lang.StackTraceElement;
				public getDeclaringClass(): java.lang.Class<any>;
			}
		}
	}
}

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: 2.718281828459045;
			public static PI: 3.141592653589793;
			public static TAU: 6.283185307179586;
			public static nextUp(d: number): number;
			public static divideExact(x: number, y: number): number;
			public static acos(param0: number): number;
			public static rint(a: number): number;
			public static floorMod(x: number, y: number): number;
			public static unsignedMultiplyHigh(x: number, y: number): number;
			public static log1p(param0: number): number;
			public static ulp(d: number): number;
			public static signum(d: number): number;
			public static ceil(a: number): number;
			public static toRadians(angdeg: number): number;
			public static asin(param0: number): number;
			public static log10(param0: number): number;
			public static ceilDivExact(x: number, y: number): number;
			public static decrementExact(a: number): number;
			public static exp(param0: number): number;
			public static ulp(f: number): number;
			public static sinh(param0: number): number;
			public static toDegrees(angrad: number): number;
			public static round(a: number): number;
			public static min(a: number, b: number): number;
			public static copySign(magnitude: number, sign: number): number;
			public static nextDown(d: number): number;
			public static nextAfter(start: number, direction: number): number;
			public static cbrt(param0: number): number;
			public static subtractExact(x: number, y: number): number;
			public static pow(param0: number, param1: number): number;
			public static addExact(x: number, y: number): number;
			public static scalb(f: number, scaleFactor: number): number;
			public static clamp(value: number, min: number, max: number): number;
			public static multiplyFull(x: number, y: number): number;
			public static getExponent(f: number): number;
			public static floor(a: number): number;
			public static floorDiv(x: number, y: number): number;
			public static scalb(d: number, scaleFactor: number): number;
			public static negateExact(a: number): number;
			public static toIntExact(value: number): number;
			public static absExact(a: number): number;
			public static abs(a: number): number;
			public static sin(param0: number): number;
			public static nextDown(f: number): number;
			public static expm1(param0: number): number;
			public static ceilMod(x: number, y: number): number;
			public static incrementExact(a: number): number;
			public static atan2(param0: number, param1: number): number;
			public static sqrt(param0: number): number;
			public static cosh(param0: number): number;
			public static signum(f: number): number;
			public static nextUp(f: number): number;
			public static getExponent(d: number): number;
			public static random(): number;
			public static multiplyExact(x: number, y: number): number;
			public static floorDivExact(x: number, y: number): number;
			public static log(param0: number): number;
			public static fma(a: number, b: number, c: number): number;
			public static tanh(param0: number): number;
			public static hypot(param0: number, param1: number): number;
			public static tan(param0: number): number;
			public static cos(param0: number): number;
			public static IEEEremainder(param0: number, param1: number): number;
			public static multiplyHigh(x: number, y: number): number;
			public static atan(param0: number): number;
			public static ceilDiv(x: number, y: number): number;
			public static max(a: number, b: 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 formatted(args: androidNative.Array<any>): string;
			public lines(): java.util.stream.Stream<string>;
			public constructor(bytes: androidNative.Array<number>);
			public codePointBefore(index: number): number;
			public constructor(bytes: androidNative.Array<number>, offset: number, length: number, charsetName: string);
			public getChars(srcBegin: number, srcEnd: number, dst: androidNative.Array<string>, dstBegin: number): void;
			public static valueOf(d: number): string;
			public subSequence(param0: number, param1: number): string;
			public split(regex: string, limit: number): androidNative.Array<string>;
			public constructor();
			public charAt(param0: number): string;
			public lastIndexOf(ch: number, fromIndex: number): number;
			public constructor(bytes: androidNative.Array<number>, charsetName: string);
			public static join(delimiter: string, elements: androidNative.Array<string>): string;
			public toLowerCase(locale: java.util.Locale): string;
			public startsWith(prefix: string): boolean;
			public split(regex: string): androidNative.Array<string>;
			public indent(n: number): string;
			public codePointCount(beginIndex: number, endIndex: number): number;
			public transform(f: any /* any*/): any;
			public contentEquals(cs: string): boolean;
			public static format(l: java.util.Locale, format: string, args: androidNative.Array<any>): string;
			public matches(regex: string): boolean;
			public indexOf(str: string): number;
			public lastIndexOf(ch: number): number;
			public replaceFirst(regex: string, replacement: string): string;
			public lastIndexOf(str: string): number;
			public contentEquals(sb: java.lang.StringBuffer): boolean;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public stripIndent(): string;
			public length(): number;
			public lastIndexOf(str: string, fromIndex: number): number;
			public indexOf(str: string, fromIndex: number): number;
			public static valueOf(data: androidNative.Array<string>): string;
			public concat(param0: string): string;
			public static valueOf(l: number): string;
			/** @deprecated */
			public constructor(ascii: androidNative.Array<number>, hibyte: number);
			public substring(beginIndex: number): string;
			public compareTo(param0: string): number;
			public hashCode(): number;
			public static valueOf(b: boolean): string;
			public codePointAt(index: number): number;
			public strip(): string;
			public getBytes(charset: java.nio.charset.Charset): androidNative.Array<number>;
			/** @deprecated */
			public constructor(ascii: androidNative.Array<number>, hibyte: number, offset: number, count: number);
			public constructor(bytes: androidNative.Array<number>, charset: java.nio.charset.Charset);
			public offsetByCodePoints(index: number, codePointOffset: number): number;
			public repeat(count: number): string;
			public regionMatches(ignoreCase: boolean, toffset: number, other: string, ooffset: number, len: number): boolean;
			public subSequence(beginIndex: number, endIndex: number): string;
			public constructor(bytes: androidNative.Array<number>, offset: number, length: number);
			public intern(): string;
			public toUpperCase(): string;
			public trim(): string;
			public stripTrailing(): string;
			public constructor(value: androidNative.Array<string>);
			public startsWith(prefix: string, toffset: number): boolean;
			public static valueOf(obj: any): string;
			public regionMatches(toffset: number, other: string, ooffset: number, len: number): boolean;
			public static valueOf(i: number): string;
			public equalsIgnoreCase(anotherString: string): boolean;
			public constructor(codePoints: androidNative.Array<number>, offset: number, count: number);
			public replaceAll(regex: string, replacement: string): string;
			public getBytes(charsetName: string): androidNative.Array<number>;
			public toLowerCase(): string;
			public translateEscapes(): string;
			public isBlank(): boolean;
			public constructor(original: string);
			public constructor(value: androidNative.Array<string>, offset: number, count: number);
			public constructor(buffer: java.lang.StringBuffer);
			public toUpperCase(locale: java.util.Locale): string;
			public equals(anObject: any): boolean;
			public static compare(cs1: string, cs2: string): number;
			public indexOf(ch: number): number;
			public static join(delimiter: string, elements: java.lang.Iterable<any>): string;
			public endsWith(suffix: string): boolean;
			/** @deprecated */
			public getBytes(srcBegin: number, srcEnd: number, dst: androidNative.Array<number>, dstBegin: number): void;
			public substring(beginIndex: number, endIndex: number): string;
			public getBytes(): androidNative.Array<number>;
			public static valueOf(c: string): string;
			public replace(oldChar: string, newChar: string): string;
			public stripLeading(): string;
			public constructor(bytes: androidNative.Array<number>, offset: number, length: number, charset: java.nio.charset.Charset);
			public indexOf(ch: number, fromIndex: number): number;
			public replace(target: string, replacement: string): string;
			public static format(format: string, args: androidNative.Array<any>): string;
			public compareToIgnoreCase(str: string): number;
			public static valueOf(f: number): string;
			public isEmpty(): boolean;
			public static valueOf(data: androidNative.Array<string>, offset: number, count: number): string;
			public toCharArray(): androidNative.Array<string>;
			public contains(s: string): boolean;
			public constructor(builder: java.lang.StringBuilder);
			public toString(): string;
			public static copyValueOf(data: androidNative.Array<string>): string;
			public static copyValueOf(data: androidNative.Array<string>, offset: number, count: number): string;
		}
	}
}

declare module java {
	export module lang {
		export class StringBuffer extends java.lang.Object {
			public static class: java.lang.Class<java.lang.StringBuffer>;
			public append(f: number): java.lang.StringBuffer;
			public codePointAt(index: number): number;
			public replace(start: number, end: number, str: string): java.lang.StringBuffer;
			public append(str: androidNative.Array<string>): java.lang.StringBuffer;
			public offsetByCodePoints(index: number, codePointOffset: number): number;
			public codePointBefore(index: number): number;
			public insert(dstOffset: number, s: string, start: number, end: number): java.lang.StringBuffer;
			public getChars(srcBegin: number, srcEnd: number, dst: androidNative.Array<string>, dstBegin: number): void;
			public substring(start: number): string;
			public insert(offset: number, c: string): java.lang.StringBuffer;
			public subSequence(param0: number, param1: number): string;
			public appendCodePoint(codePoint: number): java.lang.StringBuffer;
			public append(lng: number): java.lang.StringBuffer;
			public append(obj: any): java.lang.StringBuffer;
			public insert(offset: number, b: boolean): java.lang.StringBuffer;
			public insert(offset: number, str: string): java.lang.StringBuffer;
			public charAt(index: number): string;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public setLength(newLength: number): void;
			public append(d: number): java.lang.StringBuffer;
			public insert(index: number, str: androidNative.Array<string>, offset: number, len: number): java.lang.StringBuffer;
			public insert(offset: number, i: number): java.lang.StringBuffer;
			public charAt(param0: number): string;
			public append(i: number): java.lang.StringBuffer;
			public substring(start: number, end: number): string;
			public insert(offset: number, d: number): java.lang.StringBuffer;
			public codePointCount(beginIndex: number, endIndex: number): number;
			public insert(offset: number, obj: any): java.lang.StringBuffer;
			public static compare(cs1: string, cs2: string): number;
			public subSequence(start: number, end: number): string;
			public append(str: androidNative.Array<string>, offset: number, len: number): java.lang.StringBuffer;
			public insert(offset: number, l: number): java.lang.StringBuffer;
			public indexOf(str: string): number;
			public append(b: boolean): java.lang.StringBuffer;
			public setCharAt(index: number, ch: string): void;
			public lastIndexOf(str: string): number;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public insert(dstOffset: number, s: string): java.lang.StringBuffer;
			public reverse(): java.lang.StringBuffer;
			public constructor(str: string);
			public constructor(seq: string);
			public append(s: string): java.lang.StringBuffer;
			public deleteCharAt(index: number): java.lang.StringBuffer;
			public isEmpty(): boolean;
			public length(): number;
			public append(c: string): java.lang.StringBuffer;
			public append(s: string, start: number, end: number): java.lang.StringBuffer;
			public insert(offset: number, f: number): java.lang.StringBuffer;
			public lastIndexOf(str: string, fromIndex: number): number;
			public constructor(capacity: number);
			public append(str: string): java.lang.StringBuffer;
			public indexOf(str: string, fromIndex: number): number;
			public delete(start: number, end: number): java.lang.StringBuffer;
			public toString(): string;
			public capacity(): number;
			public ensureCapacity(minimumCapacity: number): void;
			public compareTo(another: java.lang.StringBuffer): number;
			public trimToSize(): void;
			public insert(offset: number, str: androidNative.Array<string>): java.lang.StringBuffer;
			public append(sb: java.lang.StringBuffer): java.lang.StringBuffer;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module lang {
		export class StringBuilder extends java.lang.Object {
			public static class: java.lang.Class<java.lang.StringBuilder>;
			public codePointAt(index: number): number;
			public append(i: number): java.lang.StringBuilder;
			public compareTo(another: java.lang.StringBuilder): number;
			public offsetByCodePoints(index: number, codePointOffset: number): number;
			public append(s: string, start: number, end: number): java.lang.StringBuilder;
			public insert(offset: number, str: string): java.lang.StringBuilder;
			public codePointBefore(index: number): number;
			public insert(dstOffset: number, s: string, start: number, end: number): java.lang.StringBuilder;
			public getChars(srcBegin: number, srcEnd: number, dst: androidNative.Array<string>, dstBegin: number): void;
			public substring(start: number): string;
			public insert(offset: number, str: androidNative.Array<string>): java.lang.StringBuilder;
			public insert(offset: number, f: number): java.lang.StringBuilder;
			public append(b: boolean): java.lang.StringBuilder;
			public subSequence(param0: number, param1: number): string;
			public insert(offset: number, obj: any): java.lang.StringBuilder;
			public insert(offset: number, b: boolean): java.lang.StringBuilder;
			public append(d: number): java.lang.StringBuilder;
			public charAt(index: number): string;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public append(str: string): java.lang.StringBuilder;
			public setLength(newLength: number): void;
			public charAt(param0: number): string;
			public appendCodePoint(codePoint: number): java.lang.StringBuilder;
			public append(str: androidNative.Array<string>, offset: number, len: number): java.lang.StringBuilder;
			public substring(start: number, end: number): string;
			public insert(dstOffset: number, s: string): java.lang.StringBuilder;
			public deleteCharAt(index: number): java.lang.StringBuilder;
			public codePointCount(beginIndex: number, endIndex: number): number;
			public append(sb: java.lang.StringBuffer): java.lang.StringBuilder;
			public static compare(cs1: string, cs2: string): number;
			public subSequence(start: number, end: number): string;
			public delete(start: number, end: number): java.lang.StringBuilder;
			public indexOf(str: string): number;
			public insert(offset: number, d: number): java.lang.StringBuilder;
			public insert(offset: number, l: number): java.lang.StringBuilder;
			public append(str: androidNative.Array<string>): java.lang.StringBuilder;
			public setCharAt(index: number, ch: string): void;
			public insert(offset: number, c: string): java.lang.StringBuilder;
			public lastIndexOf(str: string): number;
			public replace(start: number, end: number, str: string): java.lang.StringBuilder;
			public insert(index: number, str: androidNative.Array<string>, offset: number, len: number): java.lang.StringBuilder;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public append(obj: any): java.lang.StringBuilder;
			public constructor(str: string);
			public constructor(seq: string);
			public append(f: number): java.lang.StringBuilder;
			public isEmpty(): boolean;
			public append(s: string): java.lang.StringBuilder;
			public append(c: string): java.lang.StringBuilder;
			public length(): number;
			public lastIndexOf(str: string, fromIndex: number): number;
			public constructor(capacity: number);
			public indexOf(str: string, fromIndex: number): number;
			public toString(): string;
			public insert(offset: number, i: number): java.lang.StringBuilder;
			public capacity(): number;
			public ensureCapacity(minimumCapacity: number): void;
			public trimToSize(): void;
			public reverse(): java.lang.StringBuilder;
			public append(lng: number): java.lang.StringBuilder;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module lang {
		export class StringIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
			public static class: java.lang.Class<java.lang.StringIndexOutOfBoundsException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(index: number);
		}
	}
}

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(): androidNative.Array<string>;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public value(): androidNative.Array<string>;
			public toString(): 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 setOut(out: java.io.PrintStream): void;
			public static exit(status: number): void;
			public static gc(): void;
			public static clearProperty(key: string): string;
			public static load(filename: string): void;
			public static getProperties(): java.util.Properties;
			public static setErr(err: java.io.PrintStream): void;
			public static mapLibraryName(param0: string): string;
			public static runFinalization(): void;
			public static getProperty(key: string): string;
			public static getenv(): java.util.Map<string,string>;
			/** @deprecated */
			public static runFinalizersOnExit(value: boolean): void;
			public static arraycopy(param0: any, param1: number, param2: any, param3: number, param4: number): void;
			public static console(): java.io.Console;
			public static setProperty(key: string, value: string): string;
			public static currentTimeMillis(): number;
			public static getenv(name: string): string;
			public static inheritedChannel(): java.nio.channels.Channel;
			public static identityHashCode(x: any): number;
			public static setIn(in_: java.io.InputStream): void;
			public static setSecurityManager(s: java.lang.SecurityManager): void;
			public static setProperties(props: java.util.Properties): void;
			public static lineSeparator(): string;
			public static getSecurityManager(): java.lang.SecurityManager;
			public static nanoTime(): number;
			public static loadLibrary(libname: string): void;
			public static getProperty(key: string, def: string): string;
		}
	}
}

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: 10;
			public static MIN_PRIORITY: 1;
			public static NORM_PRIORITY: 5;
			public getState(): java.lang.Thread.State;
			public static sleep(millis: number): void;
			public getStackTrace(): androidNative.Array<java.lang.StackTraceElement>;
			public constructor(target: java.lang.Runnable, name: string);
			/** @deprecated */
			public destroy(): void;
			public isInterrupted(): boolean;
			public getId(): number;
			public constructor(target: java.lang.Runnable);
			public static setDefaultUncaughtExceptionHandler(eh: java.lang.Thread.UncaughtExceptionHandler): void;
			public start(): void;
			/** @deprecated */
			public stop(obj: java.lang.Throwable): void;
			public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string, stackSize: number, inheritThreadLocals: boolean);
			public setDaemon(on: boolean): void;
			public constructor(name: string);
			/** @deprecated */
			public resume(): void;
			public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable);
			public constructor();
			public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string);
			public static sleep(millis: number, nanos: number): void;
			public clone(): any;
			public setUncaughtExceptionHandler(eh: java.lang.Thread.UncaughtExceptionHandler): void;
			public getUncaughtExceptionHandler(): java.lang.Thread.UncaughtExceptionHandler;
			public isAlive(): boolean;
			public static currentThread(): java.lang.Thread;
			public static holdsLock(param0: any): boolean;
			/** @deprecated */
			public countStackFrames(): number;
			public static getAllStackTraces(): java.util.Map<java.lang.Thread,androidNative.Array<java.lang.StackTraceElement>>;
			public join(millis: number): void;
			public join(millis: number, nanos: number): void;
			public static activeCount(): number;
			public getContextClassLoader(): java.lang.ClassLoader;
			/** @deprecated */
			public suspend(): void;
			public run(): void;
			public setContextClassLoader(cl: java.lang.ClassLoader): void;
			public isDaemon(): boolean;
			public constructor(group: java.lang.ThreadGroup, name: string);
			public static dumpStack(): void;
			public interrupt(): void;
			public setPriority(newPriority: number): void;
			public join(): void;
			public checkAccess(): void;
			public static onSpinWait(): void;
			public static getDefaultUncaughtExceptionHandler(): java.lang.Thread.UncaughtExceptionHandler;
			public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string, stackSize: number);
			public getPriority(): number;
			public toString(): string;
			public getName(): string;
			public getThreadGroup(): java.lang.ThreadGroup;
			public static yield(): void;
			/** @deprecated */
			public stop(): void;
			public setName(name: string): void;
			public static interrupted(): boolean;
			public static enumerate(tarray: androidNative.Array<java.lang.Thread>): number;
		}
		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(): androidNative.Array<java.lang.Thread.State>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.lang.Thread.State;
			}
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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>;
			/** @deprecated */
			public allowThreadSuspension(b: boolean): boolean;
			public isDestroyed(): boolean;
			public enumerate(list: androidNative.Array<java.lang.Thread>, recurse: boolean): number;
			public constructor(parent: java.lang.ThreadGroup, name: string);
			public uncaughtException(param0: java.lang.Thread, param1: java.lang.Throwable): void;
			public enumerate(list: androidNative.Array<java.lang.ThreadGroup>, recurse: boolean): number;
			public uncaughtException(t: java.lang.Thread, e: java.lang.Throwable): void;
			public getParent(): java.lang.ThreadGroup;
			/** @deprecated */
			public suspend(): void;
			public isDaemon(): boolean;
			public activeGroupCount(): number;
			public activeCount(): number;
			public constructor(name: string);
			public interrupt(): void;
			/** @deprecated */
			public resume(): void;
			public destroy(): void;
			public parentOf(g: java.lang.ThreadGroup): boolean;
			public checkAccess(): void;
			public enumerate(list: androidNative.Array<java.lang.ThreadGroup>): number;
			public toString(): string;
			public getName(): string;
			public getMaxPriority(): number;
			public setDaemon(daemon: boolean): void;
			public setMaxPriority(pri: number): void;
			/** @deprecated */
			public stop(): void;
			public enumerate(list: androidNative.Array<java.lang.Thread>): number;
			public list(): void;
		}
	}
}

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 static withInitial(supplier: any /* any*/): java.lang.ThreadLocal<any>;
			public initialValue(): T;
			public set(value: T): void;
			public constructor();
			public get(): T;
			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 addSuppressed(exception: java.lang.Throwable): void;
			public constructor(message: string);
			public setStackTrace(stackTrace: androidNative.Array<java.lang.StackTraceElement>): void;
			public getSuppressed(): androidNative.Array<java.lang.Throwable>;
			public getCause(): java.lang.Throwable;
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public getStackTrace(): androidNative.Array<java.lang.StackTraceElement>;
			public initCause(cause: java.lang.Throwable): java.lang.Throwable;
			public getMessage(): string;
			public toString(): string;
			public printStackTrace(s: java.io.PrintWriter): void;
			public fillInStackTrace(): java.lang.Throwable;
			public printStackTrace(): void;
			public getLocalizedMessage(): string;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public printStackTrace(s: java.io.PrintStream): 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(message: string);
			public constructor(typeName: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class UnknownError extends java.lang.VirtualMachineError {
			public static class: java.lang.Class<java.lang.UnknownError>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class UnsatisfiedLinkError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.UnsatisfiedLinkError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class UnsupportedClassVersionError extends java.lang.ClassFormatError {
			public static class: java.lang.Class<java.lang.UnsupportedClassVersionError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class UnsupportedOperationException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.UnsupportedOperationException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class VerifyError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.VerifyError>;
			public constructor(s: string);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public element(): java.lang.reflect.Method;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(element: java.lang.reflect.Method, foundType: string);
				public foundType(): string;
				public constructor();
			}
		}
	}
}

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 MODULE: java.lang.annotation.ElementType;
				public static RECORD_COMPONENT: java.lang.annotation.ElementType;
				public static values(): androidNative.Array<java.lang.annotation.ElementType>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.lang.annotation.ElementType;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(annotationType: java.lang.Class<any>, elementName: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public annotationType(): java.lang.Class<any>;
				public elementName(): string;
				public constructor();
			}
		}
	}
}

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 values(): androidNative.Array<java.lang.annotation.RetentionPolicy>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.lang.annotation.RetentionPolicy;
			}
		}
	}
}

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(): androidNative.Array<java.lang.annotation.ElementType>;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public value(): androidNative.Array<java.lang.annotation.ElementType>;
				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 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 setTarget(ignore: java.lang.invoke.MethodHandle): void;
				public constructor(targetType: java.lang.invoke.MethodType, createTargetHook: java.lang.invoke.MethodHandle);
				public constructor(target: java.lang.invoke.MethodHandle);
				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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(arrayType: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public asSpreader(spreadArgPos: number, arrayType: java.lang.Class<any>, arrayLength: number): java.lang.invoke.MethodHandle;
				public asSpreader(arrayType: java.lang.Class<any>, arrayLength: number): java.lang.invoke.MethodHandle;
				public invokeExact(param0: androidNative.Array<any>): any;
				public asFixedArity(): java.lang.invoke.MethodHandle;
				public toString(): string;
				public asType(newType: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public invoke(param0: androidNative.Array<any>): any;
				public asCollector(arrayType: java.lang.Class<any>, arrayLength: number): java.lang.invoke.MethodHandle;
				public invokeWithArguments(arguments_: androidNative.Array<any>): any;
				public invokeWithArguments(arguments_: java.util.List<any>): any;
				public bindTo(x: any): java.lang.invoke.MethodHandle;
				public type(): java.lang.invoke.MethodType;
				public withVarargs(makeVarargs: boolean): java.lang.invoke.MethodHandle;
				public asCollector(collectArgPos: number, arrayType: java.lang.Class<any>, arrayLength: number): java.lang.invoke.MethodHandle;
			}
		}
	}
}

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(referenceKind: number): string;
					toString(kind: number, defc: java.lang.Class<any>, name: string, type: java.lang.invoke.MethodType): string;
					refKindIsValid(refKind: number): boolean;
					refKindIsField(refKind: number): boolean;
					refKindName(refKind: number): string;
				});
				public constructor();
				public static REF_putField: 3;
				public static REF_invokeVirtual: 5;
				public static REF_invokeSpecial: 7;
				public static REF_invokeInterface: 9;
				public static REF_invokeStatic: 6;
				public static REF_getStatic: 2;
				public static REF_getField: 1;
				public static REF_putStatic: 4;
				public static REF_newInvokeSpecial: 8;
				public getReferenceKind(): number;
				public static toString(kind: number, defc: java.lang.Class<any>, name: string, type: java.lang.invoke.MethodType): string;
				public getModifiers(): number;
				public reflectAs(param0: java.lang.Class<any>, param1: java.lang.invoke.MethodHandles.Lookup): java.lang.reflect.Member;
				/** @deprecated */
				public static refKindName(refKind: number): string;
				public getName(): string;
				public toString(): string;
				public isVarArgs(): boolean;
				public static referenceKindToString(referenceKind: number): string;
				/** @deprecated */
				public static refKindIsField(refKind: number): boolean;
				public getMethodType(): java.lang.invoke.MethodType;
				public getDeclaringClass(): java.lang.Class<any>;
				/** @deprecated */
				public static refKindIsValid(refKind: 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 filterReturnValue(target: java.lang.invoke.MethodHandle, filter: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static reflectAs(expected: java.lang.Class<any>, target: java.lang.invoke.MethodHandle): java.lang.reflect.Member;
				public static privateLookupIn(targetClass: java.lang.Class<any>, lookup: java.lang.invoke.MethodHandles.Lookup): java.lang.invoke.MethodHandles.Lookup;
				public static dropArguments(target: java.lang.invoke.MethodHandle, pos: number, valueTypes: androidNative.Array<java.lang.Class<any>>): java.lang.invoke.MethodHandle;
				public static foldArguments(target: java.lang.invoke.MethodHandle, combiner: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static guardWithTest(test: java.lang.invoke.MethodHandle, target: java.lang.invoke.MethodHandle, fallback: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static dropArgumentsToMatch(target: java.lang.invoke.MethodHandle, skip: number, newTypes: java.util.List<java.lang.Class<any>>, pos: number): java.lang.invoke.MethodHandle;
				public static byteBufferViewVarHandle(viewArrayClass: java.lang.Class<any>, byteOrder: java.nio.ByteOrder): java.lang.invoke.VarHandle;
				public static identity(type: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static invoker(type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public static tryFinally(target: java.lang.invoke.MethodHandle, cleanup: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static empty(type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public static varHandleExactInvoker(accessMode: java.lang.invoke.VarHandle.AccessMode, type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public static tableSwitch(fallback: java.lang.invoke.MethodHandle, targets: androidNative.Array<java.lang.invoke.MethodHandle>): java.lang.invoke.MethodHandle;
				public static throwException(returnType: java.lang.Class<any>, exType: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static permuteArguments(target: java.lang.invoke.MethodHandle, newType: java.lang.invoke.MethodType, reorder: androidNative.Array<number>): java.lang.invoke.MethodHandle;
				public static lookup(): java.lang.invoke.MethodHandles.Lookup;
				public static arrayElementGetter(arrayClass: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static zero(type: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static arrayLength(arrayClass: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static arrayConstructor(arrayClass: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static countedLoop(start: java.lang.invoke.MethodHandle, end: java.lang.invoke.MethodHandle, init: java.lang.invoke.MethodHandle, body: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static byteArrayViewVarHandle(viewArrayClass: java.lang.Class<any>, byteOrder: java.nio.ByteOrder): java.lang.invoke.VarHandle;
				public static spreadInvoker(type: java.lang.invoke.MethodType, leadingArgCount: number): java.lang.invoke.MethodHandle;
				public static collectArguments(target: java.lang.invoke.MethodHandle, pos: number, filter: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static catchException(target: java.lang.invoke.MethodHandle, exType: java.lang.Class<any>, handler: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static loop(clauses: androidNative.Array<androidNative.Array<java.lang.invoke.MethodHandle>>): java.lang.invoke.MethodHandle;
				public static countedLoop(iterations: java.lang.invoke.MethodHandle, init: java.lang.invoke.MethodHandle, body: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static varHandleInvoker(accessMode: java.lang.invoke.VarHandle.AccessMode, type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public static iteratedLoop(iterator: java.lang.invoke.MethodHandle, init: java.lang.invoke.MethodHandle, body: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static dropReturn(target: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static dropArguments(target: java.lang.invoke.MethodHandle, pos: number, valueTypes: java.util.List<java.lang.Class<any>>): java.lang.invoke.MethodHandle;
				public static filterArguments(target: java.lang.invoke.MethodHandle, pos: number, filters: androidNative.Array<java.lang.invoke.MethodHandle>): java.lang.invoke.MethodHandle;
				public static insertArguments(target: java.lang.invoke.MethodHandle, pos: number, values: androidNative.Array<any>): java.lang.invoke.MethodHandle;
				public static whileLoop(init: java.lang.invoke.MethodHandle, pred: java.lang.invoke.MethodHandle, body: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static arrayElementVarHandle(arrayClass: java.lang.Class<any>): java.lang.invoke.VarHandle;
				public static constant(type: java.lang.Class<any>, value: any): java.lang.invoke.MethodHandle;
				public static arrayElementSetter(arrayClass: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static exactInvoker(type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public static foldArguments(target: java.lang.invoke.MethodHandle, pos: number, combiner: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static doWhileLoop(init: java.lang.invoke.MethodHandle, body: java.lang.invoke.MethodHandle, pred: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static publicLookup(): java.lang.invoke.MethodHandles.Lookup;
				public static explicitCastArguments(target: java.lang.invoke.MethodHandle, newType: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
			}
			export module MethodHandles {
				export class Lookup extends java.lang.Object {
					public static class: java.lang.Class<java.lang.invoke.MethodHandles.Lookup>;
					public static PACKAGE: 8;
					public static PRIVATE: 2;
					public static PROTECTED: 4;
					public static PUBLIC: 1;
					public findStaticGetter(refc: java.lang.Class<any>, name: string, type: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public lookupModes(): number;
					public unreflectSpecial(m: java.lang.reflect.Method, specialCaller: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public findStaticVarHandle(decl: java.lang.Class<any>, name: string, type: java.lang.Class<any>): java.lang.invoke.VarHandle;
					public lookupClass(): java.lang.Class<any>;
					public findConstructor(refc: java.lang.Class<any>, type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
					public revealDirect(target: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandleInfo;
					public findVirtual(refc: java.lang.Class<any>, name: string, type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
					public findSpecial(refc: java.lang.Class<any>, name: string, type: java.lang.invoke.MethodType, specialCaller: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public findStaticSetter(refc: java.lang.Class<any>, name: string, type: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public unreflectConstructor(c: java.lang.reflect.Constructor<any>): java.lang.invoke.MethodHandle;
					public findSetter(refc: java.lang.Class<any>, name: string, type: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public bind(receiver: any, name: string, type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
					public unreflectVarHandle(f: java.lang.reflect.Field): java.lang.invoke.VarHandle;
					public toString(): string;
					public unreflectGetter(f: java.lang.reflect.Field): java.lang.invoke.MethodHandle;
					public in(requestedLookupClass: java.lang.Class<any>): java.lang.invoke.MethodHandles.Lookup;
					public unreflectSetter(f: java.lang.reflect.Field): java.lang.invoke.MethodHandle;
					public findVarHandle(recv: java.lang.Class<any>, name: string, type: java.lang.Class<any>): java.lang.invoke.VarHandle;
					public unreflect(m: java.lang.reflect.Method): java.lang.invoke.MethodHandle;
					public findGetter(refc: java.lang.Class<any>, name: string, type: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public findStatic(refc: java.lang.Class<any>, name: string, type: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				}
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class MethodType extends java.lang.Object {
				public static class: java.lang.Class<java.lang.invoke.MethodType>;
				public wrap(): java.lang.invoke.MethodType;
				public insertParameterTypes(num: number, ptypesToInsert: androidNative.Array<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public insertParameterTypes(num: number, ptypesToInsert: java.util.List<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public parameterArray(): androidNative.Array<java.lang.Class<any>>;
				public changeReturnType(param0: any): any;
				public static methodType(rtype: java.lang.Class<any>, ptype0: java.lang.Class<any>): java.lang.invoke.MethodType;
				public dropParameterTypes(param0: number, param1: number): any;
				public static methodType(rtype: java.lang.Class<any>, ptypes: androidNative.Array<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public static genericMethodType(objectArgCount: number): java.lang.invoke.MethodType;
				public erase(): java.lang.invoke.MethodType;
				public hashCode(): number;
				public changeReturnType(nrtype: java.lang.Class<any>): java.lang.invoke.MethodType;
				public parameterType(num: number): java.lang.Class<any>;
				public returnType(): java.lang.Class<any>;
				public equals(x: any): boolean;
				public appendParameterTypes(ptypesToInsert: androidNative.Array<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public hasPrimitives(): boolean;
				public toMethodDescriptorString(): string;
				public parameterType(param0: number): any;
				public dropParameterTypes(start: number, end: number): java.lang.invoke.MethodType;
				public unwrap(): java.lang.invoke.MethodType;
				public static fromMethodDescriptorString(descriptor: string, loader: java.lang.ClassLoader): java.lang.invoke.MethodType;
				public changeParameterType(num: number, nptype: java.lang.Class<any>): java.lang.invoke.MethodType;
				public changeParameterType(param0: number, param1: any): any;
				public static genericMethodType(objectArgCount: number, finalArray: boolean): java.lang.invoke.MethodType;
				public generic(): java.lang.invoke.MethodType;
				public static methodType(rtype: java.lang.Class<any>, ptype0: java.lang.Class<any>, ptypes: androidNative.Array<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public lastParameterType(): java.lang.Class<any>;
				public static methodType(rtype: java.lang.Class<any>): java.lang.invoke.MethodType;
				public toString(): string;
				public descriptorString(): string;
				public parameterList(): java.util.List<java.lang.Class<any>>;
				public appendParameterTypes(ptypesToInsert: java.util.List<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public parameterList(): java.util.List<any>;
				public static methodType(rtype: java.lang.Class<any>, ptypes: java.lang.invoke.MethodType): java.lang.invoke.MethodType;
				public insertParameterTypes(param0: number, param1: androidNative.Array<any>): any;
				public hasWrappers(): boolean;
				public parameterCount(): number;
				public returnType(): any;
				public static methodType(rtype: java.lang.Class<any>, ptypes: java.util.List<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public parameterArray(): androidNative.Array<any>;
			}
		}
	}
}

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(type: java.lang.invoke.MethodType);
				public constructor(target: java.lang.invoke.MethodHandle);
				public getTarget(): java.lang.invoke.MethodHandle;
				public setTarget(newTarget: java.lang.invoke.MethodHandle): void;
				public dynamicInvoker(): java.lang.invoke.MethodHandle;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class TypeDescriptor extends java.lang.Object {
				public static class: java.lang.Class<java.lang.invoke.TypeDescriptor>;
				/**
				 * Constructs a new instance of the java.lang.invoke.TypeDescriptor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					descriptorString(): string;
				});
				public constructor();
				public descriptorString(): string;
			}
			export module TypeDescriptor {
				export class OfField<F>  extends java.lang.invoke.TypeDescriptor {
					public static class: java.lang.Class<java.lang.invoke.TypeDescriptor.OfField<any>>;
					/**
					 * Constructs a new instance of the java.lang.invoke.TypeDescriptor$OfField interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						isArray(): boolean;
						isPrimitive(): boolean;
						componentType(): any;
						arrayType(): any;
						descriptorString(): string;
					});
					public constructor();
					public isPrimitive(): boolean;
					public isArray(): boolean;
					public arrayType(): any;
					public componentType(): any;
					public descriptorString(): string;
				}
				export class OfMethod<F, M>  extends java.lang.invoke.TypeDescriptor {
					public static class: java.lang.Class<java.lang.invoke.TypeDescriptor.OfMethod<any,any>>;
					/**
					 * Constructs a new instance of the java.lang.invoke.TypeDescriptor$OfMethod interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						parameterCount(): number;
						parameterType(param0: number): any;
						returnType(): any;
						parameterArray(): androidNative.Array<any>;
						parameterList(): java.util.List<any>;
						changeReturnType(param0: any): any;
						changeParameterType(param0: number, param1: any): any;
						dropParameterTypes(param0: number, param1: number): any;
						insertParameterTypes(param0: number, param1: androidNative.Array<any>): any;
						descriptorString(): string;
					});
					public constructor();
					public returnType(): any;
					public parameterType(param0: number): any;
					public changeParameterType(param0: number, param1: any): any;
					public dropParameterTypes(param0: number, param1: number): any;
					public parameterList(): java.util.List<any>;
					public parameterCount(): number;
					public parameterArray(): androidNative.Array<any>;
					public insertParameterTypes(param0: number, param1: androidNative.Array<any>): any;
					public changeReturnType(param0: any): any;
					public descriptorString(): string;
				}
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export abstract class VarHandle extends java.lang.Object {
				public static class: java.lang.Class<java.lang.invoke.VarHandle>;
				public static acquireFence(): void;
				public getAndBitwiseXorAcquire(param0: androidNative.Array<any>): any;
				public getAndSetRelease(param0: androidNative.Array<any>): any;
				public set(param0: androidNative.Array<any>): void;
				public getAndAddRelease(param0: androidNative.Array<any>): any;
				public compareAndSet(param0: androidNative.Array<any>): boolean;
				public coordinateTypes(): java.util.List<java.lang.Class<any>>;
				public getAndSetAcquire(param0: androidNative.Array<any>): any;
				public getVolatile(param0: androidNative.Array<any>): any;
				public getAndAddAcquire(param0: androidNative.Array<any>): any;
				public accessModeType(accessMode: java.lang.invoke.VarHandle.AccessMode): java.lang.invoke.MethodType;
				public toMethodHandle(accessMode: java.lang.invoke.VarHandle.AccessMode): java.lang.invoke.MethodHandle;
				public static fullFence(): void;
				public getAndBitwiseAndRelease(param0: androidNative.Array<any>): any;
				public setVolatile(param0: androidNative.Array<any>): void;
				public getAndBitwiseOrRelease(param0: androidNative.Array<any>): any;
				public getAndBitwiseAndAcquire(param0: androidNative.Array<any>): any;
				public static loadLoadFence(): void;
				public getAndBitwiseOrAcquire(param0: androidNative.Array<any>): any;
				public weakCompareAndSet(param0: androidNative.Array<any>): boolean;
				public weakCompareAndSetAcquire(param0: androidNative.Array<any>): boolean;
				public getAndBitwiseOr(param0: androidNative.Array<any>): any;
				public compareAndExchangeRelease(param0: androidNative.Array<any>): any;
				public getAndBitwiseXor(param0: androidNative.Array<any>): any;
				public toString(): string;
				public getAcquire(param0: androidNative.Array<any>): any;
				public compareAndExchange(param0: androidNative.Array<any>): any;
				public weakCompareAndSetRelease(param0: androidNative.Array<any>): boolean;
				public compareAndExchangeAcquire(param0: androidNative.Array<any>): any;
				public getAndSet(param0: androidNative.Array<any>): any;
				public isAccessModeSupported(accessMode: java.lang.invoke.VarHandle.AccessMode): boolean;
				public getAndBitwiseXorRelease(param0: androidNative.Array<any>): any;
				public varType(): java.lang.Class<any>;
				public weakCompareAndSetPlain(param0: androidNative.Array<any>): boolean;
				public getOpaque(param0: androidNative.Array<any>): any;
				public setOpaque(param0: androidNative.Array<any>): void;
				public setRelease(param0: androidNative.Array<any>): void;
				public get(param0: androidNative.Array<any>): any;
				public static releaseFence(): void;
				public getAndBitwiseAnd(param0: androidNative.Array<any>): any;
				public getAndAdd(param0: androidNative.Array<any>): any;
				public static storeStoreFence(): void;
			}
			export module VarHandle {
				export class AccessMode {
					public static class: java.lang.Class<java.lang.invoke.VarHandle.AccessMode>;
					public static GET: java.lang.invoke.VarHandle.AccessMode;
					public static SET: java.lang.invoke.VarHandle.AccessMode;
					public static GET_VOLATILE: java.lang.invoke.VarHandle.AccessMode;
					public static SET_VOLATILE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_ACQUIRE: java.lang.invoke.VarHandle.AccessMode;
					public static SET_RELEASE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_OPAQUE: java.lang.invoke.VarHandle.AccessMode;
					public static SET_OPAQUE: java.lang.invoke.VarHandle.AccessMode;
					public static COMPARE_AND_SET: java.lang.invoke.VarHandle.AccessMode;
					public static COMPARE_AND_EXCHANGE: java.lang.invoke.VarHandle.AccessMode;
					public static COMPARE_AND_EXCHANGE_ACQUIRE: java.lang.invoke.VarHandle.AccessMode;
					public static COMPARE_AND_EXCHANGE_RELEASE: java.lang.invoke.VarHandle.AccessMode;
					public static WEAK_COMPARE_AND_SET_PLAIN: java.lang.invoke.VarHandle.AccessMode;
					public static WEAK_COMPARE_AND_SET: java.lang.invoke.VarHandle.AccessMode;
					public static WEAK_COMPARE_AND_SET_ACQUIRE: java.lang.invoke.VarHandle.AccessMode;
					public static WEAK_COMPARE_AND_SET_RELEASE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_SET: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_SET_ACQUIRE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_SET_RELEASE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_ADD: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_ADD_ACQUIRE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_ADD_RELEASE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_OR: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_OR_RELEASE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_OR_ACQUIRE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_AND: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_AND_RELEASE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_AND_ACQUIRE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_XOR: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_XOR_RELEASE: java.lang.invoke.VarHandle.AccessMode;
					public static GET_AND_BITWISE_XOR_ACQUIRE: java.lang.invoke.VarHandle.AccessMode;
					public static values(): androidNative.Array<java.lang.invoke.VarHandle.AccessMode>;
					public static valueOf(name: string): java.lang.invoke.VarHandle.AccessMode;
					public methodName(): string;
					public static valueFromMethodName(methodName: string): java.lang.invoke.VarHandle.AccessMode;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

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(type: java.lang.invoke.MethodType);
				public constructor(target: java.lang.invoke.MethodHandle);
				public getTarget(): java.lang.invoke.MethodHandle;
				public setTarget(newTarget: java.lang.invoke.MethodHandle): void;
				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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

declare module java {
	export module lang {
		export module ref {
			export class Cleaner extends java.lang.Object {
				public static class: java.lang.Class<java.lang.ref.Cleaner>;
				public static create(threadFactory: java.util.concurrent.ThreadFactory): java.lang.ref.Cleaner;
				public register(obj: any, action: java.lang.Runnable): java.lang.ref.Cleaner.Cleanable;
				public static create(): java.lang.ref.Cleaner;
			}
			export module Cleaner {
				export class Cleanable extends java.lang.Object {
					public static class: java.lang.Class<java.lang.ref.Cleaner.Cleanable>;
					/**
					 * Constructs a new instance of the java.lang.ref.Cleaner$Cleanable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						clean(): void;
					});
					public constructor();
					public clean(): void;
				}
			}
		}
	}
}

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(referent: any, q: 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 static reachabilityFence(ref: any): void;
				public enqueue(): boolean;
				public get(): T;
				public clear(): void;
				public clone(): any;
				public refersTo(obj: T): boolean;
				/** @deprecated */
				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(timeout: number): java.lang.ref.Reference<any>;
				public remove(): 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(referent: any);
				public constructor(referent: any, q: java.lang.ref.ReferenceQueue<any>);
				public get(): 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(referent: any);
				public constructor(referent: any, q: java.lang.ref.ReferenceQueue<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 getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public setAccessible(flag: boolean): void;
				public isAccessible(): boolean;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public constructor();
				public static setAccessible(array: androidNative.Array<java.lang.reflect.AccessibleObject>, flag: boolean): void;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
			}
		}
	}
}

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(annotationClass: java.lang.Class<any>): boolean;
					getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
					getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
					getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
					getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
					getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
					getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				});
				public constructor();
				public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): 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 getFloat(array: any, index: number): number;
				public static newInstance(componentType: java.lang.Class<any>, dimensions: androidNative.Array<number>): any;
				public static get(array: any, index: number): any;
				public static getLength(array: any): number;
				public static setInt(array: any, index: number, i: number): void;
				public static getInt(array: any, index: number): number;
				public static setBoolean(array: any, index: number, z: boolean): void;
				public static setChar(array: any, index: number, c: string): void;
				public static getChar(array: any, index: number): string;
				public static newInstance(componentType: java.lang.Class<any>, length: number): any;
				public static getBoolean(array: any, index: number): boolean;
				public static getDouble(array: any, index: number): number;
				public static setShort(array: any, index: number, s: number): void;
				public static setFloat(array: any, index: number, f: number): void;
				public static getLong(array: any, index: number): number;
				public static getShort(array: any, index: number): number;
				public static setByte(array: any, index: number, b: number): void;
				public static setLong(array: any, index: number, l: number): void;
				public static set(array: any, index: number, value: any): void;
				public static setDouble(array: any, index: number, d: number): void;
				public static getByte(array: any, index: number): 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 isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getTypeParameters(): androidNative.Array<java.lang.reflect.TypeVariable<java.lang.reflect.Constructor<any>>>;
				public getModifiers(): number;
				public isSynthetic(): boolean;
				public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getParameterTypes(): androidNative.Array<java.lang.Class<any>>;
				public hashCode(): number;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getGenericParameterTypes(): androidNative.Array<java.lang.reflect.Type>;
				public getExceptionTypes(): androidNative.Array<java.lang.Class<any>>;
				public toGenericString(): string;
				public getDeclaringClass(): java.lang.Class<any>;
				public getParameterCount(): number;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getParameterAnnotations(): androidNative.Array<androidNative.Array<java.lang.annotation.Annotation>>;
				public getName(): string;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public toString(): string;
				public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public isVarArgs(): boolean;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public equals(obj: any): boolean;
				public getTypeParameters(): androidNative.Array<java.lang.reflect.TypeVariable<any>>;
				public getGenericExceptionTypes(): androidNative.Array<java.lang.reflect.Type>;
				public newInstance(initargs: androidNative.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 isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getParameterAnnotations(): androidNative.Array<androidNative.Array<java.lang.annotation.Annotation>>;
				public getModifiers(): number;
				public getParameters(): androidNative.Array<java.lang.reflect.Parameter>;
				public getName(): string;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public isAnnotationPresent(annotationType: java.lang.Class<any>): boolean;
				public isSynthetic(): boolean;
				public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public isVarArgs(): boolean;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getParameterTypes(): androidNative.Array<java.lang.Class<any>>;
				public getTypeParameters(): androidNative.Array<java.lang.reflect.TypeVariable<any>>;
				public getGenericExceptionTypes(): androidNative.Array<java.lang.reflect.Type>;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getGenericParameterTypes(): androidNative.Array<java.lang.reflect.Type>;
				public getExceptionTypes(): androidNative.Array<java.lang.Class<any>>;
				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 isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getChar(param0: any): string;
				public getModifiers(): number;
				public isSynthetic(): boolean;
				public getType(): java.lang.Class<any>;
				public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public setByte(param0: any, param1: number): void;
				public hashCode(): number;
				public getLong(param0: any): number;
				public setChar(param0: any, param1: string): void;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getInt(param0: any): number;
				public setLong(param0: any, param1: number): void;
				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 getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public setBoolean(param0: any, param1: boolean): void;
				public getBoolean(param0: any): boolean;
				public getByte(param0: any): number;
				public setDouble(param0: any, param1: number): void;
				public getName(): string;
				public set(param0: any, param1: any): void;
				public isAnnotationPresent(annotationType: java.lang.Class<any>): boolean;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public toString(): string;
				public getShort(param0: any): number;
				public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public isEnumConstant(): boolean;
				public equals(obj: any): 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(): androidNative.Array<java.lang.reflect.TypeVariable<any>>;
					isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
					getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
					getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
					getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
					getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
					getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
					getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				});
				public constructor();
				public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getTypeParameters(): androidNative.Array<java.lang.reflect.TypeVariable<any>>;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): 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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(s: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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: androidNative.Array<any>): any;
				});
				public constructor();
				public invoke(param0: any, param1: java.lang.reflect.Method, param2: androidNative.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(target: java.lang.Throwable, s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getTargetException(): java.lang.Throwable;
				public getCause(): java.lang.Throwable;
				public constructor(target: java.lang.Throwable);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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: 0;
				public static DECLARED: 1;
				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 isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getModifiers(): number;
				public getDefaultValue(): any;
				public isSynthetic(): boolean;
				public getTypeParameters(): androidNative.Array<java.lang.reflect.TypeVariable<java.lang.reflect.Method>>;
				public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getParameterTypes(): androidNative.Array<java.lang.Class<any>>;
				public isDefault(): boolean;
				public hashCode(): number;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getGenericParameterTypes(): androidNative.Array<java.lang.reflect.Type>;
				public getGenericReturnType(): java.lang.reflect.Type;
				public getExceptionTypes(): androidNative.Array<java.lang.Class<any>>;
				public toGenericString(): string;
				public getDeclaringClass(): java.lang.Class<any>;
				public getParameterCount(): number;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getParameterAnnotations(): androidNative.Array<androidNative.Array<java.lang.annotation.Annotation>>;
				public invoke(param0: any, param1: androidNative.Array<any>): any;
				public getName(): string;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getReturnType(): java.lang.Class<any>;
				public toString(): string;
				public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public isVarArgs(): boolean;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public equals(obj: any): boolean;
				public isBridge(): boolean;
				public getTypeParameters(): androidNative.Array<java.lang.reflect.TypeVariable<any>>;
				public getGenericExceptionTypes(): androidNative.Array<java.lang.reflect.Type>;
			}
		}
	}
}

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: 1024;
				public static FINAL: 16;
				public static INTERFACE: 512;
				public static NATIVE: 256;
				public static PRIVATE: 2;
				public static PROTECTED: 4;
				public static PUBLIC: 1;
				public static STATIC: 8;
				public static STRICT: 2048;
				public static SYNCHRONIZED: 32;
				public static TRANSIENT: 128;
				public static VOLATILE: 64;
				public static constructorModifiers(): number;
				public static isNative(mod: number): boolean;
				public static isVolatile(mod: number): boolean;
				public static isStatic(mod: number): boolean;
				public static methodModifiers(): number;
				public toString(): string;
				public static isFinal(mod: number): boolean;
				public constructor();
				public static isTransient(mod: number): boolean;
				public static parameterModifiers(): number;
				public static classModifiers(): number;
				public static isPrivate(mod: number): boolean;
				public static isAbstract(mod: number): boolean;
				public static isStrict(mod: number): boolean;
				public static toString(mod: number): string;
				public static interfaceModifiers(): number;
				public static fieldModifiers(): number;
				public static isInterface(mod: number): boolean;
				public static isPublic(mod: number): boolean;
				public static isProtected(mod: number): boolean;
				public static isSynchronized(mod: number): boolean;
			}
		}
	}
}

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 isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public isNamePresent(): boolean;
				public getModifiers(): number;
				public getName(): string;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public toString(): string;
				public isSynthetic(): boolean;
				public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public isVarArgs(): boolean;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getParameterizedType(): java.lang.reflect.Type;
				public getType(): java.lang.Class<any>;
				public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public getDeclaringExecutable(): java.lang.reflect.Executable;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.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(): androidNative.Array<java.lang.reflect.Type>;
					getRawType(): java.lang.reflect.Type;
					getOwnerType(): java.lang.reflect.Type;
					getTypeName(): string;
				});
				public constructor();
				public getTypeName(): string;
				public getActualTypeArguments(): androidNative.Array<java.lang.reflect.Type>;
				public getOwnerType(): java.lang.reflect.Type;
				public getRawType(): 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 constructor(h: java.lang.reflect.InvocationHandler);
				public static getProxyClass(loader: java.lang.ClassLoader, interfaces: androidNative.Array<java.lang.Class<any>>): java.lang.Class<any>;
				public static newProxyInstance(loader: java.lang.ClassLoader, interfaces: androidNative.Array<java.lang.Class<any>>, h: java.lang.reflect.InvocationHandler): any;
				public static getInvocationHandler(proxy: any): java.lang.reflect.InvocationHandler;
				public static isProxyClass(cl: java.lang.Class<any>): boolean;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class RecordComponent extends java.lang.Object implements java.lang.reflect.AnnotatedElement {
				public static class: java.lang.Class<java.lang.reflect.RecordComponent>;
				public getGenericType(): java.lang.reflect.Type;
				public getAccessor(): java.lang.reflect.Method;
				public isAnnotationPresent(annotationClass: java.lang.Class<any>): boolean;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public getName(): string;
				public getDeclaredAnnotations(): androidNative.Array<java.lang.annotation.Annotation>;
				public toString(): string;
				public getAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaringRecord(): java.lang.Class<any>;
				public getDeclaredAnnotation(annotationClass: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getType(): java.lang.Class<any>;
				public getDeclaredAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
				public getGenericSignature(): string;
				public getAnnotationsByType(annotationClass: java.lang.Class<any>): androidNative.Array<java.lang.annotation.Annotation>;
			}
		}
	}
}

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 constructor(name: string);
				public checkGuard(param0: any): void;
				public constructor(name: string, actions: 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(): androidNative.Array<java.lang.reflect.Type>;
					getGenericDeclaration(): any;
					getName(): string;
					getTypeName(): string;
				});
				public constructor();
				public getTypeName(): string;
				public getBounds(): androidNative.Array<java.lang.reflect.Type>;
				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 constructor(message: string, cause: java.lang.Throwable);
				public getUndeclaredThrowable(): java.lang.Throwable;
				public constructor(undeclaredThrowable: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(undeclaredThrowable: java.lang.Throwable, s: string);
				public getCause(): java.lang.Throwable;
				public constructor();
			}
		}
	}
}

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(): androidNative.Array<java.lang.reflect.Type>;
					getLowerBounds(): androidNative.Array<java.lang.reflect.Type>;
					getTypeName(): string;
				});
				public constructor();
				public getTypeName(): string;
				public getLowerBounds(): androidNative.Array<java.lang.reflect.Type>;
				public getUpperBounds(): androidNative.Array<java.lang.reflect.Type>;
			}
		}
	}
}

declare module java {
	export module lang {
		export module runtime {
			export class ObjectMethods extends java.lang.Object {
				public static class: java.lang.Class<java.lang.runtime.ObjectMethods>;
				public static bootstrap(lookup: java.lang.invoke.MethodHandles.Lookup, methodName: string, type: java.lang.invoke.TypeDescriptor, recordClass: java.lang.Class<any>, names: string, getters: androidNative.Array<java.lang.invoke.MethodHandle>): any;
			}
		}
	}
}

declare module java {
	export module math {
		export class BigDecimal extends java.lang.Number implements java.lang.Comparable<java.math.BigDecimal>  {
			public static class: java.lang.Class<java.math.BigDecimal>;
			public static ONE: java.math.BigDecimal;
			public static ROUND_CEILING: 2;
			public static ROUND_DOWN: 1;
			public static ROUND_FLOOR: 3;
			public static ROUND_HALF_DOWN: 5;
			public static ROUND_HALF_EVEN: 6;
			public static ROUND_HALF_UP: 4;
			public static ROUND_UNNECESSARY: 7;
			public static ROUND_UP: 0;
			public static TEN: java.math.BigDecimal;
			public static ZERO: java.math.BigDecimal;
			public movePointLeft(n: number): java.math.BigDecimal;
			public constructor(val: number, mc: java.math.MathContext);
			public remainder(divisor: java.math.BigDecimal, mc: java.math.MathContext): java.math.BigDecimal;
			public negate(mc: java.math.MathContext): java.math.BigDecimal;
			public constructor(in_: androidNative.Array<string>, mc: java.math.MathContext);
			public subtract(subtrahend: java.math.BigDecimal): java.math.BigDecimal;
			public pow(n: number): java.math.BigDecimal;
			public shortValueExact(): number;
			public add(augend: java.math.BigDecimal, mc: java.math.MathContext): java.math.BigDecimal;
			public multiply(multiplicand: java.math.BigDecimal, mc: java.math.MathContext): java.math.BigDecimal;
			public toPlainString(): string;
			public sqrt(mc: java.math.MathContext): java.math.BigDecimal;
			public plus(mc: java.math.MathContext): java.math.BigDecimal;
			public scaleByPowerOfTen(n: number): java.math.BigDecimal;
			/** @deprecated */
			public setScale(newScale: number, roundingMode: number): java.math.BigDecimal;
			public multiply(multiplicand: java.math.BigDecimal): java.math.BigDecimal;
			public min(val: java.math.BigDecimal): java.math.BigDecimal;
			public byteValueExact(): number;
			public divide(divisor: java.math.BigDecimal, roundingMode: java.math.RoundingMode): java.math.BigDecimal;
			public divide(divisor: java.math.BigDecimal, scale: number, roundingMode: java.math.RoundingMode): java.math.BigDecimal;
			public constructor();
			public compareTo(val: java.math.BigDecimal): number;
			public divideToIntegralValue(divisor: java.math.BigDecimal): java.math.BigDecimal;
			public static valueOf(unscaledVal: number, scale: number): java.math.BigDecimal;
			public toBigIntegerExact(): java.math.BigInteger;
			public setScale(newScale: number): java.math.BigDecimal;
			public floatValue(): number;
			public intValue(): number;
			public ulp(): java.math.BigDecimal;
			public constructor(val: java.math.BigInteger, mc: java.math.MathContext);
			public unscaledValue(): java.math.BigInteger;
			public constructor(unscaledVal: java.math.BigInteger, scale: number, mc: java.math.MathContext);
			public movePointRight(n: number): java.math.BigDecimal;
			public abs(): java.math.BigDecimal;
			public longValue(): number;
			/** @deprecated */
			public divide(divisor: java.math.BigDecimal, roundingMode: number): java.math.BigDecimal;
			public plus(): java.math.BigDecimal;
			public round(mc: java.math.MathContext): java.math.BigDecimal;
			public equals(x: any): boolean;
			public divideToIntegralValue(divisor: java.math.BigDecimal, mc: java.math.MathContext): java.math.BigDecimal;
			public intValueExact(): number;
			public constructor(val: number);
			public stripTrailingZeros(): java.math.BigDecimal;
			public longValueExact(): number;
			public scale(): number;
			public static valueOf(val: number): java.math.BigDecimal;
			public doubleValue(): number;
			public constructor(val: string, mc: java.math.MathContext);
			public toEngineeringString(): string;
			public divide(divisor: java.math.BigDecimal, mc: java.math.MathContext): java.math.BigDecimal;
			public constructor(in_: androidNative.Array<string>, offset: number, len: number);
			public divideAndRemainder(divisor: java.math.BigDecimal, mc: java.math.MathContext): androidNative.Array<java.math.BigDecimal>;
			public add(augend: java.math.BigDecimal): java.math.BigDecimal;
			public abs(mc: java.math.MathContext): java.math.BigDecimal;
			public toBigInteger(): java.math.BigInteger;
			public divideAndRemainder(divisor: java.math.BigDecimal): androidNative.Array<java.math.BigDecimal>;
			public constructor(unscaledVal: java.math.BigInteger, scale: number);
			public pow(n: number, mc: java.math.MathContext): java.math.BigDecimal;
			public negate(): java.math.BigDecimal;
			public signum(): number;
			public constructor(val: java.math.BigInteger);
			public remainder(divisor: java.math.BigDecimal): java.math.BigDecimal;
			public setScale(newScale: number, roundingMode: java.math.RoundingMode): java.math.BigDecimal;
			/** @deprecated */
			public divide(divisor: java.math.BigDecimal, scale: number, roundingMode: number): java.math.BigDecimal;
			public subtract(subtrahend: java.math.BigDecimal, mc: java.math.MathContext): java.math.BigDecimal;
			public toString(): string;
			public constructor(val: string);
			public precision(): number;
			public constructor(in_: androidNative.Array<string>);
			public max(val: java.math.BigDecimal): java.math.BigDecimal;
			public divide(divisor: java.math.BigDecimal): java.math.BigDecimal;
			public constructor(in_: androidNative.Array<string>, offset: number, len: number, mc: java.math.MathContext);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module math {
		export class BigInteger extends java.lang.Number implements java.lang.Comparable<java.math.BigInteger>  {
			public static class: java.lang.Class<java.math.BigInteger>;
			public static ONE: java.math.BigInteger;
			public static TEN: java.math.BigInteger;
			public static TWO: java.math.BigInteger;
			public static ZERO: java.math.BigInteger;
			public toString(radix: number): string;
			public constructor(signum: number, magnitude: androidNative.Array<number>, off: number, len: number);
			public xor(val: java.math.BigInteger): java.math.BigInteger;
			public or(val: java.math.BigInteger): java.math.BigInteger;
			public static probablePrime(bitLength: number, rnd: java.util.Random): java.math.BigInteger;
			public shortValueExact(): number;
			public constructor(bitLength: number, certainty: number, rnd: java.util.Random);
			public shiftRight(n: number): java.math.BigInteger;
			public min(val: java.math.BigInteger): java.math.BigInteger;
			public constructor(val: string, radix: number);
			public divideAndRemainder(val: java.math.BigInteger): androidNative.Array<java.math.BigInteger>;
			public sqrt(): java.math.BigInteger;
			public compareTo(val: java.math.BigInteger): number;
			public constructor(val: androidNative.Array<number>, off: number, len: number);
			public byteValueExact(): number;
			public nextProbablePrime(): java.math.BigInteger;
			public clearBit(n: number): java.math.BigInteger;
			public max(val: java.math.BigInteger): java.math.BigInteger;
			public remainder(val: java.math.BigInteger): java.math.BigInteger;
			public bitCount(): number;
			public constructor();
			public multiply(val: java.math.BigInteger): java.math.BigInteger;
			public toByteArray(): androidNative.Array<number>;
			public setBit(n: number): java.math.BigInteger;
			public flipBit(n: number): java.math.BigInteger;
			public floatValue(): number;
			public and(val: java.math.BigInteger): java.math.BigInteger;
			public intValue(): number;
			public gcd(val: java.math.BigInteger): java.math.BigInteger;
			public modPow(exponent: java.math.BigInteger, m: java.math.BigInteger): java.math.BigInteger;
			public longValue(): number;
			public sqrtAndRemainder(): androidNative.Array<java.math.BigInteger>;
			public equals(x: any): boolean;
			public isProbablePrime(certainty: number): boolean;
			public intValueExact(): number;
			public static valueOf(val: number): java.math.BigInteger;
			public abs(): java.math.BigInteger;
			public mod(m: java.math.BigInteger): java.math.BigInteger;
			public longValueExact(): number;
			public getLowestSetBit(): number;
			public doubleValue(): number;
			public constructor(val: androidNative.Array<number>);
			public constructor(signum: number, magnitude: androidNative.Array<number>);
			public subtract(val: java.math.BigInteger): java.math.BigInteger;
			public bitLength(): number;
			public signum(): number;
			public pow(exponent: number): java.math.BigInteger;
			public modInverse(m: java.math.BigInteger): java.math.BigInteger;
			public not(): java.math.BigInteger;
			public constructor(numBits: number, rnd: java.util.Random);
			public andNot(val: java.math.BigInteger): java.math.BigInteger;
			public testBit(n: number): boolean;
			public add(val: java.math.BigInteger): java.math.BigInteger;
			public negate(): java.math.BigInteger;
			public shiftLeft(n: number): java.math.BigInteger;
			public toString(): string;
			public constructor(val: string);
			public divide(val: java.math.BigInteger): java.math.BigInteger;
			public hashCode(): number;
		}
	}
}

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 constructor(setPrecision: number, setRoundingMode: java.math.RoundingMode);
			public toString(): string;
			public constructor(val: string);
			public getPrecision(): number;
			public equals(x: any): boolean;
			public constructor(setPrecision: number);
			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(name: string): java.math.RoundingMode;
			public static valueOf(rm: number): java.math.RoundingMode;
			public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public static values(): androidNative.Array<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 getRequestingPrompt(): string;
			public static requestPasswordAuthentication(host: string, addr: java.net.InetAddress, port: number, protocol: string, prompt: string, scheme: string, url: java.net.URL, reqType: java.net.Authenticator.RequestorType): java.net.PasswordAuthentication;
			public getRequestingURL(): java.net.URL;
			public constructor();
			public getRequestingHost(): string;
			public static requestPasswordAuthentication(addr: java.net.InetAddress, port: number, protocol: string, prompt: string, scheme: string): java.net.PasswordAuthentication;
			public getPasswordAuthentication(): java.net.PasswordAuthentication;
			public static setDefault(a: java.net.Authenticator): void;
			public static requestPasswordAuthentication(host: string, addr: java.net.InetAddress, port: number, protocol: string, prompt: string, scheme: string): java.net.PasswordAuthentication;
			public getRequestingPort(): number;
			public getRequestingSite(): java.net.InetAddress;
			public getRequestingScheme(): string;
			public getRequestingProtocol(): string;
			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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<java.net.Authenticator.RequestorType>;
				public static valueOf(name: string): java.net.Authenticator.RequestorType;
			}
		}
	}
}

declare module java {
	export module net {
		export class BindException extends java.net.SocketException {
			public static class: java.lang.Class<java.net.BindException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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(urlc: java.net.URLConnection, classes: androidNative.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(cHandler: 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 get(uri: java.net.URI, requestHeaders: java.util.Map<string,java.util.List<string>>): java.util.Map<string,java.util.List<string>>;
			public constructor(store: java.net.CookieStore, cookiePolicy: java.net.CookiePolicy);
			public getCookieStore(): java.net.CookieStore;
			public constructor();
			public put(uri: java.net.URI, responseHeaders: java.util.Map<string,java.util.List<string>>): void;
			public setCookiePolicy(cookiePolicy: java.net.CookiePolicy): void;
		}
	}
}

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_ORIGINAL_SERVER: java.net.CookiePolicy;
			public static ACCEPT_NONE: java.net.CookiePolicy;
			public static ACCEPT_ALL: 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 setData(buf: androidNative.Array<number>): void;
			public setData(buf: androidNative.Array<number>, offset: number, length: number): void;
			public constructor(buf: androidNative.Array<number>, length: number);
			public getLength(): number;
			public getSocketAddress(): java.net.SocketAddress;
			public getData(): androidNative.Array<number>;
			public getOffset(): number;
			public setSocketAddress(address: java.net.SocketAddress): void;
			public getAddress(): java.net.InetAddress;
			public constructor(buf: androidNative.Array<number>, offset: number, length: number, address: java.net.SocketAddress);
			public setPort(iport: number): void;
			public constructor(buf: androidNative.Array<number>, offset: number, length: number, address: java.net.InetAddress, port: number);
			public constructor(buf: androidNative.Array<number>, offset: number, length: number);
			public setLength(length: number): void;
			public setAddress(iaddr: java.net.InetAddress): void;
			public constructor(buf: androidNative.Array<number>, length: number, address: java.net.SocketAddress);
			public constructor(buf: androidNative.Array<number>, length: number, address: java.net.InetAddress, port: number);
			public getPort(): number;
		}
	}
}

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 setReuseAddress(on: boolean): void;
			public connect(addr: java.net.SocketAddress): void;
			public setOption(name: java.net.SocketOption<any>, value: any): java.net.DatagramSocket;
			public send(p: java.net.DatagramPacket): void;
			public getBroadcast(): boolean;
			public getInetAddress(): java.net.InetAddress;
			public getLocalPort(): number;
			public getTrafficClass(): number;
			public constructor(bindaddr: java.net.SocketAddress);
			public isConnected(): boolean;
			public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
			public connect(address: java.net.InetAddress, port: number): void;
			public getLocalAddress(): java.net.InetAddress;
			public close(): void;
			public setSendBufferSize(size: number): void;
			public isBound(): boolean;
			public getSoTimeout(): number;
			public getSendBufferSize(): number;
			public getReceiveBufferSize(): number;
			public setBroadcast(on: boolean): void;
			public constructor();
			public constructor(impl: java.net.DatagramSocketImpl);
			public receive(p: java.net.DatagramPacket): void;
			public constructor(port: number, laddr: java.net.InetAddress);
			public setTrafficClass(tc: number): void;
			public getOption(name: java.net.SocketOption<any>): any;
			public constructor(port: number);
			public static setDatagramSocketImplFactory(fac: java.net.DatagramSocketImplFactory): void;
			public getChannel(): java.nio.channels.DatagramChannel;
			public getLocalSocketAddress(): java.net.SocketAddress;
			public getRemoteSocketAddress(): java.net.SocketAddress;
			public setSoTimeout(timeout: number): void;
			public getPort(): number;
			public setReceiveBufferSize(size: number): void;
			public bind(addr: java.net.SocketAddress): void;
			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 peekData(param0: java.net.DatagramPacket): number;
			/** @deprecated */
			public setTTL(param0: number): void;
			public receive(param0: java.net.DatagramPacket): void;
			public setTimeToLive(param0: number): void;
			public getLocalPort(): number;
			public setOption(name: java.net.SocketOption<any>, value: any): void;
			public leaveGroup(param0: java.net.SocketAddress, param1: java.net.NetworkInterface): void;
			public getFileDescriptor(): java.io.FileDescriptor;
			public bind(param0: number, param1: java.net.InetAddress): void;
			public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
			public connect(address: java.net.InetAddress, port: number): void;
			/** @deprecated */
			public getTTL(): number;
			public close(): void;
			public getTimeToLive(): number;
			public peek(param0: java.net.InetAddress): number;
			public create(): void;
			public joinGroup(param0: java.net.SocketAddress, param1: java.net.NetworkInterface): void;
			public constructor();
			public send(param0: java.net.DatagramPacket): void;
			public getOption(name: java.net.SocketOption<any>): any;
			public leave(param0: java.net.InetAddress): void;
			public getOption(param0: number): any;
			public disconnect(): void;
		}
	}
}

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 constructor(name: string, value: string);
			public getComment(): string;
			public setHttpOnly(httpOnly: boolean): void;
			public hasExpired(): boolean;
			public getMaxAge(): number;
			public getVersion(): number;
			public isHttpOnly(): boolean;
			public setPath(uri: string): void;
			public getCommentURL(): string;
			public static parse(header: string): java.util.List<java.net.HttpCookie>;
			public setPortlist(ports: string): void;
			public static domainMatches(domain: string, host: string): boolean;
			public setMaxAge(expiry: number): void;
			public setCommentURL(purpose: string): void;
			public setSecure(flag: boolean): void;
			public setDomain(pattern: string): void;
			public setVersion(v: number): void;
			public setComment(purpose: string): void;
			public getPath(): string;
			public toString(): string;
			public clone(): any;
			public getName(): string;
			public equals(obj: any): boolean;
			public setDiscard(discard: boolean): void;
			public getSecure(): boolean;
			public getDiscard(): boolean;
			public getDomain(): string;
			public setValue(newValue: string): 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(message: string);
			public responseCode(): number;
			public getReason(): string;
			public getLocation(): string;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(detail: string, code: number, location: string);
			public constructor();
			public constructor(detail: string, code: number);
		}
	}
}

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: 202;
			public static HTTP_BAD_GATEWAY: 502;
			public static HTTP_BAD_METHOD: 405;
			public static HTTP_BAD_REQUEST: 400;
			public static HTTP_CLIENT_TIMEOUT: 408;
			public static HTTP_CONFLICT: 409;
			public static HTTP_CREATED: 201;
			public static HTTP_ENTITY_TOO_LARGE: 413;
			public static HTTP_FORBIDDEN: 403;
			public static HTTP_GATEWAY_TIMEOUT: 504;
			public static HTTP_GONE: 410;
			public static HTTP_INTERNAL_ERROR: 500;
			public static HTTP_LENGTH_REQUIRED: 411;
			public static HTTP_MOVED_PERM: 301;
			public static HTTP_MOVED_TEMP: 302;
			public static HTTP_MULT_CHOICE: 300;
			public static HTTP_NOT_ACCEPTABLE: 406;
			public static HTTP_NOT_AUTHORITATIVE: 203;
			public static HTTP_NOT_FOUND: 404;
			public static HTTP_NOT_IMPLEMENTED: 501;
			public static HTTP_NOT_MODIFIED: 304;
			public static HTTP_NO_CONTENT: 204;
			public static HTTP_OK: 200;
			public static HTTP_PARTIAL: 206;
			public static HTTP_PAYMENT_REQUIRED: 402;
			public static HTTP_PRECON_FAILED: 412;
			public static HTTP_PROXY_AUTH: 407;
			public static HTTP_REQ_TOO_LONG: 414;
			public static HTTP_RESET: 205;
			public static HTTP_SEE_OTHER: 303;
			public static HTTP_SERVER_ERROR: 500;
			public static HTTP_UNAUTHORIZED: 401;
			public static HTTP_UNAVAILABLE: 503;
			public static HTTP_UNSUPPORTED_TYPE: 415;
			public static HTTP_USE_PROXY: 305;
			public static HTTP_VERSION: 505;
			public chunkLength: number;
			public fixedContentLength: number;
			public fixedContentLengthLong: number;
			public instanceFollowRedirects: boolean;
			public method: string;
			public responseCode: number;
			public responseMessage: string;
			public getRequestMethod(): string;
			public static getFollowRedirects(): boolean;
			public getPermission(): java.security.Permission;
			public usingProxy(): boolean;
			public getHeaderFieldKey(n: number): string;
			public getErrorStream(): java.io.InputStream;
			public getHeaderField(name: string): string;
			public setInstanceFollowRedirects(followRedirects: boolean): void;
			public constructor(u: java.net.URL);
			public getHeaderField(n: number): string;
			public setRequestMethod(method: string): void;
			public getResponseCode(): number;
			public setFixedLengthStreamingMode(contentLength: number): void;
			public getResponseMessage(): string;
			public setChunkedStreamingMode(chunklen: number): void;
			public getHeaderFieldDate(name: string, Default: number): number;
			public static setFollowRedirects(set: boolean): 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: 1;
			public static USE_STD3_ASCII_RULES: 2;
			public static toUnicode(input: string): string;
			public static toASCII(input: string, flag: number): string;
			public static toASCII(input: string): string;
			public static toUnicode(input: string, flag: number): string;
		}
	}
}

declare module java {
	export module net {
		export class Inet4Address extends java.net.InetAddress {
			public static class: java.lang.Class<java.net.Inet4Address>;
			public isMulticastAddress(): boolean;
			public isMCOrgLocal(): boolean;
			public isLoopbackAddress(): boolean;
			public isLinkLocalAddress(): boolean;
			public getAddress(): androidNative.Array<number>;
			public isMCGlobal(): boolean;
			public getHostAddress(): string;
			public isAnyLocalAddress(): boolean;
			public equals(obj: any): boolean;
			public isMCSiteLocal(): boolean;
			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(host: string, addr: androidNative.Array<number>): java.net.InetAddress;
			public isMulticastAddress(): boolean;
			public isMCOrgLocal(): boolean;
			public isLoopbackAddress(): boolean;
			public isLinkLocalAddress(): boolean;
			public getAddress(): androidNative.Array<number>;
			public getScopedInterface(): java.net.NetworkInterface;
			public isMCGlobal(): boolean;
			public getHostAddress(): string;
			public getScopeId(): number;
			public static getByAddress(host: string, addr: androidNative.Array<number>, scope_id: number): java.net.Inet6Address;
			public isAnyLocalAddress(): boolean;
			public equals(obj: any): boolean;
			public isMCSiteLocal(): boolean;
			public static getByAddress(addr: androidNative.Array<number>): java.net.InetAddress;
			public isMCNodeLocal(): boolean;
			public static getByAddress(host: string, addr: androidNative.Array<number>, nif: java.net.NetworkInterface): java.net.Inet6Address;
			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 isReachable(timeout: number): boolean;
			public isMulticastAddress(): boolean;
			public isLinkLocalAddress(): boolean;
			public getHostAddress(): string;
			public isReachable(netif: java.net.NetworkInterface, ttl: number, timeout: number): boolean;
			public static getByName(host: string): java.net.InetAddress;
			public static getLoopbackAddress(): java.net.InetAddress;
			public getCanonicalHostName(): string;
			public static getByAddress(addr: androidNative.Array<number>): java.net.InetAddress;
			public isMCLinkLocal(): boolean;
			public isSiteLocalAddress(): boolean;
			public static getByAddress(host: string, addr: androidNative.Array<number>): java.net.InetAddress;
			public isMCOrgLocal(): boolean;
			public static getAllByName(host: string): androidNative.Array<java.net.InetAddress>;
			public isLoopbackAddress(): boolean;
			public getAddress(): androidNative.Array<number>;
			public isMCGlobal(): boolean;
			public isAnyLocalAddress(): boolean;
			public toString(): string;
			public static getLocalHost(): java.net.InetAddress;
			public equals(obj: any): boolean;
			public isMCSiteLocal(): boolean;
			public isMCNodeLocal(): boolean;
			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 constructor(addr: java.net.InetAddress, port: number);
			public constructor();
			public isUnresolved(): boolean;
			public getAddress(): java.net.InetAddress;
			public constructor(hostname: string, port: number);
			public static createUnresolved(host: string, port: number): java.net.InetSocketAddress;
			public toString(): string;
			public equals(obj: any): boolean;
			public constructor(port: number);
			public getHostName(): string;
			public getPort(): number;
			public getHostString(): string;
			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 getNetworkPrefixLength(): number;
			public toString(): string;
			public equals(obj: any): boolean;
			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 getJarEntry(): java.util.jar.JarEntry;
			public getManifest(): java.util.jar.Manifest;
			public getMainAttributes(): java.util.jar.Attributes;
			public getCertificates(): androidNative.Array<java.security.cert.Certificate>;
			public getAttributes(): java.util.jar.Attributes;
			public constructor(url: java.net.URL);
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: string);
		}
	}
}

declare module java {
	export module net {
		export class MulticastSocket extends java.net.DatagramSocket {
			public static class: java.lang.Class<java.net.MulticastSocket>;
			public getNetworkInterface(): java.net.NetworkInterface;
			public leaveGroup(mcastaddr: java.net.InetAddress): void;
			public constructor();
			public constructor(impl: java.net.DatagramSocketImpl);
			public constructor(port: number, laddr: java.net.InetAddress);
			public joinGroup(mcastaddr: java.net.SocketAddress, netIf: java.net.NetworkInterface): void;
			public setLoopbackMode(disable: boolean): void;
			public send(p: java.net.DatagramPacket): void;
			public setNetworkInterface(netIf: java.net.NetworkInterface): void;
			/** @deprecated */
			public setTTL(ttl: number): void;
			public constructor(port: number);
			public getInterface(): java.net.InetAddress;
			public leaveGroup(mcastaddr: java.net.SocketAddress, netIf: java.net.NetworkInterface): void;
			public setTimeToLive(ttl: number): void;
			public constructor(bindaddr: java.net.SocketAddress);
			public getLoopbackMode(): boolean;
			/** @deprecated */
			public send(p: java.net.DatagramPacket, ttl: number): void;
			public joinGroup(mcastaddr: java.net.InetAddress): void;
			public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
			/** @deprecated */
			public getTTL(): number;
			public close(): void;
			public getTimeToLive(): number;
			public setInterface(inf: 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(name: string);
			public constructor(name: string, actions: string);
			public checkGuard(param0: any): void;
		}
	}
}

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 isVirtual(): boolean;
			public getInterfaceAddresses(): java.util.List<java.net.InterfaceAddress>;
			public isLoopback(): boolean;
			public static getByInetAddress(addr: java.net.InetAddress): java.net.NetworkInterface;
			public getSubInterfaces(): java.util.Enumeration<java.net.NetworkInterface>;
			public static getByName(name: string): java.net.NetworkInterface;
			public getMTU(): number;
			public static getNetworkInterfaces(): java.util.Enumeration<java.net.NetworkInterface>;
			public getInetAddresses(): java.util.Enumeration<java.net.InetAddress>;
			public getHardwareAddress(): androidNative.Array<number>;
			public toString(): string;
			public getName(): string;
			public static getByIndex(index: number): java.net.NetworkInterface;
			public equals(obj: any): boolean;
			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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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(): androidNative.Array<string>;
			public constructor(userName: string, password: androidNative.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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 toString(): string;
			public type(): java.net.Proxy.Type;
			public equals(obj: any): boolean;
			public address(): java.net.SocketAddress;
			public constructor(type: java.net.Proxy.Type, sa: 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(): androidNative.Array<java.net.Proxy.Type>;
				public static valueOf(name: string): java.net.Proxy.Type;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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 static setDefault(ps: java.net.ProxySelector): void;
			public connectFailed(param0: java.net.URI, param1: java.net.SocketAddress, param2: java.io.IOException): void;
			public static getDefault(): java.net.ProxySelector;
			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(responseCache: 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 setReuseAddress(on: boolean): void;
			public bind(endpoint: java.net.SocketAddress, backlog: number): void;
			public getChannel(): java.nio.channels.ServerSocketChannel;
			public getInetAddress(): java.net.InetAddress;
			public getLocalPort(): number;
			public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
			public close(): void;
			public setPerformancePreferences(connectionTime: number, latency: number, bandwidth: number): void;
			public constructor(port: number, backlog: number);
			public accept(): java.net.Socket;
			public isBound(): boolean;
			public getSoTimeout(): number;
			public static setSocketFactory(fac: java.net.SocketImplFactory): void;
			public getReceiveBufferSize(): number;
			public constructor();
			public bind(endpoint: java.net.SocketAddress): void;
			public constructor(port: number, backlog: number, bindAddr: java.net.InetAddress);
			public setOption(name: java.net.SocketOption<any>, value: any): java.net.ServerSocket;
			public getOption(name: java.net.SocketOption<any>): any;
			public toString(): string;
			public implAccept(s: java.net.Socket): void;
			public constructor(port: number);
			public getLocalSocketAddress(): java.net.SocketAddress;
			public setSoTimeout(timeout: number): void;
			public setReceiveBufferSize(size: number): 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 setReuseAddress(on: boolean): void;
			public setOOBInline(on: boolean): void;
			public static setSocketImplFactory(fac: java.net.SocketImplFactory): void;
			public setKeepAlive(on: boolean): void;
			public isInputShutdown(): boolean;
			public getInetAddress(): java.net.InetAddress;
			/** @deprecated */
			public constructor(host: string, port: number, stream: boolean);
			public isConnected(): boolean;
			public getOutputStream(): java.io.OutputStream;
			public bind(bindpoint: java.net.SocketAddress): void;
			public constructor(address: java.net.InetAddress, port: number);
			public isOutputShutdown(): boolean;
			public connect(endpoint: java.net.SocketAddress): void;
			public getKeepAlive(): boolean;
			public isBound(): boolean;
			public constructor();
			public getOOBInline(): boolean;
			public constructor(host: string, port: number, localAddr: java.net.InetAddress, localPort: number);
			public getOption(name: java.net.SocketOption<any>): any;
			public getLocalSocketAddress(): java.net.SocketAddress;
			public sendUrgentData(data: number): void;
			public getRemoteSocketAddress(): java.net.SocketAddress;
			public constructor(impl: java.net.SocketImpl);
			public getPort(): number;
			public setReceiveBufferSize(size: number): void;
			public shutdownOutput(): void;
			public getReuseAddress(): boolean;
			public isClosed(): boolean;
			public setSoLinger(on: boolean, linger: number): void;
			public getTcpNoDelay(): boolean;
			public connect(endpoint: java.net.SocketAddress, timeout: number): void;
			public getChannel(): java.nio.channels.SocketChannel;
			public getLocalPort(): number;
			public getTrafficClass(): number;
			public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
			public getLocalAddress(): java.net.InetAddress;
			public close(): void;
			public setPerformancePreferences(connectionTime: number, latency: number, bandwidth: number): void;
			public getSoLinger(): number;
			public setSendBufferSize(size: number): void;
			public constructor(address: java.net.InetAddress, port: number, localAddr: java.net.InetAddress, localPort: number);
			public getSoTimeout(): number;
			public getSendBufferSize(): number;
			public getReceiveBufferSize(): number;
			public constructor(proxy: java.net.Proxy);
			/** @deprecated */
			public constructor(host: java.net.InetAddress, port: number, stream: boolean);
			public setTrafficClass(tc: number): void;
			public setTcpNoDelay(on: boolean): void;
			public shutdownInput(): void;
			public toString(): string;
			public getInputStream(): java.io.InputStream;
			public constructor(host: string, port: number);
			public setSoTimeout(timeout: number): void;
			public setOption(name: java.net.SocketOption<any>, value: any): java.net.Socket;
		}
	}
}

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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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 setOption(param0: number, param1: any): void;
			public connect(param0: java.net.InetAddress, param1: number): void;
			public connect(param0: java.net.SocketAddress, param1: number): void;
			public available(): number;
			public listen(param0: number): void;
			public getInetAddress(): java.net.InetAddress;
			public accept(param0: java.net.SocketImpl): void;
			public getLocalPort(): number;
			public setOption(name: java.net.SocketOption<any>, value: any): void;
			public getOutputStream(): java.io.OutputStream;
			public getFileDescriptor(): java.io.FileDescriptor;
			public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
			public close(): void;
			public setPerformancePreferences(connectionTime: number, latency: number, bandwidth: number): void;
			public supportsUrgentData(): boolean;
			public sendUrgentData(param0: number): void;
			public create(param0: boolean): void;
			public constructor();
			public shutdownInput(): void;
			public getOption(name: java.net.SocketOption<any>): any;
			public toString(): string;
			public getInputStream(): java.io.InputStream;
			public connect(param0: string, param1: number): void;
			public getOption(param0: number): any;
			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_REUSEPORT: 14;
			public static SO_LINGER: 128;
			public static IP_MULTICAST_LOOP: 18;
			public static SO_BINDADDR: 15;
			public static SO_RCVBUF: 4098;
			public static SO_KEEPALIVE: 8;
			public static SO_TIMEOUT: 4102;
			public static IP_MULTICAST_IF: 16;
			public static SO_SNDBUF: 4097;
			public static SO_BROADCAST: 32;
			public static SO_REUSEADDR: 4;
			public static SO_OOBINLINE: 4099;
			public static TCP_NODELAY: 1;
			public static IP_TOS: 3;
			public static IP_MULTICAST_IF2: 31;
			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(name: string);
			public constructor(host: string, action: string);
			public getActions(): string;
			public checkGuard(param0: any): void;
			public implies(p: java.security.Permission): boolean;
		}
	}
}

declare module java {
	export module net {
		export class SocketTimeoutException extends java.io.InterruptedIOException {
			public static class: java.lang.Class<java.net.SocketTimeoutException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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 UNIX: java.net.StandardProtocolFamily;
			public name(): string;
			public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public static values(): androidNative.Array<java.net.StandardProtocolFamily>;
			public static valueOf(name: string): 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_REUSEPORT: 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 resolve(str: string): java.net.URI;
			public toASCIIString(): string;
			public getRawSchemeSpecificPart(): string;
			public relativize(uri: java.net.URI): java.net.URI;
			public getRawAuthority(): string;
			public getFragment(): string;
			public getUserInfo(): string;
			public getHost(): string;
			public static create(str: string): java.net.URI;
			public getSchemeSpecificPart(): string;
			public getAuthority(): string;
			public getScheme(): string;
			public getRawPath(): string;
			public parseServerAuthority(): java.net.URI;
			public getRawQuery(): string;
			public getQuery(): string;
			public constructor(scheme: string, ssp: string, fragment: string);
			public isOpaque(): boolean;
			public compareTo(that: java.net.URI): number;
			public constructor(str: string);
			public constructor(scheme: string, userInfo: string, host: string, port: number, path: string, query: string, fragment: string);
			public equals(ob: any): boolean;
			public getRawFragment(): string;
			public toURL(): java.net.URL;
			public getPath(): string;
			public toString(): string;
			public resolve(uri: java.net.URI): java.net.URI;
			public isAbsolute(): boolean;
			public constructor(scheme: string, authority: string, path: string, query: string, fragment: string);
			public getPort(): number;
			public normalize(): java.net.URI;
			public constructor(scheme: string, host: string, path: string, fragment: string);
			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 getMessage(): string;
			public constructor(message: string);
			public getIndex(): number;
			public constructor(input: string, reason: string);
			public getInput(): string;
			public getReason(): string;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(input: string, reason: string, index: 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 getUserInfo(): string;
			public getHost(): string;
			public openStream(): java.io.InputStream;
			public constructor(context: java.net.URL, spec: string, handler: java.net.URLStreamHandler);
			public getFile(): string;
			public constructor(protocol: string, host: string, file: string);
			public getAuthority(): string;
			public toExternalForm(): string;
			public getProtocol(): string;
			public constructor(protocol: string, host: string, port: number, file: string);
			public getQuery(): string;
			public openConnection(proxy: java.net.Proxy): java.net.URLConnection;
			public constructor(context: java.net.URL, spec: string);
			public toURI(): java.net.URI;
			public constructor(spec: string);
			public openConnection(): java.net.URLConnection;
			public getDefaultPort(): number;
			public static setURLStreamHandlerFactory(fac: java.net.URLStreamHandlerFactory): void;
			public getRef(): string;
			public getContent(): any;
			public constructor(protocol: string, host: string, port: number, file: string, handler: java.net.URLStreamHandler);
			public getPath(): string;
			public toString(): string;
			public equals(obj: any): boolean;
			public getContent(classes: androidNative.Array<java.lang.Class<any>>): any;
			public getPort(): number;
			public sameFile(other: java.net.URL): boolean;
			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 findResource(name: string): java.net.URL;
			public findClass(name: string): java.lang.Class<any>;
			public constructor(urls: androidNative.Array<java.net.URL>, parent: java.lang.ClassLoader, factory: java.net.URLStreamHandlerFactory);
			public constructor(parent: java.lang.ClassLoader);
			public getURLs(): androidNative.Array<java.net.URL>;
			public constructor();
			public static newInstance(urls: androidNative.Array<java.net.URL>, parent: java.lang.ClassLoader): java.net.URLClassLoader;
			public definePackage(name: string, specTitle: string, specVersion: string, specVendor: string, implTitle: string, implVersion: string, implVendor: string, sealBase: java.net.URL): java.lang.Package;
			public findResources(name: string): java.util.Enumeration<java.net.URL>;
			public getPermissions(codesource: java.security.CodeSource): java.security.PermissionCollection;
			public getResourceAsStream(name: string): java.io.InputStream;
			public definePackage(name: string, man: java.util.jar.Manifest, url: java.net.URL): java.lang.Package;
			public addURL(url: java.net.URL): void;
			public close(): void;
			public constructor(urls: androidNative.Array<java.net.URL>);
			public constructor(urls: androidNative.Array<java.net.URL>, parent: java.lang.ClassLoader);
			public static newInstance(urls: androidNative.Array<java.net.URL>): java.net.URLClassLoader;
		}
	}
}

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;
			/** @deprecated */
			public static getDefaultRequestProperty(key: string): string;
			public setDefaultUseCaches(defaultusecaches: boolean): void;
			public getRequestProperty(key: string): string;
			public getExpiration(): number;
			public getPermission(): java.security.Permission;
			public getDoOutput(): boolean;
			public setReadTimeout(timeout: number): void;
			public getHeaderField(name: string): string;
			public getURL(): java.net.URL;
			public getOutputStream(): java.io.OutputStream;
			public setDoInput(doinput: boolean): void;
			public static getFileNameMap(): java.net.FileNameMap;
			public static setDefaultAllowUserInteraction(defaultallowuserinteraction: boolean): void;
			public getAllowUserInteraction(): boolean;
			public getDefaultUseCaches(): boolean;
			public setAllowUserInteraction(allowuserinteraction: boolean): void;
			public static setContentHandlerFactory(fac: java.net.ContentHandlerFactory): void;
			public setRequestProperty(key: string, value: string): void;
			public getContent(classes: androidNative.Array<java.lang.Class<any>>): any;
			public getContentEncoding(): string;
			public addRequestProperty(key: string, value: string): void;
			public getDate(): number;
			public setDoOutput(dooutput: boolean): void;
			public getLastModified(): number;
			public getHeaderFields(): java.util.Map<string,java.util.List<string>>;
			public setUseCaches(usecaches: boolean): void;
			public getContentLengthLong(): number;
			public constructor(url: java.net.URL);
			public getHeaderFieldKey(n: number): string;
			public getDoInput(): boolean;
			public static guessContentTypeFromName(fname: string): string;
			public static getDefaultAllowUserInteraction(): boolean;
			public getHeaderFieldInt(name: string, Default: number): number;
			public getHeaderFieldLong(name: string, Default: number): number;
			public setIfModifiedSince(ifmodifiedsince: number): void;
			public getContentLength(): number;
			public static guessContentTypeFromStream(is: java.io.InputStream): string;
			public getContentType(): string;
			public getConnectTimeout(): number;
			public getContent(): any;
			public static setFileNameMap(map: java.net.FileNameMap): void;
			public getUseCaches(): boolean;
			public getHeaderField(n: number): string;
			public toString(): string;
			public getInputStream(): java.io.InputStream;
			public getReadTimeout(): number;
			public getIfModifiedSince(): number;
			public getRequestProperties(): java.util.Map<string,java.util.List<string>>;
			public connect(): void;
			public getHeaderFieldDate(name: string, Default: number): number;
			/** @deprecated */
			public static setDefaultRequestProperty(key: string, value: string): void;
			public setConnectTimeout(timeout: number): void;
		}
	}
}

declare module java {
	export module net {
		export class URLDecoder extends java.lang.Object {
			public static class: java.lang.Class<java.net.URLDecoder>;
			public static decode(s: string, enc: string): string;
			public static decode(s: string, charset: java.nio.charset.Charset): string;
			public constructor();
			/** @deprecated */
			public static decode(s: string): string;
		}
	}
}

declare module java {
	export module net {
		export class URLEncoder extends java.lang.Object {
			public static class: java.lang.Class<java.net.URLEncoder>;
			/** @deprecated */
			public static encode(s: string): string;
			public static encode(s: string, enc: string): string;
			public static encode(s: string, charset: java.nio.charset.Charset): 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 sameFile(u1: java.net.URL, u2: java.net.URL): boolean;
			public hashCode(u: java.net.URL): number;
			public equals(u1: java.net.URL, u2: java.net.URL): boolean;
			public openConnection(param0: java.net.URL): java.net.URLConnection;
			public getDefaultPort(): number;
			public getHostAddress(u: java.net.URL): java.net.InetAddress;
			public setURL(u: java.net.URL, protocol: string, host: string, port: number, authority: string, userInfo: string, path: string, query: string, ref: string): void;
			public constructor();
			public parseURL(u: java.net.URL, spec: string, start: number, limit: number): void;
			public hostsEqual(u1: java.net.URL, u2: java.net.URL): boolean;
			public openConnection(u: java.net.URL, p: java.net.Proxy): java.net.URLConnection;
			public equals(obj: any): boolean;
			public toExternalForm(u: java.net.URL): string;
			/** @deprecated */
			public setURL(u: java.net.URL, protocol: string, host: string, port: number, file: string, ref: string): void;
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module net {
		export class UnknownServiceException extends java.io.IOException {
			public static class: java.lang.Class<java.net.UnknownServiceException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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 limit(newLimit: number): java.nio.Buffer;
			public hasRemaining(): boolean;
			public slice(): java.nio.Buffer;
			public duplicate(): 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 slice(param0: number, param1: number): java.nio.Buffer;
			public position(newPosition: number): java.nio.Buffer;
			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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module nio {
		export class BufferUnderflowException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.nio.BufferUnderflowException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 get(dst: androidNative.Array<number>): java.nio.ByteBuffer;
			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 static wrap(array: androidNative.Array<number>, offset: number, length: number): java.nio.ByteBuffer;
			public array(): androidNative.Array<number>;
			public getFloat(param0: number): number;
			public slice(): java.nio.Buffer;
			public compact(): java.nio.ByteBuffer;
			public putFloat(param0: number): java.nio.ByteBuffer;
			public order(): java.nio.ByteOrder;
			public asShortBuffer(): java.nio.ShortBuffer;
			public mark(): java.nio.Buffer;
			public put(param0: number): java.nio.ByteBuffer;
			public putLong(param0: number, param1: number): java.nio.ByteBuffer;
			public slice(param0: number, param1: number): java.nio.Buffer;
			public compareTo(that: java.nio.ByteBuffer): number;
			public get(index: number, dst: androidNative.Array<number>, offset: number, length: number): java.nio.ByteBuffer;
			public static allocate(capacity: number): java.nio.ByteBuffer;
			public alignedSlice(unitSize: number): java.nio.ByteBuffer;
			public getShort(param0: number): number;
			public static allocateDirect(capacity: number): java.nio.ByteBuffer;
			public put(index: number, src: java.nio.ByteBuffer, offset: number, length: number): java.nio.ByteBuffer;
			public arrayOffset(): number;
			public rewind(): java.nio.Buffer;
			public asLongBuffer(): java.nio.LongBuffer;
			public mismatch(that: java.nio.ByteBuffer): number;
			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 duplicate(): java.nio.ByteBuffer;
			public duplicate(): java.nio.Buffer;
			public alignmentOffset(index: number, unitSize: number): number;
			public asCharBuffer(): java.nio.CharBuffer;
			public hasArray(): boolean;
			public asReadOnlyBuffer(): java.nio.ByteBuffer;
			public get(dst: androidNative.Array<number>, offset: number, length: number): java.nio.ByteBuffer;
			public put(src: androidNative.Array<number>): java.nio.ByteBuffer;
			public put(index: number, src: androidNative.Array<number>): java.nio.ByteBuffer;
			public put(param0: number, param1: number): java.nio.ByteBuffer;
			public put(src: androidNative.Array<number>, offset: number, length: number): java.nio.ByteBuffer;
			public position(): number;
			public reset(): java.nio.Buffer;
			public getInt(param0: number): number;
			public putChar(param0: number, param1: string): java.nio.ByteBuffer;
			public slice(param0: number, param1: number): java.nio.ByteBuffer;
			public put(src: java.nio.ByteBuffer): java.nio.ByteBuffer;
			public clear(): java.nio.Buffer;
			public getChar(): string;
			public flip(): java.nio.Buffer;
			public limit(): number;
			public order(bo: java.nio.ByteOrder): java.nio.ByteBuffer;
			public get(index: number, dst: androidNative.Array<number>): java.nio.ByteBuffer;
			public get(param0: number): number;
			public getShort(): number;
			public static wrap(array: androidNative.Array<number>): java.nio.ByteBuffer;
			public getInt(): number;
			public limit(newLimit: number): java.nio.Buffer;
			public getLong(): number;
			public equals(ob: any): boolean;
			public asFloatBuffer(): java.nio.FloatBuffer;
			public getDouble(): number;
			public put(index: number, src: androidNative.Array<number>, offset: number, length: number): java.nio.ByteBuffer;
			public putInt(param0: number): java.nio.ByteBuffer;
			public putShort(param0: number): java.nio.ByteBuffer;
			public toString(): string;
			public getLong(param0: number): number;
			public position(newPosition: number): java.nio.Buffer;
			public asDoubleBuffer(): java.nio.DoubleBuffer;
			public get(): number;
			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(index: number, dst: androidNative.Array<string>, offset: number, length: number): java.nio.CharBuffer;
			public put(src: androidNative.Array<string>, offset: number, length: number): java.nio.CharBuffer;
			public static allocate(capacity: number): java.nio.CharBuffer;
			public isDirect(): boolean;
			public slice(): java.nio.Buffer;
			public order(): java.nio.ByteOrder;
			public asReadOnlyBuffer(): java.nio.CharBuffer;
			public mark(): java.nio.Buffer;
			public subSequence(param0: number, param1: number): java.nio.CharBuffer;
			public static wrap(array: androidNative.Array<string>): java.nio.CharBuffer;
			public slice(param0: number, param1: number): java.nio.Buffer;
			public subSequence(param0: number, param1: number): string;
			public static wrap(array: androidNative.Array<string>, offset: number, length: number): java.nio.CharBuffer;
			public append(csq: string, start: number, end: number): java.nio.CharBuffer;
			public arrayOffset(): number;
			public rewind(): java.nio.Buffer;
			public put(src: androidNative.Array<string>): java.nio.CharBuffer;
			public static wrap(csq: string): java.nio.CharBuffer;
			public array(): any;
			public compact(): java.nio.CharBuffer;
			public charAt(index: number): string;
			public compareTo(that: java.nio.CharBuffer): number;
			public put(index: number, src: java.nio.CharBuffer, offset: number, length: number): java.nio.CharBuffer;
			public get(): string;
			public put(param0: number, param1: string): java.nio.CharBuffer;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public duplicate(): java.nio.Buffer;
			public put(src: java.nio.CharBuffer): java.nio.CharBuffer;
			public hasArray(): boolean;
			public mismatch(that: java.nio.CharBuffer): number;
			public charAt(param0: number): string;
			public append(csq: string): java.nio.CharBuffer;
			public read(target: java.nio.CharBuffer): number;
			public position(): number;
			public reset(): java.nio.Buffer;
			public get(dst: androidNative.Array<string>): java.nio.CharBuffer;
			public static compare(cs1: string, cs2: string): number;
			public put(src: string, start: number, end: number): java.nio.CharBuffer;
			public put(index: number, src: androidNative.Array<string>): java.nio.CharBuffer;
			public clear(): java.nio.Buffer;
			public flip(): java.nio.Buffer;
			public limit(): number;
			public slice(): java.nio.CharBuffer;
			public duplicate(): java.nio.CharBuffer;
			public read(param0: java.nio.CharBuffer): number;
			public get(dst: androidNative.Array<string>, offset: number, length: number): java.nio.CharBuffer;
			public static wrap(csq: string, start: number, end: number): java.nio.CharBuffer;
			public get(index: number, dst: androidNative.Array<string>): java.nio.CharBuffer;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public put(src: string): java.nio.CharBuffer;
			public isEmpty(): boolean;
			public limit(newLimit: number): java.nio.Buffer;
			public length(): number;
			public equals(ob: any): boolean;
			public put(index: number, src: androidNative.Array<string>, offset: number, length: number): java.nio.CharBuffer;
			public append(c: string): java.nio.CharBuffer;
			public slice(param0: number, param1: number): java.nio.CharBuffer;
			public get(param0: number): string;
			public toString(): string;
			public put(param0: string): java.nio.CharBuffer;
			public position(newPosition: number): java.nio.Buffer;
			public array(): androidNative.Array<string>;
			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 put(param0: number, param1: number): java.nio.DoubleBuffer;
			public put(index: number, src: androidNative.Array<number>): java.nio.DoubleBuffer;
			public isDirect(): boolean;
			public array(): androidNative.Array<number>;
			public slice(): java.nio.Buffer;
			public get(index: number, dst: androidNative.Array<number>): java.nio.DoubleBuffer;
			public order(): java.nio.ByteOrder;
			public put(index: number, src: androidNative.Array<number>, offset: number, length: number): java.nio.DoubleBuffer;
			public clear(): java.nio.Buffer;
			public put(src: androidNative.Array<number>): java.nio.DoubleBuffer;
			public mark(): java.nio.Buffer;
			public flip(): java.nio.Buffer;
			public limit(): number;
			public static allocate(capacity: number): java.nio.DoubleBuffer;
			public slice(param0: number, param1: number): java.nio.Buffer;
			public static wrap(array: androidNative.Array<number>, offset: number, length: number): java.nio.DoubleBuffer;
			public slice(param0: number, param1: number): java.nio.DoubleBuffer;
			public put(index: number, src: java.nio.DoubleBuffer, offset: number, length: number): java.nio.DoubleBuffer;
			public put(param0: number): java.nio.DoubleBuffer;
			public get(param0: number): number;
			public arrayOffset(): number;
			public rewind(): java.nio.Buffer;
			public slice(): java.nio.DoubleBuffer;
			public put(src: androidNative.Array<number>, offset: number, length: number): java.nio.DoubleBuffer;
			public compact(): java.nio.DoubleBuffer;
			public put(src: java.nio.DoubleBuffer): java.nio.DoubleBuffer;
			public array(): any;
			public compareTo(that: java.nio.DoubleBuffer): number;
			public static wrap(array: androidNative.Array<number>): java.nio.DoubleBuffer;
			public duplicate(): java.nio.DoubleBuffer;
			public limit(newLimit: number): java.nio.Buffer;
			public get(dst: androidNative.Array<number>, offset: number, length: number): java.nio.DoubleBuffer;
			public equals(ob: any): boolean;
			public duplicate(): java.nio.Buffer;
			public hasArray(): boolean;
			public get(dst: androidNative.Array<number>): java.nio.DoubleBuffer;
			public toString(): string;
			public position(newPosition: number): java.nio.Buffer;
			public get(index: number, dst: androidNative.Array<number>, offset: number, length: number): java.nio.DoubleBuffer;
			public mismatch(that: java.nio.DoubleBuffer): number;
			public get(): number;
			public position(): number;
			public reset(): java.nio.Buffer;
			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 isDirect(): boolean;
			public compareTo(that: java.nio.FloatBuffer): number;
			public array(): androidNative.Array<number>;
			public slice(): java.nio.Buffer;
			public order(): java.nio.ByteOrder;
			public clear(): java.nio.Buffer;
			public mark(): java.nio.Buffer;
			public flip(): java.nio.Buffer;
			public get(dst: androidNative.Array<number>, offset: number, length: number): java.nio.FloatBuffer;
			public put(index: number, src: androidNative.Array<number>): java.nio.FloatBuffer;
			public limit(): number;
			public slice(param0: number, param1: number): java.nio.Buffer;
			public slice(param0: number, param1: number): java.nio.FloatBuffer;
			public get(index: number, dst: androidNative.Array<number>): java.nio.FloatBuffer;
			public put(src: androidNative.Array<number>): java.nio.FloatBuffer;
			public get(param0: number): number;
			public get(index: number, dst: androidNative.Array<number>, offset: number, length: number): java.nio.FloatBuffer;
			public put(index: number, src: java.nio.FloatBuffer, offset: number, length: number): java.nio.FloatBuffer;
			public put(src: androidNative.Array<number>, offset: number, length: number): java.nio.FloatBuffer;
			public put(param0: number, param1: number): java.nio.FloatBuffer;
			public arrayOffset(): number;
			public rewind(): java.nio.Buffer;
			public array(): any;
			public static allocate(capacity: number): java.nio.FloatBuffer;
			public limit(newLimit: number): java.nio.Buffer;
			public duplicate(): java.nio.FloatBuffer;
			public equals(ob: any): boolean;
			public compact(): java.nio.FloatBuffer;
			public asReadOnlyBuffer(): java.nio.FloatBuffer;
			public slice(): java.nio.FloatBuffer;
			public duplicate(): java.nio.Buffer;
			public put(src: java.nio.FloatBuffer): java.nio.FloatBuffer;
			public hasArray(): boolean;
			public toString(): string;
			public get(dst: androidNative.Array<number>): java.nio.FloatBuffer;
			public static wrap(array: androidNative.Array<number>): java.nio.FloatBuffer;
			public position(newPosition: number): java.nio.Buffer;
			public put(param0: number): java.nio.FloatBuffer;
			public put(index: number, src: androidNative.Array<number>, offset: number, length: number): java.nio.FloatBuffer;
			public get(): number;
			public position(): number;
			public reset(): java.nio.Buffer;
			public mismatch(that: java.nio.FloatBuffer): number;
			public static wrap(array: androidNative.Array<number>, offset: number, length: number): java.nio.FloatBuffer;
			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 put(src: androidNative.Array<number>): java.nio.IntBuffer;
			public get(index: number, dst: androidNative.Array<number>): java.nio.IntBuffer;
			public isDirect(): boolean;
			public static wrap(array: androidNative.Array<number>): java.nio.IntBuffer;
			public get(index: number, dst: androidNative.Array<number>, offset: number, length: number): java.nio.IntBuffer;
			public array(): androidNative.Array<number>;
			public slice(): java.nio.Buffer;
			public slice(): java.nio.IntBuffer;
			public order(): java.nio.ByteOrder;
			public clear(): java.nio.Buffer;
			public put(index: number, src: androidNative.Array<number>, offset: number, length: number): java.nio.IntBuffer;
			public duplicate(): java.nio.IntBuffer;
			public mark(): java.nio.Buffer;
			public flip(): java.nio.Buffer;
			public limit(): number;
			public slice(param0: number, param1: number): java.nio.Buffer;
			public put(src: androidNative.Array<number>, offset: number, length: number): java.nio.IntBuffer;
			public compact(): java.nio.IntBuffer;
			public put(src: java.nio.IntBuffer): java.nio.IntBuffer;
			public get(dst: androidNative.Array<number>): java.nio.IntBuffer;
			public get(param0: number): number;
			public put(param0: number): java.nio.IntBuffer;
			public arrayOffset(): number;
			public rewind(): java.nio.Buffer;
			public put(index: number, src: java.nio.IntBuffer, offset: number, length: number): java.nio.IntBuffer;
			public mismatch(that: java.nio.IntBuffer): number;
			public array(): any;
			public limit(newLimit: number): java.nio.Buffer;
			public equals(ob: any): boolean;
			public duplicate(): java.nio.Buffer;
			public hasArray(): boolean;
			public slice(param0: number, param1: number): java.nio.IntBuffer;
			public toString(): string;
			public position(newPosition: number): java.nio.Buffer;
			public compareTo(that: java.nio.IntBuffer): number;
			public get(dst: androidNative.Array<number>, offset: number, length: number): java.nio.IntBuffer;
			public put(index: number, src: androidNative.Array<number>): java.nio.IntBuffer;
			public static wrap(array: androidNative.Array<number>, offset: number, length: number): java.nio.IntBuffer;
			public get(): number;
			public put(param0: number, param1: number): java.nio.IntBuffer;
			public position(): number;
			public reset(): java.nio.Buffer;
			public static allocate(capacity: 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(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 put(src: androidNative.Array<number>, offset: number, length: number): java.nio.LongBuffer;
			public get(index: number, dst: androidNative.Array<number>, offset: number, length: number): java.nio.LongBuffer;
			public asReadOnlyBuffer(): java.nio.LongBuffer;
			public put(param0: number): java.nio.LongBuffer;
			public isDirect(): boolean;
			public array(): androidNative.Array<number>;
			public mismatch(that: java.nio.LongBuffer): number;
			public slice(): java.nio.Buffer;
			public get(dst: androidNative.Array<number>, offset: number, length: number): java.nio.LongBuffer;
			public order(): java.nio.ByteOrder;
			public static allocate(capacity: number): java.nio.LongBuffer;
			public clear(): java.nio.Buffer;
			public static wrap(array: androidNative.Array<number>): java.nio.LongBuffer;
			public mark(): java.nio.Buffer;
			public flip(): java.nio.Buffer;
			public limit(): number;
			public slice(param0: number, param1: number): java.nio.Buffer;
			public slice(): java.nio.LongBuffer;
			public get(param0: number): number;
			public get(index: number, dst: androidNative.Array<number>): java.nio.LongBuffer;
			public arrayOffset(): number;
			public rewind(): java.nio.Buffer;
			public array(): any;
			public limit(newLimit: number): java.nio.Buffer;
			public equals(ob: any): boolean;
			public put(src: java.nio.LongBuffer): java.nio.LongBuffer;
			public put(index: number, src: androidNative.Array<number>): java.nio.LongBuffer;
			public duplicate(): java.nio.Buffer;
			public put(index: number, src: androidNative.Array<number>, offset: number, length: number): java.nio.LongBuffer;
			public duplicate(): java.nio.LongBuffer;
			public compact(): java.nio.LongBuffer;
			public hasArray(): boolean;
			public compareTo(that: java.nio.LongBuffer): number;
			public static wrap(array: androidNative.Array<number>, offset: number, length: number): java.nio.LongBuffer;
			public toString(): string;
			public position(newPosition: number): java.nio.Buffer;
			public put(param0: number, param1: number): java.nio.LongBuffer;
			public put(src: androidNative.Array<number>): java.nio.LongBuffer;
			public get(): number;
			public position(): number;
			public reset(): java.nio.Buffer;
			public slice(param0: number, param1: number): java.nio.LongBuffer;
			public put(index: number, src: java.nio.LongBuffer, offset: number, length: number): java.nio.LongBuffer;
			public get(dst: androidNative.Array<number>): java.nio.LongBuffer;
			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 slice(): java.nio.ByteBuffer;
			public slice(param0: number, param1: number): java.nio.ByteBuffer;
			public force(): java.nio.MappedByteBuffer;
			public limit(newLimit: number): java.nio.Buffer;
			public slice(): java.nio.Buffer;
			public duplicate(): java.nio.ByteBuffer;
			public compact(): java.nio.ByteBuffer;
			public duplicate(): java.nio.Buffer;
			public force(index: number, length: number): java.nio.MappedByteBuffer;
			public clear(): java.nio.Buffer;
			public mark(): java.nio.Buffer;
			public flip(): java.nio.Buffer;
			public limit(): number;
			public slice(param0: number, param1: number): java.nio.Buffer;
			public load(): java.nio.MappedByteBuffer;
			public position(newPosition: number): java.nio.Buffer;
			public slice(param0: number, param1: number): java.nio.MappedByteBuffer;
			public position(): number;
			public reset(): java.nio.Buffer;
			public isLoaded(): boolean;
			public rewind(): java.nio.Buffer;
		}
	}
}

declare module java {
	export module nio {
		export class ReadOnlyBufferException extends java.lang.UnsupportedOperationException {
			public static class: java.lang.Class<java.nio.ReadOnlyBufferException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 put(src: androidNative.Array<number>, offset: number, length: number): java.nio.ShortBuffer;
			public isDirect(): boolean;
			public duplicate(): java.nio.ShortBuffer;
			public array(): androidNative.Array<number>;
			public asReadOnlyBuffer(): java.nio.ShortBuffer;
			public slice(): java.nio.Buffer;
			public order(): java.nio.ByteOrder;
			public slice(param0: number, param1: number): java.nio.ShortBuffer;
			public clear(): java.nio.Buffer;
			public mark(): java.nio.Buffer;
			public flip(): java.nio.Buffer;
			public limit(): number;
			public slice(param0: number, param1: number): java.nio.Buffer;
			public slice(): java.nio.ShortBuffer;
			public static wrap(array: androidNative.Array<number>): java.nio.ShortBuffer;
			public put(src: java.nio.ShortBuffer): java.nio.ShortBuffer;
			public static wrap(array: androidNative.Array<number>, offset: number, length: number): java.nio.ShortBuffer;
			public put(param0: number): java.nio.ShortBuffer;
			public get(param0: number): number;
			public put(index: number, src: androidNative.Array<number>, offset: number, length: number): java.nio.ShortBuffer;
			public arrayOffset(): number;
			public rewind(): java.nio.Buffer;
			public array(): any;
			public put(index: number, src: java.nio.ShortBuffer, offset: number, length: number): java.nio.ShortBuffer;
			public limit(newLimit: number): java.nio.Buffer;
			public equals(ob: any): boolean;
			public get(dst: androidNative.Array<number>): java.nio.ShortBuffer;
			public duplicate(): java.nio.Buffer;
			public mismatch(that: java.nio.ShortBuffer): number;
			public hasArray(): boolean;
			public put(param0: number, param1: number): java.nio.ShortBuffer;
			public get(index: number, dst: androidNative.Array<number>): java.nio.ShortBuffer;
			public toString(): string;
			public position(newPosition: number): java.nio.Buffer;
			public get(dst: androidNative.Array<number>, offset: number, length: number): java.nio.ShortBuffer;
			public put(index: number, src: androidNative.Array<number>): java.nio.ShortBuffer;
			public compact(): java.nio.ShortBuffer;
			public static allocate(capacity: number): java.nio.ShortBuffer;
			public put(src: androidNative.Array<number>): java.nio.ShortBuffer;
			public get(index: number, dst: androidNative.Array<number>, offset: number, length: number): java.nio.ShortBuffer;
			public compareTo(that: java.nio.ShortBuffer): number;
			public get(): number;
			public position(): number;
			public reset(): java.nio.Buffer;
			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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 static withFixedThreadPool(nThreads: number, threadFactory: java.util.concurrent.ThreadFactory): java.nio.channels.AsynchronousChannelGroup;
				public isTerminated(): boolean;
				public shutdownNow(): void;
				public constructor(provider: java.nio.channels.spi.AsynchronousChannelProvider);
				public isShutdown(): boolean;
				public static withThreadPool(executor: java.util.concurrent.ExecutorService): java.nio.channels.AsynchronousChannelGroup;
				public static withCachedThreadPool(executor: java.util.concurrent.ExecutorService, initialSize: number): java.nio.channels.AsynchronousChannelGroup;
				public provider(): 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 static open(file: java.nio.file.Path, options: androidNative.Array<java.nio.file.OpenOption>): java.nio.channels.AsynchronousFileChannel;
				public force(param0: boolean): void;
				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 static open(file: java.nio.file.Path, options: java.util.Set<any>, executor: java.util.concurrent.ExecutorService, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.AsynchronousFileChannel;
				public lock(attachment: any, handler: java.nio.channels.CompletionHandler<any,any>): void;
				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 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(local: 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(group: java.nio.channels.AsynchronousChannelGroup): java.nio.channels.AsynchronousServerSocketChannel;
				public constructor(provider: java.nio.channels.spi.AsynchronousChannelProvider);
				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;
			}
		}
	}
}

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 read(dst: java.nio.ByteBuffer, attachment: any, handler: java.nio.channels.CompletionHandler<any,any>): void;
				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 static open(group: java.nio.channels.AsynchronousChannelGroup): java.nio.channels.AsynchronousSocketChannel;
				public write(src: java.nio.ByteBuffer, attachment: any, handler: java.nio.channels.CompletionHandler<any,any>): void;
				public read(param0: java.nio.ByteBuffer): java.util.concurrent.Future<java.lang.Integer>;
				public read(param0: java.nio.ByteBuffer, param1: any, param2: java.nio.channels.CompletionHandler<any,any>): void;
				public constructor(provider: java.nio.channels.spi.AsynchronousChannelProvider);
				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 shutdownOutput(): java.nio.channels.AsynchronousSocketChannel;
				public close(): void;
				public write(param0: androidNative.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): java.util.concurrent.Future<java.lang.Integer>;
				public provider(): java.nio.channels.spi.AsynchronousChannelProvider;
				public static open(): java.nio.channels.AsynchronousSocketChannel;
				public read(param0: androidNative.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 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;
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 newReader(ch: java.nio.channels.ReadableByteChannel, csName: string): java.io.Reader;
				public static newOutputStream(ch: java.nio.channels.WritableByteChannel): java.io.OutputStream;
				public static newOutputStream(ch: java.nio.channels.AsynchronousByteChannel): java.io.OutputStream;
				public static newInputStream(ch: java.nio.channels.AsynchronousByteChannel): java.io.InputStream;
				public static newChannel(in_: java.io.InputStream): java.nio.channels.ReadableByteChannel;
				public static newChannel(out: java.io.OutputStream): java.nio.channels.WritableByteChannel;
				public static newWriter(ch: java.nio.channels.WritableByteChannel, enc: java.nio.charset.CharsetEncoder, minBufferCap: number): java.io.Writer;
				public static newWriter(ch: java.nio.channels.WritableByteChannel, csName: string): java.io.Writer;
				public static newWriter(ch: java.nio.channels.WritableByteChannel, charset: java.nio.charset.Charset): java.io.Writer;
				public static newReader(ch: java.nio.channels.ReadableByteChannel, dec: java.nio.charset.CharsetDecoder, minBufferCap: number): java.io.Reader;
				public static newInputStream(ch: java.nio.channels.ReadableByteChannel): java.io.InputStream;
				public static newReader(ch: java.nio.channels.ReadableByteChannel, charset: java.nio.charset.Charset): 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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: androidNative.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 receive(param0: java.nio.ByteBuffer): java.net.SocketAddress;
				public connect(param0: java.net.SocketAddress): java.nio.channels.DatagramChannel;
				public constructor();
				public isConnected(): boolean;
				public write(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public static open(family: java.net.ProtocolFamily): java.nio.channels.DatagramChannel;
				public write(srcs: androidNative.Array<java.nio.ByteBuffer>): 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 read(dsts: androidNative.Array<java.nio.ByteBuffer>): number;
				public bind(param0: java.net.SocketAddress): java.nio.channels.DatagramChannel;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.DatagramChannel;
				public write(param0: androidNative.Array<java.nio.ByteBuffer>): number;
				public getOption(param0: java.net.SocketOption<any>): any;
				public constructor(provider: java.nio.channels.spi.SelectorProvider);
				public static open(): java.nio.channels.DatagramChannel;
				public read(param0: 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 send(param0: java.nio.ByteBuffer, param1: java.net.SocketAddress): number;
				public read(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): 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 static open(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.OpenOption>): java.nio.channels.FileChannel;
				public read(param0: androidNative.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 force(param0: boolean): void;
				public lock(param0: number, param1: number, param2: boolean): java.nio.channels.FileLock;
				public constructor();
				public static open(path: java.nio.file.Path, options: java.util.Set<any>, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.FileChannel;
				public position(): number;
				public position(param0: number): java.nio.channels.FileChannel;
				public write(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public transferFrom(param0: java.nio.channels.ReadableByteChannel, param1: number, param2: number): number;
				public write(srcs: androidNative.Array<java.nio.ByteBuffer>): number;
				public close(): void;
				public read(dsts: androidNative.Array<java.nio.ByteBuffer>): number;
				public transferTo(param0: number, param1: number, param2: java.nio.channels.WritableByteChannel): number;
				public write(param0: androidNative.Array<java.nio.ByteBuffer>): number;
				public size(): number;
				public lock(): java.nio.channels.FileLock;
				public tryLock(): java.nio.channels.FileLock;
				public read(param0: 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 tryLock(param0: number, param1: number, param2: boolean): java.nio.channels.FileLock;
				public position(param0: number): java.nio.channels.SeekableByteChannel;
				public read(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
			}
			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 position(): number;
				public isShared(): boolean;
				public close(): void;
				public release(): void;
				public overlaps(position: number, size: number): boolean;
				public constructor(channel: java.nio.channels.FileChannel, position: number, size: number, shared: boolean);
				public acquiredBy(): java.nio.channels.Channel;
				public constructor(channel: java.nio.channels.AsynchronousFileChannel, position: number, size: number, shared: 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
					write(param0: androidNative.Array<java.nio.ByteBuffer>): number;
					write(param0: java.nio.ByteBuffer): number;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public write(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public close(): void;
				public write(param0: java.nio.ByteBuffer): number;
				public isOpen(): boolean;
				public write(param0: androidNative.Array<java.nio.ByteBuffer>): 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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 validOps(): number;
					public write(param0: java.nio.ByteBuffer): number;
					public isOpen(): boolean;
					public write(param0: androidNative.Array<java.nio.ByteBuffer>): number;
					public constructor();
					public close(): void;
					public write(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
					public constructor(provider: java.nio.channels.spi.SelectorProvider);
				}
				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 validOps(): number;
					public isOpen(): boolean;
					public constructor();
					public read(param0: java.nio.ByteBuffer): number;
					public close(): void;
					public constructor(provider: java.nio.channels.spi.SelectorProvider);
					public read(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
					public read(param0: androidNative.Array<java.nio.ByteBuffer>): 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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
					read(param0: androidNative.Array<java.nio.ByteBuffer>): number;
					read(param0: java.nio.ByteBuffer): number;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public read(param0: androidNative.Array<java.nio.ByteBuffer>): number;
				public close(): void;
				public read(param0: java.nio.ByteBuffer): number;
				public isOpen(): boolean;
				public read(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
			}
		}
	}
}

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 register(sel: java.nio.channels.Selector, ops: number): java.nio.channels.SelectionKey;
				public isRegistered(): boolean;
				public constructor();
			}
		}
	}
}

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: 16;
				public static OP_CONNECT: 8;
				public static OP_READ: 1;
				public static OP_WRITE: 4;
				public isConnectable(): boolean;
				public interestOpsOr(ops: number): number;
				public isValid(): boolean;
				public isReadable(): boolean;
				public attach(ob: any): any;
				public constructor();
				public interestOpsAnd(ops: number): number;
				public isAcceptable(): boolean;
				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 select(action: any /* any*/): number;
				public close(): void;
				public select(): number;
				public wakeup(): java.nio.channels.Selector;
				public selectNow(action: any /* any*/): number;
				public static open(): java.nio.channels.Selector;
				public select(param0: number): number;
				public constructor();
				public select(action: any /* any*/, timeout: number): number;
				public isOpen(): boolean;
				public selectedKeys(): java.util.Set<java.nio.channels.SelectionKey>;
				public keys(): java.util.Set<java.nio.channels.SelectionKey>;
				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 bind(local: java.net.SocketAddress): java.nio.channels.ServerSocketChannel;
				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 constructor(provider: java.nio.channels.spi.SelectorProvider);
				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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 read(param0: androidNative.Array<java.nio.ByteBuffer>): number;
				public isConnectionPending(): boolean;
				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 static open(remote: java.net.SocketAddress): java.nio.channels.SocketChannel;
				public bind(param0: java.net.SocketAddress): java.nio.channels.SocketChannel;
				public socket(): java.net.Socket;
				public constructor();
				public isConnected(): boolean;
				public write(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public write(srcs: androidNative.Array<java.nio.ByteBuffer>): number;
				public close(): void;
				public read(dsts: androidNative.Array<java.nio.ByteBuffer>): number;
				public connect(param0: java.net.SocketAddress): boolean;
				public shutdownOutput(): java.nio.channels.SocketChannel;
				public finishConnect(): boolean;
				public write(param0: androidNative.Array<java.nio.ByteBuffer>): number;
				public static open(): java.nio.channels.SocketChannel;
				public getOption(param0: java.net.SocketOption<any>): any;
				public constructor(provider: java.nio.channels.spi.SelectorProvider);
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.SocketChannel;
				public read(param0: 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 read(param0: androidNative.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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 end(completed: boolean): void;
					public begin(): void;
					public isOpen(): boolean;
					public constructor();
					public close(): void;
					public implCloseChannel(): 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 keyFor(sel: java.nio.channels.Selector): java.nio.channels.SelectionKey;
					public provider(): java.nio.channels.spi.SelectorProvider;
					public register(sel: java.nio.channels.Selector, ops: number): java.nio.channels.SelectionKey;
					public constructor(provider: java.nio.channels.spi.SelectorProvider);
					public register(sel: java.nio.channels.Selector, ops: number, att: any): java.nio.channels.SelectionKey;
					public implCloseSelectableChannel(): void;
					public isBlocking(): boolean;
					public isOpen(): boolean;
					public constructor();
					public configureBlocking(block: boolean): java.nio.channels.SelectableChannel;
					public close(): void;
					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 deregister(key: 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 constructor(provider: java.nio.channels.spi.SelectorProvider);
					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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 newDecoder(): java.nio.charset.CharsetDecoder;
				public compareTo(that: java.nio.charset.Charset): number;
				public encode(cb: java.nio.CharBuffer): java.nio.ByteBuffer;
				public encode(str: string): java.nio.ByteBuffer;
				public canEncode(): boolean;
				public isRegistered(): boolean;
				public toString(): string;
				public static defaultCharset(): java.nio.charset.Charset;
				public static isSupported(charsetName: string): boolean;
				public name(): string;
				public hashCode(): number;
				public displayName(locale: java.util.Locale): string;
				public static availableCharsets(): java.util.SortedMap<string,java.nio.charset.Charset>;
				public static forName(charsetName: string): java.nio.charset.Charset;
				public equals(ob: any): boolean;
				public aliases(): java.util.Set<string>;
				public contains(param0: java.nio.charset.Charset): boolean;
				public constructor(canonicalName: string, aliases: androidNative.Array<string>);
				public newEncoder(): java.nio.charset.CharsetEncoder;
				public decode(bb: java.nio.ByteBuffer): java.nio.CharBuffer;
			}
		}
	}
}

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 detectedCharset(): java.nio.charset.Charset;
				public decode(in_: java.nio.ByteBuffer): java.nio.CharBuffer;
				public reset(): java.nio.charset.CharsetDecoder;
				public constructor(cs: java.nio.charset.Charset, averageCharsPerByte: number, maxCharsPerByte: number);
				public implOnUnmappableCharacter(newAction: java.nio.charset.CodingErrorAction): void;
				public averageCharsPerByte(): number;
				public implFlush(out: java.nio.CharBuffer): java.nio.charset.CoderResult;
				public flush(out: 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 implReplaceWith(newReplacement: string): void;
				public onUnmappableCharacter(newAction: java.nio.charset.CodingErrorAction): java.nio.charset.CharsetDecoder;
				public malformedInputAction(): java.nio.charset.CodingErrorAction;
				public maxCharsPerByte(): number;
				public isCharsetDetected(): boolean;
				public onMalformedInput(newAction: java.nio.charset.CodingErrorAction): java.nio.charset.CharsetDecoder;
				public replaceWith(newReplacement: string): java.nio.charset.CharsetDecoder;
				public unmappableCharacterAction(): java.nio.charset.CodingErrorAction;
				public decode(in_: java.nio.ByteBuffer, out: java.nio.CharBuffer, endOfInput: boolean): java.nio.charset.CoderResult;
				public implReset(): void;
				public implOnMalformedInput(newAction: java.nio.charset.CodingErrorAction): void;
			}
		}
	}
}

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(in_: java.nio.CharBuffer): java.nio.ByteBuffer;
				public implFlush(out: java.nio.ByteBuffer): java.nio.charset.CoderResult;
				public onUnmappableCharacter(newAction: java.nio.charset.CodingErrorAction): java.nio.charset.CharsetEncoder;
				public flush(out: java.nio.ByteBuffer): java.nio.charset.CoderResult;
				public isLegalReplacement(repl: androidNative.Array<number>): boolean;
				public replacement(): androidNative.Array<number>;
				public constructor(cs: java.nio.charset.Charset, averageBytesPerChar: number, maxBytesPerChar: number);
				public implOnUnmappableCharacter(newAction: java.nio.charset.CodingErrorAction): void;
				public maxBytesPerChar(): number;
				public averageBytesPerChar(): number;
				public replaceWith(newReplacement: androidNative.Array<number>): java.nio.charset.CharsetEncoder;
				public encode(in_: java.nio.CharBuffer, out: java.nio.ByteBuffer, endOfInput: boolean): java.nio.charset.CoderResult;
				public encodeLoop(param0: java.nio.CharBuffer, param1: java.nio.ByteBuffer): java.nio.charset.CoderResult;
				public implReplaceWith(newReplacement: androidNative.Array<number>): void;
				public charset(): java.nio.charset.Charset;
				public canEncode(cs: string): boolean;
				public reset(): java.nio.charset.CharsetEncoder;
				public canEncode(c: string): boolean;
				public constructor(cs: java.nio.charset.Charset, averageBytesPerChar: number, maxBytesPerChar: number, replacement: androidNative.Array<number>);
				public malformedInputAction(): java.nio.charset.CodingErrorAction;
				public onMalformedInput(newAction: java.nio.charset.CodingErrorAction): java.nio.charset.CharsetEncoder;
				public unmappableCharacterAction(): java.nio.charset.CodingErrorAction;
				public implReset(): void;
				public implOnMalformedInput(newAction: java.nio.charset.CodingErrorAction): void;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
				public constructor(cause: java.lang.Exception);
			}
		}
	}
}

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 static unmappableForLength(length: number): java.nio.charset.CoderResult;
				public isError(): boolean;
				public isOverflow(): boolean;
				public length(): number;
				public throwException(): void;
				public isUnderflow(): boolean;
				public toString(): string;
				public static malformedForLength(length: 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 constructor(cause: java.lang.Throwable);
				public getCharsetName(): string;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(charsetName: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(inputLength: number);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getInputLength(): number;
				public getMessage(): string;
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(inputLength: number);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getInputLength(): number;
				public getMessage(): string;
				public constructor();
			}
		}
	}
}

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 constructor(cause: java.lang.Throwable);
				public getCharsetName(): string;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(charsetName: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(file: string, other: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(file: string);
				public constructor();
			}
		}
	}
}

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(): androidNative.Array<java.nio.file.AccessMode>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.nio.file.AccessMode;
			}
		}
	}
}

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(source: string, target: string, reason: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(file: string);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 constructor(cause: java.lang.Throwable);
				public constructor(cause: java.io.IOException);
				public getCause(): java.io.IOException;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getCause(): java.lang.Throwable;
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(file: string, other: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(dir: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(action: 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(action: 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(cause: java.lang.Throwable);
				public constructor(file: string, other: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(file: string);
				public constructor();
			}
		}
	}
}

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();
				public getBlockSize(): number;
			}
		}
	}
}

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 getPath(param0: string, param1: androidNative.Array<string>): java.nio.file.Path;
				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 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 constructor(cause: java.lang.Throwable);
				public getOtherFile(): string;
				public getReason(): string;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(file: string, other: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getFile(): string;
				public getMessage(): string;
				public constructor(file: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(file: string, other: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(file: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(path: java.nio.file.Path, loader: java.lang.ClassLoader): java.nio.file.FileSystem;
				public static getDefault(): java.nio.file.FileSystem;
				public static getFileSystem(uri: java.net.URI): java.nio.file.FileSystem;
				public static newFileSystem(uri: java.net.URI, env: java.util.Map<string,any>): java.nio.file.FileSystem;
				public static newFileSystem(uri: java.net.URI, env: java.util.Map<string,any>, loader: 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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<java.nio.file.FileVisitOption>;
				public static valueOf(name: string): java.nio.file.FileVisitOption;
			}
		}
	}
}

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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.nio.file.FileVisitResult;
				public static values(): androidNative.Array<java.nio.file.FileVisitResult>;
			}
		}
	}
}

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 getOwner(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.attribute.UserPrincipal;
				public static createLink(link: java.nio.file.Path, existing: java.nio.file.Path): java.nio.file.Path;
				public static walkFileTree(start: java.nio.file.Path, visitor: java.nio.file.FileVisitor<any>): java.nio.file.Path;
				public static getFileStore(path: java.nio.file.Path): java.nio.file.FileStore;
				public static newInputStream(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.OpenOption>): java.io.InputStream;
				public static newByteChannel(path: java.nio.file.Path, options: java.util.Set<any>, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.SeekableByteChannel;
				public static copy(source: java.nio.file.Path, target: java.nio.file.Path, options: androidNative.Array<java.nio.file.CopyOption>): java.nio.file.Path;
				public static getPosixFilePermissions(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.LinkOption>): java.util.Set<java.nio.file.attribute.PosixFilePermission>;
				public static newBufferedWriter(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.OpenOption>): java.io.BufferedWriter;
				public static newBufferedReader(path: java.nio.file.Path): java.io.BufferedReader;
				public static walk(start: java.nio.file.Path, options: androidNative.Array<java.nio.file.FileVisitOption>): java.util.stream.Stream<java.nio.file.Path>;
				public static createFile(path: java.nio.file.Path, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static isExecutable(path: java.nio.file.Path): boolean;
				public static setAttribute(path: java.nio.file.Path, attribute: string, value: any, options: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.Path;
				public static isWritable(path: java.nio.file.Path): boolean;
				public static isDirectory(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.LinkOption>): boolean;
				public static walkFileTree(start: java.nio.file.Path, options: java.util.Set<java.nio.file.FileVisitOption>, maxDepth: number, visitor: java.nio.file.FileVisitor<any>): java.nio.file.Path;
				public static setOwner(path: java.nio.file.Path, owner: java.nio.file.attribute.UserPrincipal): java.nio.file.Path;
				public static list(dir: java.nio.file.Path): java.util.stream.Stream<java.nio.file.Path>;
				public static newDirectoryStream(dir: java.nio.file.Path, filter: java.nio.file.DirectoryStream.Filter<any>): java.nio.file.DirectoryStream<java.nio.file.Path>;
				public static isReadable(path: java.nio.file.Path): boolean;
				public static isSameFile(path: java.nio.file.Path, path2: java.nio.file.Path): boolean;
				public static write(path: java.nio.file.Path, lines: java.lang.Iterable<any>, options: androidNative.Array<java.nio.file.OpenOption>): java.nio.file.Path;
				public static setLastModifiedTime(path: java.nio.file.Path, time: java.nio.file.attribute.FileTime): java.nio.file.Path;
				public static newDirectoryStream(dir: java.nio.file.Path, glob: string): java.nio.file.DirectoryStream<java.nio.file.Path>;
				public static readAllLines(path: java.nio.file.Path, cs: java.nio.charset.Charset): java.util.List<string>;
				public static write(path: java.nio.file.Path, bytes: androidNative.Array<number>, options: androidNative.Array<java.nio.file.OpenOption>): java.nio.file.Path;
				public static size(path: java.nio.file.Path): number;
				public static newDirectoryStream(dir: java.nio.file.Path): java.nio.file.DirectoryStream<java.nio.file.Path>;
				public static copy(in_: java.io.InputStream, target: java.nio.file.Path, options: androidNative.Array<java.nio.file.CopyOption>): number;
				public static isHidden(path: java.nio.file.Path): boolean;
				public static exists(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.LinkOption>): boolean;
				public static delete(path: java.nio.file.Path): void;
				public static newBufferedWriter(path: java.nio.file.Path, cs: java.nio.charset.Charset, options: androidNative.Array<java.nio.file.OpenOption>): java.io.BufferedWriter;
				public static move(source: java.nio.file.Path, target: java.nio.file.Path, options: androidNative.Array<java.nio.file.CopyOption>): java.nio.file.Path;
				public static getFileAttributeView(path: java.nio.file.Path, type: java.lang.Class<any>, options: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileAttributeView;
				public static getLastModifiedTime(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileTime;
				public static readSymbolicLink(link: java.nio.file.Path): java.nio.file.Path;
				public static isSymbolicLink(path: java.nio.file.Path): boolean;
				public static createTempDirectory(prefix: string, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static probeContentType(path: java.nio.file.Path): string;
				public static createTempDirectory(dir: java.nio.file.Path, prefix: string, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static readAttributes(path: java.nio.file.Path, type: java.lang.Class<any>, options: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.attribute.BasicFileAttributes;
				public static lines(path: java.nio.file.Path, cs: java.nio.charset.Charset): java.util.stream.Stream<string>;
				public static newOutputStream(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.OpenOption>): java.io.OutputStream;
				public static write(path: java.nio.file.Path, lines: java.lang.Iterable<any>, cs: java.nio.charset.Charset, options: androidNative.Array<java.nio.file.OpenOption>): java.nio.file.Path;
				public static lines(path: java.nio.file.Path): java.util.stream.Stream<string>;
				public static readAllLines(path: java.nio.file.Path): java.util.List<string>;
				public static newBufferedReader(path: java.nio.file.Path, cs: java.nio.charset.Charset): java.io.BufferedReader;
				public static createTempFile(dir: java.nio.file.Path, prefix: string, suffix: string, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static walk(start: java.nio.file.Path, maxDepth: number, options: androidNative.Array<java.nio.file.FileVisitOption>): java.util.stream.Stream<java.nio.file.Path>;
				public static notExists(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.LinkOption>): boolean;
				public static createDirectory(dir: java.nio.file.Path, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static readAllBytes(path: java.nio.file.Path): androidNative.Array<number>;
				public static deleteIfExists(path: java.nio.file.Path): boolean;
				public static createTempFile(prefix: string, suffix: string, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static readAttributes(path: java.nio.file.Path, attributes: string, options: androidNative.Array<java.nio.file.LinkOption>): java.util.Map<string,any>;
				public static createSymbolicLink(link: java.nio.file.Path, target: java.nio.file.Path, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static isRegularFile(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.LinkOption>): boolean;
				public static find(start: java.nio.file.Path, maxDepth: number, matcher: any /* any<java.nio.file.Path,java.nio.file.attribute.BasicFileAttributes>*/, options: androidNative.Array<java.nio.file.FileVisitOption>): java.util.stream.Stream<java.nio.file.Path>;
				public static newByteChannel(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.OpenOption>): java.nio.channels.SeekableByteChannel;
				public static setPosixFilePermissions(path: java.nio.file.Path, perms: java.util.Set<java.nio.file.attribute.PosixFilePermission>): java.nio.file.Path;
				public static copy(source: java.nio.file.Path, out: java.io.OutputStream): number;
				public static createDirectories(dir: java.nio.file.Path, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static getAttribute(path: java.nio.file.Path, attribute: string, options: androidNative.Array<java.nio.file.LinkOption>): any;
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public getReason(): string;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(input: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(input: string, reason: string, index: number);
				public getIndex(): number;
				public getMessage(): string;
				public getInput(): string;
				public constructor();
			}
		}
	}
}

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(): androidNative.Array<java.nio.file.LinkOption>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.nio.file.LinkOption;
			}
		}
	}
}

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 constructor(name: string);
				public checkGuard(param0: any): void;
				public constructor(name: string, actions: 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(cause: java.lang.Throwable);
				public constructor(file: string, other: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(file: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(file: string, other: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(file: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(file: string, other: string, reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(file: string);
				public constructor();
			}
		}
	}
}

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: {
					of(first: string, more: androidNative.Array<string>): java.nio.file.Path;
					of(uri: java.net.URI): java.nio.file.Path;
					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: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.Path;
					toFile(): java.io.File;
					register(param0: java.nio.file.WatchService, param1: androidNative.Array<java.nio.file.WatchEvent.Kind<any>>, param2: androidNative.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
					register(param0: java.nio.file.WatchService, param1: androidNative.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(action: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
					register(param0: java.nio.file.WatchService, param1: androidNative.Array<java.nio.file.WatchEvent.Kind<any>>, param2: androidNative.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
					register(param0: java.nio.file.WatchService, param1: androidNative.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 toRealPath(param0: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.Path;
				public toUri(): java.net.URI;
				public getFileName(): java.nio.file.Path;
				public register(param0: java.nio.file.WatchService, param1: androidNative.Array<java.nio.file.WatchEvent.Kind<any>>, param2: androidNative.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
				public toFile(): java.io.File;
				public getFileSystem(): java.nio.file.FileSystem;
				public startsWith(param0: string): boolean;
				public hashCode(): number;
				public register(param0: java.nio.file.WatchService, param1: androidNative.Array<java.nio.file.WatchEvent.Kind<any>>): java.nio.file.WatchKey;
				public equals(param0: any): boolean;
				public endsWith(param0: string): boolean;
				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 static of(uri: java.net.URI): java.nio.file.Path;
				public resolve(param0: java.nio.file.Path): java.nio.file.Path;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				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 static of(first: string, more: androidNative.Array<string>): java.nio.file.Path;
				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(uri: java.net.URI): java.nio.file.Path;
				public static get(first: string, more: androidNative.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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.SecureDirectoryStream<any>;
					newByteChannel(param0: any, param1: java.util.Set<any>, param2: androidNative.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: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileAttributeView;
					iterator(): java.util.Iterator<any>;
					close(): void;
					iterator(): java.util.Iterator<any>;
					forEach(action: 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: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileAttributeView;
				public spliterator(): java.util.Spliterator<any>;
				public newDirectoryStream(param0: any, param1: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.SecureDirectoryStream<any>;
				public newByteChannel(param0: any, param1: java.util.Set<any>, param2: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.SeekableByteChannel;
				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 forEach(action: any /* any*/): void;
				public getFileAttributeView(param0: java.lang.Class<any>): java.nio.file.attribute.FileAttributeView;
			}
		}
	}
}

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 visitFileFailed(file: any, exc: java.io.IOException): java.nio.file.FileVisitResult;
				public preVisitDirectory(dir: any, attrs: java.nio.file.attribute.BasicFileAttributes): java.nio.file.FileVisitResult;
				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 postVisitDirectory(dir: any, exc: java.io.IOException): java.nio.file.FileVisitResult;
				public visitFile(param0: any, param1: java.nio.file.attribute.BasicFileAttributes): java.nio.file.FileVisitResult;
				public visitFile(file: any, attrs: 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(): androidNative.Array<java.nio.file.StandardCopyOption>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.nio.file.StandardCopyOption;
			}
		}
	}
}

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(name: string): java.nio.file.StandardOpenOption;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<java.nio.file.StandardOpenOption>;
			}
		}
	}
}

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: androidNative.Array<java.nio.file.WatchEvent.Kind<any>>, param2: androidNative.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
					register(param0: java.nio.file.WatchService, param1: androidNative.Array<java.nio.file.WatchEvent.Kind<any>>): java.nio.file.WatchKey;
				});
				public constructor();
				public register(param0: java.nio.file.WatchService, param1: androidNative.Array<java.nio.file.WatchEvent.Kind<any>>): java.nio.file.WatchKey;
				public register(param0: java.nio.file.WatchService, param1: androidNative.Array<java.nio.file.WatchEvent.Kind<any>>, param2: androidNative.Array<java.nio.file.WatchEvent.Modifier>): 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 static newBuilder(entry: java.nio.file.attribute.AclEntry): java.nio.file.attribute.AclEntry.Builder;
					public principal(): java.nio.file.attribute.UserPrincipal;
					public toString(): string;
					public equals(ob: any): boolean;
					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 setType(type: java.nio.file.attribute.AclEntryType): java.nio.file.attribute.AclEntry.Builder;
						public setPermissions(perms: java.util.Set<java.nio.file.attribute.AclEntryPermission>): java.nio.file.attribute.AclEntry.Builder;
						public setPermissions(perms: androidNative.Array<java.nio.file.attribute.AclEntryPermission>): java.nio.file.attribute.AclEntry.Builder;
						public setFlags(flags: java.util.Set<java.nio.file.attribute.AclEntryFlag>): java.nio.file.attribute.AclEntry.Builder;
						public build(): java.nio.file.attribute.AclEntry;
						public setPrincipal(who: java.nio.file.attribute.UserPrincipal): java.nio.file.attribute.AclEntry.Builder;
						public setFlags(flags: androidNative.Array<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(name: string): java.nio.file.attribute.AclEntryFlag;
					public static values(): androidNative.Array<java.nio.file.attribute.AclEntryFlag>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 valueOf(name: string): java.nio.file.attribute.AclEntryPermission;
					public static values(): androidNative.Array<java.nio.file.attribute.AclEntryPermission>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 valueOf(name: string): java.nio.file.attribute.AclEntryType;
					public static values(): androidNative.Array<java.nio.file.attribute.AclEntryType>;
					public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

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 static from(value: number, unit: java.util.concurrent.TimeUnit): java.nio.file.attribute.FileTime;
					public equals(obj: any): boolean;
					public toString(): string;
					public static from(instant: java.time.Instant): java.nio.file.attribute.FileTime;
					public static fromMillis(value: number): java.nio.file.attribute.FileTime;
					public to(unit: java.util.concurrent.TimeUnit): number;
					public toInstant(): java.time.Instant;
					public hashCode(): number;
					public toMillis(): number;
					public compareTo(other: java.nio.file.attribute.FileTime): number;
				}
			}
		}
	}
}

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(subject: javax.security.auth.Subject): boolean;
					});
					public constructor();
					public equals(param0: any): boolean;
					public toString(): string;
					public getName(): string;
					public implies(subject: javax.security.auth.Subject): boolean;
					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 valueOf(name: string): java.nio.file.attribute.PosixFilePermission;
					public static values(): androidNative.Array<java.nio.file.attribute.PosixFilePermission>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 toString(perms: java.util.Set<java.nio.file.attribute.PosixFilePermission>): string;
					public static fromString(perms: string): java.util.Set<java.nio.file.attribute.PosixFilePermission>;
					public toString(): string;
					public static asFileAttribute(perms: java.util.Set<java.nio.file.attribute.PosixFilePermission>): java.nio.file.attribute.FileAttribute<java.util.Set<java.nio.file.attribute.PosixFilePermission>>;
				}
			}
		}
	}
}

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(subject: javax.security.auth.Subject): boolean;
					});
					public constructor();
					public equals(param0: any): boolean;
					public toString(): string;
					public getName(): string;
					public implies(subject: javax.security.auth.Subject): boolean;
					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(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor(name: string);
					public constructor();
					public getName(): string;
					public constructor(cause: java.lang.Throwable);
					public constructor(message: string, cause: java.lang.Throwable);
				}
			}
		}
	}
}

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 setAttribute(param0: java.nio.file.Path, param1: string, param2: any, param3: androidNative.Array<java.nio.file.LinkOption>): void;
					public newFileSystem(param0: java.net.URI, param1: java.util.Map<string,any>): java.nio.file.FileSystem;
					public readAttributes(param0: java.nio.file.Path, param1: string, param2: androidNative.Array<java.nio.file.LinkOption>): java.util.Map<string,any>;
					public readSymbolicLink(link: java.nio.file.Path): java.nio.file.Path;
					public newOutputStream(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.OpenOption>): java.io.OutputStream;
					public newInputStream(path: java.nio.file.Path, options: androidNative.Array<java.nio.file.OpenOption>): java.io.InputStream;
					public newFileChannel(path: java.nio.file.Path, options: java.util.Set<any>, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.FileChannel;
					public createLink(link: java.nio.file.Path, existing: java.nio.file.Path): void;
					public createDirectory(param0: java.nio.file.Path, param1: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): void;
					public getScheme(): string;
					public newByteChannel(param0: java.nio.file.Path, param1: java.util.Set<any>, param2: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.SeekableByteChannel;
					public constructor();
					public move(param0: java.nio.file.Path, param1: java.nio.file.Path, param2: androidNative.Array<java.nio.file.CopyOption>): void;
					public newAsynchronousFileChannel(path: java.nio.file.Path, options: java.util.Set<any>, executor: java.util.concurrent.ExecutorService, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.AsynchronousFileChannel;
					public isSameFile(param0: java.nio.file.Path, param1: java.nio.file.Path): boolean;
					public isHidden(param0: java.nio.file.Path): boolean;
					public getFileStore(param0: java.nio.file.Path): java.nio.file.FileStore;
					public deleteIfExists(path: java.nio.file.Path): boolean;
					public getFileSystem(param0: java.net.URI): java.nio.file.FileSystem;
					public createSymbolicLink(link: java.nio.file.Path, target: java.nio.file.Path, attrs: androidNative.Array<java.nio.file.attribute.FileAttribute<any>>): void;
					public newFileSystem(path: java.nio.file.Path, env: java.util.Map<string,any>): java.nio.file.FileSystem;
					public getFileAttributeView(param0: java.nio.file.Path, param1: java.lang.Class<any>, param2: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileAttributeView;
					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: androidNative.Array<java.nio.file.CopyOption>): void;
					public checkAccess(param0: java.nio.file.Path, param1: androidNative.Array<java.nio.file.AccessMode>): void;
					public readAttributes(param0: java.nio.file.Path, param1: java.lang.Class<any>, param2: androidNative.Array<java.nio.file.LinkOption>): java.nio.file.attribute.BasicFileAttributes;
					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(context: androidNative.Array<java.security.ProtectionDomain>);
			public constructor(acc: java.security.AccessControlContext, combiner: java.security.DomainCombiner);
			public getDomainCombiner(): java.security.DomainCombiner;
			public checkPermission(perm: java.security.Permission): void;
		}
	}
}

declare module java {
	export module security {
		export class AccessControlException extends java.lang.SecurityException {
			public static class: java.lang.Class<java.security.AccessControlException>;
			public constructor(s: string, p: java.security.Permission);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public getPermission(): java.security.Permission;
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class AccessController extends java.lang.Object {
			public static class: java.lang.Class<java.security.AccessController>;
			public static doPrivileged(action: java.security.PrivilegedExceptionAction<any>, context: java.security.AccessControlContext): any;
			public static doPrivileged(action: java.security.PrivilegedAction<any>): any;
			public static doPrivilegedWithCombiner(action: java.security.PrivilegedAction<any>): any;
			public static doPrivileged(action: java.security.PrivilegedAction<any>, context: java.security.AccessControlContext): any;
			public static getContext(): java.security.AccessControlContext;
			public static doPrivileged(action: java.security.PrivilegedExceptionAction<any>): any;
			public static checkPermission(perm: java.security.Permission): void;
			public static doPrivilegedWithCombiner(action: 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 init(size: number): void;
			public init(size: number, random: java.security.SecureRandom): void;
			public init(genParamSpec: java.security.spec.AlgorithmParameterSpec, random: java.security.SecureRandom): void;
			public static getInstance(algorithm: string): java.security.AlgorithmParameterGenerator;
			public getAlgorithm(): string;
			public constructor(paramGenSpi: java.security.AlgorithmParameterGeneratorSpi, provider: java.security.Provider, algorithm: string);
			public init(genParamSpec: java.security.spec.AlgorithmParameterSpec): void;
			public static getInstance(algorithm: string, provider: string): java.security.AlgorithmParameterGenerator;
			public static getInstance(algorithm: string, provider: java.security.Provider): java.security.AlgorithmParameterGenerator;
			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(algorithm: string): java.security.AlgorithmParameters;
			public static getInstance(algorithm: string, provider: java.security.Provider): java.security.AlgorithmParameters;
			public init(paramSpec: java.security.spec.AlgorithmParameterSpec): void;
			public init(params: androidNative.Array<number>): void;
			public getParameterSpec(paramSpec: java.lang.Class<any>): java.security.spec.AlgorithmParameterSpec;
			public getProvider(): java.security.Provider;
			public static getInstance(algorithm: string, provider: string): java.security.AlgorithmParameters;
			public toString(): string;
			public constructor(paramSpi: java.security.AlgorithmParametersSpi, provider: java.security.Provider, algorithm: string);
			public init(params: androidNative.Array<number>, format: string): void;
			public getAlgorithm(): string;
			public getEncoded(format: string): androidNative.Array<number>;
			public getEncoded(): androidNative.Array<number>;
		}
	}
}

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: androidNative.Array<number>): void;
			public engineGetEncoded(): androidNative.Array<number>;
			public engineInit(param0: java.security.spec.AlgorithmParameterSpec): void;
			public engineToString(): string;
			public engineInit(param0: androidNative.Array<number>, param1: string): void;
			public engineGetEncoded(param0: string): androidNative.Array<number>;
			public constructor();
			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(name: string);
			public constructor(name: string, actions: string);
			public getActions(): string;
			public checkGuard(param0: any): void;
			public constructor();
			public implies(p: java.security.Permission): boolean;
		}
	}
}

declare module java {
	export module security {
		export abstract class AuthProvider extends java.security.Provider {
			public static class: java.lang.Class<java.security.AuthProvider>;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public constructor(initialCapacity: number);
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public logout(): void;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public get(param0: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public forEach(action: any /* any<any,any>*/): void;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public constructor(name: string, version: number, info: string);
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): 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 static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor(initialCapacity: number, loadFactor: number);
			public setCallbackHandler(param0: javax.security.auth.callback.CallbackHandler): void;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public constructor();
			public constructor(t: java.util.Map<any,any>);
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public constructor(defaults: java.util.Properties);
			public login(param0: javax.security.auth.Subject, param1: javax.security.auth.callback.CallbackHandler): void;
			public getOrDefault(key: any, defaultValue: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			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(name: string);
			public constructor(name: string, actions: string);
			public getActions(): string;
			public checkGuard(param0: any): void;
			public implies(p: java.security.Permission): boolean;
		}
	}
}

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();
			/** @deprecated */
			public getFormat(): string;
			public toString(): string;
			/** @deprecated */
			public encode(param0: java.io.OutputStream): void;
			/** @deprecated */
			public getPublicKey(): java.security.PublicKey;
			/** @deprecated */
			public decode(param0: java.io.InputStream): void;
			/** @deprecated */
			public getGuarantor(): java.security.Principal;
			/** @deprecated */
			public getPrincipal(): java.security.Principal;
			/** @deprecated */
			public toString(param0: boolean): 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 getTimestamp(): java.security.Timestamp;
			public toString(): string;
			public equals(obj: any): boolean;
			public getSignerCertPath(): java.security.cert.CertPath;
			public constructor(signerCertPath: java.security.cert.CertPath, timestamp: 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 constructor(url: java.net.URL, signers: androidNative.Array<java.security.CodeSigner>);
			public getLocation(): java.net.URL;
			public getCodeSigners(): androidNative.Array<java.security.CodeSigner>;
			public constructor(url: java.net.URL, certs: androidNative.Array<java.security.cert.Certificate>);
			public getCertificates(): androidNative.Array<java.security.cert.Certificate>;
			public implies(codesource: 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(): androidNative.Array<java.security.CryptoPrimitive>;
			public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public static valueOf(name: 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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

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 on(on: boolean): void;
			public toString(): string;
			public read(b: androidNative.Array<number>, off: number, len: number): number;
			public getMessageDigest(): java.security.MessageDigest;
			public read(b: androidNative.Array<number>): number;
			public constructor(stream: java.io.InputStream, digest: java.security.MessageDigest);
			public constructor(in_: java.io.InputStream);
			public constructor();
			public close(): void;
			public setMessageDigest(digest: java.security.MessageDigest): 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 flush(): void;
			public on(on: boolean): void;
			public toString(): string;
			public constructor(stream: java.io.OutputStream, digest: java.security.MessageDigest);
			public getMessageDigest(): java.security.MessageDigest;
			public write(b: androidNative.Array<number>): void;
			public constructor(out: java.io.OutputStream);
			public write(b: number): void;
			public constructor();
			public write(b: androidNative.Array<number>, off: number, len: number): void;
			public close(): void;
			public setMessageDigest(digest: java.security.MessageDigest): 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: androidNative.Array<java.security.ProtectionDomain>, param1: androidNative.Array<java.security.ProtectionDomain>): androidNative.Array<java.security.ProtectionDomain>;
			});
			public constructor();
			public combine(param0: androidNative.Array<java.security.ProtectionDomain>, param1: androidNative.Array<java.security.ProtectionDomain>): androidNative.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 constructor(configuration: java.net.URI, protectionParams: java.util.Map<string,java.security.KeyStore.ProtectionParameter>);
			public getProtectionParams(): java.util.Map<string,java.security.KeyStore.ProtectionParameter>;
			public getProtectionParameter(): java.security.KeyStore.ProtectionParameter;
		}
	}
}

declare module java {
	export module security {
		export class DrbgParameters extends java.lang.Object {
			public static class: java.lang.Class<java.security.DrbgParameters>;
			public static reseed(predictionResistance: boolean, additionalInput: androidNative.Array<number>): java.security.DrbgParameters.Reseed;
			public static nextBytes(strength: number, predictionResistance: boolean, additionalInput: androidNative.Array<number>): java.security.DrbgParameters.NextBytes;
			public static instantiation(strength: number, capability: java.security.DrbgParameters.Capability, personalizationString: androidNative.Array<number>): java.security.DrbgParameters.Instantiation;
		}
		export module DrbgParameters {
			export class Capability {
				public static class: java.lang.Class<java.security.DrbgParameters.Capability>;
				public static PR_AND_RESEED: java.security.DrbgParameters.Capability;
				public static RESEED_ONLY: java.security.DrbgParameters.Capability;
				public static NONE: java.security.DrbgParameters.Capability;
				public supportsReseeding(): boolean;
				public supportsPredictionResistance(): boolean;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public toString(): string;
				public static valueOf(name: string): java.security.DrbgParameters.Capability;
				public static values(): androidNative.Array<java.security.DrbgParameters.Capability>;
			}
			export class Instantiation extends java.lang.Object implements java.security.SecureRandomParameters {
				public static class: java.lang.Class<java.security.DrbgParameters.Instantiation>;
				public getPersonalizationString(): androidNative.Array<number>;
				public getCapability(): java.security.DrbgParameters.Capability;
				public toString(): string;
				public getStrength(): number;
			}
			export class NextBytes extends java.lang.Object implements java.security.SecureRandomParameters {
				public static class: java.lang.Class<java.security.DrbgParameters.NextBytes>;
				public getPredictionResistance(): boolean;
				public getStrength(): number;
				public getAdditionalInput(): androidNative.Array<number>;
			}
			export class Reseed extends java.lang.Object implements java.security.SecureRandomParameters {
				public static class: java.lang.Class<java.security.DrbgParameters.Reseed>;
				public getPredictionResistance(): boolean;
				public getAdditionalInput(): androidNative.Array<number>;
			}
		}
	}
}

declare module java {
	export module security {
		export class GeneralSecurityException extends java.lang.Exception {
			public static class: java.lang.Class<java.security.GeneralSecurityException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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(object: any, guard: 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 equals(param0: any): boolean;
			public implies(subject: javax.security.auth.Subject): boolean;
			/** @deprecated */
			public constructor(name: string);
			/** @deprecated */
			public setInfo(info: string): void;
			/** @deprecated */
			public getScope(): java.security.IdentityScope;
			/** @deprecated */
			public getName(): string;
			/** @deprecated */
			public getPublicKey(): java.security.PublicKey;
			/** @deprecated */
			public setPublicKey(key: java.security.PublicKey): void;
			/** @deprecated */
			public equals(identity: any): boolean;
			/** @deprecated */
			public removeCertificate(certificate: java.security.Certificate): void;
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public identityEquals(identity: java.security.Identity): boolean;
			public toString(): string;
			public getName(): string;
			/** @deprecated */
			public constructor(name: string, scope: java.security.IdentityScope);
			/** @deprecated */
			public getInfo(): string;
			/** @deprecated */
			public toString(detailed: boolean): string;
			/** @deprecated */
			public hashCode(): number;
			/** @deprecated */
			public certificates(): androidNative.Array<java.security.Certificate>;
			/** @deprecated */
			public addCertificate(certificate: 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 equals(param0: any): boolean;
			public implies(subject: javax.security.auth.Subject): boolean;
			/** @deprecated */
			public constructor(name: string);
			/** @deprecated */
			public addIdentity(param0: java.security.Identity): void;
			/** @deprecated */
			public removeIdentity(param0: java.security.Identity): void;
			/** @deprecated */
			public getIdentity(principal: java.security.Principal): java.security.Identity;
			/** @deprecated */
			public getIdentity(param0: string): java.security.Identity;
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public static setSystemScope(scope: java.security.IdentityScope): void;
			/** @deprecated */
			public identities(): java.util.Enumeration<java.security.Identity>;
			public toString(): string;
			public getName(): string;
			/** @deprecated */
			public constructor(name: string, scope: java.security.IdentityScope);
			/** @deprecated */
			public static getSystemScope(): java.security.IdentityScope;
			/** @deprecated */
			public toString(detailed: boolean): string;
			/** @deprecated */
			public size(): number;
			/** @deprecated */
			public getIdentity(param0: java.security.PublicKey): 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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class InvalidKeyException extends java.security.KeyException {
			public static class: java.lang.Class<java.security.InvalidKeyException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class InvalidParameterException extends java.lang.IllegalArgumentException {
			public static class: java.lang.Class<java.security.InvalidParameterException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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(): androidNative.Array<number>;
			});
			public constructor();
			public static serialVersionUID: 6603384152749567654;
			public getAlgorithm(): string;
			public getFormat(): string;
			public getEncoded(): androidNative.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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class KeyFactory extends java.lang.Object {
			public static class: java.lang.Class<java.security.KeyFactory>;
			public getKeySpec(key: java.security.Key, keySpec: java.lang.Class<any>): java.security.spec.KeySpec;
			public static getInstance(algorithm: string, provider: java.security.Provider): java.security.KeyFactory;
			public static getInstance(algorithm: string, provider: string): java.security.KeyFactory;
			public getAlgorithm(): string;
			public translateKey(key: java.security.Key): java.security.Key;
			public constructor(keyFacSpi: java.security.KeyFactorySpi, provider: java.security.Provider, algorithm: string);
			public static getInstance(algorithm: string): java.security.KeyFactory;
			public generatePublic(keySpec: java.security.spec.KeySpec): java.security.PublicKey;
			public generatePrivate(keySpec: java.security.spec.KeySpec): java.security.PrivateKey;
			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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

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(publicKey: java.security.PublicKey, privateKey: 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 constructor(algorithm: string);
			public constructor();
			public static getInstance(algorithm: string, provider: string): java.security.KeyPairGenerator;
			public initialize(params: java.security.spec.AlgorithmParameterSpec, random: java.security.SecureRandom): void;
			public generateKeyPair(): java.security.KeyPair;
			public getProvider(): java.security.Provider;
			public static getInstance(algorithm: string, provider: java.security.Provider): java.security.KeyPairGenerator;
			public initialize(param0: number, param1: java.security.SecureRandom): void;
			public initialize(keysize: number, random: java.security.SecureRandom): void;
			public initialize(params: java.security.spec.AlgorithmParameterSpec): void;
			public getAlgorithm(): string;
			public initialize(keysize: number): void;
			public static getInstance(algorithm: string): java.security.KeyPairGenerator;
			public genKeyPair(): java.security.KeyPair;
		}
	}
}

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 constructor();
			public initialize(params: java.security.spec.AlgorithmParameterSpec, random: java.security.SecureRandom): void;
			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(type: java.security.KeyRep.Type, algorithm: string, format: string, encoded: androidNative.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 valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<java.security.KeyRep.Type>;
				public static valueOf(name: 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 static getDefaultType(): string;
			public getCertificate(alias: string): java.security.cert.Certificate;
			public getCreationDate(alias: string): java.util.Date;
			public getCertificateChain(alias: string): androidNative.Array<java.security.cert.Certificate>;
			public deleteEntry(alias: string): void;
			public store(param: java.security.KeyStore.LoadStoreParameter): void;
			public static getInstance(type: string, provider: string): java.security.KeyStore;
			public aliases(): java.util.Enumeration<string>;
			public setEntry(alias: string, entry: java.security.KeyStore.Entry, protParam: java.security.KeyStore.ProtectionParameter): void;
			public entryInstanceOf(alias: string, entryClass: java.lang.Class<any>): boolean;
			public getKey(alias: string, password: androidNative.Array<string>): java.security.Key;
			public isKeyEntry(alias: string): boolean;
			public static getInstance(file: java.io.File, password: androidNative.Array<string>): java.security.KeyStore;
			public static getInstance(type: string): java.security.KeyStore;
			public store(stream: java.io.OutputStream, password: androidNative.Array<string>): void;
			public getType(): string;
			public setCertificateEntry(alias: string, cert: java.security.cert.Certificate): void;
			public size(): number;
			public load(stream: java.io.InputStream, password: androidNative.Array<string>): void;
			public constructor(keyStoreSpi: java.security.KeyStoreSpi, provider: java.security.Provider, type: string);
			public setKeyEntry(alias: string, key: java.security.Key, password: androidNative.Array<string>, chain: androidNative.Array<java.security.cert.Certificate>): void;
			public static getInstance(file: java.io.File, param: java.security.KeyStore.LoadStoreParameter): java.security.KeyStore;
			public getProvider(): java.security.Provider;
			public setKeyEntry(alias: string, key: androidNative.Array<number>, chain: androidNative.Array<java.security.cert.Certificate>): void;
			public containsAlias(alias: string): boolean;
			public isCertificateEntry(alias: string): boolean;
			public getCertificateAlias(cert: java.security.cert.Certificate): string;
			public load(param: java.security.KeyStore.LoadStoreParameter): void;
			public static getInstance(type: string, provider: java.security.Provider): java.security.KeyStore;
			public getEntry(alias: string, protParam: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Entry;
		}
		export module KeyStore {
			export abstract class Builder extends java.lang.Object {
				public static class: java.lang.Class<java.security.KeyStore.Builder>;
				public static newInstance(keyStore: java.security.KeyStore, protectionParameter: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Builder;
				public static newInstance(type: string, provider: java.security.Provider, file: java.io.File, protection: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Builder;
				public getProtectionParameter(param0: string): java.security.KeyStore.ProtectionParameter;
				public static newInstance(type: string, provider: java.security.Provider, protection: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Builder;
				public getKeyStore(): java.security.KeyStore;
				public static newInstance(file: java.io.File, protection: 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 getCallbackHandler(): javax.security.auth.callback.CallbackHandler;
				public constructor(handler: 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 constructor(password: androidNative.Array<string>, protectionAlgorithm: string, protectionParameters: java.security.spec.AlgorithmParameterSpec);
				public getPassword(): androidNative.Array<string>;
				public isDestroyed(): boolean;
				public getProtectionParameters(): java.security.spec.AlgorithmParameterSpec;
				public constructor(password: androidNative.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(): androidNative.Array<java.security.cert.Certificate>;
				public getCertificate(): java.security.cert.Certificate;
				public constructor(privateKey: java.security.PrivateKey, chain: androidNative.Array<java.security.cert.Certificate>);
				public getPrivateKey(): java.security.PrivateKey;
				public toString(): string;
				public constructor(privateKey: java.security.PrivateKey, chain: androidNative.Array<java.security.cert.Certificate>, attributes: java.util.Set<java.security.KeyStore.Entry.Attribute>);
				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(secretKey: javax.crypto.SecretKey, attributes: java.util.Set<java.security.KeyStore.Entry.Attribute>);
				public getSecretKey(): javax.crypto.SecretKey;
				public constructor(secretKey: 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 constructor(trustedCert: java.security.cert.Certificate);
				public constructor(trustedCert: java.security.cert.Certificate, attributes: java.util.Set<java.security.KeyStore.Entry.Attribute>);
				public getTrustedCertificate(): java.security.cert.Certificate;
				public toString(): string;
				public getAttributes(): 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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export abstract class KeyStoreSpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.KeyStoreSpi>;
			public engineStore(param: java.security.KeyStore.LoadStoreParameter): void;
			public engineGetCreationDate(param0: string): java.util.Date;
			public engineLoad(param0: java.io.InputStream, param1: androidNative.Array<string>): void;
			public engineGetCertificateChain(param0: string): androidNative.Array<java.security.cert.Certificate>;
			public engineContainsAlias(param0: string): boolean;
			public constructor();
			public engineSetKeyEntry(param0: string, param1: androidNative.Array<number>, param2: androidNative.Array<java.security.cert.Certificate>): void;
			public engineSetEntry(alias: string, entry: java.security.KeyStore.Entry, protParam: java.security.KeyStore.ProtectionParameter): void;
			public engineSetCertificateEntry(param0: string, param1: java.security.cert.Certificate): void;
			public engineGetKey(param0: string, param1: androidNative.Array<string>): java.security.Key;
			public engineGetEntry(alias: string, protParam: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Entry;
			public engineProbe(stream: java.io.InputStream): boolean;
			public engineAliases(): java.util.Enumeration<string>;
			public engineStore(param0: java.io.OutputStream, param1: androidNative.Array<string>): void;
			public engineLoad(param: java.security.KeyStore.LoadStoreParameter): void;
			public engineEntryInstanceOf(alias: string, entryClass: java.lang.Class<any>): boolean;
			public engineGetCertificateAlias(param0: java.security.cert.Certificate): string;
			public engineDeleteEntry(param0: string): void;
			public engineSetKeyEntry(param0: string, param1: java.security.Key, param2: androidNative.Array<string>, param3: androidNative.Array<java.security.cert.Certificate>): void;
			public engineSize(): number;
			public engineIsCertificateEntry(param0: string): boolean;
			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(input: androidNative.Array<number>): void;
			public update(input: java.nio.ByteBuffer): void;
			public constructor(algorithm: string);
			public update(input: androidNative.Array<number>, offset: number, len: number): void;
			public constructor();
			public static getInstance(algorithm: string, provider: string): java.security.MessageDigest;
			public getProvider(): java.security.Provider;
			public static getInstance(algorithm: string, provider: java.security.Provider): java.security.MessageDigest;
			public digest(buf: androidNative.Array<number>, offset: number, len: number): number;
			public static getInstance(algorithm: string): java.security.MessageDigest;
			public update(input: number): void;
			public toString(): string;
			public getDigestLength(): number;
			public clone(): any;
			public digest(input: androidNative.Array<number>): androidNative.Array<number>;
			public reset(): void;
			public getAlgorithm(): string;
			public digest(): androidNative.Array<number>;
			public static isEqual(digesta: androidNative.Array<number>, digestb: androidNative.Array<number>): boolean;
		}
	}
}

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: androidNative.Array<number>, param1: number, param2: number): void;
			public clone(): any;
			public engineGetDigestLength(): number;
			public engineUpdate(param0: number): void;
			public engineReset(): void;
			public constructor();
			public engineDigest(): androidNative.Array<number>;
			public engineUpdate(input: java.nio.ByteBuffer): void;
			public engineDigest(buf: androidNative.Array<number>, offset: number, len: number): number;
		}
	}
}

declare module java {
	export module security {
		export class NoSuchAlgorithmException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.NoSuchAlgorithmException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class NoSuchProviderException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.NoSuchProviderException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

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(name: string, value: string);
			public toString(): string;
			public getName(): string;
			public equals(obj: any): boolean;
			public getValue(): string;
			public constructor(encoded: androidNative.Array<number>);
			public getEncoded(): androidNative.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 constructor(name: string);
			public implies(param0: java.security.Permission): boolean;
			public checkGuard(object: any): void;
			public getActions(): string;
			public checkGuard(param0: any): void;
			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 implies(permission: java.security.Permission): boolean;
			public elements(): java.util.Enumeration<java.security.Permission>;
			public add(permission: java.security.Permission): void;
			public constructor();
		}
	}
}

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 static setPolicy(p: java.security.Policy): void;
			public static getPolicy(): java.security.Policy;
			public static getInstance(type: string, params: java.security.Policy.Parameters): java.security.Policy;
			public static getInstance(type: string, params: java.security.Policy.Parameters, provider: string): java.security.Policy;
			public static getInstance(type: string, params: java.security.Policy.Parameters, provider: java.security.Provider): java.security.Policy;
			public getParameters(): java.security.Policy.Parameters;
			public constructor();
			public getProvider(): java.security.Provider;
			public getPermissions(codesource: java.security.CodeSource): java.security.PermissionCollection;
			public implies(domain: java.security.ProtectionDomain, permission: java.security.Permission): boolean;
			public getPermissions(domain: java.security.ProtectionDomain): java.security.PermissionCollection;
			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(domain: java.security.ProtectionDomain): java.security.PermissionCollection;
			public engineGetPermissions(codesource: java.security.CodeSource): java.security.PermissionCollection;
			public constructor();
		}
	}
}

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(subject: javax.security.auth.Subject): boolean;
			});
			public constructor();
			public equals(param0: any): boolean;
			public implies(subject: javax.security.auth.Subject): boolean;
			public toString(): string;
			public getName(): string;
			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(): androidNative.Array<number>;
				destroy(): void;
				isDestroyed(): boolean;
			});
			public constructor();
			public static serialVersionUID: 6034044314589513430;
			public isDestroyed(): boolean;
			public destroy(): void;
			public getAlgorithm(): string;
			public getFormat(): string;
			public getEncoded(): androidNative.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 constructor(message: string);
			public constructor(exception: java.lang.Exception);
			public toString(): string;
			public getException(): java.lang.Exception;
			public getCause(): java.lang.Throwable;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 implies(permission: java.security.Permission): boolean;
			public constructor(codesource: java.security.CodeSource, permissions: java.security.PermissionCollection, classloader: java.lang.ClassLoader, principals: androidNative.Array<java.security.Principal>);
			public constructor(codesource: java.security.CodeSource, permissions: java.security.PermissionCollection);
			public getPermissions(): java.security.PermissionCollection;
			public getCodeSource(): java.security.CodeSource;
			public getPrincipals(): androidNative.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 getServices(): java.util.Set<java.security.Provider.Service>;
			public containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public putService(s: java.security.Provider.Service): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public getVersion(): number;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public removeService(s: java.security.Provider.Service): void;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public constructor(name: string, version: number, info: string);
			public elements(): java.util.Enumeration<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public get(key: any): any;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public keySet(): java.util.Set<any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor(initialCapacity: number, loadFactor: number);
			public constructor();
			public putAll(t: java.util.Map<any,any>): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public constructor(defaults: java.util.Properties);
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public getInfo(): string;
			public keys(): java.util.Enumeration<any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public getProperty(key: string, defaultValue: string): string;
			public load(inStream: java.io.InputStream): void;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public constructor(initialCapacity: number);
			public load(reader: java.io.Reader): void;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public remove(key: any): any;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public getProperty(key: string): string;
			public remove(param0: any): any;
			public getService(type: string, algorithm: string): java.security.Provider.Service;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public constructor(t: java.util.Map<any,any>);
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public toString(): string;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public getName(): string;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			public hashCode(): number;
		}
		export module Provider {
			export class Service extends java.lang.Object {
				public static class: java.lang.Class<java.security.Provider.Service>;
				public getAlgorithm(): string;
				public getType(): string;
				public getClassName(): string;
				public constructor(provider: java.security.Provider, type: string, algorithm: string, className: string, aliases: java.util.List<string>, attributes: java.util.Map<string,string>);
				public newInstance(constructorParameter: any): any;
				public getProvider(): java.security.Provider;
				public supportsParameter(parameter: any): boolean;
				public toString(): string;
				public getAttribute(name: string): string;
			}
		}
	}
}

declare module java {
	export module security {
		export class ProviderException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.security.ProviderException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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(): androidNative.Array<number>;
			});
			public constructor();
			public static serialVersionUID: 7187392471159151072;
			public getAlgorithm(): string;
			public getFormat(): string;
			public getEncoded(): androidNative.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 defineClass(name: string, b: java.nio.ByteBuffer, protectionDomain: java.security.ProtectionDomain): java.lang.Class<any>;
			public getPermissions(codesource: java.security.CodeSource): java.security.PermissionCollection;
			public constructor(parent: java.lang.ClassLoader);
			public defineClass(name: string, b: androidNative.Array<number>, off: number, len: number, protectionDomain: java.security.ProtectionDomain): java.lang.Class<any>;
			/** @deprecated */
			public defineClass(b: androidNative.Array<number>, off: number, len: number): java.lang.Class<any>;
			public defineClass(name: string, b: androidNative.Array<number>, off: number, len: number, cs: java.security.CodeSource): java.lang.Class<any>;
			public constructor();
			public defineClass(name: string, b: androidNative.Array<number>, off: number, len: number): java.lang.Class<any>;
			public defineClass(name: string, b: java.nio.ByteBuffer, cs: java.security.CodeSource): 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 ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
			public nextBytes(bytes: androidNative.Array<number>): void;
			public nextDouble(): number;
			public nextBytes(bytes: androidNative.Array<number>, params: java.security.SecureRandomParameters): void;
			public doubles(): java.util.stream.DoubleStream;
			public nextFloat(bound: number): number;
			public static getSeed(numBytes: number): androidNative.Array<number>;
			public nextGaussian(): number;
			public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
			public nextGaussian(mean: number, stddev: number): number;
			public longs(streamSize: number): java.util.stream.LongStream;
			public nextInt(bound: number): number;
			public ints(streamSize: number): java.util.stream.IntStream;
			public nextLong(origin: number, bound: number): number;
			public reseed(): void;
			public doubles(streamSize: number): java.util.stream.DoubleStream;
			public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
			public constructor();
			public reseed(params: java.security.SecureRandomParameters): void;
			public static getInstance(algorithm: string, provider: java.security.Provider): java.security.SecureRandom;
			public nextLong(): number;
			public getProvider(): java.security.Provider;
			public setSeed(seed: number): void;
			public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
			public constructor(seed: androidNative.Array<number>);
			public isDeprecated(): boolean;
			public static of(name: string): java.util.random.RandomGenerator;
			public nextInt(): number;
			public longs(): java.util.stream.LongStream;
			public next(numBits: number): number;
			public nextDouble(bound: number): number;
			public static getDefault(): java.util.random.RandomGenerator;
			public nextFloat(origin: number, bound: number): number;
			public static getInstance(algorithm: string, params: java.security.SecureRandomParameters, provider: java.security.Provider): java.security.SecureRandom;
			public ints(): java.util.stream.IntStream;
			public static getInstance(algorithm: string, params: java.security.SecureRandomParameters): java.security.SecureRandom;
			public constructor(seed: number);
			public static getInstance(algorithm: string): java.security.SecureRandom;
			public nextLong(bound: number): number;
			public setSeed(seed: androidNative.Array<number>): void;
			public static getInstanceStrong(): java.security.SecureRandom;
			public nextBoolean(): boolean;
			public nextInt(origin: number, bound: number): number;
			public nextExponential(): number;
			public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
			public nextFloat(): number;
			public generateSeed(numBytes: number): androidNative.Array<number>;
			public toString(): string;
			public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
			public nextDouble(origin: number, bound: number): number;
			public constructor(secureRandomSpi: java.security.SecureRandomSpi, provider: java.security.Provider);
			public getParameters(): java.security.SecureRandomParameters;
			public static getInstance(algorithm: string, params: java.security.SecureRandomParameters, provider: string): java.security.SecureRandom;
			public getAlgorithm(): string;
			public static getInstance(algorithm: string, provider: string): java.security.SecureRandom;
		}
	}
}

declare module java {
	export module security {
		export class SecureRandomParameters extends java.lang.Object {
			public static class: java.lang.Class<java.security.SecureRandomParameters>;
			/**
			 * Constructs a new instance of the java.security.SecureRandomParameters 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 SecureRandomSpi extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.SecureRandomSpi>;
			public engineGetParameters(): java.security.SecureRandomParameters;
			public engineGenerateSeed(param0: number): androidNative.Array<number>;
			public toString(): string;
			public engineSetSeed(param0: androidNative.Array<number>): void;
			public engineNextBytes(bytes: androidNative.Array<number>, params: java.security.SecureRandomParameters): void;
			public constructor();
			public engineNextBytes(param0: androidNative.Array<number>): void;
			public engineReseed(params: java.security.SecureRandomParameters): void;
			public constructor(params: java.security.SecureRandomParameters);
		}
	}
}

declare module java {
	export module security {
		export class Security extends java.lang.Object {
			public static class: java.lang.Class<java.security.Security>;
			public static getProvider(name: string): java.security.Provider;
			public static getProperty(key: string): string;
			public static getProviders(filter: string): androidNative.Array<java.security.Provider>;
			public static getProviders(filter: java.util.Map<string,string>): androidNative.Array<java.security.Provider>;
			public static insertProviderAt(provider: java.security.Provider, position: number): number;
			/** @deprecated */
			public static getAlgorithmProperty(algName: string, propName: string): string;
			public static setProperty(key: string, datum: string): void;
			public static getProviders(): androidNative.Array<java.security.Provider>;
			public static addProvider(provider: java.security.Provider): number;
			public static removeProvider(name: string): void;
			public static getAlgorithms(serviceName: string): java.util.Set<string>;
		}
	}
}

declare module java {
	export module security {
		export class SecurityPermission extends java.security.BasicPermission {
			public static class: java.lang.Class<java.security.SecurityPermission>;
			public constructor(name: string);
			public constructor(name: string, actions: string);
			public checkGuard(param0: any): void;
		}
	}
}

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: 2;
			public static UNINITIALIZED: 0;
			public static VERIFY: 3;
			public state: number;
			public getParameters(): java.security.AlgorithmParameters;
			public static getInstance(algorithm: string): java.security.Signature;
			public update(data: androidNative.Array<number>): void;
			public constructor(algorithm: string);
			public initVerify(certificate: java.security.cert.Certificate): void;
			public update(data: androidNative.Array<number>, off: number, len: number): void;
			public initSign(privateKey: java.security.PrivateKey): void;
			public initSign(privateKey: java.security.PrivateKey, random: java.security.SecureRandom): void;
			public sign(): androidNative.Array<number>;
			public verify(signature: androidNative.Array<number>, offset: number, length: number): boolean;
			/** @deprecated */
			public getParameter(param: string): any;
			/** @deprecated */
			public setParameter(param: string, value: any): void;
			public static getInstance(algorithm: string, provider: java.security.Provider): java.security.Signature;
			public initVerify(publicKey: java.security.PublicKey): void;
			public sign(outbuf: androidNative.Array<number>, offset: number, len: number): number;
			public constructor();
			public static getInstance(algorithm: string, provider: string): java.security.Signature;
			public getProvider(): java.security.Provider;
			public toString(): string;
			public clone(): any;
			public update(b: number): void;
			public verify(signature: androidNative.Array<number>): boolean;
			public getAlgorithm(): string;
			public setParameter(params: java.security.spec.AlgorithmParameterSpec): void;
			public update(data: java.nio.ByteBuffer): 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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

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 engineUpdate(param0: androidNative.Array<number>, param1: number, param2: number): void;
			public engineSign(): androidNative.Array<number>;
			public engineSetParameter(params: java.security.spec.AlgorithmParameterSpec): void;
			public engineUpdate(param0: number): void;
			public engineSign(outbuf: androidNative.Array<number>, offset: number, len: number): number;
			public constructor();
			public engineInitSign(privateKey: java.security.PrivateKey, random: java.security.SecureRandom): 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 engineVerify(sigBytes: androidNative.Array<number>, offset: number, length: number): boolean;
			public engineInitSign(param0: java.security.PrivateKey): void;
			public engineUpdate(input: java.nio.ByteBuffer): void;
			public engineGetParameters(): java.security.AlgorithmParameters;
			public engineVerify(param0: androidNative.Array<number>): boolean;
		}
	}
}

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 getSignature(): androidNative.Array<number>;
			public getObject(): any;
			public verify(verificationKey: java.security.PublicKey, verificationEngine: java.security.Signature): boolean;
			public getAlgorithm(): string;
			public constructor(object: java.io.Serializable, signingKey: java.security.PrivateKey, signingEngine: java.security.Signature);
		}
	}
}

declare module java {
	export module security {
		export abstract class Signer extends java.security.Identity {
			public static class: java.lang.Class<java.security.Signer>;
			public equals(param0: any): boolean;
			public implies(subject: javax.security.auth.Subject): boolean;
			/** @deprecated */
			public constructor(name: string);
			/** @deprecated */
			public toString(): string;
			/** @deprecated */
			public constructor();
			public toString(): string;
			public getName(): string;
			/** @deprecated */
			public constructor(name: string, scope: java.security.IdentityScope);
			/** @deprecated */
			public getPrivateKey(): java.security.PrivateKey;
			/** @deprecated */
			public toString(detailed: boolean): string;
			/** @deprecated */
			public setKeyPair(pair: java.security.KeyPair): void;
			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 toString(): string;
			public equals(obj: any): boolean;
			public getSignerCertPath(): java.security.cert.CertPath;
			public getTimestamp(): java.util.Date;
			public constructor(timestamp: java.util.Date, signerCertPath: 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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class UnrecoverableKeyException extends java.security.UnrecoverableEntryException {
			public static class: java.lang.Class<java.security.UnrecoverableKeyException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

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(): androidNative.Array<java.security.cert.Certificate>;
			public getUnresolvedType(): string;
			public getUnresolvedName(): string;
			public constructor(name: string);
			public getUnresolvedActions(): string;
			public constructor(type: string, name: string, actions: string, certs: androidNative.Array<java.security.cert.Certificate>);
			public getActions(): string;
			public checkGuard(param0: any): void;
			public implies(p: java.security.Permission): boolean;
		}
	}
}

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();
				/** @deprecated */
				public addEntry(param0: java.security.Principal, param1: java.security.acl.AclEntry): boolean;
				/** @deprecated */
				public removeEntry(param0: java.security.Principal, param1: java.security.acl.AclEntry): boolean;
				/** @deprecated */
				public entries(): java.util.Enumeration<java.security.acl.AclEntry>;
				/** @deprecated */
				public getPermissions(param0: java.security.Principal): java.util.Enumeration<java.security.acl.Permission>;
				/** @deprecated */
				public checkPermission(param0: java.security.Principal, param1: java.security.acl.Permission): boolean;
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public setName(param0: java.security.Principal, param1: string): void;
				/** @deprecated */
				public getName(): string;
				/** @deprecated */
				public addOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
				/** @deprecated */
				public deleteOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
				/** @deprecated */
				public isOwner(param0: java.security.Principal): boolean;
			}
		}
	}
}

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();
				/** @deprecated */
				public setNegativePermissions(): void;
				/** @deprecated */
				public permissions(): java.util.Enumeration<java.security.acl.Permission>;
				/** @deprecated */
				public addPermission(param0: java.security.acl.Permission): boolean;
				/** @deprecated */
				public getPrincipal(): java.security.Principal;
				/** @deprecated */
				public setPrincipal(param0: java.security.Principal): boolean;
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public clone(): any;
				/** @deprecated */
				public checkPermission(param0: java.security.acl.Permission): boolean;
				/** @deprecated */
				public isNegative(): boolean;
				/** @deprecated */
				public removePermission(param0: java.security.acl.Permission): boolean;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				/** @deprecated */
				public constructor();
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: 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(subject: javax.security.auth.Subject): boolean;
				});
				public constructor();
				public implies(subject: javax.security.auth.Subject): boolean;
				/** @deprecated */
				public members(): java.util.Enumeration<any>;
				public hashCode(): number;
				/** @deprecated */
				public isMember(param0: java.security.Principal): boolean;
				public equals(param0: any): boolean;
				/** @deprecated */
				public removeMember(param0: java.security.Principal): boolean;
				public getName(): string;
				public toString(): string;
				/** @deprecated */
				public addMember(param0: java.security.Principal): boolean;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				/** @deprecated */
				public constructor();
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: 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(cause: java.lang.Throwable);
				/** @deprecated */
				public constructor();
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: 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();
				/** @deprecated */
				public addOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
				/** @deprecated */
				public deleteOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
				/** @deprecated */
				public isOwner(param0: 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 constructor(type: string);
				public isRevoked(param0: java.security.cert.Certificate): boolean;
				public toString(): 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(): androidNative.Array<java.security.cert.CRLReason>;
				public static valueOf(name: string): java.security.cert.CRLReason;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			}
		}
	}
}

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 equals(other: any): boolean;
				public constructor(type: string);
				public getEncoded(): androidNative.Array<number>;
				public hashCode(): number;
				public getEncodings(): java.util.Iterator<string>;
				public toString(): string;
				public writeReplace(): any;
				public getEncoded(param0: string): androidNative.Array<number>;
			}
			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 readResolve(): any;
					public constructor(type: string, data: androidNative.Array<number>);
				}
			}
		}
	}
}

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(algorithm: string, provider: java.security.Provider): java.security.cert.CertPathBuilder;
				public static getInstance(algorithm: string, provider: string): java.security.cert.CertPathBuilder;
				public build(params: java.security.cert.CertPathParameters): java.security.cert.CertPathBuilderResult;
				public constructor(builderSpi: java.security.cert.CertPathBuilderSpi, provider: java.security.Provider, algorithm: string);
				public static getDefaultType(): string;
				public getProvider(): java.security.Provider;
				public getRevocationChecker(): java.security.cert.CertPathChecker;
				public static getInstance(algorithm: string): java.security.cert.CertPathBuilder;
			}
		}
	}
}

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(msg: string, cause: java.lang.Throwable);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 constructor(validatorSpi: java.security.cert.CertPathValidatorSpi, provider: java.security.Provider, algorithm: string);
				public static getInstance(algorithm: string, provider: string): java.security.cert.CertPathValidator;
				public getAlgorithm(): string;
				public static getInstance(algorithm: string): java.security.cert.CertPathValidator;
				public static getInstance(algorithm: string, provider: java.security.Provider): java.security.cert.CertPathValidator;
				public static getDefaultType(): string;
				public getProvider(): java.security.Provider;
				public getRevocationChecker(): java.security.cert.CertPathChecker;
				public validate(certPath: java.security.cert.CertPath, params: java.security.cert.CertPathParameters): java.security.cert.CertPathValidatorResult;
			}
		}
	}
}

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 constructor(msg: string, cause: java.lang.Throwable);
				public getCertPath(): java.security.cert.CertPath;
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(msg: string, cause: java.lang.Throwable, certPath: java.security.cert.CertPath, index: number, reason: java.security.cert.CertPathValidatorException.Reason);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getIndex(): number;
				public constructor(msg: string);
				public constructor(msg: string, cause: java.lang.Throwable, certPath: java.security.cert.CertPath, index: number);
				public getReason(): java.security.cert.CertPathValidatorException.Reason;
				public constructor();
			}
			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(): androidNative.Array<java.security.cert.CertPathValidatorException.BasicReason>;
					public static valueOf(name: string): java.security.cert.CertPathValidatorException.BasicReason;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 getType(): string;
				public getCertificates(selector: java.security.cert.CertSelector): java.util.Collection<any>;
				public static getInstance(type: string, params: java.security.cert.CertStoreParameters, provider: string): java.security.cert.CertStore;
				public static getInstance(type: string, params: java.security.cert.CertStoreParameters, provider: java.security.Provider): java.security.cert.CertStore;
				public static getDefaultType(): string;
				public constructor(storeSpi: java.security.cert.CertStoreSpi, provider: java.security.Provider, type: string, params: java.security.cert.CertStoreParameters);
				public static getInstance(type: string, params: java.security.cert.CertStoreParameters): java.security.cert.CertStore;
				public getProvider(): java.security.Provider;
				public getCRLs(selector: java.security.cert.CRLSelector): java.util.Collection<any>;
				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(msg: string, cause: java.lang.Throwable);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 engineGetCertificates(param0: java.security.cert.CertSelector): java.util.Collection<any>;
				public engineGetCRLs(param0: java.security.cert.CRLSelector): java.util.Collection<any>;
				public constructor(params: java.security.cert.CertStoreParameters);
			}
		}
	}
}

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(key: java.security.PublicKey, sigProvider: java.security.Provider): void;
				public equals(other: any): boolean;
				public constructor(type: string);
				public getEncoded(): androidNative.Array<number>;
				public hashCode(): number;
				public verify(param0: java.security.PublicKey): void;
				public getPublicKey(): java.security.PublicKey;
				public toString(): string;
				public writeReplace(): any;
			}
			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 readResolve(): any;
					public constructor(type: string, data: androidNative.Array<number>);
				}
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 static getInstance(type: string): java.security.cert.CertificateFactory;
				public getType(): string;
				public generateCertPath(inStream: java.io.InputStream, encoding: string): java.security.cert.CertPath;
				public static getInstance(type: string, provider: string): java.security.cert.CertificateFactory;
				public getCertPathEncodings(): java.util.Iterator<string>;
				public generateCertificates(inStream: java.io.InputStream): java.util.Collection<any>;
				public generateCertificate(inStream: java.io.InputStream): java.security.cert.Certificate;
				public getProvider(): java.security.Provider;
				public generateCertPath(certificates: java.util.List<any>): java.security.cert.CertPath;
				public generateCRL(inStream: java.io.InputStream): java.security.cert.CRL;
				public generateCertPath(inStream: java.io.InputStream): java.security.cert.CertPath;
				public static getInstance(type: string, provider: java.security.Provider): java.security.cert.CertificateFactory;
				public generateCRLs(inStream: java.io.InputStream): java.util.Collection<any>;
				public constructor(certFacSpi: java.security.cert.CertificateFactorySpi, provider: java.security.Provider, type: string);
			}
		}
	}
}

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 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 engineGenerateCertPath(inStream: java.io.InputStream): java.security.cert.CertPath;
				public engineGetCertPathEncodings(): java.util.Iterator<string>;
				public engineGenerateCertPath(inStream: java.io.InputStream, encoding: string): java.security.cert.CertPath;
				public engineGenerateCertPath(certificates: java.util.List<any>): java.security.cert.CertPath;
				public engineGenerateCRLs(param0: java.io.InputStream): java.util.Collection<any>;
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public getAuthorityName(): javax.security.auth.x500.X500Principal;
				public constructor(revocationDate: java.util.Date, reason: java.security.cert.CRLReason, authority: javax.security.auth.x500.X500Principal, extensions: java.util.Map<string,java.security.cert.Extension>);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getInvalidityDate(): java.util.Date;
				public constructor(msg: string);
				public getRevocationDate(): java.util.Date;
				public getMessage(): string;
				public getExtensions(): java.util.Map<string,java.security.cert.Extension>;
				public constructor();
			}
		}
	}
}

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(collection: 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(): androidNative.Array<number>;
					encode(param0: java.io.OutputStream): void;
				});
				public constructor();
				public encode(param0: java.io.OutputStream): void;
				public getValue(): androidNative.Array<number>;
				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 constructor(serverName: string);
				public getPort(): number;
				public clone(): any;
				public constructor(serverName: string, port: number);
				public toString(): 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(keystore: java.security.KeyStore);
				public constructor(keystore: java.security.KeyStore, targetConstraints: java.security.cert.CertSelector);
				public setMaxPathLength(maxPathLength: number): void;
				public constructor(trustAnchors: java.util.Set<java.security.cert.TrustAnchor>, targetConstraints: java.security.cert.CertSelector);
				public clone(): any;
				public getMaxPathLength(): number;
				public toString(): string;
				public constructor(trustAnchors: 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(certPath: java.security.cert.CertPath, trustAnchor: java.security.cert.TrustAnchor, policyTree: java.security.cert.PolicyNode, subjectPublicKey: java.security.PublicKey);
				public clone(): any;
				public toString(): string;
				public constructor(trustAnchor: java.security.cert.TrustAnchor, policyTree: java.security.cert.PolicyNode, subjectPublicKey: 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 clone(): any;
				public check(param0: java.security.cert.Certificate): void;
				public check(cert: java.security.cert.Certificate): void;
				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 getPolicyTree(): java.security.cert.PolicyNode;
				public clone(): any;
				public toString(): string;
				public constructor(trustAnchor: java.security.cert.TrustAnchor, policyTree: java.security.cert.PolicyNode, subjectPublicKey: java.security.PublicKey);
			}
		}
	}
}

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 constructor(keystore: java.security.KeyStore);
				public addCertPathChecker(checker: java.security.cert.PKIXCertPathChecker): void;
				public setRevocationEnabled(val: boolean): void;
				public getInitialPolicies(): java.util.Set<string>;
				public addCertStore(store: java.security.cert.CertStore): void;
				public getTrustAnchors(): java.util.Set<java.security.cert.TrustAnchor>;
				public setPolicyQualifiersRejected(qualifiersRejected: boolean): void;
				public isExplicitPolicyRequired(): boolean;
				public setExplicitPolicyRequired(val: boolean): void;
				public constructor(trustAnchors: java.util.Set<java.security.cert.TrustAnchor>);
				public setInitialPolicies(initialPolicies: java.util.Set<string>): void;
				public clone(): any;
				public getCertStores(): java.util.List<java.security.cert.CertStore>;
				public isPolicyMappingInhibited(): boolean;
				public getPolicyQualifiersRejected(): boolean;
				public getTargetCertConstraints(): java.security.cert.CertSelector;
				public setTargetCertConstraints(selector: java.security.cert.CertSelector): void;
				public isRevocationEnabled(): boolean;
				public setTrustAnchors(trustAnchors: java.util.Set<java.security.cert.TrustAnchor>): void;
				public getCertPathCheckers(): java.util.List<java.security.cert.PKIXCertPathChecker>;
				public setAnyPolicyInhibited(val: boolean): void;
				public getDate(): java.util.Date;
				public setSigProvider(sigProvider: string): void;
				public isAnyPolicyInhibited(): boolean;
				public toString(): string;
				public setDate(date: java.util.Date): void;
				public setCertPathCheckers(checkers: java.util.List<java.security.cert.PKIXCertPathChecker>): void;
				public setPolicyMappingInhibited(val: boolean): void;
				public getSigProvider(): string;
				public setCertStores(stores: java.util.List<java.security.cert.CertStore>): 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 values(): androidNative.Array<java.security.cert.PKIXReason>;
				public static valueOf(name: string): java.security.cert.PKIXReason;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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 setOcspResponses(responses: java.util.Map<java.security.cert.X509Certificate,androidNative.Array<number>>): void;
				public clone(): java.security.cert.PKIXRevocationChecker;
				public isForwardCheckingSupported(): boolean;
				public check(param0: java.security.cert.Certificate): void;
				public setOptions(options: java.util.Set<java.security.cert.PKIXRevocationChecker.Option>): void;
				public getOptions(): java.util.Set<java.security.cert.PKIXRevocationChecker.Option>;
				public constructor();
				public setOcspExtensions(extensions: java.util.List<java.security.cert.Extension>): void;
				public check(param0: java.security.cert.Certificate, param1: java.util.Collection<string>): void;
				public init(param0: boolean): void;
				public setOcspResponderCert(cert: java.security.cert.X509Certificate): void;
				public clone(): any;
				public setOcspResponder(uri: java.net.URI): void;
				public getOcspExtensions(): java.util.List<java.security.cert.Extension>;
				public getOcspResponderCert(): java.security.cert.X509Certificate;
				public getSoftFailExceptions(): java.util.List<java.security.cert.CertPathValidatorException>;
				public getOcspResponses(): java.util.Map<java.security.cert.X509Certificate,androidNative.Array<number>>;
			}
			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(name: string): java.security.cert.PKIXRevocationChecker.Option;
					public static values(): androidNative.Array<java.security.cert.PKIXRevocationChecker.Option>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(encoded: androidNative.Array<number>);
				public getPolicyQualifier(): androidNative.Array<number>;
				public getEncoded(): androidNative.Array<number>;
				public getPolicyQualifierId(): string;
				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 constructor(caPrincipal: javax.security.auth.x500.X500Principal, pubKey: java.security.PublicKey, nameConstraints: androidNative.Array<number>);
				public getCA(): javax.security.auth.x500.X500Principal;
				public getCAPublicKey(): java.security.PublicKey;
				public getTrustedCert(): java.security.cert.X509Certificate;
				public constructor(caName: string, pubKey: java.security.PublicKey, nameConstraints: androidNative.Array<number>);
				public getNameConstraints(): androidNative.Array<number>;
				public constructor(trustedCert: java.security.cert.X509Certificate, nameConstraints: androidNative.Array<number>);
				public toString(): string;
				public getCAName(): string;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class URICertStoreParameters extends java.lang.Object implements java.security.cert.CertStoreParameters {
				public static class: java.lang.Class<java.security.cert.URICertStoreParameters>;
				public hashCode(): number;
				public clone(): java.security.cert.URICertStoreParameters;
				public equals(p: any): boolean;
				public clone(): any;
				public toString(): string;
				public constructor(uri: java.net.URI);
				public getURI(): java.net.URI;
			}
		}
	}
}

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 verify(key: java.security.PublicKey, sigProvider: java.security.Provider): void;
				public getNonCriticalExtensionOIDs(): java.util.Set<string>;
				public getSigAlgParams(): androidNative.Array<number>;
				public getIssuerDN(): java.security.Principal;
				public constructor();
				public verify(param0: java.security.PublicKey, param1: string): void;
				public getSignature(): androidNative.Array<number>;
				public equals(other: any): boolean;
				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 getTBSCertList(): androidNative.Array<number>;
				public getRevokedCertificate(certificate: java.security.cert.X509Certificate): java.security.cert.X509CRLEntry;
				public getIssuerX500Principal(): javax.security.auth.x500.X500Principal;
				public constructor(type: string);
				public hasUnsupportedCriticalExtension(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public getVersion(): number;
				public getExtensionValue(param0: string): androidNative.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 equals(other: any): boolean;
				public getEncoded(): androidNative.Array<number>;
				public hashCode(): number;
				public hasExtensions(): boolean;
				public getExtensionValue(param0: string): androidNative.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 setMinCRLNumber(minCRL: java.math.BigInteger): void;
				public getDateAndTime(): java.util.Date;
				public getIssuerNames(): java.util.Collection<any>;
				public match(crl: java.security.cert.CRL): boolean;
				public getIssuers(): java.util.Collection<javax.security.auth.x500.X500Principal>;
				public toString(): string;
				public constructor();
				public setCertificateChecking(cert: java.security.cert.X509Certificate): void;
				public getMinCRL(): java.math.BigInteger;
				public match(param0: java.security.cert.CRL): boolean;
				public setDateAndTime(dateAndTime: java.util.Date): void;
				public setIssuers(issuers: java.util.Collection<javax.security.auth.x500.X500Principal>): void;
				public setIssuerNames(names: java.util.Collection<any>): void;
				public clone(): any;
				public getCertificateChecking(): java.security.cert.X509Certificate;
				public addIssuer(issuer: javax.security.auth.x500.X500Principal): void;
				public addIssuerName(name: string): void;
				public addIssuerName(name: androidNative.Array<number>): void;
				public getMaxCRL(): java.math.BigInteger;
				public setMaxCRLNumber(maxCRL: java.math.BigInteger): void;
			}
		}
	}
}

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 setMatchAllSubjectAltNames(matchAllNames: boolean): void;
				public getSerialNumber(): java.math.BigInteger;
				public getSubjectAsBytes(): androidNative.Array<number>;
				public setSerialNumber(serial: java.math.BigInteger): void;
				public constructor();
				public getBasicConstraints(): number;
				public setSubjectKeyIdentifier(subjectKeyID: androidNative.Array<number>): void;
				public clone(): any;
				public getExtendedKeyUsage(): java.util.Set<string>;
				public match(param0: java.security.cert.Certificate): boolean;
				public addPathToName(type: number, name: string): void;
				public getSubjectKeyIdentifier(): androidNative.Array<number>;
				public getPrivateKeyValid(): java.util.Date;
				public setKeyUsage(keyUsage: androidNative.Array<boolean>): void;
				public getMatchAllSubjectAltNames(): boolean;
				public addPathToName(type: number, name: androidNative.Array<number>): void;
				public toString(): string;
				public addSubjectAlternativeName(type: number, name: string): void;
				public setPrivateKeyValid(privateKeyValid: java.util.Date): void;
				public setPathToNames(names: java.util.Collection<java.util.List<any>>): void;
				public setNameConstraints(bytes: androidNative.Array<number>): void;
				public getSubject(): javax.security.auth.x500.X500Principal;
				public setSubjectPublicKey(key: androidNative.Array<number>): void;
				public setCertificate(cert: java.security.cert.X509Certificate): void;
				public setSubject(subjectDN: string): void;
				public setBasicConstraints(minMaxPathLen: number): void;
				public setSubject(subjectDN: androidNative.Array<number>): void;
				public setSubjectAlternativeNames(names: java.util.Collection<java.util.List<any>>): void;
				public setIssuer(issuer: javax.security.auth.x500.X500Principal): void;
				public setAuthorityKeyIdentifier(authorityKeyID: androidNative.Array<number>): void;
				public addSubjectAlternativeName(type: number, name: androidNative.Array<number>): void;
				public getCertificateValid(): java.util.Date;
				public getPathToNames(): java.util.Collection<java.util.List<any>>;
				public getSubjectAlternativeNames(): java.util.Collection<java.util.List<any>>;
				public setExtendedKeyUsage(keyPurposeSet: java.util.Set<string>): void;
				public getSubjectPublicKeyAlgID(): string;
				public getAuthorityKeyIdentifier(): androidNative.Array<number>;
				public getCertificate(): java.security.cert.X509Certificate;
				public getSubjectAsString(): string;
				public setSubjectPublicKey(key: java.security.PublicKey): void;
				public setIssuer(issuerDN: androidNative.Array<number>): void;
				public setCertificateValid(certValid: java.util.Date): void;
				public getSubjectPublicKey(): java.security.PublicKey;
				public setIssuer(issuerDN: string): void;
				public getIssuer(): javax.security.auth.x500.X500Principal;
				public getKeyUsage(): androidNative.Array<boolean>;
				public getPolicy(): java.util.Set<string>;
				public match(cert: java.security.cert.Certificate): boolean;
				public setSubject(subject: javax.security.auth.x500.X500Principal): void;
				public setSubjectPublicKeyAlgID(oid: string): void;
				public getIssuerAsBytes(): androidNative.Array<number>;
				public getNameConstraints(): androidNative.Array<number>;
				public setPolicy(certPolicySet: java.util.Set<string>): void;
				public getIssuerAsString(): string;
			}
		}
	}
}

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 verify(key: java.security.PublicKey, sigProvider: java.security.Provider): void;
				public getNonCriticalExtensionOIDs(): java.util.Set<string>;
				public getSigAlgParams(): androidNative.Array<number>;
				public getIssuerDN(): java.security.Principal;
				public constructor();
				public verify(param0: java.security.PublicKey, param1: string): void;
				public getSignature(): androidNative.Array<number>;
				public getBasicConstraints(): number;
				public verify(param0: java.security.PublicKey): void;
				public getSubjectAlternativeNames(): java.util.Collection<java.util.List<any>>;
				public getSubjectUniqueID(): androidNative.Array<boolean>;
				public checkValidity(param0: java.util.Date): void;
				public getIssuerUniqueID(): androidNative.Array<boolean>;
				public getNotBefore(): java.util.Date;
				public getNotAfter(): java.util.Date;
				public getIssuerX500Principal(): javax.security.auth.x500.X500Principal;
				public getExtendedKeyUsage(): java.util.List<string>;
				public constructor(type: string);
				public getIssuerAlternativeNames(): java.util.Collection<java.util.List<any>>;
				public getSubjectDN(): java.security.Principal;
				public getTBSCertificate(): androidNative.Array<number>;
				public getKeyUsage(): androidNative.Array<boolean>;
				public hasUnsupportedCriticalExtension(): boolean;
				public getVersion(): number;
				public getExtensionValue(param0: string): androidNative.Array<number>;
				public checkValidity(): void;
				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): androidNative.Array<number>;
				});
				public constructor();
				public getCriticalExtensionOIDs(): java.util.Set<string>;
				public hasUnsupportedCriticalExtension(): boolean;
				public getExtensionValue(param0: string): androidNative.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(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: 7776497482533790279;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): java.security.interfaces.DSAParams;
				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(): androidNative.Array<number>;
				});
				public constructor();
				public static serialVersionUID: 1234526332779022332;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): java.security.interfaces.DSAParams;
				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(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: -7896394956925609184;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public getS(): java.math.BigInteger;
				public getParams(): java.security.spec.ECParameterSpec;
			}
		}
	}
}

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(): androidNative.Array<number>;
				});
				public constructor();
				public static serialVersionUID: -3314988629879632826;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): java.security.spec.ECParameterSpec;
				public getW(): java.security.spec.ECPoint;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class EdECKey extends java.lang.Object {
				public static class: java.lang.Class<java.security.interfaces.EdECKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.EdECKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getParams(): java.security.spec.NamedParameterSpec;
				});
				public constructor();
				public getParams(): java.security.spec.NamedParameterSpec;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class EdECPrivateKey extends java.lang.Object implements java.security.interfaces.EdECKey, java.security.PrivateKey {
				public static class: java.lang.Class<java.security.interfaces.EdECPrivateKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.EdECPrivateKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getBytes(): java.util.Optional<androidNative.Array<number>>;
					getParams(): java.security.spec.NamedParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: 6034044314589513430;
				public getAlgorithm(): string;
				public getBytes(): java.util.Optional<androidNative.Array<number>>;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): java.security.spec.NamedParameterSpec;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class EdECPublicKey extends java.lang.Object implements java.security.interfaces.EdECKey, java.security.PublicKey {
				public static class: java.lang.Class<java.security.interfaces.EdECPublicKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.EdECPublicKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPoint(): java.security.spec.EdECPoint;
					getParams(): java.security.spec.NamedParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
				});
				public constructor();
				public static serialVersionUID: 7187392471159151072;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getEncoded(): androidNative.Array<number>;
				public getPoint(): java.security.spec.EdECPoint;
				public getParams(): java.security.spec.NamedParameterSpec;
			}
		}
	}
}

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;
					getParams(): java.security.spec.AlgorithmParameterSpec;
				});
				public constructor();
				public getParams(): java.security.spec.AlgorithmParameterSpec;
				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(): androidNative.Array<java.security.spec.RSAOtherPrimeInfo>;
					getPrivateExponent(): java.math.BigInteger;
					getModulus(): java.math.BigInteger;
					getParams(): java.security.spec.AlgorithmParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: 618058533534628008;
				public getPrimeQ(): java.math.BigInteger;
				public getFormat(): string;
				public getPublicExponent(): java.math.BigInteger;
				public isDestroyed(): boolean;
				public getParams(): java.security.spec.AlgorithmParameterSpec;
				public getCrtCoefficient(): java.math.BigInteger;
				public getAlgorithm(): string;
				public destroy(): void;
				public getPrimeExponentP(): java.math.BigInteger;
				public getPrivateExponent(): java.math.BigInteger;
				public getEncoded(): androidNative.Array<number>;
				public getOtherPrimeInfo(): androidNative.Array<java.security.spec.RSAOtherPrimeInfo>;
				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;
					getParams(): java.security.spec.AlgorithmParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: -5682214253527700368;
				public getPrimeQ(): java.math.BigInteger;
				public getFormat(): string;
				public getPublicExponent(): java.math.BigInteger;
				public isDestroyed(): boolean;
				public getParams(): java.security.spec.AlgorithmParameterSpec;
				public getCrtCoefficient(): java.math.BigInteger;
				public getAlgorithm(): string;
				public destroy(): void;
				public getPrimeExponentP(): java.math.BigInteger;
				public getPrivateExponent(): java.math.BigInteger;
				public getEncoded(): androidNative.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;
					getParams(): java.security.spec.AlgorithmParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: 5187144804936595022;
				public getAlgorithm(): string;
				public destroy(): void;
				public getPrivateExponent(): java.math.BigInteger;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): java.security.spec.AlgorithmParameterSpec;
				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;
					getParams(): java.security.spec.AlgorithmParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
				});
				public constructor();
				public static serialVersionUID: -8727434096241101194;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getPublicExponent(): java.math.BigInteger;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): java.security.spec.AlgorithmParameterSpec;
				public getModulus(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class XECKey extends java.lang.Object {
				public static class: java.lang.Class<java.security.interfaces.XECKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.XECKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getParams(): java.security.spec.AlgorithmParameterSpec;
				});
				public constructor();
				public getParams(): java.security.spec.AlgorithmParameterSpec;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class XECPrivateKey extends java.lang.Object implements java.security.interfaces.XECKey, java.security.PrivateKey {
				public static class: java.lang.Class<java.security.interfaces.XECPrivateKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.XECPrivateKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getScalar(): java.util.Optional<androidNative.Array<number>>;
					getParams(): java.security.spec.AlgorithmParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: 6034044314589513430;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public getScalar(): java.util.Optional<androidNative.Array<number>>;
				public getParams(): java.security.spec.AlgorithmParameterSpec;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class XECPublicKey extends java.lang.Object implements java.security.interfaces.XECKey, java.security.PublicKey {
				public static class: java.lang.Class<java.security.interfaces.XECPublicKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.XECPublicKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getU(): java.math.BigInteger;
					getParams(): java.security.spec.AlgorithmParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
				});
				public constructor();
				public static serialVersionUID: 7187392471159151072;
				public getAlgorithm(): string;
				public getU(): java.math.BigInteger;
				public getFormat(): string;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): java.security.spec.AlgorithmParameterSpec;
			}
		}
	}
}

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 DSAGenParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.DSAGenParameterSpec>;
				public getSeedLength(): number;
				public constructor(primePLen: number, subprimeQLen: number, seedLen: number);
				public getPrimePLength(): number;
				public constructor(primePLen: number, subprimeQLen: number);
				public getSubprimeQLength(): number;
			}
		}
	}
}

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 getQ(): java.math.BigInteger;
				public getG(): java.math.BigInteger;
				public constructor(p: java.math.BigInteger, q: java.math.BigInteger, g: 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 getQ(): java.math.BigInteger;
				public getG(): java.math.BigInteger;
				public constructor(x: java.math.BigInteger, p: java.math.BigInteger, q: java.math.BigInteger, g: 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 getQ(): java.math.BigInteger;
				public getG(): java.math.BigInteger;
				public constructor(y: java.math.BigInteger, p: java.math.BigInteger, q: java.math.BigInteger, g: 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 equals(obj: any): boolean;
				public constructor(m: number);
				public hashCode(): number;
				public constructor(m: number, ks: androidNative.Array<number>);
				public getFieldSize(): number;
				public getReductionPolynomial(): java.math.BigInteger;
				public getMidTermsOfReductionPolynomial(): androidNative.Array<number>;
				public constructor(m: number, rp: java.math.BigInteger);
				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 constructor(p: java.math.BigInteger);
				public equals(obj: any): boolean;
				public hashCode(): number;
				public getFieldSize(): number;
				public getP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECGenParameterSpec extends java.security.spec.NamedParameterSpec implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.ECGenParameterSpec>;
				public constructor(stdName: string);
				public getName(): 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(curve: java.security.spec.EllipticCurve, g: java.security.spec.ECPoint, n: java.math.BigInteger, h: 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(x: java.math.BigInteger, y: java.math.BigInteger);
				public equals(obj: any): boolean;
				public getAffineX(): java.math.BigInteger;
				public hashCode(): number;
			}
		}
	}
}

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 getS(): java.math.BigInteger;
				public getParams(): java.security.spec.ECParameterSpec;
				public constructor(s: java.math.BigInteger, params: 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(w: java.security.spec.ECPoint, params: 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 EdDSAParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.EdDSAParameterSpec>;
				public constructor(prehash: boolean);
				public constructor(prehash: boolean, context: androidNative.Array<number>);
				public isPrehash(): boolean;
				public getContext(): java.util.Optional<androidNative.Array<number>>;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class EdECPoint extends java.lang.Object {
				public static class: java.lang.Class<java.security.spec.EdECPoint>;
				public constructor(xOdd: boolean, y: java.math.BigInteger);
				public isXOdd(): boolean;
				public getY(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class EdECPrivateKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.EdECPrivateKeySpec>;
				public getBytes(): androidNative.Array<number>;
				public constructor(params: java.security.spec.NamedParameterSpec, bytes: androidNative.Array<number>);
				public getParams(): java.security.spec.NamedParameterSpec;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class EdECPublicKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.EdECPublicKeySpec>;
				public constructor(params: java.security.spec.NamedParameterSpec, point: java.security.spec.EdECPoint);
				public getPoint(): java.security.spec.EdECPoint;
				public getParams(): java.security.spec.NamedParameterSpec;
			}
		}
	}
}

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 constructor(field: java.security.spec.ECField, a: java.math.BigInteger, b: java.math.BigInteger, seed: androidNative.Array<number>);
				public constructor(field: java.security.spec.ECField, a: java.math.BigInteger, b: java.math.BigInteger);
				public getA(): java.math.BigInteger;
				public getSeed(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public hashCode(): number;
				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 getAlgorithm(): string;
				public constructor(encodedKey: androidNative.Array<number>);
				public getFormat(): string;
				public getEncoded(): androidNative.Array<number>;
				public constructor(encodedKey: androidNative.Array<number>, algorithm: string);
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 SHA3_224: java.security.spec.MGF1ParameterSpec;
				public static SHA3_256: java.security.spec.MGF1ParameterSpec;
				public static SHA3_384: java.security.spec.MGF1ParameterSpec;
				public static SHA3_512: java.security.spec.MGF1ParameterSpec;
				public static SHA512: java.security.spec.MGF1ParameterSpec;
				public static SHA512_224: java.security.spec.MGF1ParameterSpec;
				public static SHA512_256: java.security.spec.MGF1ParameterSpec;
				public constructor(mdName: string);
				public getDigestAlgorithm(): string;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class NamedParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.NamedParameterSpec>;
				public static ED25519: java.security.spec.NamedParameterSpec;
				public static ED448: java.security.spec.NamedParameterSpec;
				public static X25519: java.security.spec.NamedParameterSpec;
				public static X448: java.security.spec.NamedParameterSpec;
				public constructor(stdName: string);
				public getName(): 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(encodedKey: androidNative.Array<number>);
				public getFormat(): string;
				public getEncoded(): androidNative.Array<number>;
				public constructor(encodedKey: androidNative.Array<number>, algorithm: string);
			}
		}
	}
}

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 static TRAILER_FIELD_BC: 1;
				public getSaltLength(): number;
				public constructor(mdName: string, mgfName: string, mgfSpec: java.security.spec.AlgorithmParameterSpec, saltLen: number, trailerField: number);
				public getDigestAlgorithm(): string;
				public getMGFAlgorithm(): string;
				public constructor(saltLen: number);
				public getTrailerField(): number;
				public toString(): string;
				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 getKeysize(): number;
				public getKeyParams(): java.security.spec.AlgorithmParameterSpec;
				public constructor(keysize: number, publicExponent: java.math.BigInteger);
				public constructor(keysize: number, publicExponent: java.math.BigInteger, keyParams: java.security.spec.AlgorithmParameterSpec);
			}
		}
	}
}

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(modulus: java.math.BigInteger, publicExponent: java.math.BigInteger, privateExponent: java.math.BigInteger, primeP: java.math.BigInteger, primeQ: java.math.BigInteger, primeExponentP: java.math.BigInteger, primeExponentQ: java.math.BigInteger, crtCoefficient: java.math.BigInteger, otherPrimeInfo: androidNative.Array<java.security.spec.RSAOtherPrimeInfo>);
				public getPrimeExponentP(): java.math.BigInteger;
				public getPublicExponent(): java.math.BigInteger;
				public getCrtCoefficient(): java.math.BigInteger;
				public constructor(modulus: java.math.BigInteger, privateExponent: java.math.BigInteger, params: java.security.spec.AlgorithmParameterSpec);
				public getOtherPrimeInfo(): androidNative.Array<java.security.spec.RSAOtherPrimeInfo>;
				public getPrimeExponentQ(): java.math.BigInteger;
				public constructor(modulus: java.math.BigInteger, publicExponent: java.math.BigInteger, privateExponent: java.math.BigInteger, primeP: java.math.BigInteger, primeQ: java.math.BigInteger, primeExponentP: java.math.BigInteger, primeExponentQ: java.math.BigInteger, crtCoefficient: java.math.BigInteger, otherPrimeInfo: androidNative.Array<java.security.spec.RSAOtherPrimeInfo>, keyParams: java.security.spec.AlgorithmParameterSpec);
				public getPrimeP(): java.math.BigInteger;
				public constructor(modulus: java.math.BigInteger, privateExponent: 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(prime: java.math.BigInteger, primeExponent: java.math.BigInteger, crtCoefficient: 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(modulus: java.math.BigInteger, publicExponent: java.math.BigInteger, privateExponent: java.math.BigInteger, primeP: java.math.BigInteger, primeQ: java.math.BigInteger, primeExponentP: java.math.BigInteger, primeExponentQ: java.math.BigInteger, crtCoefficient: java.math.BigInteger);
				public getPrimeExponentP(): java.math.BigInteger;
				public getPublicExponent(): java.math.BigInteger;
				public constructor(modulus: java.math.BigInteger, publicExponent: java.math.BigInteger, privateExponent: java.math.BigInteger, primeP: java.math.BigInteger, primeQ: java.math.BigInteger, primeExponentP: java.math.BigInteger, primeExponentQ: java.math.BigInteger, crtCoefficient: java.math.BigInteger, keyParams: java.security.spec.AlgorithmParameterSpec);
				public getCrtCoefficient(): java.math.BigInteger;
				public constructor(modulus: java.math.BigInteger, privateExponent: java.math.BigInteger, params: java.security.spec.AlgorithmParameterSpec);
				public getPrimeExponentQ(): java.math.BigInteger;
				public getPrimeP(): java.math.BigInteger;
				public constructor(modulus: java.math.BigInteger, privateExponent: 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 getPrivateExponent(): java.math.BigInteger;
				public getParams(): java.security.spec.AlgorithmParameterSpec;
				public constructor(modulus: java.math.BigInteger, privateExponent: java.math.BigInteger, params: java.security.spec.AlgorithmParameterSpec);
				public getModulus(): java.math.BigInteger;
				public constructor(modulus: java.math.BigInteger, privateExponent: 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 getPublicExponent(): java.math.BigInteger;
				public constructor(modulus: java.math.BigInteger, publicExponent: java.math.BigInteger, params: java.security.spec.AlgorithmParameterSpec);
				public getParams(): java.security.spec.AlgorithmParameterSpec;
				public constructor(modulus: java.math.BigInteger, publicExponent: 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(encodedKey: androidNative.Array<number>);
				public getFormat(): string;
				public getEncoded(): androidNative.Array<number>;
				public constructor(encodedKey: androidNative.Array<number>, algorithm: string);
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class XECPrivateKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.XECPrivateKeySpec>;
				public getScalar(): androidNative.Array<number>;
				public getParams(): java.security.spec.AlgorithmParameterSpec;
				public constructor(params: java.security.spec.AlgorithmParameterSpec, scalar: androidNative.Array<number>);
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class XECPublicKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.XECPublicKeySpec>;
				public getU(): java.math.BigInteger;
				public constructor(params: java.security.spec.AlgorithmParameterSpec, u: java.math.BigInteger);
				public getParams(): java.security.spec.AlgorithmParameterSpec;
			}
		}
	}
}

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(reason: string, updateCounts: androidNative.Array<number>, cause: java.lang.Throwable);
			public getUpdateCounts(): androidNative.Array<number>;
			public constructor(reason: string);
			public constructor(reason: string, sqlState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string, updateCounts: androidNative.Array<number>);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string, vendorCode: number, updateCounts: androidNative.Array<number>);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public constructor(reason: string, SQLState: string, updateCounts: androidNative.Array<number>, cause: java.lang.Throwable);
			public constructor(updateCounts: androidNative.Array<number>);
			public constructor(reason: string, cause: java.lang.Throwable);
			public constructor(updateCounts: androidNative.Array<number>, cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string, vendorCode: number, updateCounts: androidNative.Array<number>, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(reason: string, updateCounts: androidNative.Array<number>);
			public constructor(reason: string, SQLState: string);
			public spliterator(): java.util.Spliterator<any>;
			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): androidNative.Array<number>;
				getBinaryStream(): java.io.InputStream;
				position(param0: androidNative.Array<number>, param1: number): number;
				position(param0: java.sql.Blob, param1: number): number;
				setBytes(param0: number, param1: androidNative.Array<number>): number;
				setBytes(param0: number, param1: androidNative.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 setBytes(param0: number, param1: androidNative.Array<number>): number;
			public getBinaryStream(param0: number, param1: number): java.io.InputStream;
			public truncate(param0: number): void;
			public length(): number;
			public getBytes(param0: number, param1: number): androidNative.Array<number>;
			public setBytes(param0: number, param1: androidNative.Array<number>, param2: number, param3: number): number;
			public setBinaryStream(param0: number): java.io.OutputStream;
			public position(param0: androidNative.Array<number>, param1: number): number;
			public position(param0: java.sql.Blob, param1: 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): androidNative.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: androidNative.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): androidNative.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: androidNative.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(): androidNative.Array<number>;
				getConnection(): java.sql.Connection;
				getMoreResults(param0: number): boolean;
				getGeneratedKeys(): java.sql.ResultSet;
				executeUpdate(param0: string, param1: number): number;
				executeUpdate(param0: string, param1: androidNative.Array<number>): number;
				executeUpdate(param0: string, param1: androidNative.Array<string>): number;
				execute(param0: string, param1: number): boolean;
				execute(param0: string, param1: androidNative.Array<number>): boolean;
				execute(param0: string, param1: androidNative.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 EXECUTE_FAILED: -3;
			public static KEEP_CURRENT_RESULT: 2;
			public static CLOSE_CURRENT_RESULT: 1;
			public static NO_GENERATED_KEYS: 2;
			public static RETURN_GENERATED_KEYS: 1;
			public static CLOSE_ALL_RESULTS: 3;
			public static SUCCESS_NO_INFO: -2;
			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 executeUpdate(param0: string, param1: androidNative.Array<number>): number;
			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 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 setBytes(param0: number, param1: androidNative.Array<number>): void;
			public setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
			public getBytes(param0: number): androidNative.Array<number>;
			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 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 execute(param0: string, param1: androidNative.Array<number>): boolean;
			public getLong(param0: number): number;
			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 getMetaData(): java.sql.ResultSetMetaData;
			public setURL(param0: string, param1: java.net.URL): void;
			public getUpdateCount(): 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 getBytes(param0: string): androidNative.Array<number>;
			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 executeBatch(): androidNative.Array<number>;
			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 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 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 execute(param0: string, param1: androidNative.Array<string>): boolean;
			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 setBytes(param0: string, param1: androidNative.Array<number>): void;
			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 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 executeUpdate(param0: string, param1: androidNative.Array<string>): number;
			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;
		}
	}
}

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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public static values(): androidNative.Array<java.sql.ClientInfoStatus>;
			public static valueOf(name: 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: androidNative.Array<number>): java.sql.PreparedStatement;
				prepareStatement(param0: string, param1: androidNative.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: androidNative.Array<any>): java.sql.Array;
				createStruct(param0: string, param1: androidNative.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_NONE: 0;
			public static TRANSACTION_READ_UNCOMMITTED: 1;
			public static TRANSACTION_READ_COMMITTED: 2;
			public static TRANSACTION_SERIALIZABLE: 8;
			public static TRANSACTION_REPEATABLE_READ: 4;
			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 createStruct(param0: string, param1: androidNative.Array<any>): java.sql.Struct;
			public createSQLXML(): java.sql.SQLXML;
			public getWarnings(): java.sql.SQLWarning;
			public isValid(param0: number): boolean;
			public prepareStatement(param0: 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 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 prepareStatement(param0: string, param1: androidNative.Array<string>): 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 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 prepareStatement(param0: string, param1: androidNative.Array<number>): java.sql.PreparedStatement;
			public createArrayOf(param0: string, param1: androidNative.Array<any>): java.sql.Array;
			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;
		}
	}
}

declare module java {
	export module sql {
		export class DataTruncation extends java.sql.SQLWarning {
			public static class: java.lang.Class<java.sql.DataTruncation>;
			public getIndex(): number;
			public constructor(index: number, parameter: boolean, read: boolean, dataSize: number, transferSize: number);
			public constructor(reason: string);
			public constructor(index: number, parameter: boolean, read: boolean, dataSize: number, transferSize: number, cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public getParameter(): boolean;
			public getDataSize(): number;
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public constructor(reason: string, SQLState: string, cause: java.lang.Throwable);
			public constructor(reason: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string);
			public getTransferSize(): number;
			public spliterator(): java.util.Spliterator<any>;
			public getRead(): boolean;
			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: androidNative.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: androidNative.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 attributeNullableUnknown: 2;
			public static columnNullableUnknown: 2;
			public static tableIndexClustered: 1;
			public static bestRowTransaction: 1;
			public static procedureColumnIn: 1;
			public static typeNullableUnknown: 2;
			public static procedureResultUnknown: 0;
			public static bestRowUnknown: 0;
			public static bestRowPseudo: 2;
			public static functionColumnResult: 5;
			public static tableIndexHashed: 2;
			public static bestRowSession: 2;
			public static columnNullable: 1;
			public static importedKeyInitiallyDeferred: 5;
			public static attributeNullable: 1;
			public static typePredChar: 1;
			public static bestRowNotPseudo: 1;
			public static functionNoNulls: 0;
			public static importedKeySetDefault: 4;
			public static sqlStateSQL99: 2;
			public static typeNullable: 1;
			public static typeSearchable: 3;
			public static importedKeyInitiallyImmediate: 6;
			public static functionColumnIn: 1;
			public static procedureNullableUnknown: 2;
			public static typeNoNulls: 0;
			public static versionColumnPseudo: 2;
			public static functionColumnInOut: 2;
			public static importedKeySetNull: 2;
			public static tableIndexStatistic: 0;
			public static functionResultUnknown: 0;
			public static versionColumnNotPseudo: 1;
			public static procedureNullable: 1;
			public static procedureColumnOut: 4;
			public static importedKeyRestrict: 1;
			public static procedureReturnsResult: 2;
			public static functionColumnOut: 3;
			public static functionNullable: 1;
			public static sqlStateXOpen: 1;
			public static columnNoNulls: 0;
			public static tableIndexOther: 3;
			public static typePredBasic: 2;
			public static procedureColumnReturn: 5;
			public static procedureColumnUnknown: 0;
			public static functionReturn: 4;
			public static procedureColumnInOut: 2;
			public static procedureNoResult: 1;
			public static procedureNoNulls: 0;
			public static bestRowTemporary: 0;
			public static functionReturnsTable: 2;
			public static versionColumnUnknown: 0;
			public static importedKeyNotDeferrable: 7;
			public static procedureColumnResult: 3;
			public static functionColumnUnknown: 0;
			public static functionNullableUnknown: 2;
			public static sqlStateSQL: 2;
			public static attributeNoNulls: 0;
			public static typePredNone: 0;
			public static importedKeyCascade: 0;
			public static functionNoTable: 1;
			public static importedKeyNoAction: 3;
			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 getTables(param0: string, param1: string, param2: string, param3: androidNative.Array<string>): java.sql.ResultSet;
			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 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 getUDTs(param0: string, param1: string, param2: string, param3: androidNative.Array<number>): java.sql.ResultSet;
			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 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 constructor();
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hrs: number, min: number);
			/** @deprecated */
			public setHours(i: number): void;
			/** @deprecated */
			public constructor(s: string);
			/** @deprecated */
			public setMinutes(i: number): void;
			/** @deprecated */
			public setSeconds(i: number): void;
			/** @deprecated */
			public getMinutes(): number;
			public constructor(date: number);
			public static valueOf(s: string): java.sql.Date;
			public toString(): string;
			/** @deprecated */
			public getHours(): number;
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hrs: number, min: number, sec: number);
			public setTime(date: number): void;
			/** @deprecated */
			public constructor(year: number, month: number, day: number);
			/** @deprecated */
			public getSeconds(): number;
		}
	}
}

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): androidNative.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): androidNative.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 getConnection(url: string, user: string, password: string): java.sql.Connection;
			public static registerDriver(driver: java.sql.Driver): void;
			public static getDrivers(): java.util.Enumeration<java.sql.Driver>;
			public static getConnection(url: string, info: java.util.Properties): java.sql.Connection;
			public static deregisterDriver(driver: java.sql.Driver): void;
			public static getConnection(url: string): java.sql.Connection;
			public static getDriver(url: string): java.sql.Driver;
			/** @deprecated */
			public static setLogStream(out: java.io.PrintStream): void;
			public static getLogWriter(): java.io.PrintWriter;
			public static getLoginTimeout(): number;
			/** @deprecated */
			public static getLogStream(): java.io.PrintStream;
			public static setLoginTimeout(seconds: number): void;
			public static println(message: string): void;
			public static setLogWriter(out: java.io.PrintWriter): 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: androidNative.Array<string>;
			public description: string;
			public name: string;
			public required: boolean;
			public value: string;
			public constructor(name: string, value: 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 parameterModeIn: 1;
			public static parameterNoNulls: 0;
			public static parameterNullableUnknown: 2;
			public static parameterModeOut: 4;
			public static parameterNullable: 1;
			public static parameterModeInOut: 2;
			public static parameterModeUnknown: 0;
			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: androidNative.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(): androidNative.Array<number>;
				getConnection(): java.sql.Connection;
				getMoreResults(param0: number): boolean;
				getGeneratedKeys(): java.sql.ResultSet;
				executeUpdate(param0: string, param1: number): number;
				executeUpdate(param0: string, param1: androidNative.Array<number>): number;
				executeUpdate(param0: string, param1: androidNative.Array<string>): number;
				execute(param0: string, param1: number): boolean;
				execute(param0: string, param1: androidNative.Array<number>): boolean;
				execute(param0: string, param1: androidNative.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 EXECUTE_FAILED: -3;
			public static KEEP_CURRENT_RESULT: 2;
			public static CLOSE_CURRENT_RESULT: 1;
			public static NO_GENERATED_KEYS: 2;
			public static RETURN_GENERATED_KEYS: 1;
			public static CLOSE_ALL_RESULTS: 3;
			public static SUCCESS_NO_INFO: -2;
			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 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 getMetaData(): java.sql.ResultSetMetaData;
			public execute(param0: string, param1: androidNative.Array<string>): boolean;
			public setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public executeUpdate(param0: string, param1: androidNative.Array<number>): number;
			public setTime(param0: number, param1: java.sql.Time, param2: java.util.Calendar): void;
			public getUpdateCount(): 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 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 execute(param0: string, param1: androidNative.Array<number>): boolean;
			public setBytes(param0: number, param1: androidNative.Array<number>): void;
			public setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
			public executeBatch(): androidNative.Array<number>;
			public executeUpdate(param0: string, param1: androidNative.Array<string>): number;
			public setDouble(param0: number, param1: number): void;
			public setBlob(param0: number, param1: java.sql.Blob): void;
			public getQueryTimeout(): number;
			public setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
		}
	}
}

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): androidNative.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): androidNative.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: androidNative.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: androidNative.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: 1;
			public static CLOSE_CURSORS_AT_COMMIT: 2;
			public static FETCH_REVERSE: 1001;
			public static FETCH_UNKNOWN: 1002;
			public static CONCUR_READ_ONLY: 1007;
			public static TYPE_SCROLL_SENSITIVE: 1005;
			public static CONCUR_UPDATABLE: 1008;
			public static TYPE_FORWARD_ONLY: 1003;
			public static TYPE_SCROLL_INSENSITIVE: 1004;
			public static FETCH_FORWARD: 1000;
			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;
			/** @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 getBytes(param0: string): androidNative.Array<number>;
			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 getBytes(param0: number): androidNative.Array<number>;
			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 getString(param0: number): string;
			public getFetchDirection(): number;
			public getByte(param0: string): number;
			public updateBytes(param0: number, param1: androidNative.Array<number>): void;
			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 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 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 updateBytes(param0: string, param1: androidNative.Array<number>): void;
			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: 2;
			public static columnNullable: 1;
			public static columnNoNulls: 0;
			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(): androidNative.Array<number>;
				toString(): string;
				hashCode(): number;
			});
			public constructor();
			public getBytes(): androidNative.Array<number>;
			public equals(param0: any): boolean;
			public toString(): string;
			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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public static valueOf(name: string): java.sql.RowIdLifetime;
			public static values(): androidNative.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(reason: string, SQLState: string, vendorCode: number, failedProperties: java.util.Map<string,java.sql.ClientInfoStatus>);
			public constructor(reason: string, SQLState: string, failedProperties: java.util.Map<string,java.sql.ClientInfoStatus>, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, failedProperties: java.util.Map<string,java.sql.ClientInfoStatus>);
			public constructor(reason: string, sqlState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(reason: string, failedProperties: java.util.Map<string,java.sql.ClientInfoStatus>, cause: java.lang.Throwable);
			public constructor(failedProperties: java.util.Map<string,java.sql.ClientInfoStatus>, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public getFailedProperties(): java.util.Map<string,java.sql.ClientInfoStatus>;
			public constructor(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string, vendorCode: number, failedProperties: java.util.Map<string,java.sql.ClientInfoStatus>, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(failedProperties: java.util.Map<string,java.sql.ClientInfoStatus>);
			public constructor(reason: string, SQLState: string);
			public constructor(reason: string, SQLState: string, failedProperties: java.util.Map<string,java.sql.ClientInfoStatus>);
			public spliterator(): java.util.Spliterator<any>;
			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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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 constructor(message: string);
			public getErrorCode(): number;
			public constructor(reason: string);
			public getNextException(): java.sql.SQLException;
			public constructor(reason: string, sqlState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public constructor(reason: string, cause: java.lang.Throwable);
			public setNextException(ex: java.sql.SQLException): void;
			public constructor(reason: string, sqlState: string, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string);
			public spliterator(): java.util.Spliterator<any>;
			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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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(): androidNative.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(): androidNative.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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public constructor(reason: string, SQLState: string, cause: java.lang.Throwable);
			public constructor(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string);
			public spliterator(): java.util.Spliterator<any>;
			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: androidNative.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 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 writeBytes(param0: androidNative.Array<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(name: string);
			public constructor(name: string, actions: string);
			public checkGuard(param0: any): void;
		}
	}
}

declare module java {
	export module sql {
		export class SQLRecoverableException extends java.sql.SQLException {
			public static class: java.lang.Class<java.sql.SQLRecoverableException>;
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public constructor(reason: string, SQLState: string, cause: java.lang.Throwable);
			public constructor(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string);
			public spliterator(): java.util.Spliterator<any>;
			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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(reason: string, SQLState: string);
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(reason: string, SQLState: string, cause: 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(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public constructor(reason: string, SQLState: string, cause: java.lang.Throwable);
			public constructor(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string);
			public spliterator(): java.util.Spliterator<any>;
			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 constructor(reason: string);
			public constructor(reason: string, SQLState: string, vendorCode: number, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, vendorCode: number, cause: java.lang.Throwable);
			public setNextWarning(w: java.sql.SQLWarning): void;
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public forEach(action: any /* any*/): void;
			public constructor(reason: string, SQLState: string, vendorCode: number);
			public constructor(reason: string, SQLState: string, cause: java.lang.Throwable);
			public constructor(reason: string, cause: java.lang.Throwable);
			public constructor(reason: string, sqlState: string, cause: java.lang.Throwable);
			public getNextWarning(): java.sql.SQLWarning;
			public constructor(cause: java.lang.Throwable);
			public constructor(reason: string, SQLState: string);
			public spliterator(): java.util.Spliterator<any>;
			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(): androidNative.Array<number>;
				getConnection(): java.sql.Connection;
				getMoreResults(param0: number): boolean;
				getGeneratedKeys(): java.sql.ResultSet;
				executeUpdate(param0: string, param1: number): number;
				executeUpdate(param0: string, param1: androidNative.Array<number>): number;
				executeUpdate(param0: string, param1: androidNative.Array<string>): number;
				execute(param0: string, param1: number): boolean;
				execute(param0: string, param1: androidNative.Array<number>): boolean;
				execute(param0: string, param1: androidNative.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 EXECUTE_FAILED: -3;
			public static KEEP_CURRENT_RESULT: 2;
			public static CLOSE_CURRENT_RESULT: 1;
			public static NO_GENERATED_KEYS: 2;
			public static RETURN_GENERATED_KEYS: 1;
			public static CLOSE_ALL_RESULTS: 3;
			public static SUCCESS_NO_INFO: -2;
			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 setMaxRows(param0: number): void;
			public execute(param0: string, param1: androidNative.Array<string>): boolean;
			public setPoolable(param0: boolean): void;
			public getWarnings(): java.sql.SQLWarning;
			public executeUpdate(param0: string, param1: androidNative.Array<number>): number;
			public addBatch(param0: string): void;
			public getUpdateCount(): 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 execute(param0: string, param1: androidNative.Array<number>): boolean;
			public setEscapeProcessing(param0: boolean): void;
			public getResultSet(): java.sql.ResultSet;
			public executeBatch(): androidNative.Array<number>;
			public executeUpdate(param0: string, param1: number): number;
			public executeUpdate(param0: string, param1: androidNative.Array<string>): number;
			public getMoreResults(param0: number): boolean;
			public getQueryTimeout(): number;
		}
	}
}

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(): androidNative.Array<any>;
				getAttributes(param0: java.util.Map<string,java.lang.Class<any>>): androidNative.Array<any>;
			});
			public constructor();
			public getSQLTypeName(): string;
			public getAttributes(param0: java.util.Map<string,java.lang.Class<any>>): androidNative.Array<any>;
			public getAttributes(): androidNative.Array<any>;
		}
	}
}

declare module java {
	export module sql {
		export class Time extends java.util.Date {
			public static class: java.lang.Class<java.sql.Time>;
			public setTime(time: number): void;
			/** @deprecated */
			public getDay(): number;
			/** @deprecated */
			public getDate(): number;
			/** @deprecated */
			public setDate(i: number): void;
			/** @deprecated */
			public getMonth(): number;
			public constructor();
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hrs: number, min: number);
			/** @deprecated */
			public constructor(s: string);
			/** @deprecated */
			public constructor(hour: number, minute: number, second: number);
			/** @deprecated */
			public setYear(i: number): void;
			public constructor(date: number);
			public toString(): string;
			public static valueOf(s: string): java.sql.Time;
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hrs: number, min: number, sec: number);
			public constructor(time: number);
			/** @deprecated */
			public setMonth(i: number): void;
			/** @deprecated */
			public getYear(): number;
		}
	}
}

declare module java {
	export module sql {
		export class Timestamp extends java.util.Date {
			public static class: java.lang.Class<java.sql.Timestamp>;
			public compareTo(ts: java.sql.Timestamp): number;
			public compareTo(anotherDate: java.util.Date): number;
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hour: number, minute: number, second: number, nano: number);
			/** @deprecated */
			public constructor(s: string);
			public constructor(date: number);
			public constructor(time: number);
			public compareTo(o: java.util.Date): number;
			public setTime(time: number): void;
			public before(ts: java.sql.Timestamp): boolean;
			/** @deprecated */
			public constructor(year: number, month: number, date: number);
			public constructor();
			public before(when: java.util.Date): boolean;
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hrs: number, min: number);
			public after(when: java.util.Date): boolean;
			public getNanos(): number;
			public equals(ts: java.sql.Timestamp): boolean;
			public toString(): string;
			public equals(obj: any): boolean;
			public getTime(): number;
			public setNanos(n: number): void;
			public equals(ts: any): boolean;
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hrs: number, min: number, sec: number);
			public after(ts: java.sql.Timestamp): boolean;
			public static valueOf(s: string): java.sql.Timestamp;
			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: 2003;
			public static BIGINT: -5;
			public static BINARY: -2;
			public static BIT: -7;
			public static BLOB: 2004;
			public static BOOLEAN: 16;
			public static CHAR: 1;
			public static CLOB: 2005;
			public static DATALINK: 70;
			public static DATE: 91;
			public static DECIMAL: 3;
			public static DISTINCT: 2001;
			public static DOUBLE: 8;
			public static FLOAT: 6;
			public static INTEGER: 4;
			public static JAVA_OBJECT: 2000;
			public static LONGNVARCHAR: -16;
			public static LONGVARBINARY: -4;
			public static LONGVARCHAR: -1;
			public static NCHAR: -15;
			public static NCLOB: 2011;
			public static NULL: 0;
			public static NUMERIC: 2;
			public static NVARCHAR: -9;
			public static OTHER: 1111;
			public static REAL: 7;
			public static REF: 2006;
			public static ROWID: -8;
			public static SMALLINT: 5;
			public static SQLXML: 2009;
			public static STRUCT: 2002;
			public static TIME: 92;
			public static TIMESTAMP: 93;
			public static TINYINT: -6;
			public static VARBINARY: -3;
			public static VARCHAR: 12;
		}
	}
}

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(value: 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: "65535";
			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 constructor(name: string);
				public equals(obj: any): boolean;
				public hashCode(): number;
				public getName(): string;
				public toString(): 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(text: java.text.AttributedCharacterIterator, beginIndex: number, endIndex: number);
			public getIterator(attributes: androidNative.Array<java.text.AttributedCharacterIterator.Attribute>): java.text.AttributedCharacterIterator;
			public getIterator(): java.text.AttributedCharacterIterator;
			public constructor(text: java.text.AttributedCharacterIterator, beginIndex: number, endIndex: number, attributes: androidNative.Array<java.text.AttributedCharacterIterator.Attribute>);
			public addAttribute(attribute: java.text.AttributedCharacterIterator.Attribute, value: any, beginIndex: number, endIndex: number): void;
			public getIterator(attributes: androidNative.Array<java.text.AttributedCharacterIterator.Attribute>, beginIndex: number, endIndex: number): java.text.AttributedCharacterIterator;
			public addAttribute(attribute: java.text.AttributedCharacterIterator.Attribute, value: any): void;
			public addAttributes(attributes: java.util.Map<any,any>, beginIndex: number, endIndex: number): void;
			public constructor(text: string, attributes: java.util.Map<any,any>);
			public constructor(text: java.text.AttributedCharacterIterator);
			public constructor(text: string);
		}
	}
}

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: -2;
			public static DIRECTION_DEFAULT_RIGHT_TO_LEFT: -1;
			public static DIRECTION_LEFT_TO_RIGHT: 0;
			public static DIRECTION_RIGHT_TO_LEFT: 1;
			public getBaseLevel(): number;
			public getRunCount(): number;
			public isRightToLeft(): boolean;
			public getLength(): number;
			public getRunLevel(run: number): number;
			public isLeftToRight(): boolean;
			public getRunStart(run: number): number;
			public getRunLimit(run: number): number;
			public baseIsLeftToRight(): boolean;
			public constructor(paragraph: java.text.AttributedCharacterIterator);
			public isMixed(): boolean;
			public static reorderVisually(levels: androidNative.Array<number>, levelStart: number, objects: androidNative.Array<any>, objectStart: number, count: number): void;
			public toString(): string;
			public constructor(text: androidNative.Array<string>, textStart: number, embeddings: androidNative.Array<number>, embStart: number, paragraphLength: number, flags: number);
			public getLevelAt(offset: number): number;
			public static requiresBidi(text: androidNative.Array<string>, start: number, limit: number): boolean;
			public constructor(paragraph: string, flags: number);
			public createLineBidi(lineStart: number, lineLimit: number): java.text.Bidi;
		}
	}
}

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: -1;
			public current(): number;
			public preceding(offset: number): number;
			public setText(param0: java.text.CharacterIterator): void;
			public static getCharacterInstance(locale: java.util.Locale): java.text.BreakIterator;
			public following(param0: number): number;
			public static getWordInstance(locale: java.util.Locale): java.text.BreakIterator;
			public getText(): java.text.CharacterIterator;
			public constructor();
			public next(param0: number): number;
			public previous(): number;
			public static getWordInstance(): java.text.BreakIterator;
			public isBoundary(offset: number): boolean;
			public static getCharacterInstance(): java.text.BreakIterator;
			public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			public next(): number;
			public setText(newText: string): void;
			public static getLineInstance(locale: java.util.Locale): java.text.BreakIterator;
			public static getSentenceInstance(): java.text.BreakIterator;
			public clone(): any;
			public last(): number;
			public static getLineInstance(): java.text.BreakIterator;
			public static getSentenceInstance(locale: java.util.Locale): java.text.BreakIterator;
			public first(): number;
		}
	}
}

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: "65535";
			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 setChoices(limits: androidNative.Array<number>, formats: androidNative.Array<string>): void;
			public format(obj: any): string;
			public format(number: number, toAppendTo: java.lang.StringBuffer, status: java.text.FieldPosition): java.lang.StringBuffer;
			public format(number: number): string;
			public static previousDouble(d: number): number;
			public static nextDouble(d: number, positive: boolean): number;
			public constructor(limits: androidNative.Array<number>, formats: androidNative.Array<string>);
			public format(number: any, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
			public getFormats(): androidNative.Array<any>;
			public constructor(newPattern: string);
			public parse(source: string): java.lang.Number;
			public constructor();
			public applyPattern(newPattern: string): void;
			public getLimits(): androidNative.Array<number>;
			public toPattern(): string;
			public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public clone(): any;
			public equals(obj: any): boolean;
			public parse(text: string, status: java.text.ParsePosition): java.lang.Number;
			public static nextDouble(d: number): number;
			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: -1;
			public next(): number;
			public static primaryOrder(order: number): number;
			public static tertiaryOrder(order: number): number;
			public getMaxExpansion(order: number): number;
			public setText(source: string): void;
			public reset(): void;
			public getOffset(): number;
			public setText(source: java.text.CharacterIterator): void;
			public previous(): number;
			public setOffset(newOffset: number): void;
			public static secondaryOrder(order: 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 constructor(source: string);
			public compareTo(param0: java.text.CollationKey): number;
			public toByteArray(): androidNative.Array<number>;
			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: 1;
			public static FULL_DECOMPOSITION: 2;
			public static IDENTICAL: 3;
			public static NO_DECOMPOSITION: 0;
			public static PRIMARY: 0;
			public static SECONDARY: 1;
			public static TERTIARY: 2;
			public getCollationKey(param0: string): java.text.CollationKey;
			public equals(param0: any): boolean;
			public getStrength(): number;
			public static comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public equals(source: string, target: string): boolean;
			public thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public getDecomposition(): number;
			public static nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public compare(param0: any, param1: any): number;
			public equals(that: any): boolean;
			public static naturalOrder(): java.util.Comparator<any>;
			public compare(o1: any, o2: any): number;
			public thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public setDecomposition(decompositionMode: number): void;
			public static comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public static reverseOrder(): java.util.Comparator<any>;
			public constructor();
			public thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public compare(param0: string, param1: string): number;
			public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			public thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public clone(): any;
			public thenComparing(other: java.util.Comparator<any>): java.util.Comparator<any>;
			public equals(obj: any): boolean;
			public thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static getInstance(): java.text.Collator;
			public static comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public reversed(): java.util.Comparator<any>;
			public setStrength(newStrength: number): void;
			public static getInstance(desiredLocale: java.util.Locale): java.text.Collator;
			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: 14;
			public static DATE_FIELD: 3;
			public static DAY_OF_WEEK_FIELD: 9;
			public static DAY_OF_WEEK_IN_MONTH_FIELD: 11;
			public static DAY_OF_YEAR_FIELD: 10;
			public static DEFAULT: 2;
			public static ERA_FIELD: 0;
			public static FULL: 0;
			public static HOUR0_FIELD: 16;
			public static HOUR1_FIELD: 15;
			public static HOUR_OF_DAY0_FIELD: 5;
			public static HOUR_OF_DAY1_FIELD: 4;
			public static LONG: 1;
			public static MEDIUM: 2;
			public static MILLISECOND_FIELD: 8;
			public static MINUTE_FIELD: 6;
			public static MONTH_FIELD: 2;
			public static SECOND_FIELD: 7;
			public static SHORT: 3;
			public static TIMEZONE_FIELD: 17;
			public static WEEK_OF_MONTH_FIELD: 13;
			public static WEEK_OF_YEAR_FIELD: 12;
			public static YEAR_FIELD: 1;
			public calendar: java.util.Calendar;
			public numberFormat: java.text.NumberFormat;
			public static getDateInstance(style: number, aLocale: java.util.Locale): java.text.DateFormat;
			public format(obj: any, toAppendTo: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
			public getNumberFormat(): java.text.NumberFormat;
			public getTimeZone(): java.util.TimeZone;
			public parseObject(source: string): any;
			public static getDateTimeInstance(dateStyle: number, timeStyle: number): java.text.DateFormat;
			public getCalendar(): java.util.Calendar;
			public static getInstance(): java.text.DateFormat;
			public parse(param0: string, param1: java.text.ParsePosition): java.util.Date;
			public format(param0: java.util.Date, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public format(obj: any): string;
			public static getTimeInstance(style: number, aLocale: java.util.Locale): java.text.DateFormat;
			public setTimeZone(zone: java.util.TimeZone): void;
			public static getDateInstance(): java.text.DateFormat;
			public static getDateTimeInstance(dateStyle: number, timeStyle: number, aLocale: java.util.Locale): java.text.DateFormat;
			public format(date: java.util.Date): string;
			public constructor();
			public isLenient(): boolean;
			public parseObject(source: string, pos: java.text.ParsePosition): any;
			public static getTimeInstance(): java.text.DateFormat;
			public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			public static getDateTimeInstance(): java.text.DateFormat;
			public setNumberFormat(newNumberFormat: java.text.NumberFormat): void;
			public parse(source: string): java.util.Date;
			public clone(): any;
			public equals(obj: any): boolean;
			public setLenient(lenient: boolean): void;
			public static getDateInstance(style: number): java.text.DateFormat;
			public static getTimeInstance(style: number): java.text.DateFormat;
			public setCalendar(newCalendar: java.util.Calendar): void;
			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 constructor(name: string);
				public getCalendarField(): number;
				public constructor(name: string, calendarField: number);
				public static ofCalendarField(calendarField: number): java.text.DateFormat.Field;
				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 constructor(locale: java.util.Locale);
			public setShortMonths(newShortMonths: androidNative.Array<string>): void;
			public getEras(): androidNative.Array<string>;
			public getWeekdays(): androidNative.Array<string>;
			public getAmPmStrings(): androidNative.Array<string>;
			public getLocalPatternChars(): string;
			public constructor();
			public setAmPmStrings(newAmpms: androidNative.Array<string>): void;
			public getMonths(): androidNative.Array<string>;
			public static getInstance(locale: java.util.Locale): java.text.DateFormatSymbols;
			public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			public setWeekdays(newWeekdays: androidNative.Array<string>): void;
			public getZoneStrings(): androidNative.Array<androidNative.Array<string>>;
			public setMonths(newMonths: androidNative.Array<string>): void;
			public clone(): any;
			public setZoneStrings(newZoneStrings: androidNative.Array<androidNative.Array<string>>): void;
			public equals(obj: any): boolean;
			public getShortMonths(): androidNative.Array<string>;
			public static getInstance(): java.text.DateFormatSymbols;
			public setEras(newEras: androidNative.Array<string>): void;
			public getShortWeekdays(): androidNative.Array<string>;
			public setLocalPatternChars(newLocalPatternChars: string): void;
			public setShortWeekdays(newShortWeekdays: androidNative.Array<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 constructor(pattern: string);
			public setParseBigDecimal(newValue: boolean): void;
			public format(number: any, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
			public parse(text: string, pos: java.text.ParsePosition): java.lang.Number;
			public parse(source: string): java.lang.Number;
			public getMinimumIntegerDigits(): number;
			public setRoundingMode(roundingMode: java.math.RoundingMode): void;
			public formatToCharacterIterator(obj: any): java.text.AttributedCharacterIterator;
			public getPositivePrefix(): string;
			public isGroupingUsed(): boolean;
			public getNegativeSuffix(): string;
			public constructor(pattern: string, symbols: java.text.DecimalFormatSymbols);
			public applyLocalizedPattern(pattern: string): void;
			public format(number: number): string;
			public constructor();
			public toPattern(): string;
			public clone(): any;
			public setDecimalFormatSymbols(newSymbols: java.text.DecimalFormatSymbols): void;
			public getMultiplier(): number;
			public setPositivePrefix(newValue: string): void;
			public setNegativeSuffix(newValue: string): void;
			public getGroupingSize(): number;
			public getNegativePrefix(): string;
			public getMaximumIntegerDigits(): number;
			public setGroupingSize(newValue: number): void;
			public setParseIntegerOnly(value: boolean): void;
			public isParseIntegerOnly(): boolean;
			public setMinimumIntegerDigits(newValue: number): void;
			public setCurrency(currency: java.util.Currency): void;
			public setNegativePrefix(newValue: string): void;
			public format(number: number, result: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
			public getMaximumFractionDigits(): number;
			public setMaximumIntegerDigits(newValue: number): void;
			public setMultiplier(newValue: number): void;
			public setMinimumFractionDigits(newValue: number): void;
			public getRoundingMode(): java.math.RoundingMode;
			public isDecimalSeparatorAlwaysShown(): boolean;
			public format(obj: any): string;
			public setGroupingUsed(newValue: boolean): void;
			public getPositiveSuffix(): string;
			public setDecimalSeparatorAlwaysShown(newValue: boolean): void;
			public getDecimalFormatSymbols(): java.text.DecimalFormatSymbols;
			public setPositiveSuffix(newValue: string): void;
			public isParseBigDecimal(): boolean;
			public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public getCurrency(): java.util.Currency;
			public equals(obj: any): boolean;
			public setMaximumFractionDigits(newValue: number): void;
			public toLocalizedPattern(): string;
			public getMinimumFractionDigits(): number;
			public applyPattern(pattern: string): void;
			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 static getInstance(locale: java.util.Locale): java.text.DecimalFormatSymbols;
			public setPercent(percent: string): void;
			public getPerMill(): string;
			public setInternationalCurrencySymbol(currencyCode: string): void;
			public static getInstance(): java.text.DecimalFormatSymbols;
			public setMonetaryGroupingSeparator(monetaryGroupingSeparator: string): void;
			public setCurrency(currency: java.util.Currency): void;
			public getZeroDigit(): string;
			public getCurrencySymbol(): string;
			public getExponentSeparator(): string;
			public setMinusSign(minusSign: string): void;
			public getInternationalCurrencySymbol(): string;
			public constructor(locale: java.util.Locale);
			public setMonetaryDecimalSeparator(sep: string): void;
			public getPatternSeparator(): string;
			public getMonetaryGroupingSeparator(): string;
			public getInfinity(): string;
			public constructor();
			public getDecimalSeparator(): string;
			public setPatternSeparator(patternSeparator: string): void;
			public setGroupingSeparator(groupingSeparator: string): void;
			public getMinusSign(): string;
			public getDigit(): string;
			public setInfinity(infinity: string): void;
			public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			public getPercent(): string;
			public setNaN(NaN: string): void;
			public getCurrency(): java.util.Currency;
			public setExponentSeparator(exp: string): void;
			public clone(): any;
			public equals(obj: any): boolean;
			public setCurrencySymbol(currency: string): void;
			public setDigit(digit: string): void;
			public getMonetaryDecimalSeparator(): string;
			public getNaN(): string;
			public setPerMill(perMill: string): void;
			public getGroupingSeparator(): string;
			public setDecimalSeparator(decimalSeparator: string): void;
			public setZeroDigit(zeroDigit: string): void;
			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(bi: number): void;
			public getFieldAttribute(): java.text.Format.Field;
			public toString(): string;
			public getEndIndex(): number;
			public equals(obj: any): boolean;
			public getField(): number;
			public setEndIndex(ei: number): void;
			public constructor(attribute: java.text.Format.Field);
			public getBeginIndex(): number;
			public constructor(field: number);
			public constructor(attribute: java.text.Format.Field, fieldID: number);
			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 format(obj: any): string;
			public formatToCharacterIterator(obj: any): java.text.AttributedCharacterIterator;
			public clone(): any;
			public constructor();
			public parseObject(param0: string, param1: java.text.ParsePosition): any;
			public parseObject(source: string): any;
		}
		export module Format {
			export class Field extends java.text.AttributedCharacterIterator.Attribute {
				public static class: java.lang.Class<java.text.Format.Field>;
				public constructor(name: string);
			}
		}
	}
}

declare module java {
	export module text {
		export class MessageFormat extends java.text.Format {
			public static class: java.lang.Class<java.text.MessageFormat>;
			public constructor(pattern: string);
			public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public setLocale(locale: java.util.Locale): void;
			public parseObject(source: string): any;
			public setFormats(newFormats: androidNative.Array<java.text.Format>): void;
			public parse(source: string): androidNative.Array<any>;
			public constructor(pattern: string, locale: java.util.Locale);
			public format(arguments_: androidNative.Array<any>, result: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
			public getLocale(): java.util.Locale;
			public format(obj: any): string;
			public setFormat(formatElementIndex: number, newFormat: java.text.Format): void;
			public setFormatByArgumentIndex(argumentIndex: number, newFormat: java.text.Format): void;
			public formatToCharacterIterator(arguments_: any): java.text.AttributedCharacterIterator;
			public static format(pattern: string, arguments_: androidNative.Array<any>): string;
			public setFormatsByArgumentIndex(newFormats: androidNative.Array<java.text.Format>): void;
			public constructor();
			public toPattern(): string;
			public parseObject(source: string, pos: java.text.ParsePosition): any;
			public getFormatsByArgumentIndex(): androidNative.Array<java.text.Format>;
			public clone(): any;
			public equals(obj: any): boolean;
			public applyPattern(pattern: string): void;
			public format(arguments_: any, result: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
			public getFormats(): androidNative.Array<java.text.Format>;
			public parse(source: string, pos: java.text.ParsePosition): androidNative.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(name: 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 normalize(src: string, form: java.text.Normalizer.Form): string;
			public static isNormalized(src: string, form: java.text.Normalizer.Form): boolean;
		}
		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 valueOf(name: string): java.text.Normalizer.Form;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<java.text.Normalizer.Form>;
			}
		}
	}
}

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: 1;
			public static INTEGER_FIELD: 0;
			public format(number: any, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
			public getMaximumIntegerDigits(): number;
			public parse(source: string): java.lang.Number;
			public static getCurrencyInstance(): java.text.NumberFormat;
			public parseObject(source: string): any;
			public static getNumberInstance(): java.text.NumberFormat;
			public static getNumberInstance(inLocale: java.util.Locale): java.text.NumberFormat;
			public static getIntegerInstance(inLocale: java.util.Locale): java.text.NumberFormat;
			public setParseIntegerOnly(value: boolean): void;
			public getMinimumIntegerDigits(): number;
			public isParseIntegerOnly(): boolean;
			public setMinimumIntegerDigits(newValue: number): void;
			public setCurrency(currency: java.util.Currency): void;
			public setRoundingMode(roundingMode: java.math.RoundingMode): void;
			public isGroupingUsed(): boolean;
			public getMaximumFractionDigits(): number;
			public static getPercentInstance(inLocale: java.util.Locale): java.text.NumberFormat;
			public static getInstance(inLocale: java.util.Locale): java.text.NumberFormat;
			public setMaximumIntegerDigits(newValue: number): void;
			public setMinimumFractionDigits(newValue: number): void;
			public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
			public getRoundingMode(): java.math.RoundingMode;
			public format(obj: any): string;
			public static getInstance(): java.text.NumberFormat;
			public setGroupingUsed(newValue: boolean): void;
			public format(number: number): string;
			public static getIntegerInstance(): java.text.NumberFormat;
			public constructor();
			public static getPercentInstance(): java.text.NumberFormat;
			public parseObject(source: string, pos: java.text.ParsePosition): any;
			public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public clone(): any;
			public getCurrency(): java.util.Currency;
			public equals(obj: any): boolean;
			public setMaximumFractionDigits(newValue: number): void;
			public getMinimumFractionDigits(): number;
			public static getCurrencyInstance(inLocale: java.util.Locale): java.text.NumberFormat;
			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(name: 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(message: string);
			public constructor(s: string, errorOffset: number);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			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 toString(): string;
			public equals(obj: any): boolean;
			public setErrorIndex(ei: number): void;
			public getErrorIndex(): number;
			public constructor(index: number);
			public setIndex(index: 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 compare(source: string, target: string): number;
			public equals(param0: any): boolean;
			public static comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public equals(source: string, target: string): boolean;
			public thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public compare(param0: any, param1: any): number;
			public static naturalOrder(): java.util.Comparator<any>;
			public compare(o1: any, o2: any): number;
			public getRules(): string;
			public thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public static comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public static reverseOrder(): java.util.Comparator<any>;
			public constructor();
			public constructor(rules: string);
			public thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public getCollationKey(source: string): java.text.CollationKey;
			public thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public clone(): any;
			public thenComparing(other: java.util.Comparator<any>): java.util.Comparator<any>;
			public equals(obj: any): boolean;
			public thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public getCollationElementIterator(source: java.text.CharacterIterator): java.text.CollationElementIterator;
			public getCollationElementIterator(source: string): java.text.CollationElementIterator;
			public reversed(): 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 constructor(pattern: string);
			public format(obj: any): string;
			public format(date: java.util.Date, toAppendTo: java.lang.StringBuffer, pos: java.text.FieldPosition): java.lang.StringBuffer;
			public applyLocalizedPattern(pattern: string): void;
			public parse(text: string, pos: java.text.ParsePosition): java.util.Date;
			public format(obj: any, toAppendTo: java.lang.StringBuffer, fieldPosition: java.text.FieldPosition): java.lang.StringBuffer;
			public format(date: java.util.Date): string;
			public constructor();
			public setDateFormatSymbols(newFormatSymbols: java.text.DateFormatSymbols): void;
			public toPattern(): string;
			public get2DigitYearStart(): java.util.Date;
			public constructor(pattern: string, locale: java.util.Locale);
			public set2DigitYearStart(startDate: java.util.Date): void;
			public parse(source: string): java.util.Date;
			public formatToCharacterIterator(obj: any): java.text.AttributedCharacterIterator;
			public clone(): any;
			public equals(obj: any): boolean;
			public toLocalizedPattern(): string;
			public getDateFormatSymbols(): java.text.DateFormatSymbols;
			public applyPattern(pattern: string): void;
			public constructor(pattern: string, formatSymbols: java.text.DateFormatSymbols);
			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 constructor(text: string, begin: number, end: number, pos: number);
			public getIndex(): number;
			public setIndex(param0: number): string;
			public setText(text: string): void;
			public first(): string;
			public current(): string;
			public getBeginIndex(): number;
			public last(): string;
			public next(): string;
			public constructor(text: string);
			public clone(): any;
			public getEndIndex(): number;
			public equals(obj: any): boolean;
			public setIndex(p: number): string;
			public constructor(text: string, pos: number);
			public previous(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export abstract class Clock extends java.lang.Object implements java.time.InstantSource {
			public static class: java.lang.Class<java.time.Clock>;
			public static systemUTC(): java.time.Clock;
			public static offset(baseSource: java.time.InstantSource, offsetDuration: java.time.Duration): java.time.InstantSource;
			public constructor();
			public static tickMillis(zone: java.time.ZoneId): java.time.Clock;
			public static tickSeconds(zone: java.time.ZoneId): java.time.Clock;
			public static fixed(fixedInstant: java.time.Instant): java.time.InstantSource;
			public withZone(zone: java.time.ZoneId): java.time.Clock;
			public static systemDefaultZone(): java.time.Clock;
			public static tick(baseClock: java.time.Clock, tickDuration: java.time.Duration): java.time.Clock;
			public instant(): java.time.Instant;
			public getZone(): java.time.ZoneId;
			public equals(obj: any): boolean;
			public static system(): java.time.InstantSource;
			public static offset(baseClock: java.time.Clock, offsetDuration: java.time.Duration): java.time.Clock;
			public millis(): number;
			public static system(zone: java.time.ZoneId): java.time.Clock;
			public static fixed(fixedInstant: java.time.Instant, zone: java.time.ZoneId): java.time.Clock;
			public static tickMinutes(zone: java.time.ZoneId): java.time.Clock;
			public withZone(param0: java.time.ZoneId): java.time.Clock;
			public hashCode(): number;
			public static tick(baseSource: java.time.InstantSource, tickDuration: java.time.Duration): java.time.InstantSource;
		}
	}
}

declare module java {
	export module time {
		export class DateTimeException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.time.DateTimeException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 getLong(field: java.time.temporal.TemporalField): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public minus(days: number): java.time.DayOfWeek;
			public plus(days: number): java.time.DayOfWeek;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public get(field: java.time.temporal.TemporalField): number;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public getValue(): number;
			public static of(dayOfWeek: number): java.time.DayOfWeek;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.DayOfWeek;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
			public static values(): androidNative.Array<java.time.DayOfWeek>;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public static valueOf(name: string): java.time.DayOfWeek;
		}
	}
}

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 parse(text: string): java.time.Duration;
			public getSeconds(): number;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.Duration;
			public static ofDays(days: number): java.time.Duration;
			public getNano(): number;
			public toSeconds(): number;
			public equals(other: any): boolean;
			public get(param0: java.time.temporal.TemporalUnit): number;
			public minusNanos(nanosToSubtract: number): java.time.Duration;
			public toHoursPart(): number;
			public toMinutesPart(): number;
			public getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
			public withNanos(nanoOfSecond: number): java.time.Duration;
			public minusMinutes(minutesToSubtract: number): java.time.Duration;
			public toMillisPart(): number;
			public toMillis(): number;
			public plusNanos(nanosToAdd: number): java.time.Duration;
			public addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public static of(amount: number, unit: java.time.temporal.TemporalUnit): java.time.Duration;
			public toSecondsPart(): number;
			public static from(amount: java.time.temporal.TemporalAmount): java.time.Duration;
			public minusDays(daysToSubtract: number): java.time.Duration;
			public plusSeconds(secondsToAdd: number): java.time.Duration;
			public plusMinutes(minutesToAdd: number): java.time.Duration;
			public dividedBy(divisor: number): java.time.Duration;
			public subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public static ofNanos(nanos: number): java.time.Duration;
			public static ofSeconds(seconds: number, nanoAdjustment: number): java.time.Duration;
			public toDaysPart(): number;
			public toMinutes(): number;
			public abs(): java.time.Duration;
			public toNanos(): number;
			public minus(duration: java.time.Duration): java.time.Duration;
			public toHours(): number;
			public addTo(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plusDays(daysToAdd: number): java.time.Duration;
			public plusMillis(millisToAdd: number): java.time.Duration;
			public multipliedBy(multiplicand: number): java.time.Duration;
			public isNegative(): boolean;
			public isZero(): boolean;
			public dividedBy(divisor: java.time.Duration): number;
			public static ofSeconds(seconds: number): java.time.Duration;
			public get(unit: java.time.temporal.TemporalUnit): number;
			public plusHours(hoursToAdd: number): java.time.Duration;
			public static ofHours(hours: number): java.time.Duration;
			public minusMillis(millisToSubtract: number): java.time.Duration;
			public static ofMinutes(minutes: number): java.time.Duration;
			public static ofMillis(millis: number): java.time.Duration;
			public minusSeconds(secondsToSubtract: number): java.time.Duration;
			public plus(duration: java.time.Duration): java.time.Duration;
			public toNanosPart(): number;
			public static between(startInclusive: java.time.temporal.Temporal, endExclusive: java.time.temporal.Temporal): java.time.Duration;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.Duration;
			public negated(): java.time.Duration;
			public subtractFrom(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public compareTo(otherDuration: java.time.Duration): number;
			public toString(): string;
			public withSeconds(seconds: number): java.time.Duration;
			public toDays(): number;
			public minusHours(hoursToSubtract: number): java.time.Duration;
			public truncatedTo(unit: java.time.temporal.TemporalUnit): 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 getNano(): number;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public atOffset(offset: java.time.ZoneOffset): java.time.OffsetDateTime;
			public static ofEpochMilli(epochMilli: number): java.time.Instant;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.Instant;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public equals(other: any): boolean;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public atZone(zone: java.time.ZoneId): java.time.ZonedDateTime;
			public static ofEpochSecond(epochSecond: number): java.time.Instant;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.Instant;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static parse(text: string): java.time.Instant;
			public truncatedTo(unit: java.time.temporal.TemporalUnit): java.time.Instant;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.Instant;
			public minusNanos(nanosToSubtract: number): java.time.Instant;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.Instant;
			public isAfter(otherInstant: java.time.Instant): boolean;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public plusMillis(millisToAdd: number): java.time.Instant;
			public plusNanos(nanosToAdd: number): java.time.Instant;
			public toEpochMilli(): number;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.Instant;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.Instant;
			public static now(): java.time.Instant;
			public minusSeconds(secondsToSubtract: number): java.time.Instant;
			public static ofEpochSecond(epochSecond: number, nanoAdjustment: number): java.time.Instant;
			public minusMillis(millisToSubtract: number): java.time.Instant;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.Instant;
			public getEpochSecond(): number;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public getLong(field: java.time.temporal.TemporalField): number;
			public plusSeconds(secondsToAdd: number): java.time.Instant;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public static now(clock: java.time.Clock): java.time.Instant;
			public compareTo(otherInstant: java.time.Instant): number;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public isBefore(otherInstant: java.time.Instant): boolean;
			public get(field: java.time.temporal.TemporalField): number;
			public toString(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class InstantSource extends java.lang.Object {
			public static class: java.lang.Class<java.time.InstantSource>;
			/**
			 * Constructs a new instance of the java.time.InstantSource interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				system(): java.time.InstantSource;
				tick(baseSource: java.time.InstantSource, tickDuration: java.time.Duration): java.time.InstantSource;
				fixed(fixedInstant: java.time.Instant): java.time.InstantSource;
				offset(baseSource: java.time.InstantSource, offsetDuration: java.time.Duration): java.time.InstantSource;
				instant(): java.time.Instant;
				millis(): number;
				withZone(zone: java.time.ZoneId): java.time.Clock;
			});
			public constructor();
			public static fixed(fixedInstant: java.time.Instant): java.time.InstantSource;
			public withZone(zone: java.time.ZoneId): java.time.Clock;
			public instant(): java.time.Instant;
			public static system(): java.time.InstantSource;
			public millis(): number;
			public static offset(baseSource: java.time.InstantSource, offsetDuration: java.time.Duration): java.time.InstantSource;
			public static tick(baseSource: java.time.InstantSource, tickDuration: java.time.Duration): java.time.InstantSource;
		}
	}
}

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 EPOCH: java.time.LocalDate;
			public static MAX: java.time.LocalDate;
			public static MIN: java.time.LocalDate;
			public getDayOfYear(): number;
			public until(endDateExclusive: java.time.chrono.ChronoLocalDate): java.time.Period;
			public toEpochDay(): number;
			public minusWeeks(weeksToSubtract: number): java.time.LocalDate;
			public static parse(text: string): java.time.LocalDate;
			public getDayOfWeek(): java.time.DayOfWeek;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
			public getEra(): java.time.chrono.Era;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public isBefore(other: java.time.chrono.ChronoLocalDate): boolean;
			public plusWeeks(weeksToAdd: number): java.time.LocalDate;
			public atTime(time: java.time.OffsetTime): java.time.OffsetDateTime;
			public getMonth(): java.time.Month;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
			public minusYears(yearsToSubtract: number): java.time.LocalDate;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public static of(year: number, month: number, dayOfMonth: number): java.time.LocalDate;
			public withMonth(month: number): java.time.LocalDate;
			public static now(): java.time.LocalDate;
			public compareTo(other: java.time.chrono.ChronoLocalDate): number;
			public withYear(year: number): java.time.LocalDate;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public atTime(time: java.time.LocalTime): java.time.LocalDateTime;
			public atTime(hour: number, minute: number, second: number): java.time.LocalDateTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.LocalDate;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
			public isLeapYear(): boolean;
			public static now(zone: java.time.ZoneId): java.time.LocalDate;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.LocalDate;
			public atStartOfDay(zone: java.time.ZoneId): java.time.ZonedDateTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.LocalDate;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
			public plusYears(yearsToAdd: number): java.time.LocalDate;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.ChronoLocalDate;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.LocalDate;
			public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
			public atTime(hour: number, minute: number, second: number, nanoOfSecond: number): java.time.LocalDateTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public minusDays(daysToSubtract: number): java.time.LocalDate;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public equals(param0: any): boolean;
			public static of(year: number, month: java.time.Month, dayOfMonth: number): java.time.LocalDate;
			public plusDays(daysToAdd: number): java.time.LocalDate;
			public toEpochSecond(time: java.time.LocalTime, offset: java.time.ZoneOffset): number;
			public datesUntil(endExclusive: java.time.LocalDate): java.util.stream.Stream<java.time.LocalDate>;
			public atStartOfDay(): java.time.LocalDateTime;
			public static ofYearDay(year: number, dayOfYear: number): java.time.LocalDate;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.LocalDate;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
			public atTime(hour: number, minute: number): java.time.LocalDateTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.LocalDate;
			public getChronology(): java.time.chrono.IsoChronology;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public getMonthValue(): number;
			public withDayOfMonth(dayOfMonth: number): java.time.LocalDate;
			public static ofInstant(instant: java.time.Instant, zone: java.time.ZoneId): java.time.LocalDate;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.LocalDate;
			public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.LocalDate;
			public isEqual(other: java.time.chrono.ChronoLocalDate): boolean;
			public isAfter(other: java.time.chrono.ChronoLocalDate): boolean;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
			public getLong(field: java.time.temporal.TemporalField): number;
			public withDayOfYear(dayOfYear: number): java.time.LocalDate;
			public static ofEpochDay(epochDay: number): java.time.LocalDate;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public getDayOfMonth(): number;
			public lengthOfMonth(): number;
			public get(field: java.time.temporal.TemporalField): number;
			public datesUntil(endExclusive: java.time.LocalDate, step: java.time.Period): java.util.stream.Stream<java.time.LocalDate>;
			public plusMonths(monthsToAdd: number): java.time.LocalDate;
			public getYear(): number;
			public toString(): string;
			public equals(obj: any): boolean;
			public lengthOfYear(): number;
			public getChronology(): java.time.chrono.Chronology;
			public static now(clock: java.time.Clock): java.time.LocalDate;
			public minusMonths(monthsToSubtract: 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 minusWeeks(weeks: number): java.time.LocalDateTime;
			public minusHours(hours: number): java.time.LocalDateTime;
			public withDayOfYear(dayOfYear: number): java.time.LocalDateTime;
			public truncatedTo(unit: java.time.temporal.TemporalUnit): java.time.LocalDateTime;
			public getDayOfWeek(): java.time.DayOfWeek;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public minusDays(days: number): java.time.LocalDateTime;
			public withMonth(month: number): java.time.LocalDateTime;
			public minusMonths(months: number): java.time.LocalDateTime;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public plusWeeks(weeks: number): java.time.LocalDateTime;
			public plusHours(hours: number): java.time.LocalDateTime;
			public atZone(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static of(year: number, month: java.time.Month, dayOfMonth: number, hour: number, minute: number): java.time.LocalDateTime;
			public isAfter(other: java.time.chrono.ChronoLocalDateTime<any>): boolean;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public equals(param0: any): boolean;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.LocalDateTime;
			public static now(clock: java.time.Clock): java.time.LocalDateTime;
			public withDayOfMonth(dayOfMonth: number): java.time.LocalDateTime;
			public plusMonths(months: number): java.time.LocalDateTime;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<any>;
			public static of(year: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, nanoOfSecond: number): java.time.LocalDateTime;
			public static of(year: number, month: java.time.Month, dayOfMonth: number, hour: number, minute: number, second: number, nanoOfSecond: number): java.time.LocalDateTime;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.LocalDateTime;
			public plusDays(days: number): java.time.LocalDateTime;
			public isBefore(other: java.time.chrono.ChronoLocalDateTime<any>): boolean;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDateTime<any>;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public getSecond(): number;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public getDayOfMonth(): number;
			public toLocalDate(): any;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
			public withYear(year: number): java.time.LocalDateTime;
			public getMinute(): number;
			public static of(year: number, month: java.time.Month, dayOfMonth: number, hour: number, minute: number, second: number): java.time.LocalDateTime;
			public getChronology(): java.time.chrono.Chronology;
			public hashCode(): number;
			public getDayOfYear(): number;
			public plusMinutes(minutes: number): java.time.LocalDateTime;
			public static of(date: java.time.LocalDate, time: java.time.LocalTime): java.time.LocalDateTime;
			public toLocalDate(): java.time.LocalDate;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.LocalDateTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.LocalDateTime;
			public toEpochSecond(offset: java.time.ZoneOffset): number;
			public plusNanos(nanos: number): java.time.LocalDateTime;
			public getNano(): number;
			public atOffset(offset: java.time.ZoneOffset): java.time.OffsetDateTime;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public adjustInto(temporal: 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 withMinute(minute: number): java.time.LocalDateTime;
			public static now(): java.time.LocalDateTime;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public withNano(nanoOfSecond: number): java.time.LocalDateTime;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public compareTo(other: java.time.chrono.ChronoLocalDateTime<any>): number;
			public atZone(zone: java.time.ZoneId): java.time.ZonedDateTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public minusMinutes(minutes: number): java.time.LocalDateTime;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<any>;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.LocalDateTime;
			public minusSeconds(seconds: number): java.time.LocalDateTime;
			public static of(year: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number): java.time.LocalDateTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getHour(): number;
			public plusSeconds(seconds: number): java.time.LocalDateTime;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<any>;
			public toInstant(offset: java.time.ZoneOffset): java.time.Instant;
			public static of(year: number, month: number, dayOfMonth: number, hour: number, minute: number): java.time.LocalDateTime;
			public minusNanos(nanos: number): java.time.LocalDateTime;
			public static ofEpochSecond(epochSecond: number, nanoOfSecond: number, offset: java.time.ZoneOffset): java.time.LocalDateTime;
			public static parse(text: string): java.time.LocalDateTime;
			public minusYears(years: number): java.time.LocalDateTime;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public getMonthValue(): number;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<any>;
			public withHour(hour: number): java.time.LocalDateTime;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.LocalDateTime;
			public withSecond(second: number): java.time.LocalDateTime;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.LocalDateTime;
			public static ofInstant(instant: java.time.Instant, zone: java.time.ZoneId): java.time.LocalDateTime;
			public getLong(field: java.time.temporal.TemporalField): number;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.LocalDateTime;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public static now(zone: java.time.ZoneId): java.time.LocalDateTime;
			public get(field: java.time.temporal.TemporalField): number;
			public getYear(): number;
			public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDateTime<any>>;
			public toString(): string;
			public equals(obj: any): boolean;
			public isEqual(other: java.time.chrono.ChronoLocalDateTime<any>): boolean;
			public toLocalTime(): java.time.LocalTime;
			public plusYears(years: number): java.time.LocalDateTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDateTime<any>;
		}
	}
}

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 plusMinutes(minutesToAdd: number): java.time.LocalTime;
			public toEpochSecond(date: java.time.LocalDate, offset: java.time.ZoneOffset): number;
			public static ofNanoOfDay(nanoOfDay: number): java.time.LocalTime;
			public getNano(): number;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public plusHours(hoursToAdd: number): java.time.LocalTime;
			public static now(clock: java.time.Clock): java.time.LocalTime;
			public minusSeconds(secondsToSubtract: number): java.time.LocalTime;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public static of(hour: number, minute: number, second: number): java.time.LocalTime;
			public truncatedTo(unit: java.time.temporal.TemporalUnit): java.time.LocalTime;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.LocalTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public static parse(text: string): java.time.LocalTime;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public withMinute(minute: number): java.time.LocalTime;
			public withNano(nanoOfSecond: number): java.time.LocalTime;
			public toSecondOfDay(): number;
			public isBefore(other: java.time.LocalTime): boolean;
			public plusSeconds(secondstoAdd: number): java.time.LocalTime;
			public static of(hour: number, minute: number): java.time.LocalTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public isAfter(other: java.time.LocalTime): boolean;
			public getHour(): number;
			public compareTo(other: java.time.LocalTime): number;
			public static now(): java.time.LocalTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public minusHours(hoursToSubtract: number): java.time.LocalTime;
			public minusMinutes(minutesToSubtract: number): java.time.LocalTime;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.LocalTime;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.LocalTime;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public withHour(hour: number): java.time.LocalTime;
			public static now(zone: java.time.ZoneId): java.time.LocalTime;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.LocalTime;
			public atDate(date: java.time.LocalDate): java.time.LocalDateTime;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public minusNanos(nanosToSubtract: number): java.time.LocalTime;
			public toNanoOfDay(): number;
			public getLong(field: java.time.temporal.TemporalField): number;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public static ofSecondOfDay(secondOfDay: number): java.time.LocalTime;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.LocalTime;
			public getSecond(): number;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public get(field: java.time.temporal.TemporalField): number;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.LocalTime;
			public static ofInstant(instant: java.time.Instant, zone: java.time.ZoneId): java.time.LocalTime;
			public static of(hour: number, minute: number, second: number, nanoOfSecond: number): java.time.LocalTime;
			public toString(): string;
			public equals(obj: any): boolean;
			public getMinute(): number;
			public atOffset(offset: java.time.ZoneOffset): java.time.OffsetTime;
			public plusNanos(nanosToAdd: number): java.time.LocalTime;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.LocalTime;
			public withSecond(second: number): java.time.LocalTime;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): 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 getLong(field: java.time.temporal.TemporalField): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public minLength(): number;
			public static valueOf(name: string): java.time.Month;
			public static of(month: number): java.time.Month;
			public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
			public firstMonthOfQuarter(): java.time.Month;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.Month;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public get(field: java.time.temporal.TemporalField): number;
			public length(leapYear: boolean): number;
			public maxLength(): number;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public getValue(): number;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
			public plus(months: number): java.time.Month;
			public minus(months: number): java.time.Month;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public static values(): androidNative.Array<java.time.Month>;
			public firstDayOfYear(leapYear: boolean): number;
		}
	}
}

declare module java {
	export module time {
		export class MonthDay extends java.lang.Object {
			public static class: java.lang.Class<java.time.MonthDay>;
			public withMonth(month: number): java.time.MonthDay;
			public compareTo(other: java.time.MonthDay): number;
			public atYear(year: number): java.time.LocalDate;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public static now(zone: java.time.ZoneId): java.time.MonthDay;
			public getMonthValue(): number;
			public getMonth(): java.time.Month;
			public static of(month: number, dayOfMonth: number): java.time.MonthDay;
			public withDayOfMonth(dayOfMonth: number): java.time.MonthDay;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public static now(): java.time.MonthDay;
			public static of(month: java.time.Month, dayOfMonth: number): java.time.MonthDay;
			public getLong(field: java.time.temporal.TemporalField): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static parse(text: string): java.time.MonthDay;
			public isBefore(other: java.time.MonthDay): boolean;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.MonthDay;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public getDayOfMonth(): number;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.MonthDay;
			public get(field: java.time.temporal.TemporalField): number;
			public with(month: java.time.Month): java.time.MonthDay;
			public toString(): string;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public equals(obj: any): boolean;
			public static now(clock: java.time.Clock): java.time.MonthDay;
			public isAfter(other: java.time.MonthDay): boolean;
			public isValidYear(year: number): boolean;
			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 plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.OffsetDateTime;
			public getDayOfYear(): number;
			public plusMonths(months: number): java.time.OffsetDateTime;
			public withHour(hour: number): java.time.OffsetDateTime;
			public toLocalDate(): java.time.LocalDate;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.OffsetDateTime;
			public toEpochSecond(): number;
			public static of(year: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, nanoOfSecond: number, offset: java.time.ZoneOffset): java.time.OffsetDateTime;
			public atZoneSimilarLocal(zone: java.time.ZoneId): java.time.ZonedDateTime;
			public getDayOfWeek(): java.time.DayOfWeek;
			public getNano(): number;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public adjustInto(temporal: 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(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public withMonth(month: number): java.time.OffsetDateTime;
			public toLocalDateTime(): java.time.LocalDateTime;
			public isEqual(other: java.time.OffsetDateTime): boolean;
			public withDayOfYear(dayOfYear: number): java.time.OffsetDateTime;
			public plusSeconds(seconds: number): java.time.OffsetDateTime;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public withDayOfMonth(dayOfMonth: number): java.time.OffsetDateTime;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static of(date: java.time.LocalDate, time: java.time.LocalTime, offset: java.time.ZoneOffset): java.time.OffsetDateTime;
			public withOffsetSameInstant(offset: java.time.ZoneOffset): java.time.OffsetDateTime;
			public atZoneSameInstant(zone: java.time.ZoneId): java.time.ZonedDateTime;
			public isBefore(other: java.time.OffsetDateTime): boolean;
			public withOffsetSameLocal(offset: java.time.ZoneOffset): java.time.OffsetDateTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getHour(): number;
			public minusNanos(nanos: number): java.time.OffsetDateTime;
			public truncatedTo(unit: java.time.temporal.TemporalUnit): java.time.OffsetDateTime;
			public plusNanos(nanos: number): java.time.OffsetDateTime;
			public minusSeconds(seconds: number): java.time.OffsetDateTime;
			public static now(): java.time.OffsetDateTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public plusMinutes(minutes: number): java.time.OffsetDateTime;
			public static ofInstant(instant: java.time.Instant, zone: java.time.ZoneId): java.time.OffsetDateTime;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public getOffset(): java.time.ZoneOffset;
			public minusYears(years: number): java.time.OffsetDateTime;
			public static parse(text: string): java.time.OffsetDateTime;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.OffsetDateTime;
			public withYear(year: number): java.time.OffsetDateTime;
			public plusWeeks(weeks: number): java.time.OffsetDateTime;
			public compareTo(other: java.time.OffsetDateTime): number;
			public plusHours(hours: number): java.time.OffsetDateTime;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public getMonthValue(): number;
			public isAfter(other: java.time.OffsetDateTime): boolean;
			public withMinute(minute: number): java.time.OffsetDateTime;
			public toZonedDateTime(): java.time.ZonedDateTime;
			public toOffsetTime(): java.time.OffsetTime;
			public static of(dateTime: java.time.LocalDateTime, offset: java.time.ZoneOffset): java.time.OffsetDateTime;
			public plusYears(years: number): java.time.OffsetDateTime;
			public minusMinutes(minutes: number): java.time.OffsetDateTime;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public minusWeeks(weeks: number): java.time.OffsetDateTime;
			public minusHours(hours: number): java.time.OffsetDateTime;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.OffsetDateTime;
			public getLong(field: java.time.temporal.TemporalField): number;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public withNano(nanoOfSecond: number): java.time.OffsetDateTime;
			public plusDays(days: number): java.time.OffsetDateTime;
			public toInstant(): java.time.Instant;
			public static now(clock: java.time.Clock): java.time.OffsetDateTime;
			public getSecond(): number;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public getDayOfMonth(): number;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.OffsetDateTime;
			public minusMonths(months: number): java.time.OffsetDateTime;
			public get(field: java.time.temporal.TemporalField): number;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.OffsetDateTime;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.OffsetDateTime;
			public withSecond(second: number): java.time.OffsetDateTime;
			public static now(zone: java.time.ZoneId): java.time.OffsetDateTime;
			public getYear(): number;
			public minusDays(days: number): java.time.OffsetDateTime;
			public toString(): string;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.OffsetDateTime;
			public equals(obj: any): boolean;
			public toLocalTime(): java.time.LocalTime;
			public getMinute(): number;
			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 isEqual(other: java.time.OffsetTime): boolean;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.OffsetTime;
			public plusMinutes(minutes: number): java.time.OffsetTime;
			public minusMinutes(minutes: number): java.time.OffsetTime;
			public withSecond(second: number): java.time.OffsetTime;
			public getNano(): number;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public withOffsetSameInstant(offset: java.time.ZoneOffset): java.time.OffsetTime;
			public static ofInstant(instant: java.time.Instant, zone: java.time.ZoneId): java.time.OffsetTime;
			public isAfter(other: java.time.OffsetTime): boolean;
			public static now(zone: java.time.ZoneId): java.time.OffsetTime;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.OffsetTime;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.OffsetTime;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.OffsetTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public withNano(nanoOfSecond: number): java.time.OffsetTime;
			public withOffsetSameLocal(offset: java.time.ZoneOffset): java.time.OffsetTime;
			public plusNanos(nanos: number): java.time.OffsetTime;
			public static now(): java.time.OffsetTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getHour(): number;
			public truncatedTo(unit: java.time.temporal.TemporalUnit): java.time.OffsetTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.OffsetTime;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public getOffset(): java.time.ZoneOffset;
			public static now(clock: java.time.Clock): java.time.OffsetTime;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.OffsetTime;
			public compareTo(other: java.time.OffsetTime): number;
			public static parse(text: string): java.time.OffsetTime;
			public minusSeconds(seconds: number): java.time.OffsetTime;
			public minusNanos(nanos: number): java.time.OffsetTime;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public toEpochSecond(date: java.time.LocalDate): number;
			public atDate(date: java.time.LocalDate): java.time.OffsetDateTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.OffsetTime;
			public static of(hour: number, minute: number, second: number, nanoOfSecond: number, offset: java.time.ZoneOffset): java.time.OffsetTime;
			public isBefore(other: java.time.OffsetTime): boolean;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.OffsetTime;
			public plusSeconds(seconds: number): java.time.OffsetTime;
			public getLong(field: java.time.temporal.TemporalField): number;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public minusHours(hours: number): java.time.OffsetTime;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public getSecond(): number;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public get(field: java.time.temporal.TemporalField): number;
			public static of(time: java.time.LocalTime, offset: java.time.ZoneOffset): java.time.OffsetTime;
			public withMinute(minute: number): java.time.OffsetTime;
			public toString(): string;
			public equals(obj: any): boolean;
			public toLocalTime(): java.time.LocalTime;
			public getMinute(): number;
			public plusHours(hours: number): java.time.OffsetTime;
			public withHour(hour: number): 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 minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoPeriod;
			public equals(param0: any): boolean;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.Period;
			public normalized(): java.time.chrono.ChronoPeriod;
			public getMonths(): number;
			public static from(amount: java.time.temporal.TemporalAmount): java.time.Period;
			public static of(years: number, months: number, days: number): java.time.Period;
			public withMonths(months: number): java.time.Period;
			public normalized(): java.time.Period;
			public getChronology(): java.time.chrono.IsoChronology;
			public addTo(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public isNegative(): boolean;
			public get(param0: java.time.temporal.TemporalUnit): number;
			public multipliedBy(param0: number): java.time.chrono.ChronoPeriod;
			public getDays(): number;
			public toTotalMonths(): number;
			public getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
			public isZero(): boolean;
			public minusDays(daysToSubtract: number): java.time.Period;
			public static parse(text: string): java.time.Period;
			public get(unit: java.time.temporal.TemporalUnit): number;
			public static ofDays(days: number): java.time.Period;
			public static ofMonths(months: number): java.time.Period;
			public static ofWeeks(weeks: number): java.time.Period;
			public addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoPeriod;
			public static ofYears(years: number): java.time.Period;
			public negated(): java.time.Period;
			public plusYears(yearsToAdd: number): java.time.Period;
			public multipliedBy(scalar: number): java.time.Period;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.Period;
			public subtractFrom(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public toString(): string;
			public equals(obj: any): boolean;
			public minusYears(yearsToSubtract: number): java.time.Period;
			public static between(startDateInclusive: java.time.LocalDate, endDateExclusive: java.time.LocalDate): java.time.Period;
			public static between(startDateInclusive: java.time.chrono.ChronoLocalDate, endDateExclusive: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
			public getChronology(): java.time.chrono.Chronology;
			public withDays(days: number): java.time.Period;
			public plusMonths(monthsToAdd: number): java.time.Period;
			public plusDays(daysToAdd: number): java.time.Period;
			public minusMonths(monthsToSubtract: number): java.time.Period;
			public withYears(years: number): java.time.Period;
			public hashCode(): number;
			public negated(): java.time.chrono.ChronoPeriod;
			public subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
		}
	}
}

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: 999999999;
			public static MIN_VALUE: -999999999;
			public static parse(text: string): java.time.Year;
			public atMonthDay(monthDay: java.time.MonthDay): java.time.LocalDate;
			public plusYears(yearsToAdd: number): java.time.Year;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public compareTo(other: java.time.Year): number;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.Year;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.Year;
			public static of(isoYear: number): java.time.Year;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public isAfter(other: java.time.Year): boolean;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public atMonth(month: number): java.time.YearMonth;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.Year;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.Year;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.Year;
			public atMonth(month: java.time.Month): java.time.YearMonth;
			public static isLeap(year: number): boolean;
			public isBefore(other: java.time.Year): boolean;
			public getValue(): number;
			public static now(clock: java.time.Clock): java.time.Year;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public isLeap(): boolean;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public minusYears(yearsToSubtract: number): java.time.Year;
			public atDay(dayOfYear: number): java.time.LocalDate;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.Year;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public getLong(field: java.time.temporal.TemporalField): number;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public static now(): java.time.Year;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public length(): number;
			public isValidMonthDay(monthDay: java.time.MonthDay): boolean;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public get(field: java.time.temporal.TemporalField): number;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.Year;
			public toString(): string;
			public equals(obj: any): boolean;
			public static now(zone: java.time.ZoneId): java.time.Year;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.Year;
			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 plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.YearMonth;
			public isValidDay(dayOfMonth: number): boolean;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public withYear(year: number): java.time.YearMonth;
			public getMonth(): java.time.Month;
			public plusMonths(monthsToAdd: number): java.time.YearMonth;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public minusYears(yearsToSubtract: number): java.time.YearMonth;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public atEndOfMonth(): java.time.LocalDate;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public isLeapYear(): boolean;
			public static of(year: number, month: java.time.Month): java.time.YearMonth;
			public static parse(text: string): java.time.YearMonth;
			public minusMonths(monthsToSubtract: number): java.time.YearMonth;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public atDay(dayOfMonth: number): java.time.LocalDate;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public plusYears(yearsToAdd: number): java.time.YearMonth;
			public static now(clock: java.time.Clock): java.time.YearMonth;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public getMonthValue(): number;
			public isAfter(other: java.time.YearMonth): boolean;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.YearMonth;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public static now(): java.time.YearMonth;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.YearMonth;
			public compareTo(other: java.time.YearMonth): number;
			public withMonth(month: number): java.time.YearMonth;
			public getLong(field: java.time.temporal.TemporalField): number;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.YearMonth;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.YearMonth;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public lengthOfMonth(): number;
			public get(field: java.time.temporal.TemporalField): number;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.YearMonth;
			public isBefore(other: java.time.YearMonth): boolean;
			public getYear(): number;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.YearMonth;
			public toString(): string;
			public equals(obj: any): boolean;
			public static of(year: number, month: number): java.time.YearMonth;
			public lengthOfYear(): number;
			public static now(zone: java.time.ZoneId): java.time.YearMonth;
			public with(field: java.time.temporal.TemporalField, newValue: 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 getRules(): java.time.zone.ZoneRules;
			public static systemDefault(): java.time.ZoneId;
			public static getAvailableZoneIds(): java.util.Set<string>;
			public static of(zoneId: string, aliasMap: java.util.Map<string,string>): java.time.ZoneId;
			public getId(): string;
			public toString(): string;
			public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
			public equals(obj: any): boolean;
			public normalized(): java.time.ZoneId;
			public static of(zoneId: string): java.time.ZoneId;
			public static ofOffset(prefix: string, offset: java.time.ZoneOffset): java.time.ZoneId;
			public static from(temporal: java.time.temporal.TemporalAccessor): 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 getRules(): java.time.zone.ZoneRules;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.ZoneOffset;
			public static ofHours(hours: number): java.time.ZoneOffset;
			public static ofHoursMinutes(hours: number, minutes: number): java.time.ZoneOffset;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public static ofHoursMinutesSeconds(hours: number, minutes: number, seconds: number): java.time.ZoneOffset;
			public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public static of(zoneId: string): java.time.ZoneId;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.ZoneId;
			public getLong(field: java.time.temporal.TemporalField): number;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static ofTotalSeconds(totalSeconds: number): java.time.ZoneOffset;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public static of(zoneId: string, aliasMap: java.util.Map<string,string>): java.time.ZoneId;
			public get(field: java.time.temporal.TemporalField): number;
			public compareTo(other: java.time.ZoneOffset): number;
			public getId(): string;
			public toString(): string;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getTotalSeconds(): number;
			public equals(obj: any): boolean;
			public static of(offsetId: string): 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 withDayOfMonth(dayOfMonth: number): java.time.ZonedDateTime;
			public toEpochSecond(): number;
			public getDayOfWeek(): java.time.DayOfWeek;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public static now(clock: java.time.Clock): java.time.ZonedDateTime;
			public minusYears(years: number): java.time.ZonedDateTime;
			public plusMonths(months: number): java.time.ZonedDateTime;
			public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
			public minusSeconds(seconds: number): java.time.ZonedDateTime;
			public plusHours(hours: number): java.time.ZonedDateTime;
			public query(query: java.time.temporal.TemporalQuery<any>): any;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public withLaterOffsetAtOverlap(): java.time.ZonedDateTime;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<any>;
			public withEarlierOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<any>;
			public static of(localDateTime: java.time.LocalDateTime, zone: java.time.ZoneId): java.time.ZonedDateTime;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<any>;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.ZonedDateTime;
			public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public equals(param0: any): boolean;
			public toLocalDateTime(): java.time.chrono.ChronoLocalDateTime<any>;
			public withNano(nanoOfSecond: number): java.time.ZonedDateTime;
			public minusWeeks(weeks: number): java.time.ZonedDateTime;
			public minusHours(hours: number): java.time.ZonedDateTime;
			public minusMonths(months: number): java.time.ZonedDateTime;
			public withZoneSameLocal(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
			public static ofInstant(localDateTime: java.time.LocalDateTime, offset: java.time.ZoneOffset, zone: java.time.ZoneId): java.time.ZonedDateTime;
			public getZone(): java.time.ZoneId;
			public plusSeconds(seconds: number): java.time.ZonedDateTime;
			public static ofLocal(localDateTime: java.time.LocalDateTime, zone: java.time.ZoneId, preferredOffset: java.time.ZoneOffset): java.time.ZonedDateTime;
			public withLaterOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<any>;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoZonedDateTime<any>;
			public plusWeeks(weeks: number): java.time.ZonedDateTime;
			public isEqual(other: java.time.chrono.ChronoZonedDateTime<any>): boolean;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
			public getSecond(): number;
			public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public getDayOfMonth(): number;
			public toLocalDate(): any;
			public withZoneSameInstant(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
			public toOffsetDateTime(): java.time.OffsetDateTime;
			public static of(year: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, nanoOfSecond: number, zone: java.time.ZoneId): java.time.ZonedDateTime;
			public getMinute(): number;
			public plusDays(days: number): java.time.ZonedDateTime;
			public getChronology(): java.time.chrono.Chronology;
			public plus(amountToAdd: java.time.temporal.TemporalAmount): java.time.ZonedDateTime;
			public hashCode(): number;
			public getDayOfYear(): number;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<any>;
			public compareTo(other: java.time.chrono.ChronoZonedDateTime<any>): number;
			public toLocalDate(): java.time.LocalDate;
			public withYear(year: number): java.time.ZonedDateTime;
			public static from(temporal: java.time.temporal.TemporalAccessor): java.time.ZonedDateTime;
			public getNano(): number;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public getMonth(): java.time.Month;
			public static parse(text: string, formatter: java.time.format.DateTimeFormatter): java.time.ZonedDateTime;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public toLocalDateTime(): java.time.LocalDateTime;
			public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
			public static ofInstant(instant: java.time.Instant, zone: java.time.ZoneId): java.time.ZonedDateTime;
			public static ofStrict(localDateTime: java.time.LocalDateTime, offset: java.time.ZoneOffset, zone: java.time.ZoneId): java.time.ZonedDateTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public withFixedOffsetZone(): java.time.ZonedDateTime;
			public withMinute(minute: number): java.time.ZonedDateTime;
			public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoZonedDateTime<any>>;
			public withEarlierOffsetAtOverlap(): java.time.ZonedDateTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.ZonedDateTime;
			public static of(date: java.time.LocalDate, time: java.time.LocalTime, zone: java.time.ZoneId): java.time.ZonedDateTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getHour(): number;
			public minusDays(days: number): java.time.ZonedDateTime;
			public isAfter(other: java.time.chrono.ChronoZonedDateTime<any>): boolean;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<any>;
			public withDayOfYear(dayOfYear: number): java.time.ZonedDateTime;
			public getOffset(): java.time.ZoneOffset;
			public withMonth(month: number): java.time.ZonedDateTime;
			public truncatedTo(unit: java.time.temporal.TemporalUnit): java.time.ZonedDateTime;
			public plusMinutes(minutes: number): java.time.ZonedDateTime;
			public plusNanos(nanos: number): java.time.ZonedDateTime;
			public format(formatter: java.time.format.DateTimeFormatter): string;
			public withZoneSameInstant(zone: java.time.ZoneId): java.time.ZonedDateTime;
			public getMonthValue(): number;
			public minusMinutes(minutes: number): java.time.ZonedDateTime;
			public minusNanos(nanos: number): java.time.ZonedDateTime;
			public isSupported(field: java.time.temporal.TemporalField): boolean;
			public plusYears(years: number): java.time.ZonedDateTime;
			public static now(zone: java.time.ZoneId): java.time.ZonedDateTime;
			public getLong(field: java.time.temporal.TemporalField): number;
			public withZoneSameLocal(zone: java.time.ZoneId): java.time.ZonedDateTime;
			public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public toInstant(): java.time.Instant;
			public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.ZonedDateTime;
			public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoZonedDateTime<any>;
			public get(field: java.time.temporal.TemporalField): number;
			public minus(amountToSubtract: java.time.temporal.TemporalAmount): java.time.ZonedDateTime;
			public static parse(text: string): java.time.ZonedDateTime;
			public getYear(): number;
			public isBefore(other: java.time.chrono.ChronoZonedDateTime<any>): boolean;
			public toString(): string;
			public equals(obj: any): boolean;
			public static now(): java.time.ZonedDateTime;
			public toLocalTime(): java.time.LocalTime;
			public with(field: java.time.temporal.TemporalField, newValue: number): java.time.ZonedDateTime;
			public withSecond(second: number): java.time.ZonedDateTime;
			public withHour(hour: 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 epochSecond(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ChronoLocalDate;
				public static of(id: string): java.time.chrono.Chronology;
				public constructor();
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public epochSecond(prolepticYear: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public hashCode(): number;
				public period(years: number, months: number, days: number): java.time.chrono.ChronoPeriod;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public eras(): java.util.List<java.time.chrono.Era>;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(clock: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public compareTo(other: java.time.chrono.Chronology): number;
				public toString(): string;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.ChronoLocalDate;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public equals(obj: any): boolean;
				public isLeapYear(param0: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public static ofLocale(locale: java.util.Locale): java.time.chrono.Chronology;
			}
		}
	}
}

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(temporal: 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(field: java.time.temporal.TemporalField): boolean;
					isSupported(unit: java.time.temporal.TemporalUnit): boolean;
					with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
					with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.ChronoLocalDate;
					plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
					plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
					minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
					minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
					query(query: java.time.temporal.TemporalQuery<any>): any;
					adjustInto(temporal: 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(formatter: java.time.format.DateTimeFormatter): string;
					atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
					toEpochDay(): number;
					compareTo(other: java.time.chrono.ChronoLocalDate): number;
					isAfter(other: java.time.chrono.ChronoLocalDate): boolean;
					isBefore(other: java.time.chrono.ChronoLocalDate): boolean;
					isEqual(other: 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(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					minus(amountToSubtract: number, unit: 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(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(field: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(query: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public lengthOfMonth(): number;
				public isBefore(other: java.time.chrono.ChronoLocalDate): boolean;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public getEra(): java.time.chrono.Era;
				public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
				public get(field: java.time.temporal.TemporalField): number;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				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 range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				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 equals(param0: any): boolean;
				public toEpochDay(): number;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public compareTo(other: java.time.chrono.ChronoLocalDate): number;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
				public toString(): string;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public format(formatter: java.time.format.DateTimeFormatter): string;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isAfter(other: java.time.chrono.ChronoLocalDate): boolean;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public isLeapYear(): boolean;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.Chronology;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isEqual(other: java.time.chrono.ChronoLocalDate): 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 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(temporal: 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(unit: java.time.temporal.TemporalUnit): boolean;
					with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDateTime<D>;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDateTime<D>;
					plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<D>;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<D>;
					minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<D>;
					minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<D>;
					query(query: java.time.temporal.TemporalQuery<any>): any;
					adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
					format(formatter: java.time.format.DateTimeFormatter): string;
					atZone(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
					toInstant(offset: java.time.ZoneOffset): java.time.Instant;
					toEpochSecond(offset: java.time.ZoneOffset): number;
					compareTo(other: java.time.chrono.ChronoLocalDateTime<any>): number;
					isAfter(other: java.time.chrono.ChronoLocalDateTime<any>): boolean;
					isBefore(other: java.time.chrono.ChronoLocalDateTime<any>): boolean;
					isEqual(other: 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(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					minus(amountToSubtract: number, unit: 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(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(field: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(query: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public isAfter(other: java.time.chrono.ChronoLocalDateTime<any>): boolean;
				public compareTo(other: java.time.chrono.ChronoLocalDateTime<any>): number;
				public get(field: java.time.temporal.TemporalField): number;
				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 range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDateTime<any>>;
				public toEpochSecond(offset: java.time.ZoneOffset): 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 equals(param0: any): boolean;
				public isBefore(other: java.time.chrono.ChronoLocalDateTime<any>): boolean;
				public atZone(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
				public toLocalDate(): D;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<D>;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public isEqual(other: java.time.chrono.ChronoLocalDateTime<any>): boolean;
				public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDateTime<D>;
				public toString(): string;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<D>;
				public format(formatter: java.time.format.DateTimeFormatter): string;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDateTime<D>;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public getChronology(): java.time.chrono.Chronology;
				public toInstant(offset: java.time.ZoneOffset): java.time.Instant;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<D>;
				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(startDateInclusive: java.time.chrono.ChronoLocalDate, endDateExclusive: 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 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 static between(startDateInclusive: java.time.chrono.ChronoLocalDate, endDateExclusive: java.time.chrono.ChronoLocalDate): 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(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
					range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(field: java.time.temporal.TemporalField): number;
					getLong(field: 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(unit: java.time.temporal.TemporalUnit): boolean;
					with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoZonedDateTime<D>;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoZonedDateTime<D>;
					plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<D>;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<D>;
					minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<D>;
					minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<D>;
					query(query: java.time.temporal.TemporalQuery<any>): any;
					format(formatter: java.time.format.DateTimeFormatter): string;
					toInstant(): java.time.Instant;
					toEpochSecond(): number;
					compareTo(other: java.time.chrono.ChronoZonedDateTime<any>): number;
					isBefore(other: java.time.chrono.ChronoZonedDateTime<any>): boolean;
					isAfter(other: java.time.chrono.ChronoZonedDateTime<any>): boolean;
					isEqual(other: 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(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					minus(amountToSubtract: number, unit: 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(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(field: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(query: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<D>;
				public withEarlierOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<D>;
				public withZoneSameInstant(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
				public withLaterOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<D>;
				public get(field: java.time.temporal.TemporalField): number;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public isBefore(other: java.time.chrono.ChronoZonedDateTime<any>): boolean;
				public toLocalTime(): java.time.LocalTime;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<D>;
				public toInstant(): java.time.Instant;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getZone(): java.time.ZoneId;
				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 with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoZonedDateTime<D>;
				public withZoneSameLocal(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
				public toEpochSecond(): number;
				public isAfter(other: java.time.chrono.ChronoZonedDateTime<any>): boolean;
				public toLocalDate(): D;
				public getOffset(): java.time.ZoneOffset;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public compareTo(other: java.time.chrono.ChronoZonedDateTime<any>): number;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public getLong(field: java.time.temporal.TemporalField): number;
				public isEqual(other: java.time.chrono.ChronoZonedDateTime<any>): boolean;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
				public minus(amount: 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 format(formatter: java.time.format.DateTimeFormatter): string;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public getChronology(): java.time.chrono.Chronology;
				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 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(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
					ofLocale(locale: java.util.Locale): java.time.chrono.Chronology;
					of(id: string): java.time.chrono.Chronology;
					getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
					getId(): string;
					getCalendarType(): string;
					date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ChronoLocalDate;
					date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
					dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: 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(zone: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
					dateNow(clock: java.time.Clock): java.time.chrono.ChronoLocalDate;
					date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
					localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
					zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
					zonedDateTime(instant: java.time.Instant, zone: 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(style: java.time.format.TextStyle, locale: 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(years: number, months: number, days: number): java.time.chrono.ChronoPeriod;
					epochSecond(prolepticYear: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
					epochSecond(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
					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 epochSecond(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ChronoLocalDate;
				public static of(id: string): java.time.chrono.Chronology;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public epochSecond(prolepticYear: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public hashCode(): number;
				public period(years: number, months: number, days: number): java.time.chrono.ChronoPeriod;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public eras(): java.util.List<java.time.chrono.Era>;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(clock: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public toString(): string;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.ChronoLocalDate;
				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 dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public static ofLocale(locale: java.util.Locale): java.time.chrono.Chronology;
			}
		}
	}
}

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(field: java.time.temporal.TemporalField): boolean;
					range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(field: java.time.temporal.TemporalField): number;
					getLong(field: java.time.temporal.TemporalField): number;
					query(query: java.time.temporal.TemporalQuery<any>): any;
					adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
					getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(field: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(query: java.time.temporal.TemporalQuery<any>): any;
					adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				});
				public constructor();
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public getLong(field: java.time.temporal.TemporalField): number;
				public get(field: java.time.temporal.TemporalField): number;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				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 dateNow(clock: java.time.Clock): 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(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.HijrahDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate>;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.HijrahDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.HijrahDate;
				public prolepticYear(era: java.time.chrono.Era, yearOfEra: number): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public dateYearDay(prolepticYear: number, dayOfYear: number): java.time.chrono.HijrahDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public eraOf(param0: number): java.time.chrono.Era;
				public toString(): string;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.ChronoLocalDate;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public isLeapYear(param0: number): boolean;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate>;
				public dateEpochDay(epochDay: number): java.time.chrono.HijrahDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public static ofLocale(locale: java.util.Locale): java.time.chrono.Chronology;
				public epochSecond(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate>;
				public static of(id: string): java.time.chrono.Chronology;
				public epochSecond(prolepticYear: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public range(field: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public dateNow(): java.time.chrono.HijrahDate;
				public period(years: number, months: number, days: number): java.time.chrono.ChronoPeriod;
				public eras(): java.util.List<java.time.chrono.Era>;
				public eraOf(eraValue: number): java.time.chrono.HijrahEra;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.HijrahDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public dateNow(clock: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public date(prolepticYear: number, month: number, dayOfMonth: number): java.time.chrono.HijrahDate;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.HijrahDate;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public isLeapYear(prolepticYear: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
			}
		}
	}
}

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 minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public getEra(): java.time.chrono.Era;
				public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.HijrahDate;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.HijrahDate;
				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 range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public equals(param0: any): boolean;
				public static now(zone: java.time.ZoneId): java.time.chrono.HijrahDate;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public toString(): string;
				public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.Chronology;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isEqual(other: java.time.chrono.ChronoLocalDate): boolean;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
				public lengthOfMonth(): number;
				public isBefore(other: java.time.chrono.ChronoLocalDate): boolean;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.HijrahDate;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.HijrahDate;
				public static now(): java.time.chrono.HijrahDate;
				public get(field: java.time.temporal.TemporalField): number;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.HijrahDate;
				public toEpochDay(): number;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public compareTo(other: java.time.chrono.ChronoLocalDate): number;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public getEra(): java.time.chrono.HijrahEra;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public getLong(field: java.time.temporal.TemporalField): number;
				public static of(prolepticYear: number, month: number, dayOfMonth: number): java.time.chrono.HijrahDate;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.HijrahDate;
				public until(endDate: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public format(formatter: java.time.format.DateTimeFormatter): string;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.HijrahDate;
				public isAfter(other: java.time.chrono.ChronoLocalDate): boolean;
				public equals(obj: any): boolean;
				public isLeapYear(): boolean;
				public static now(clock: java.time.Clock): java.time.chrono.HijrahDate;
				public getChronology(): java.time.chrono.HijrahChronology;
				public withVariant(chronology: java.time.chrono.HijrahChronology): java.time.chrono.HijrahDate;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<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 query(query: java.time.temporal.TemporalQuery<any>): any;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public static values(): androidNative.Array<java.time.chrono.HijrahEra>;
				public getLong(field: java.time.temporal.TemporalField): number;
				public get(field: java.time.temporal.TemporalField): number;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public static valueOf(name: string): java.time.chrono.HijrahEra;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static of(hijrahEra: number): java.time.chrono.HijrahEra;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public getValue(): number;
			}
		}
	}
}

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 eraOf(eraValue: number): java.time.chrono.IsoEra;
				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 localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.LocalDateTime;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.ZonedDateTime;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.LocalDate;
				public date(temporal: java.time.temporal.TemporalAccessor): java.time.LocalDate;
				public prolepticYear(era: java.time.chrono.Era, yearOfEra: number): number;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.LocalDate;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public dateEpochDay(epochDay: number): java.time.LocalDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public period(years: number, months: number, days: number): java.time.Period;
				public eraOf(param0: number): java.time.chrono.Era;
				public dateYearDay(prolepticYear: number, dayOfYear: number): java.time.LocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.LocalDate;
				public toString(): string;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.ChronoLocalDate;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public isLeapYear(param0: number): boolean;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public static ofLocale(locale: java.util.Locale): java.time.chrono.Chronology;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.LocalDate;
				public epochSecond(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public static of(id: string): java.time.chrono.Chronology;
				public date(prolepticYear: number, month: number, dayOfMonth: number): java.time.LocalDate;
				public epochSecond(prolepticYear: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public range(field: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public period(years: number, months: number, days: number): java.time.chrono.ChronoPeriod;
				public eras(): java.util.List<java.time.chrono.Era>;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public dateNow(clock: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public dateNow(clock: java.time.Clock): java.time.LocalDate;
				public dateNow(): java.time.LocalDate;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.ZonedDateTime;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public isLeapYear(prolepticYear: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
			}
		}
	}
}

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 query(query: java.time.temporal.TemporalQuery<any>): any;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public getLong(field: java.time.temporal.TemporalField): number;
				public get(field: java.time.temporal.TemporalField): number;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public static valueOf(name: string): java.time.chrono.IsoEra;
				public static values(): androidNative.Array<java.time.chrono.IsoEra>;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static of(isoEra: number): java.time.chrono.IsoEra;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public getValue(): number;
			}
		}
	}
}

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 date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate>;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public eraOf(eraValue: number): java.time.chrono.JapaneseEra;
				public prolepticYear(era: java.time.chrono.Era, yearOfEra: number): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public dateNow(clock: java.time.Clock): java.time.chrono.JapaneseDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public eraOf(param0: number): java.time.chrono.Era;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate>;
				public dateNow(): java.time.chrono.JapaneseDate;
				public toString(): string;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public dateEpochDay(epochDay: number): java.time.chrono.JapaneseDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.ChronoLocalDate;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public dateYearDay(prolepticYear: number, dayOfYear: number): java.time.chrono.JapaneseDate;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.JapaneseDate;
				public isLeapYear(param0: number): boolean;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.JapaneseDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.JapaneseDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.JapaneseDate;
				public static ofLocale(locale: java.util.Locale): java.time.chrono.Chronology;
				public epochSecond(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public static of(id: string): java.time.chrono.Chronology;
				public epochSecond(prolepticYear: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public range(field: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public period(years: number, months: number, days: number): java.time.chrono.ChronoPeriod;
				public eras(): java.util.List<java.time.chrono.Era>;
				public date(prolepticYear: number, month: number, dayOfMonth: number): java.time.chrono.JapaneseDate;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public dateNow(clock: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public isLeapYear(prolepticYear: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public date(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.JapaneseDate;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate>;
			}
		}
	}
}

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 with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.JapaneseDate;
				public static now(): java.time.chrono.JapaneseDate;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public getEra(): java.time.chrono.Era;
				public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				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 range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public minus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.JapaneseDate;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public equals(param0: any): boolean;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.JapaneseDate;
				public getChronology(): java.time.chrono.JapaneseChronology;
				public static now(clock: java.time.Clock): java.time.chrono.JapaneseDate;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public toString(): string;
				public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.JapaneseDate;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static now(zone: java.time.ZoneId): java.time.chrono.JapaneseDate;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.ChronoLocalDate;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate>;
				public getChronology(): java.time.chrono.Chronology;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isEqual(other: java.time.chrono.ChronoLocalDate): boolean;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
				public lengthOfMonth(): number;
				public isBefore(other: java.time.chrono.ChronoLocalDate): boolean;
				public static of(era: java.time.chrono.JapaneseEra, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.JapaneseDate;
				public get(field: java.time.temporal.TemporalField): number;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public toEpochDay(): number;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.JapaneseDate;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.JapaneseDate;
				public compareTo(other: java.time.chrono.ChronoLocalDate): number;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public getLong(field: java.time.temporal.TemporalField): number;
				public until(endDate: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public format(formatter: java.time.format.DateTimeFormatter): string;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public isAfter(other: java.time.chrono.ChronoLocalDate): boolean;
				public getEra(): java.time.chrono.JapaneseEra;
				public equals(obj: any): boolean;
				public isLeapYear(): boolean;
				public static of(prolepticYear: number, month: number, dayOfMonth: number): java.time.chrono.JapaneseDate;
				public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.JapaneseDate;
				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 REIWA: java.time.chrono.JapaneseEra;
				public static SHOWA: java.time.chrono.JapaneseEra;
				public static TAISHO: java.time.chrono.JapaneseEra;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public static values(): androidNative.Array<java.time.chrono.JapaneseEra>;
				public getLong(field: java.time.temporal.TemporalField): number;
				public get(field: java.time.temporal.TemporalField): number;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public toString(): string;
				public static of(japaneseEra: number): java.time.chrono.JapaneseEra;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static valueOf(japaneseEra: string): java.time.chrono.JapaneseEra;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public getValue(): number;
			}
		}
	}
}

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 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(prolepticYear: number, month: number, dayOfMonth: number): java.time.chrono.MinguoDate;
				public eraOf(eraValue: number): java.time.chrono.MinguoEra;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public prolepticYear(era: java.time.chrono.Era, yearOfEra: number): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public eraOf(param0: number): java.time.chrono.Era;
				public dateEpochDay(epochDay: number): java.time.chrono.MinguoDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.MinguoDate;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate>;
				public toString(): string;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.ChronoLocalDate;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public isLeapYear(param0: number): boolean;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public static ofLocale(locale: java.util.Locale): java.time.chrono.Chronology;
				public epochSecond(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public static of(id: string): java.time.chrono.Chronology;
				public epochSecond(prolepticYear: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public dateNow(): java.time.chrono.MinguoDate;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public range(field: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public period(years: number, months: number, days: number): java.time.chrono.ChronoPeriod;
				public eras(): java.util.List<java.time.chrono.Era>;
				public dateNow(clock: java.time.Clock): java.time.chrono.MinguoDate;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate>;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.MinguoDate;
				public dateNow(clock: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.MinguoDate;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public date(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.MinguoDate;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public dateYearDay(prolepticYear: number, dayOfYear: number): java.time.chrono.MinguoDate;
				public isLeapYear(prolepticYear: number): boolean;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate>;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.MinguoDate;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
			}
		}
	}
}

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 minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public getEra(): java.time.chrono.Era;
				public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				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 range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public equals(param0: any): boolean;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.MinguoDate;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public toString(): string;
				public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.Chronology;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isEqual(other: java.time.chrono.ChronoLocalDate): boolean;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
				public lengthOfMonth(): number;
				public minus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.MinguoDate;
				public isBefore(other: java.time.chrono.ChronoLocalDate): boolean;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.MinguoDate;
				public get(field: java.time.temporal.TemporalField): number;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public getChronology(): java.time.chrono.MinguoChronology;
				public static of(prolepticYear: number, month: number, dayOfMonth: number): java.time.chrono.MinguoDate;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static now(clock: java.time.Clock): java.time.chrono.MinguoDate;
				public getEra(): java.time.chrono.MinguoEra;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.MinguoDate;
				public toEpochDay(): number;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.MinguoDate;
				public static now(): java.time.chrono.MinguoDate;
				public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.MinguoDate;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public compareTo(other: java.time.chrono.ChronoLocalDate): number;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public getLong(field: java.time.temporal.TemporalField): number;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate>;
				public static now(zone: java.time.ZoneId): java.time.chrono.MinguoDate;
				public until(endDate: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public format(formatter: java.time.format.DateTimeFormatter): string;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public isAfter(other: java.time.chrono.ChronoLocalDate): boolean;
				public equals(obj: any): boolean;
				public isLeapYear(): boolean;
				public with(adjuster: java.time.temporal.TemporalAdjuster): 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 query(query: java.time.temporal.TemporalQuery<any>): any;
				public static of(minguoEra: number): java.time.chrono.MinguoEra;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public getLong(field: java.time.temporal.TemporalField): number;
				public get(field: java.time.temporal.TemporalField): number;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static valueOf(name: string): java.time.chrono.MinguoEra;
				public static values(): androidNative.Array<java.time.chrono.MinguoEra>;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public getValue(): number;
			}
		}
	}
}

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 dateEpochDay(epochDay: number): java.time.chrono.ThaiBuddhistDate;
				public dateNow(zone: java.time.ZoneId): 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 localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate>;
				public date(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ThaiBuddhistDate;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate>;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.ThaiBuddhistDate;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public dateNow(zone: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public prolepticYear(era: java.time.chrono.Era, yearOfEra: number): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.ThaiBuddhistDate;
				public dateNow(clock: java.time.Clock): java.time.chrono.ThaiBuddhistDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public eraOf(param0: number): java.time.chrono.Era;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate>;
				public toString(): string;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(era: java.time.chrono.Era, yearOfEra: number, dayOfYear: number): java.time.chrono.ChronoLocalDate;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public isLeapYear(param0: number): boolean;
				public date(prolepticYear: number, month: number, dayOfMonth: number): java.time.chrono.ThaiBuddhistDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public static ofLocale(locale: java.util.Locale): java.time.chrono.Chronology;
				public epochSecond(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public dateYearDay(prolepticYear: number, dayOfYear: number): java.time.chrono.ThaiBuddhistDate;
				public static of(id: string): java.time.chrono.Chronology;
				public epochSecond(prolepticYear: number, month: number, dayOfMonth: number, hour: number, minute: number, second: number, zoneOffset: java.time.ZoneOffset): number;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public range(field: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public period(years: number, months: number, days: number): java.time.chrono.ChronoPeriod;
				public date(era: java.time.chrono.Era, yearOfEra: number, month: number, dayOfMonth: number): java.time.chrono.ThaiBuddhistDate;
				public eras(): java.util.List<java.time.chrono.Era>;
				public resolveDate(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, resolverStyle: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public dateNow(clock: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public localDateTime(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public dateNow(): java.time.chrono.ThaiBuddhistDate;
				public eraOf(eraValue: number): java.time.chrono.ThaiBuddhistEra;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public zonedDateTime(instant: java.time.Instant, zone: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public isLeapYear(prolepticYear: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
			}
		}
	}
}

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(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ThaiBuddhistDate;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public getEra(): java.time.chrono.Era;
				public plus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				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 range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ThaiBuddhistDate;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public equals(param0: any): boolean;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.ThaiBuddhistDate;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ThaiBuddhistDate;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public toString(): string;
				public isSupported(unit: java.time.temporal.TemporalUnit): boolean;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public with(field: java.time.temporal.TemporalField, newValue: number): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.ThaiBuddhistChronology;
				public static now(clock: java.time.Clock): java.time.chrono.ThaiBuddhistDate;
				public getChronology(): java.time.chrono.Chronology;
				public static now(): java.time.chrono.ThaiBuddhistDate;
				public static from(temporal: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isEqual(other: java.time.chrono.ChronoLocalDate): boolean;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public minus(amount: java.time.temporal.TemporalAmount): java.time.chrono.ThaiBuddhistDate;
				public until(endExclusive: java.time.temporal.Temporal, unit: java.time.temporal.TemporalUnit): number;
				public lengthOfMonth(): number;
				public isBefore(other: java.time.chrono.ChronoLocalDate): boolean;
				public static now(zone: java.time.ZoneId): java.time.chrono.ThaiBuddhistDate;
				public get(field: java.time.temporal.TemporalField): number;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public minus(amountToAdd: number, unit: java.time.temporal.TemporalUnit): java.time.chrono.ThaiBuddhistDate;
				public getEra(): java.time.chrono.ThaiBuddhistEra;
				public toEpochDay(): number;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public compareTo(other: java.time.chrono.ChronoLocalDate): number;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public getLong(field: java.time.temporal.TemporalField): number;
				public atTime(localTime: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate>;
				public until(endDate: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public format(formatter: java.time.format.DateTimeFormatter): string;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public isAfter(other: java.time.chrono.ChronoLocalDate): boolean;
				public equals(obj: any): boolean;
				public isLeapYear(): boolean;
				public static of(prolepticYear: number, month: number, dayOfMonth: number): java.time.chrono.ThaiBuddhistDate;
				public with(adjuster: java.time.temporal.TemporalAdjuster): 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 query(query: java.time.temporal.TemporalQuery<any>): any;
				public isSupported(field: java.time.temporal.TemporalField): boolean;
				public getLong(field: java.time.temporal.TemporalField): number;
				public get(field: java.time.temporal.TemporalField): number;
				public getDisplayName(style: java.time.format.TextStyle, locale: java.util.Locale): string;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public adjustInto(temporal: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.time.chrono.ThaiBuddhistEra;
				public static of(thaiBuddhistEra: number): java.time.chrono.ThaiBuddhistEra;
				public getValue(): number;
				public static values(): androidNative.Array<java.time.chrono.ThaiBuddhistEra>;
			}
		}
	}
}

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 parseBest(text: string, queries: androidNative.Array<java.time.temporal.TemporalQuery<any>>): java.time.temporal.TemporalAccessor;
				public static ofLocalizedTime(timeStyle: java.time.format.FormatStyle): java.time.format.DateTimeFormatter;
				public static parsedLeapSecond(): java.time.temporal.TemporalQuery<java.lang.Boolean>;
				public parseUnresolved(text: string, position: java.text.ParsePosition): java.time.temporal.TemporalAccessor;
				public withChronology(chrono: java.time.chrono.Chronology): java.time.format.DateTimeFormatter;
				public getLocale(): java.util.Locale;
				public localizedBy(locale: java.util.Locale): java.time.format.DateTimeFormatter;
				public static parsedExcessDays(): java.time.temporal.TemporalQuery<java.time.Period>;
				public withResolverFields(resolverFields: androidNative.Array<java.time.temporal.TemporalField>): java.time.format.DateTimeFormatter;
				public getZone(): java.time.ZoneId;
				public toFormat(): java.text.Format;
				public parse(text: string): java.time.temporal.TemporalAccessor;
				public toFormat(parseQuery: java.time.temporal.TemporalQuery<any>): java.text.Format;
				public getResolverStyle(): java.time.format.ResolverStyle;
				public static ofLocalizedDate(dateStyle: java.time.format.FormatStyle): java.time.format.DateTimeFormatter;
				public static ofLocalizedDateTime(dateStyle: java.time.format.FormatStyle, timeStyle: java.time.format.FormatStyle): java.time.format.DateTimeFormatter;
				public static ofPattern(pattern: string, locale: java.util.Locale): java.time.format.DateTimeFormatter;
				public static ofLocalizedDateTime(dateTimeStyle: java.time.format.FormatStyle): java.time.format.DateTimeFormatter;
				public static ofPattern(pattern: string): java.time.format.DateTimeFormatter;
				public withDecimalStyle(decimalStyle: java.time.format.DecimalStyle): java.time.format.DateTimeFormatter;
				public toString(): string;
				public getDecimalStyle(): java.time.format.DecimalStyle;
				public formatTo(temporal: java.time.temporal.TemporalAccessor, appendable: java.lang.Appendable): void;
				public getResolverFields(): java.util.Set<java.time.temporal.TemporalField>;
				public withResolverFields(resolverFields: java.util.Set<java.time.temporal.TemporalField>): java.time.format.DateTimeFormatter;
				public withLocale(locale: java.util.Locale): java.time.format.DateTimeFormatter;
				public withZone(zone: java.time.ZoneId): java.time.format.DateTimeFormatter;
				public format(temporal: java.time.temporal.TemporalAccessor): string;
				public getChronology(): java.time.chrono.Chronology;
				public parse(text: string, query: java.time.temporal.TemporalQuery<any>): any;
				public withResolverStyle(resolverStyle: java.time.format.ResolverStyle): java.time.format.DateTimeFormatter;
				public parse(text: string, position: 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 appendText(field: java.time.temporal.TemporalField): java.time.format.DateTimeFormatterBuilder;
				public appendLocalized(dateStyle: java.time.format.FormatStyle, timeStyle: java.time.format.FormatStyle): java.time.format.DateTimeFormatterBuilder;
				public optionalStart(): java.time.format.DateTimeFormatterBuilder;
				public constructor();
				public appendText(field: java.time.temporal.TemporalField, textStyle: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public parseCaseSensitive(): java.time.format.DateTimeFormatterBuilder;
				public appendValue(field: java.time.temporal.TemporalField): java.time.format.DateTimeFormatterBuilder;
				public appendLiteral(literal: string): java.time.format.DateTimeFormatterBuilder;
				public appendOffsetId(): java.time.format.DateTimeFormatterBuilder;
				public appendInstant(fractionalDigits: number): java.time.format.DateTimeFormatterBuilder;
				public appendChronologyText(textStyle: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public appendPattern(pattern: string): java.time.format.DateTimeFormatterBuilder;
				public appendFraction(field: java.time.temporal.TemporalField, minWidth: number, maxWidth: number, decimalPoint: boolean): java.time.format.DateTimeFormatterBuilder;
				public appendValueReduced(field: java.time.temporal.TemporalField, width: number, maxWidth: number, baseValue: number): java.time.format.DateTimeFormatterBuilder;
				public appendGenericZoneText(textStyle: java.time.format.TextStyle, preferredZones: java.util.Set<java.time.ZoneId>): java.time.format.DateTimeFormatterBuilder;
				public static getLocalizedDateTimePattern(dateStyle: java.time.format.FormatStyle, timeStyle: java.time.format.FormatStyle, chrono: java.time.chrono.Chronology, locale: java.util.Locale): string;
				public appendValue(field: java.time.temporal.TemporalField, width: number): java.time.format.DateTimeFormatterBuilder;
				public appendText(field: java.time.temporal.TemporalField, textLookup: java.util.Map<java.lang.Long,string>): java.time.format.DateTimeFormatterBuilder;
				public appendInstant(): java.time.format.DateTimeFormatterBuilder;
				public appendValue(field: java.time.temporal.TemporalField, minWidth: number, maxWidth: number, signStyle: java.time.format.SignStyle): java.time.format.DateTimeFormatterBuilder;
				public appendValueReduced(field: java.time.temporal.TemporalField, width: number, maxWidth: number, baseDate: java.time.chrono.ChronoLocalDate): java.time.format.DateTimeFormatterBuilder;
				public parseStrict(): java.time.format.DateTimeFormatterBuilder;
				public optionalEnd(): java.time.format.DateTimeFormatterBuilder;
				public appendZoneId(): java.time.format.DateTimeFormatterBuilder;
				public padNext(padWidth: number, padChar: string): java.time.format.DateTimeFormatterBuilder;
				public appendLocalizedOffset(style: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public appendZoneText(textStyle: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public appendChronologyId(): java.time.format.DateTimeFormatterBuilder;
				public toFormatter(): java.time.format.DateTimeFormatter;
				public parseDefaulting(field: java.time.temporal.TemporalField, value: number): java.time.format.DateTimeFormatterBuilder;
				public append(formatter: java.time.format.DateTimeFormatter): java.time.format.DateTimeFormatterBuilder;
				public toFormatter(locale: java.util.Locale): java.time.format.DateTimeFormatter;
				public appendOptional(formatter: java.time.format.DateTimeFormatter): java.time.format.DateTimeFormatterBuilder;
				public appendZoneText(textStyle: java.time.format.TextStyle, preferredZones: java.util.Set<java.time.ZoneId>): java.time.format.DateTimeFormatterBuilder;
				public appendOffset(pattern: string, noOffsetText: string): java.time.format.DateTimeFormatterBuilder;
				public appendGenericZoneText(textStyle: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public parseCaseInsensitive(): java.time.format.DateTimeFormatterBuilder;
				public parseLenient(): java.time.format.DateTimeFormatterBuilder;
				public appendZoneRegionId(): java.time.format.DateTimeFormatterBuilder;
				public padNext(padWidth: number): 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(cause: java.lang.Throwable);
				public constructor(message: string, parsedData: string, errorIndex: number, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
				public constructor(message: string, parsedData: string, errorIndex: number);
				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 withDecimalSeparator(decimalSeparator: string): java.time.format.DecimalStyle;
				public withZeroDigit(zeroDigit: string): java.time.format.DecimalStyle;
				public getPositiveSign(): string;
				public getNegativeSign(): string;
				public toString(): string;
				public getZeroDigit(): string;
				public static of(locale: java.util.Locale): java.time.format.DecimalStyle;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public withNegativeSign(negativeSign: string): java.time.format.DecimalStyle;
				public withPositiveSign(positiveSign: string): java.time.format.DecimalStyle;
				public static ofDefaultLocale(): java.time.format.DecimalStyle;
				public getDecimalSeparator(): string;
			}
		}
	}
}

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(): androidNative.Array<java.time.format.FormatStyle>;
				public static valueOf(name: string): java.time.format.FormatStyle;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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 valueOf(name: string): java.time.format.ResolverStyle;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<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 values(): androidNative.Array<java.time.format.SignStyle>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.time.format.SignStyle;
			}
		}
	}
}

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 asStandalone(): java.time.format.TextStyle;
				public static values(): androidNative.Array<java.time.format.TextStyle>;
				public asNormal(): java.time.format.TextStyle;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public isStandalone(): boolean;
				public static valueOf(name: string): java.time.format.TextStyle;
			}
		}
	}
}

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 adjustInto(param0: java.time.temporal.Temporal, param1: number): java.time.temporal.Temporal;
				public rangeRefinedBy(temporal: java.time.temporal.TemporalAccessor): java.time.temporal.ValueRange;
				public getDisplayName(locale: java.util.Locale): string;
				public isDateBased(): boolean;
				public isSupportedBy(temporal: java.time.temporal.TemporalAccessor): boolean;
				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 checkValidIntValue(value: number): number;
				public static valueOf(name: string): java.time.temporal.ChronoField;
				public static values(): androidNative.Array<java.time.temporal.ChronoField>;
				public isSupportedBy(param0: java.time.temporal.TemporalAccessor): boolean;
				public isTimeBased(): boolean;
				public range(): java.time.temporal.ValueRange;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public resolve(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, partialTemporal: java.time.temporal.TemporalAccessor, resolverStyle: java.time.format.ResolverStyle): java.time.temporal.TemporalAccessor;
				public getFrom(temporal: java.time.temporal.TemporalAccessor): number;
				public checkValidValue(value: number): number;
				public adjustInto(temporal: java.time.temporal.Temporal, newValue: number): java.time.temporal.Temporal;
				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 static values(): androidNative.Array<java.time.temporal.ChronoUnit>;
				public isSupportedBy(temporal: java.time.temporal.Temporal): boolean;
				public static valueOf(name: string): java.time.temporal.ChronoUnit;
				public isDateBased(): boolean;
				public between(temporal1Inclusive: java.time.temporal.Temporal, temporal2Exclusive: java.time.temporal.Temporal): number;
				public addTo(param0: java.time.temporal.Temporal, param1: number): java.time.temporal.Temporal;
				public toString(): string;
				public getDuration(): java.time.Duration;
				public isDurationEstimated(): boolean;
				public between(param0: java.time.temporal.Temporal, param1: java.time.temporal.Temporal): number;
				public isTimeBased(): boolean;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public addTo(temporal: java.time.temporal.Temporal, amount: number): java.time.temporal.Temporal;
			}
		}
	}
}

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(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					minus(amountToSubtract: number, unit: 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(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(field: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(query: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public minus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public plus(amount: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public minus(amountToSubtract: number, unit: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public get(field: java.time.temporal.TemporalField): number;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public with(adjuster: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				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(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(field: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(query: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public query(query: java.time.temporal.TemporalQuery<any>): any;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public range(field: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public get(field: java.time.temporal.TemporalField): number;
				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(dayOfWeek: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static firstDayOfNextMonth(): java.time.temporal.TemporalAdjuster;
				public static ofDateAdjuster(dateBasedAdjuster: any /* any*/): java.time.temporal.TemporalAdjuster;
				public static dayOfWeekInMonth(ordinal: number, dayOfWeek: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static firstDayOfYear(): java.time.temporal.TemporalAdjuster;
				public static previousOrSame(dayOfWeek: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static lastInMonth(dayOfWeek: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static lastDayOfYear(): java.time.temporal.TemporalAdjuster;
				public static lastDayOfMonth(): java.time.temporal.TemporalAdjuster;
				public static firstInMonth(dayOfWeek: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static next(dayOfWeek: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static firstDayOfMonth(): java.time.temporal.TemporalAdjuster;
				public static nextOrSame(dayOfWeek: 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(locale: 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(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, partialTemporal: java.time.temporal.TemporalAccessor, resolverStyle: 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 getDisplayName(locale: java.util.Locale): string;
				public isSupportedBy(param0: java.time.temporal.TemporalAccessor): boolean;
				public isTimeBased(): boolean;
				public range(): java.time.temporal.ValueRange;
				public resolve(fieldValues: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, partialTemporal: java.time.temporal.TemporalAccessor, resolverStyle: java.time.format.ResolverStyle): java.time.temporal.TemporalAccessor;
				public isDateBased(): boolean;
				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(temporal: 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 isSupportedBy(temporal: java.time.temporal.Temporal): boolean;
				public isTimeBased(): 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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 static of(min: number, maxSmallest: number, maxLargest: number): java.time.temporal.ValueRange;
				public isValidIntValue(value: number): boolean;
				public static of(minSmallest: number, minLargest: number, maxSmallest: number, maxLargest: number): java.time.temporal.ValueRange;
				public isValidValue(value: number): boolean;
				public getMaximum(): number;
				public isIntValue(): boolean;
				public checkValidIntValue(value: number, field: java.time.temporal.TemporalField): number;
				public static of(min: number, max: number): java.time.temporal.ValueRange;
				public toString(): string;
				public isFixed(): boolean;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public getMinimum(): number;
				public getLargestMinimum(): number;
				public checkValidValue(value: number, field: java.time.temporal.TemporalField): number;
				public getSmallestMaximum(): number;
			}
		}
	}
}

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(firstDayOfWeek: java.time.DayOfWeek, minimalDaysInFirstWeek: number): java.time.temporal.WeekFields;
				public weekBasedYear(): java.time.temporal.TemporalField;
				public hashCode(): number;
				public dayOfWeek(): java.time.temporal.TemporalField;
				public weekOfWeekBasedYear(): java.time.temporal.TemporalField;
				public static of(locale: java.util.Locale): java.time.temporal.WeekFields;
				public getFirstDayOfWeek(): java.time.DayOfWeek;
				public getMinimalDaysInFirstWeek(): number;
				public toString(): string;
				public weekOfYear(): java.time.temporal.TemporalField;
				public equals(object: any): boolean;
				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 isGap(): boolean;
				public getDateTimeBefore(): java.time.LocalDateTime;
				public isValidOffset(offset: java.time.ZoneOffset): boolean;
				public isOverlap(): boolean;
				public toString(): string;
				public getDuration(): java.time.Duration;
				public getOffsetAfter(): java.time.ZoneOffset;
				public getOffsetBefore(): java.time.ZoneOffset;
				public equals(other: any): boolean;
				public static of(transition: java.time.LocalDateTime, offsetBefore: java.time.ZoneOffset, offsetAfter: java.time.ZoneOffset): java.time.zone.ZoneOffsetTransition;
				public hashCode(): number;
				public getDateTimeAfter(): java.time.LocalDateTime;
				public getInstant(): java.time.Instant;
				public toEpochSecond(): number;
				public compareTo(transition: java.time.zone.ZoneOffsetTransition): 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 toString(): string;
				public getOffsetAfter(): java.time.ZoneOffset;
				public isMidnightEndOfDay(): boolean;
				public static of(month: java.time.Month, dayOfMonthIndicator: number, dayOfWeek: java.time.DayOfWeek, time: java.time.LocalTime, timeEndOfDay: boolean, timeDefinition: java.time.zone.ZoneOffsetTransitionRule.TimeDefinition, standardOffset: java.time.ZoneOffset, offsetBefore: java.time.ZoneOffset, offsetAfter: java.time.ZoneOffset): java.time.zone.ZoneOffsetTransitionRule;
				public getOffsetBefore(): java.time.ZoneOffset;
				public getDayOfMonthIndicator(): number;
				public getDayOfWeek(): java.time.DayOfWeek;
				public hashCode(): number;
				public getLocalTime(): java.time.LocalTime;
				public equals(otherRule: any): boolean;
				public getStandardOffset(): java.time.ZoneOffset;
				public getMonth(): java.time.Month;
				public createTransition(year: number): java.time.zone.ZoneOffsetTransition;
			}
			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 values(): androidNative.Array<java.time.zone.ZoneOffsetTransitionRule.TimeDefinition>;
					public static valueOf(name: string): java.time.zone.ZoneOffsetTransitionRule.TimeDefinition;
					public createDateTime(dateTime: java.time.LocalDateTime, standardOffset: java.time.ZoneOffset, wallOffset: java.time.ZoneOffset): java.time.LocalDateTime;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 getTransition(localDateTime: java.time.LocalDateTime): java.time.zone.ZoneOffsetTransition;
				public getValidOffsets(localDateTime: java.time.LocalDateTime): java.util.List<java.time.ZoneOffset>;
				public getDaylightSavings(instant: java.time.Instant): java.time.Duration;
				public isFixedOffset(): boolean;
				public static of(baseStandardOffset: java.time.ZoneOffset, baseWallOffset: java.time.ZoneOffset, standardOffsetTransitionList: java.util.List<java.time.zone.ZoneOffsetTransition>, transitionList: java.util.List<java.time.zone.ZoneOffsetTransition>, lastRules: java.util.List<java.time.zone.ZoneOffsetTransitionRule>): java.time.zone.ZoneRules;
				public toString(): string;
				public getOffset(instant: java.time.Instant): java.time.ZoneOffset;
				public equals(otherRules: any): boolean;
				public static of(offset: java.time.ZoneOffset): java.time.zone.ZoneRules;
				public getStandardOffset(instant: java.time.Instant): java.time.ZoneOffset;
				public getOffset(localDateTime: java.time.LocalDateTime): java.time.ZoneOffset;
				public previousTransition(instant: java.time.Instant): java.time.zone.ZoneOffsetTransition;
				public getTransitionRules(): java.util.List<java.time.zone.ZoneOffsetTransitionRule>;
				public hashCode(): number;
				public isValidOffset(localDateTime: java.time.LocalDateTime, offset: java.time.ZoneOffset): boolean;
				public isDaylightSavings(instant: java.time.Instant): boolean;
				public nextTransition(instant: java.time.Instant): java.time.zone.ZoneOffsetTransition;
				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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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 equals(param0: any): boolean;
			public contains(o: any): boolean;
			public remove(o: any): boolean;
			public retainAll(c: java.util.Collection<any>): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public add(e: any): boolean;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public addAll(c: java.util.Collection<any>): boolean;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor();
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public removeAll(c: java.util.Collection<any>): boolean;
			public toString(): string;
			public add(param0: any): boolean;
			public containsAll(c: java.util.Collection<any>): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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 static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
			public reversed(): java.util.SequencedCollection<any>;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public subList(fromIndex: number, toIndex: number): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
			public lastIndexOf(o: any): number;
			public addAll(index: number, c: java.util.Collection<any>): boolean;
			public replaceAll(operator: any /* any*/): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
			public add(e: any): boolean;
			public addLast(e: any): void;
			public sort(c: java.util.Comparator<any>): void;
			public reversed(): java.util.List<any>;
			public clear(): void;
			public static of(e1: any, e2: any): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public addFirst(e: any): void;
			public static of(elements: androidNative.Array<any>): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
			public constructor();
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public getFirst(): any;
			public set(param0: number, param1: any): any;
			public static of(): java.util.List<any>;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public getLast(): any;
			public lastIndexOf(param0: any): number;
			public equals(o: any): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.List<any>;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
			public spliterator(): java.util.Spliterator<any>;
			public set(index: number, element: any): any;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
			public remove(o: any): boolean;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public static of(e1: any): java.util.List<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public static copyOf(coll: java.util.Collection<any>): java.util.List<any>;
			public get(param0: number): any;
			public remove(index: number): any;
			public addAll(c: java.util.Collection<any>): boolean;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(index: number): java.util.ListIterator<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 indexOf(o: any): number;
			public removeRange(fromIndex: number, toIndex: number): void;
			public listIterator(): java.util.ListIterator<any>;
			public add(index: number, element: any): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			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 containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public putAll(m: java.util.Map<any,any>): void;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor();
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public clone(): any;
			public equals(o: any): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public remove(key: any): any;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public toString(): string;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			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 static comparingByValue(): java.util.Comparator<any>;
				public static comparingByKey(cmp: java.util.Comparator<any>): java.util.Comparator<any>;
				public setValue(value: V): V;
				public static copyOf(e: java.util.Map.Entry<any,any>): java.util.Map.Entry<any,any>;
				public getKey(): K;
				public constructor(entry: java.util.Map.Entry<any,any>);
				public toString(): string;
				public static comparingByValue(cmp: java.util.Comparator<any>): java.util.Comparator<any>;
				public static comparingByKey(): java.util.Comparator<any>;
				public getValue(): V;
				public setValue(param0: V): V;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public equals(o: any): boolean;
				public constructor(key: K, value: V);
			}
			export class SimpleImmutableEntry<K, V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.AbstractMap.SimpleImmutableEntry<any,any>>;
				public static comparingByValue(): java.util.Comparator<any>;
				public static comparingByKey(cmp: java.util.Comparator<any>): java.util.Comparator<any>;
				public setValue(value: V): V;
				public static copyOf(e: java.util.Map.Entry<any,any>): java.util.Map.Entry<any,any>;
				public getKey(): K;
				public constructor(entry: java.util.Map.Entry<any,any>);
				public toString(): string;
				public static comparingByValue(cmp: java.util.Comparator<any>): java.util.Comparator<any>;
				public static comparingByKey(): java.util.Comparator<any>;
				public getValue(): V;
				public setValue(param0: V): V;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public equals(o: any): boolean;
				public constructor(key: K, value: V);
			}
		}
	}
}

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 remove(o: any): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public add(e: any): boolean;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public addAll(c: java.util.Collection<any>): boolean;
			public element(): any;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public poll(): any;
			public constructor();
			public forEach(action: any /* any*/): void;
			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 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 parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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 static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
			public addAll(index: number, c: java.util.Collection<any>): boolean;
			public replaceAll(operator: any /* any*/): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
			public add(e: any): boolean;
			public addLast(e: any): void;
			public sort(c: java.util.Comparator<any>): void;
			public reversed(): java.util.List<any>;
			public clear(): void;
			public static of(e1: any, e2: any): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public addFirst(e: any): void;
			public static of(elements: androidNative.Array<any>): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public getFirst(): any;
			public set(param0: number, param1: any): any;
			public static of(): java.util.List<any>;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public getLast(): any;
			public lastIndexOf(param0: any): number;
			public static of(e1: any, e2: any, e3: any): java.util.List<any>;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
			public spliterator(): java.util.Spliterator<any>;
			public set(index: number, element: any): any;
			public get(index: number): any;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
			public remove(o: any): boolean;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public static of(e1: any): java.util.List<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public static copyOf(coll: java.util.Collection<any>): java.util.List<any>;
			public get(param0: number): any;
			public remove(index: number): any;
			public addAll(c: java.util.Collection<any>): boolean;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public subList(param0: number, param1: number): java.util.List<any>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public remove(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public add(index: number, element: any): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			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 static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
			public stream(): java.util.stream.Stream<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public removeIf(filter: any /* any*/): boolean;
			public iterator(): java.util.Iterator<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public constructor();
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public removeAll(c: java.util.Collection<any>): boolean;
			public equals(o: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public add(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			public spliterator(): java.util.Spliterator<any>;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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 constructor(numElements: number);
			public contains(o: any): boolean;
			public peekLast(): any;
			public reversed(): java.util.SequencedCollection<any>;
			public retainAll(c: java.util.Collection<any>): boolean;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public push(param0: any): void;
			public push(e: any): void;
			public add(e: any): boolean;
			public reversed(): java.util.Deque<any>;
			public addLast(e: any): void;
			public offerLast(param0: any): boolean;
			public removeLastOccurrence(o: any): boolean;
			public element(): any;
			public clear(): void;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor(c: java.util.Collection<any>);
			public poll(): any;
			public offerFirst(e: any): boolean;
			public addFirst(e: any): void;
			public constructor();
			public forEach(action: any /* any*/): void;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public pollFirst(): any;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public clone(): any;
			public remove(): any;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public spliterator(): java.util.Spliterator<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public pollLast(): any;
			public remove(o: any): boolean;
			public stream(): java.util.stream.Stream<any>;
			public descendingIterator(): java.util.Iterator<any>;
			public removeFirstOccurrence(param0: any): boolean;
			public offer(e: any): boolean;
			public clone(): java.util.ArrayDeque<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public removeFirstOccurrence(o: any): boolean;
			public peekFirst(): any;
			public addAll(c: java.util.Collection<any>): boolean;
			public addLast(param0: any): void;
			public iterator(): java.util.Iterator<any>;
			public offerLast(e: any): boolean;
			public size(): number;
			public isEmpty(): boolean;
			public pop(): any;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public peek(): any;
			public remove(param0: any): boolean;
			public offerFirst(param0: any): boolean;
			public addFirst(param0: any): void;
			public removeAll(c: java.util.Collection<any>): boolean;
			public offer(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public removeLastOccurrence(param0: 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 contains(o: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
			public reversed(): java.util.SequencedCollection<any>;
			public retainAll(c: java.util.Collection<any>): boolean;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public subList(fromIndex: number, toIndex: number): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
			public lastIndexOf(o: any): number;
			public addAll(index: number, c: java.util.Collection<any>): boolean;
			public replaceAll(operator: any /* any*/): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
			public add(e: any): boolean;
			public addLast(e: any): void;
			public sort(c: java.util.Comparator<any>): void;
			public reversed(): java.util.List<any>;
			public clear(): void;
			public static of(e1: any, e2: any): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor(c: java.util.Collection<any>);
			public listIterator(param0: number): java.util.ListIterator<any>;
			public addFirst(e: any): void;
			public static of(elements: androidNative.Array<any>): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
			public constructor();
			public forEach(action: any /* any*/): void;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public static of(): java.util.List<any>;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public clone(): any;
			public equals(o: any): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.List<any>;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public addFirst(element: any): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
			public spliterator(): java.util.Spliterator<any>;
			public set(index: number, element: any): any;
			public get(index: number): any;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
			public constructor(initialCapacity: number);
			public remove(o: any): boolean;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public static of(e1: any): java.util.List<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public static copyOf(coll: java.util.Collection<any>): java.util.List<any>;
			public ensureCapacity(minCapacity: number): void;
			public get(param0: number): any;
			public remove(index: number): any;
			public addAll(c: java.util.Collection<any>): boolean;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(index: number): java.util.ListIterator<any>;
			public subList(param0: number, param1: number): java.util.List<any>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public addLast(element: any): void;
			public remove(param0: any): boolean;
			public removeAll(c: java.util.Collection<any>): boolean;
			public indexOf(o: any): number;
			public removeRange(fromIndex: number, toIndex: number): void;
			public listIterator(): java.util.ListIterator<any>;
			public trimToSize(): void;
			public add(index: number, element: any): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			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 hashCode(a: androidNative.Array<string>): number;
			public static parallelSetAll(array: androidNative.Array<any>, generator: any /* any*/): void;
			public static mismatch(a: androidNative.Array<boolean>, b: androidNative.Array<boolean>): number;
			public static parallelSort(a: androidNative.Array<any>, fromIndex: number, toIndex: number, cmp: java.util.Comparator<any>): void;
			public static toString(a: androidNative.Array<any>): string;
			public static copyOf(original: androidNative.Array<number>, newLength: number): androidNative.Array<number>;
			public static parallelPrefix(array: androidNative.Array<any>, op: any /* any*/): void;
			public static parallelPrefix(array: androidNative.Array<number>, fromIndex: number, toIndex: number, op: any /* any*/): void;
			public static equals(a: androidNative.Array<boolean>, aFromIndex: number, aToIndex: number, b: androidNative.Array<boolean>, bFromIndex: number, bToIndex: number): boolean;
			public static binarySearch(a: androidNative.Array<string>, key: string): number;
			public static copyOf(original: androidNative.Array<any>, newLength: number, newType: java.lang.Class<any>): androidNative.Array<any>;
			public static compare(a: androidNative.Array<java.lang.Comparable<any>>, aFromIndex: number, aToIndex: number, b: androidNative.Array<java.lang.Comparable<any>>, bFromIndex: number, bToIndex: number): number;
			public static equals(a: androidNative.Array<string>, a2: androidNative.Array<string>): boolean;
			public static fill(a: androidNative.Array<any>, fromIndex: number, toIndex: number, val: any): void;
			public static mismatch(a: androidNative.Array<boolean>, aFromIndex: number, aToIndex: number, b: androidNative.Array<boolean>, bFromIndex: number, bToIndex: number): number;
			public static hashCode(a: androidNative.Array<boolean>): number;
			public static equals(a: androidNative.Array<boolean>, a2: androidNative.Array<boolean>): boolean;
			public static parallelSort(a: androidNative.Array<java.lang.Comparable<any>>): void;
			public static sort(a: androidNative.Array<any>): void;
			public static binarySearch(a: androidNative.Array<any>, fromIndex: number, toIndex: number, key: any): number;
			public static deepToString(a: androidNative.Array<any>): string;
			public static stream(array: androidNative.Array<number>): java.util.stream.LongStream;
			public static compare(a: androidNative.Array<number>, aFromIndex: number, aToIndex: number, b: androidNative.Array<number>, bFromIndex: number, bToIndex: number): number;
			public static binarySearch(a: androidNative.Array<any>, key: any): number;
			public static binarySearch(a: androidNative.Array<number>, fromIndex: number, toIndex: number, key: number): number;
			public static binarySearch(a: androidNative.Array<any>, key: any, c: java.util.Comparator<any>): number;
			public static spliterator(array: androidNative.Array<number>): java.util.Spliterator.OfInt;
			public static mismatch(a: androidNative.Array<any>, aFromIndex: number, aToIndex: number, b: androidNative.Array<any>, bFromIndex: number, bToIndex: number, cmp: java.util.Comparator<any>): number;
			public static copyOf(original: androidNative.Array<boolean>, newLength: number): androidNative.Array<boolean>;
			public static fill(a: androidNative.Array<boolean>, fromIndex: number, toIndex: number, val: boolean): void;
			public static spliterator(array: androidNative.Array<number>): java.util.Spliterator.OfLong;
			public static sort(a: androidNative.Array<any>, fromIndex: number, toIndex: number): void;
			public static hashCode(a: androidNative.Array<any>): number;
			public static copyOfRange(original: androidNative.Array<any>, from: number, to: number): androidNative.Array<any>;
			public static hashCode(a: androidNative.Array<number>): number;
			public static equals(a: androidNative.Array<any>, aFromIndex: number, aToIndex: number, b: androidNative.Array<any>, bFromIndex: number, bToIndex: number): boolean;
			public static stream(array: androidNative.Array<number>): java.util.stream.DoubleStream;
			public static toString(a: androidNative.Array<string>): string;
			public static compareUnsigned(a: androidNative.Array<number>, b: androidNative.Array<number>): number;
			public static fill(a: androidNative.Array<string>, fromIndex: number, toIndex: number, val: string): void;
			public static compare(a: androidNative.Array<any>, b: androidNative.Array<any>, cmp: java.util.Comparator<any>): number;
			public static sort(a: androidNative.Array<number>): void;
			public static copyOfRange(original: androidNative.Array<any>, from: number, to: number, newType: java.lang.Class<any>): androidNative.Array<any>;
			public static compare(a: androidNative.Array<string>, aFromIndex: number, aToIndex: number, b: androidNative.Array<string>, bFromIndex: number, bToIndex: number): number;
			public static setAll(array: androidNative.Array<number>, generator: any /* any*/): void;
			public static parallelSort(a: androidNative.Array<string>, fromIndex: number, toIndex: number): void;
			public static sort(a: androidNative.Array<any>, fromIndex: number, toIndex: number, c: java.util.Comparator<any>): void;
			public static mismatch(a: androidNative.Array<any>, b: androidNative.Array<any>): number;
			public static spliterator(array: androidNative.Array<number>, startInclusive: number, endExclusive: number): java.util.Spliterator.OfInt;
			public static mismatch(a: androidNative.Array<number>, b: androidNative.Array<number>): number;
			public static setAll(array: androidNative.Array<any>, generator: any /* any*/): void;
			public static parallelPrefix(array: androidNative.Array<number>, op: any /* any*/): void;
			public static parallelSort(a: androidNative.Array<number>): void;
			public static mismatch(a: androidNative.Array<any>, b: androidNative.Array<any>, cmp: java.util.Comparator<any>): number;
			public static parallelSort(a: androidNative.Array<string>): void;
			public static compare(a: androidNative.Array<number>, b: androidNative.Array<number>): number;
			public hashCode(): number;
			public static setAll(array: androidNative.Array<number>, generator: any /* any*/): void;
			public static parallelPrefix(array: androidNative.Array<number>, op: any /* any*/): void;
			public static spliterator(array: androidNative.Array<number>): java.util.Spliterator.OfDouble;
			public static copyOf(original: androidNative.Array<any>, newLength: number): androidNative.Array<any>;
			public static parallelSetAll(array: androidNative.Array<number>, generator: any /* any*/): void;
			public static parallelSort(a: androidNative.Array<any>, cmp: java.util.Comparator<any>): void;
			public static parallelPrefix(array: androidNative.Array<any>, fromIndex: number, toIndex: number, op: any /* any*/): void;
			public static binarySearch(a: androidNative.Array<any>, fromIndex: number, toIndex: number, key: any, c: java.util.Comparator<any>): number;
			public static fill(a: androidNative.Array<number>, fromIndex: number, toIndex: number, val: number): void;
			public static copyOfRange(original: androidNative.Array<string>, from: number, to: number): androidNative.Array<string>;
			public static asList(a: androidNative.Array<any>): java.util.List<any>;
			public static spliterator(array: androidNative.Array<number>, startInclusive: number, endExclusive: number): java.util.Spliterator.OfDouble;
			public static parallelPrefix(array: androidNative.Array<number>, op: any /* any*/): void;
			public static compare(a: androidNative.Array<boolean>, b: androidNative.Array<boolean>): number;
			public static stream(array: androidNative.Array<number>, startInclusive: number, endExclusive: number): java.util.stream.LongStream;
			public static equals(a: androidNative.Array<any>, a2: androidNative.Array<any>): boolean;
			public static parallelSetAll(array: androidNative.Array<number>, generator: any /* any*/): void;
			public static equals(a: androidNative.Array<number>, a2: androidNative.Array<number>): boolean;
			public static copyOfRange(original: androidNative.Array<number>, from: number, to: number): androidNative.Array<number>;
			public static fill(a: androidNative.Array<boolean>, val: boolean): void;
			public static mismatch(a: androidNative.Array<string>, b: androidNative.Array<string>): number;
			public static mismatch(a: androidNative.Array<number>, aFromIndex: number, aToIndex: number, b: androidNative.Array<number>, bFromIndex: number, bToIndex: number): number;
			public static parallelPrefix(array: androidNative.Array<number>, fromIndex: number, toIndex: number, op: any /* any*/): void;
			public static sort(a: androidNative.Array<string>): void;
			public static sort(a: androidNative.Array<string>, fromIndex: number, toIndex: number): void;
			public static stream(array: androidNative.Array<number>, startInclusive: number, endExclusive: number): java.util.stream.IntStream;
			public static mismatch(a: androidNative.Array<string>, aFromIndex: number, aToIndex: number, b: androidNative.Array<string>, bFromIndex: number, bToIndex: number): number;
			public static stream(array: androidNative.Array<number>): java.util.stream.IntStream;
			public static compareUnsigned(a: androidNative.Array<number>, aFromIndex: number, aToIndex: number, b: androidNative.Array<number>, bFromIndex: number, bToIndex: number): number;
			public static binarySearch(a: androidNative.Array<string>, fromIndex: number, toIndex: number, key: string): number;
			public static binarySearch(a: androidNative.Array<number>, key: number): number;
			public static compare(a: androidNative.Array<any>, aFromIndex: number, aToIndex: number, b: androidNative.Array<any>, bFromIndex: number, bToIndex: number, cmp: java.util.Comparator<any>): number;
			public static fill(a: androidNative.Array<any>, val: any): void;
			public static toString(a: androidNative.Array<boolean>): string;
			public static mismatch(a: androidNative.Array<any>, aFromIndex: number, aToIndex: number, b: androidNative.Array<any>, bFromIndex: number, bToIndex: number): number;
			public static fill(a: androidNative.Array<number>, val: number): void;
			public static deepEquals(a1: androidNative.Array<any>, a2: androidNative.Array<any>): boolean;
			public static setAll(array: androidNative.Array<number>, generator: any /* any*/): void;
			public static stream(array: androidNative.Array<number>, startInclusive: number, endExclusive: number): java.util.stream.DoubleStream;
			public static spliterator(array: androidNative.Array<number>, startInclusive: number, endExclusive: number): java.util.Spliterator.OfLong;
			public static sort(a: androidNative.Array<number>, fromIndex: number, toIndex: number): void;
			public static parallelSort(a: androidNative.Array<java.lang.Comparable<any>>, fromIndex: number, toIndex: number): void;
			public static equals(a: androidNative.Array<any>, aFromIndex: number, aToIndex: number, b: androidNative.Array<any>, bFromIndex: number, bToIndex: number, cmp: java.util.Comparator<any>): boolean;
			public static parallelSetAll(array: androidNative.Array<number>, generator: any /* any*/): void;
			public static toString(a: androidNative.Array<number>): string;
			public static spliterator(array: androidNative.Array<any>): java.util.Spliterator<any>;
			public static compare(a: androidNative.Array<string>, b: androidNative.Array<string>): number;
			public static parallelPrefix(array: androidNative.Array<number>, fromIndex: number, toIndex: number, op: any /* any*/): void;
			public static stream(array: androidNative.Array<any>): java.util.stream.Stream<any>;
			public static stream(array: androidNative.Array<any>, startInclusive: number, endExclusive: number): java.util.stream.Stream<any>;
			public static equals(a: androidNative.Array<string>, aFromIndex: number, aToIndex: number, b: androidNative.Array<string>, bFromIndex: number, bToIndex: number): boolean;
			public static copyOfRange(original: androidNative.Array<boolean>, from: number, to: number): androidNative.Array<boolean>;
			public static fill(a: androidNative.Array<string>, val: string): void;
			public static parallelSort(a: androidNative.Array<number>, fromIndex: number, toIndex: number): void;
			public static sort(a: androidNative.Array<any>, c: java.util.Comparator<any>): void;
			public toString(): string;
			public equals(obj: any): boolean;
			public static equals(a: androidNative.Array<any>, a2: androidNative.Array<any>, cmp: java.util.Comparator<any>): boolean;
			public static compare(a: androidNative.Array<java.lang.Comparable<any>>, b: androidNative.Array<java.lang.Comparable<any>>): number;
			public static copyOf(original: androidNative.Array<string>, newLength: number): androidNative.Array<string>;
			public static deepHashCode(a: androidNative.Array<any>): number;
			public static equals(a: androidNative.Array<number>, aFromIndex: number, aToIndex: number, b: androidNative.Array<number>, bFromIndex: number, bToIndex: number): boolean;
			public static spliterator(array: androidNative.Array<any>, startInclusive: number, endExclusive: number): java.util.Spliterator<any>;
			public static compare(a: androidNative.Array<boolean>, aFromIndex: number, aToIndex: number, b: androidNative.Array<boolean>, bFromIndex: number, bToIndex: number): 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 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;
			public static getMimeEncoder(lineLength: number, lineSeparator: androidNative.Array<number>): java.util.Base64.Encoder;
		}
		export module Base64 {
			export class Decoder extends java.lang.Object {
				public static class: java.lang.Class<java.util.Base64.Decoder>;
				public wrap(is: java.io.InputStream): java.io.InputStream;
				public decode(src: string): androidNative.Array<number>;
				public decode(src: androidNative.Array<number>): androidNative.Array<number>;
				public decode(src: androidNative.Array<number>, dst: androidNative.Array<number>): number;
				public decode(buffer: java.nio.ByteBuffer): java.nio.ByteBuffer;
			}
			export class Encoder extends java.lang.Object {
				public static class: java.lang.Class<java.util.Base64.Encoder>;
				public encodeToString(src: androidNative.Array<number>): string;
				public encode(src: androidNative.Array<number>): androidNative.Array<number>;
				public withoutPadding(): java.util.Base64.Encoder;
				public wrap(os: java.io.OutputStream): java.io.OutputStream;
				public encode(src: androidNative.Array<number>, dst: androidNative.Array<number>): number;
				public encode(buffer: java.nio.ByteBuffer): java.nio.ByteBuffer;
			}
		}
	}
}

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 get(fromIndex: number, toIndex: number): java.util.BitSet;
			public nextSetBit(fromIndex: number): number;
			public constructor(nbits: number);
			public set(fromIndex: number, toIndex: number): void;
			public clear(fromIndex: number, toIndex: number): void;
			public and(set: java.util.BitSet): void;
			public stream(): java.util.stream.IntStream;
			public static valueOf(longs: androidNative.Array<number>): java.util.BitSet;
			public static valueOf(bb: java.nio.ByteBuffer): java.util.BitSet;
			public get(bitIndex: number): boolean;
			public previousSetBit(fromIndex: number): number;
			public static valueOf(bytes: androidNative.Array<number>): java.util.BitSet;
			public clear(bitIndex: number): void;
			public andNot(set: java.util.BitSet): void;
			public clear(): void;
			public isEmpty(): boolean;
			public cardinality(): number;
			public size(): number;
			public or(set: java.util.BitSet): void;
			public previousClearBit(fromIndex: number): number;
			public length(): number;
			public constructor();
			public static valueOf(lb: java.nio.LongBuffer): java.util.BitSet;
			public toByteArray(): androidNative.Array<number>;
			public toLongArray(): androidNative.Array<number>;
			public xor(set: java.util.BitSet): void;
			public set(bitIndex: number, value: boolean): void;
			public set(fromIndex: number, toIndex: number, value: boolean): void;
			public clone(): any;
			public toString(): string;
			public equals(obj: any): boolean;
			public set(bitIndex: number): void;
			public intersects(set: java.util.BitSet): boolean;
			public flip(bitIndex: number): void;
			public flip(fromIndex: number, toIndex: number): void;
			public nextClearBit(fromIndex: number): number;
			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: 0;
			public static AM: 0;
			public static AM_PM: 9;
			public static APRIL: 3;
			public static AUGUST: 7;
			public static DATE: 5;
			public static DAY_OF_MONTH: 5;
			public static DAY_OF_WEEK: 7;
			public static DAY_OF_WEEK_IN_MONTH: 8;
			public static DAY_OF_YEAR: 6;
			public static DECEMBER: 11;
			public static DST_OFFSET: 16;
			public static ERA: 0;
			public static FEBRUARY: 1;
			public static FIELD_COUNT: 17;
			public static FRIDAY: 6;
			public static HOUR: 10;
			public static HOUR_OF_DAY: 11;
			public static JANUARY: 0;
			public static JULY: 6;
			public static JUNE: 5;
			public static LONG: 2;
			public static LONG_FORMAT: 2;
			public static LONG_STANDALONE: 32770;
			public static MARCH: 2;
			public static MAY: 4;
			public static MILLISECOND: 14;
			public static MINUTE: 12;
			public static MONDAY: 2;
			public static MONTH: 2;
			public static NARROW_FORMAT: 4;
			public static NARROW_STANDALONE: 32772;
			public static NOVEMBER: 10;
			public static OCTOBER: 9;
			public static PM: 1;
			public static SATURDAY: 7;
			public static SECOND: 13;
			public static SEPTEMBER: 8;
			public static SHORT: 1;
			public static SHORT_FORMAT: 1;
			public static SHORT_STANDALONE: 32769;
			public static SUNDAY: 1;
			public static THURSDAY: 5;
			public static TUESDAY: 3;
			public static UNDECIMBER: 12;
			public static WEDNESDAY: 4;
			public static WEEK_OF_MONTH: 4;
			public static WEEK_OF_YEAR: 3;
			public static YEAR: 1;
			public static ZONE_OFFSET: 15;
			public areFieldsSet: boolean;
			public fields: androidNative.Array<number>;
			public isTimeSet: boolean;
			public time: number;
			public getTimeInMillis(): number;
			public computeFields(): void;
			public clear(field: number): void;
			public getTimeZone(): java.util.TimeZone;
			public computeTime(): void;
			public getCalendarType(): string;
			public setFirstDayOfWeek(value: number): void;
			public getActualMinimum(field: number): number;
			public get(field: number): number;
			public getDisplayNames(field: number, style: number, locale: java.util.Locale): java.util.Map<string,java.lang.Integer>;
			public getLeastMaximum(param0: number): number;
			public compareTo(anotherCalendar: java.util.Calendar): number;
			public constructor(zone: java.util.TimeZone, aLocale: java.util.Locale);
			public after(when: any): boolean;
			public clear(): void;
			public complete(): void;
			public constructor();
			public isLenient(): boolean;
			public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			public getMinimum(param0: number): number;
			public getTime(): java.util.Date;
			public clone(): any;
			public setLenient(lenient: boolean): void;
			public roll(field: number, amount: number): void;
			public getDisplayName(field: number, style: number, locale: java.util.Locale): string;
			public static getInstance(aLocale: java.util.Locale): java.util.Calendar;
			public static getInstance(zone: java.util.TimeZone): java.util.Calendar;
			public setTimeZone(value: java.util.TimeZone): void;
			public getGreatestMinimum(param0: number): number;
			public setTimeInMillis(millis: number): void;
			public getWeeksInWeekYear(): number;
			public before(when: any): boolean;
			public add(param0: number, param1: number): void;
			public setTime(date: java.util.Date): void;
			public getFirstDayOfWeek(): number;
			public getWeekYear(): number;
			public isSet(field: number): boolean;
			public getMaximum(param0: number): number;
			public setWeekDate(weekYear: number, weekOfYear: number, dayOfWeek: number): void;
			public roll(param0: number, param1: boolean): void;
			public static getInstance(zone: java.util.TimeZone, aLocale: java.util.Locale): java.util.Calendar;
			public static getInstance(): java.util.Calendar;
			public getActualMaximum(field: number): number;
			public internalGet(field: number): number;
			public set(year: number, month: number, date: number): void;
			public toInstant(): java.time.Instant;
			public getMinimalDaysInFirstWeek(): number;
			public isWeekDateSupported(): boolean;
			public toString(): string;
			public set(field: number, value: number): void;
			public equals(obj: any): boolean;
			public set(year: number, month: number, date: number, hourOfDay: number, minute: number): void;
			public setMinimalDaysInFirstWeek(value: number): void;
			public static getAvailableCalendarTypes(): java.util.Set<string>;
			public set(year: number, month: number, date: number, hourOfDay: number, minute: number, second: number): void;
			public hashCode(): number;
		}
		export module Calendar {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<java.util.Calendar.Builder>;
				public setLocale(locale: java.util.Locale): java.util.Calendar.Builder;
				public build(): java.util.Calendar;
				public setTimeOfDay(hourOfDay: number, minute: number, second: number, millis: number): java.util.Calendar.Builder;
				public setFields(fieldValuePairs: androidNative.Array<number>): java.util.Calendar.Builder;
				public setTimeZone(zone: java.util.TimeZone): java.util.Calendar.Builder;
				public setTimeOfDay(hourOfDay: number, minute: number, second: number): java.util.Calendar.Builder;
				public setWeekDefinition(firstDayOfWeek: number, minimalDaysInFirstWeek: number): java.util.Calendar.Builder;
				public constructor();
				public set(field: number, value: number): java.util.Calendar.Builder;
				public setLenient(lenient: boolean): java.util.Calendar.Builder;
				public setInstant(instant: number): java.util.Calendar.Builder;
				public setDate(year: number, month: number, dayOfMonth: number): java.util.Calendar.Builder;
				public setWeekDate(weekYear: number, weekOfYear: number, dayOfWeek: number): java.util.Calendar.Builder;
				public setInstant(instant: java.util.Date): java.util.Calendar.Builder;
				public setCalendarType(type: string): 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(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public clear(): void;
			public equals(param0: any): boolean;
			public size(): number;
			public isEmpty(): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public remove(param0: any): boolean;
			public toArray(): androidNative.Array<any>;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public parallelStream(): java.util.stream.Stream<any>;
			public iterator(): java.util.Iterator<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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 unmodifiableNavigableMap(m: java.util.NavigableMap<any,any>): java.util.NavigableMap<any,any>;
			public static checkedList(list: java.util.List<any>, type: java.lang.Class<any>): java.util.List<any>;
			public static checkedSet(s: java.util.Set<any>, type: java.lang.Class<any>): java.util.Set<any>;
			public static max(coll: java.util.Collection<any>): any;
			public static singleton(o: any): java.util.Set<any>;
			public static nCopies(n: number, o: any): java.util.List<any>;
			public static binarySearch(list: java.util.List<any>, key: any): number;
			public static synchronizedMap(m: java.util.Map<any,any>): java.util.Map<any,any>;
			public static sort(list: java.util.List<any>): void;
			public static synchronizedSortedMap(m: java.util.SortedMap<any,any>): java.util.SortedMap<any,any>;
			public static shuffle(list: java.util.List<any>, rnd: java.util.Random): void;
			public static enumeration(c: java.util.Collection<any>): java.util.Enumeration<any>;
			public static checkedNavigableSet(s: java.util.NavigableSet<any>, type: java.lang.Class<any>): java.util.NavigableSet<any>;
			public static checkedSortedMap(m: java.util.SortedMap<any,any>, keyType: java.lang.Class<any>, valueType: java.lang.Class<any>): java.util.SortedMap<any,any>;
			public static emptyIterator(): java.util.Iterator<any>;
			public static emptyNavigableSet(): java.util.NavigableSet<any>;
			public static synchronizedNavigableSet(s: java.util.NavigableSet<any>): java.util.NavigableSet<any>;
			public static synchronizedSortedSet(s: java.util.SortedSet<any>): java.util.SortedSet<any>;
			public static indexOfSubList(source: java.util.List<any>, target: java.util.List<any>): number;
			public static unmodifiableMap(m: java.util.Map<any,any>): java.util.Map<any,any>;
			public static emptySet(): java.util.Set<any>;
			public static asLifoQueue(deque: java.util.Deque<any>): java.util.Queue<any>;
			public static shuffle(list: java.util.List<any>, rnd: java.util.random.RandomGenerator): void;
			public static synchronizedSet(s: java.util.Set<any>): java.util.Set<any>;
			public static emptyMap(): java.util.Map<any,any>;
			public static synchronizedList(list: java.util.List<any>): java.util.List<any>;
			public static checkedQueue(queue: java.util.Queue<any>, type: java.lang.Class<any>): java.util.Queue<any>;
			public static frequency(c: java.util.Collection<any>, o: any): number;
			public static checkedCollection(c: java.util.Collection<any>, type: java.lang.Class<any>): java.util.Collection<any>;
			public static shuffle(list: java.util.List<any>): void;
			public static checkedNavigableMap(m: java.util.NavigableMap<any,any>, keyType: java.lang.Class<any>, valueType: java.lang.Class<any>): java.util.NavigableMap<any,any>;
			public static emptySortedMap(): java.util.SortedMap<any,any>;
			public static unmodifiableSequencedSet(s: java.util.SequencedSet<any>): java.util.SequencedSet<any>;
			public static unmodifiableNavigableSet(s: java.util.NavigableSet<any>): java.util.NavigableSet<any>;
			public static fill(list: java.util.List<any>, obj: any): void;
			public static replaceAll(list: java.util.List<any>, oldVal: any, newVal: any): boolean;
			public static list(e: java.util.Enumeration<any>): java.util.ArrayList<any>;
			public static emptyList(): java.util.List<any>;
			public static min(coll: java.util.Collection<any>, comp: java.util.Comparator<any>): any;
			public static reverse(list: java.util.List<any>): void;
			public static emptyEnumeration(): java.util.Enumeration<any>;
			public static unmodifiableSet(s: java.util.Set<any>): java.util.Set<any>;
			public static unmodifiableSortedSet(s: java.util.SortedSet<any>): java.util.SortedSet<any>;
			public static synchronizedNavigableMap(m: java.util.NavigableMap<any,any>): java.util.NavigableMap<any,any>;
			public static rotate(list: java.util.List<any>, distance: number): void;
			public static binarySearch(list: java.util.List<any>, key: any, c: java.util.Comparator<any>): number;
			public static reverseOrder(cmp: java.util.Comparator<any>): java.util.Comparator<any>;
			public static max(coll: java.util.Collection<any>, comp: java.util.Comparator<any>): any;
			public static disjoint(c1: java.util.Collection<any>, c2: java.util.Collection<any>): boolean;
			public static newSetFromMap(map: java.util.Map<any,any>): java.util.Set<any>;
			public static checkedMap(m: java.util.Map<any,any>, keyType: java.lang.Class<any>, valueType: java.lang.Class<any>): java.util.Map<any,any>;
			public static emptyNavigableMap(): java.util.NavigableMap<any,any>;
			public static singletonList(o: any): java.util.List<any>;
			public static emptyListIterator(): java.util.ListIterator<any>;
			public static newSequencedSetFromMap(map: java.util.SequencedMap<any,any>): java.util.SequencedSet<any>;
			public static copy(dest: java.util.List<any>, src: java.util.List<any>): void;
			public static sort(list: java.util.List<any>, c: java.util.Comparator<any>): void;
			public static singletonMap(key: any, value: any): java.util.Map<any,any>;
			public static reverseOrder(): java.util.Comparator<any>;
			public static swap(list: java.util.List<any>, i: number, j: number): void;
			public static synchronizedCollection(c: java.util.Collection<any>): java.util.Collection<any>;
			public static unmodifiableList(list: java.util.List<any>): java.util.List<any>;
			public static lastIndexOfSubList(source: java.util.List<any>, target: java.util.List<any>): number;
			public static addAll(c: java.util.Collection<any>, elements: androidNative.Array<any>): boolean;
			public static unmodifiableSequencedCollection(c: java.util.SequencedCollection<any>): java.util.SequencedCollection<any>;
			public static min(coll: java.util.Collection<any>): any;
			public static unmodifiableSortedMap(m: java.util.SortedMap<any,any>): java.util.SortedMap<any,any>;
			public static unmodifiableSequencedMap(m: java.util.SequencedMap<any,any>): java.util.SequencedMap<any,any>;
			public static emptySortedSet(): java.util.SortedSet<any>;
			public static checkedSortedSet(s: java.util.SortedSet<any>, type: java.lang.Class<any>): java.util.SortedSet<any>;
			public static unmodifiableCollection(c: java.util.Collection<any>): java.util.Collection<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(other: java.util.Comparator<any>): java.util.Comparator<T>;
				thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
				thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
				thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<T>;
				thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<T>;
				thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<T>;
				reverseOrder(): java.util.Comparator<any>;
				naturalOrder(): java.util.Comparator<any>;
				nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
				nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
				comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
				comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
				comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
				comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
				comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
			});
			public constructor();
			public thenComparing(other: java.util.Comparator<any>): java.util.Comparator<T>;
			public thenComparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public equals(param0: any): boolean;
			public static comparingInt(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public compare(param0: T, param1: T): number;
			public thenComparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static comparing(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static nullsLast(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public static comparing(keyExtractor: any /* any*/, keyComparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public thenComparingLong(keyExtractor: any /* any*/): java.util.Comparator<T>;
			public static reverseOrder(): java.util.Comparator<any>;
			public thenComparingDouble(keyExtractor: any /* any*/): java.util.Comparator<T>;
			public thenComparingInt(keyExtractor: any /* any*/): java.util.Comparator<T>;
			public reversed(): java.util.Comparator<T>;
			public static comparingDouble(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static comparingLong(keyExtractor: any /* any*/): java.util.Comparator<any>;
			public static nullsFirst(comparator: java.util.Comparator<any>): java.util.Comparator<any>;
			public static naturalOrder(): 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 getDisplayName(locale: java.util.Locale): string;
			public getSymbol(locale: java.util.Locale): string;
			public toString(): string;
			public getNumericCode(): number;
			public static getInstance(locale: java.util.Locale): java.util.Currency;
			public static getAvailableCurrencies(): java.util.Set<java.util.Currency>;
			public getCurrencyCode(): string;
			public static getInstance(currencyCode: string): java.util.Currency;
			public getSymbol(): string;
			public getDisplayName(): string;
			public getNumericCodeAsString(): string;
		}
	}
}

declare module java {
	export module util {
		export class Date extends java.lang.Object {
			public static class: java.lang.Class<java.util.Date>;
			/** @deprecated */
			public getDay(): number;
			/** @deprecated */
			public getDate(): number;
			public compareTo(anotherDate: java.util.Date): number;
			/** @deprecated */
			public getMonth(): number;
			/** @deprecated */
			public constructor(s: string);
			/** @deprecated */
			public getMinutes(): number;
			/** @deprecated */
			public setMinutes(minutes: number): void;
			public static from(instant: java.time.Instant): java.util.Date;
			public constructor(date: number);
			/** @deprecated */
			public getHours(): number;
			/** @deprecated */
			public static UTC(year: number, month: number, date: number, hrs: number, min: number, sec: number): number;
			/** @deprecated */
			public static parse(s: string): number;
			/** @deprecated */
			public getSeconds(): number;
			/** @deprecated */
			public setMonth(month: number): void;
			public setTime(time: number): void;
			/** @deprecated */
			public toLocaleString(): string;
			public toInstant(): java.time.Instant;
			/** @deprecated */
			public constructor(year: number, month: number, date: number);
			public constructor();
			/** @deprecated */
			public setDate(date: number): void;
			public before(when: java.util.Date): boolean;
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hrs: number, min: number);
			/** @deprecated */
			public setSeconds(seconds: number): void;
			public after(when: java.util.Date): boolean;
			public clone(): any;
			public toString(): string;
			/** @deprecated */
			public toGMTString(): string;
			public equals(obj: any): boolean;
			public getTime(): number;
			/** @deprecated */
			public getTimezoneOffset(): number;
			/** @deprecated */
			public constructor(year: number, month: number, date: number, hrs: number, min: number, sec: number);
			/** @deprecated */
			public getYear(): number;
			/** @deprecated */
			public setYear(year: number): void;
			/** @deprecated */
			public setHours(hours: number): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Deque<E>  extends java.lang.Object {
			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: 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;
				addAll(param0: java.util.Collection<any>): boolean;
				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>;
				reversed(): java.util.Deque<E>;
				reversed(): java.util.SequencedCollection<any>;
				add(param0: E): boolean;
				offer(param0: E): boolean;
				remove(): E;
				poll(): E;
				element(): E;
				peek(): E;
				reversed(): java.util.SequencedCollection<E>;
				addFirst(e: E): void;
				addLast(e: E): void;
				getFirst(): E;
				getLast(): E;
				removeFirst(): E;
				removeLast(): E;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
				iterator(): java.util.Iterator<any>;
				forEach(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public removeLast(): E;
			public pollLast(): E;
			public pop(): E;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public offer(param0: E): boolean;
			public getLast(): E;
			public offerFirst(param0: E): boolean;
			public peek(): E;
			public descendingIterator(): java.util.Iterator<E>;
			public element(): E;
			public addFirst(param0: E): void;
			public clear(): void;
			public parallelStream(): java.util.stream.Stream<E>;
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public addLast(e: E): void;
			public peekFirst(): E;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public peekLast(): E;
			public remove(): E;
			public pollFirst(): E;
			public offerLast(param0: E): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public push(param0: E): void;
			public addFirst(e: E): void;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public iterator(): java.util.Iterator<E>;
			public removeFirstOccurrence(param0: any): boolean;
			public reversed(): java.util.Deque<E>;
			public spliterator(): java.util.Spliterator<E>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public stream(): java.util.stream.Stream<E>;
			public getFirst(): E;
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public poll(): E;
			public add(param0: E): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public reversed(): java.util.SequencedCollection<E>;
			public remove(param0: any): boolean;
			public removeFirst(): E;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public addLast(param0: E): void;
			public removeLastOccurrence(param0: any): boolean;
			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 constructor(count: number, min: number, max: number, sum: number);
			public getSum(): number;
			public getMax(): number;
			public toString(): string;
			public getMin(): number;
			public combine(other: java.util.DoubleSummaryStatistics): void;
			public getAverage(): number;
			public constructor();
			public getCount(): number;
			public accept(value: number): void;
		}
	}
}

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 getFlags(): string;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(f: 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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 clone(): java.util.EnumMap<any,any>;
			public containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public constructor(m: java.util.Map<any,any>);
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public putAll(m: java.util.Map<any,any>): void;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor();
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public clone(): any;
			public equals(o: any): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public remove(key: any): any;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public constructor(keyType: java.lang.Class<any>);
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public constructor(m: java.util.EnumMap<any,any>);
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,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 static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public stream(): java.util.stream.Stream<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public static noneOf(elementType: java.lang.Class<any>): java.util.EnumSet<any>;
			public static complementOf(s: java.util.EnumSet<any>): java.util.EnumSet<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public static of(e1: java.lang.Enum<any>, e2: java.lang.Enum<any>): java.util.EnumSet<any>;
			public static of(e: java.lang.Enum<any>): java.util.EnumSet<any>;
			public static copyOf(s: java.util.EnumSet<any>): java.util.EnumSet<any>;
			public iterator(): java.util.Iterator<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public static range(from: java.lang.Enum<any>, to: java.lang.Enum<any>): java.util.EnumSet<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public static allOf(elementType: java.lang.Class<any>): java.util.EnumSet<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public static copyOf(c: java.util.Collection<any>): java.util.EnumSet<any>;
			public static of(e1: java.lang.Enum<any>, e2: java.lang.Enum<any>, e3: java.lang.Enum<any>, e4: java.lang.Enum<any>, e5: java.lang.Enum<any>): java.util.EnumSet<any>;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public static of(e1: java.lang.Enum<any>, e2: java.lang.Enum<any>, e3: java.lang.Enum<any>): java.util.EnumSet<any>;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public static of(first: java.lang.Enum<any>, rest: androidNative.Array<java.lang.Enum<any>>): java.util.EnumSet<any>;
			public clone(): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public add(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public static of(e1: java.lang.Enum<any>, e2: java.lang.Enum<any>, e3: java.lang.Enum<any>, e4: java.lang.Enum<any>): java.util.EnumSet<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public clone(): java.util.EnumSet<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			public spliterator(): java.util.Spliterator<any>;
			public parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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;
				asIterator(): java.util.Iterator<E>;
			});
			public constructor();
			public hasMoreElements(): boolean;
			public nextElement(): E;
			public asIterator(): java.util.Iterator<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(listener: 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 constructor(source: any);
			public getSource(): any;
		}
	}
}

declare module java {
	export module util {
		export class FormatFlagsConversionMismatchException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.FormatFlagsConversionMismatchException>;
			public getMessage(): string;
			public getConversion(): string;
			public getFlags(): string;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(f: string, c: string);
			public constructor();
		}
	}
}

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: 4;
			public static LEFT_JUSTIFY: 1;
			public static UPPERCASE: 2;
		}
	}
}

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(l: java.util.Locale);
			public ioException(): java.io.IOException;
			public constructor(fileName: string, csn: string, l: java.util.Locale);
			public out(): java.lang.Appendable;
			public constructor(os: java.io.OutputStream, csn: string, l: java.util.Locale);
			public constructor(os: java.io.OutputStream);
			public constructor(file: java.io.File, charset: java.nio.charset.Charset, l: java.util.Locale);
			public format(format: string, args: androidNative.Array<any>): java.util.Formatter;
			public constructor(os: java.io.OutputStream, charset: java.nio.charset.Charset, l: java.util.Locale);
			public close(): void;
			public constructor(a: java.lang.Appendable, l: java.util.Locale);
			public flush(): void;
			public constructor(file: java.io.File, csn: string, l: java.util.Locale);
			public constructor(file: java.io.File, csn: string);
			public constructor();
			public constructor(a: java.lang.Appendable);
			public constructor(file: java.io.File);
			public constructor(fileName: string);
			public format(l: java.util.Locale, format: string, args: androidNative.Array<any>): java.util.Formatter;
			public constructor(fileName: string, charset: java.nio.charset.Charset, l: java.util.Locale);
			public toString(): string;
			public constructor(ps: java.io.PrintStream);
			public constructor(fileName: string, csn: string);
			public constructor(os: java.io.OutputStream, csn: string);
			public locale(): 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(name: string): java.util.Formatter.BigDecimalLayoutForm;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.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(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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: 1;
			public static BC: 0;
			public getMinimum(field: number): number;
			public computeFields(): void;
			public getWeeksInWeekYear(): number;
			public getTimeZone(): java.util.TimeZone;
			public computeTime(): void;
			public getCalendarType(): string;
			public setGregorianChange(date: java.util.Date): void;
			public getWeekYear(): number;
			public getActualMinimum(field: number): number;
			public getMaximum(field: number): number;
			public constructor(year: number, month: number, dayOfMonth: number, hourOfDay: number, minute: number);
			public toZonedDateTime(): java.time.ZonedDateTime;
			public setWeekDate(weekYear: number, weekOfYear: number, dayOfWeek: number): void;
			public constructor(zone: java.util.TimeZone, aLocale: java.util.Locale);
			public getGregorianChange(): java.util.Date;
			public add(field: number, amount: number): void;
			public getActualMaximum(field: number): number;
			public setTimeZone(zone: java.util.TimeZone): void;
			public constructor();
			public constructor(year: number, month: number, dayOfMonth: number, hourOfDay: number, minute: number, second: number);
			public isLeapYear(year: number): boolean;
			public static from(zdt: java.time.ZonedDateTime): java.util.GregorianCalendar;
			public clone(): any;
			public isWeekDateSupported(): boolean;
			public constructor(aLocale: java.util.Locale);
			public equals(obj: any): boolean;
			public getGreatestMinimum(field: number): number;
			public constructor(zone: java.util.TimeZone);
			public constructor(year: number, month: number, dayOfMonth: number);
			public getLeastMaximum(field: number): number;
			public roll(field: number, amount: number): void;
			public roll(field: number, up: boolean): void;
			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 containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public constructor(m: java.util.Map<any,any>);
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public putAll(m: java.util.Map<any,any>): void;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public static newHashMap(numMappings: number): java.util.HashMap<any,any>;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor(initialCapacity: number, loadFactor: number);
			public constructor();
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public clone(): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public constructor(initialCapacity: number);
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public remove(key: any): any;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			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 contains(o: any): boolean;
			public constructor(initialCapacity: number);
			public remove(o: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
			public stream(): java.util.stream.Stream<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public add(e: any): boolean;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public removeIf(filter: any /* any*/): boolean;
			public iterator(): java.util.Iterator<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor(c: java.util.Collection<any>);
			public constructor(initialCapacity: number, loadFactor: number);
			public static newHashSet(numElements: number): java.util.HashSet<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public constructor();
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public clone(): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public add(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			public spliterator(): java.util.Spliterator<any>;
			public parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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 containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public elements(): java.util.Enumeration<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor(initialCapacity: number, loadFactor: number);
			public contains(value: any): boolean;
			public constructor();
			public putAll(t: java.util.Map<any,any>): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public clone(): any;
			public keys(): java.util.Enumeration<any>;
			public equals(o: any): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public constructor(initialCapacity: number);
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public remove(key: any): any;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public constructor(t: java.util.Map<any,any>);
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public toString(): string;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public rehash(): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class HexFormat extends java.lang.Object {
			public static class: java.lang.Class<java.util.HexFormat>;
			public withPrefix(prefix: string): java.util.HexFormat;
			public suffix(): string;
			public withDelimiter(delimiter: string): java.util.HexFormat;
			public parseHex(string: string, fromIndex: number, toIndex: number): androidNative.Array<number>;
			public toLowHexDigit(value: number): string;
			public delimiter(): string;
			public toHexDigits(out: java.lang.Appendable, value: number): java.lang.Appendable;
			public static fromHexDigits(string: string): number;
			public formatHex(out: java.lang.Appendable, bytes: androidNative.Array<number>): java.lang.Appendable;
			public static fromHexDigit(ch: number): number;
			public parseHex(string: string): androidNative.Array<number>;
			public prefix(): string;
			public isUpperCase(): boolean;
			public static fromHexDigits(string: string, fromIndex: number, toIndex: number): number;
			public static of(): java.util.HexFormat;
			public formatHex(out: java.lang.Appendable, bytes: androidNative.Array<number>, fromIndex: number, toIndex: number): java.lang.Appendable;
			public withSuffix(suffix: string): java.util.HexFormat;
			public formatHex(bytes: androidNative.Array<number>, fromIndex: number, toIndex: number): string;
			public withLowerCase(): java.util.HexFormat;
			public formatHex(bytes: androidNative.Array<number>): string;
			public toHexDigits(value: string): string;
			public toHexDigits(value: number): string;
			public static ofDelimiter(delimiter: string): java.util.HexFormat;
			public static isHexDigit(ch: number): boolean;
			public toString(): string;
			public equals(o: any): boolean;
			public toHighHexDigit(value: number): string;
			public static fromHexDigitsToLong(string: string): number;
			public parseHex(chars: androidNative.Array<string>, fromIndex: number, toIndex: number): androidNative.Array<number>;
			public withUpperCase(): java.util.HexFormat;
			public toHexDigits(value: number, digits: number): string;
			public static fromHexDigitsToLong(string: string, fromIndex: number, toIndex: number): number;
			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 containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public constructor(m: java.util.Map<any,any>);
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public putAll(m: java.util.Map<any,any>): void;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor(expectedMaxSize: number);
			public constructor();
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public clone(): any;
			public equals(o: any): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public remove(key: any): any;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			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 getCodePoint(): number;
			public constructor(c: number);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 constructor(c: string, arg: java.lang.Class<any>);
			public getConversion(): string;
			public getArgumentClass(): java.lang.Class<any>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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 getFlags(): string;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(f: 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(p: number);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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(w: number);
			public constructor(message: string, cause: java.lang.Throwable);
			public getWidth(): number;
			public constructor(s: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module util {
		export class IllformedLocaleException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.util.IllformedLocaleException>;
			public constructor(message: string);
			public getErrorIndex(): number;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(message: string, errorIndex: number);
		}
	}
}

declare module java {
	export module util {
		export class InputMismatchException extends java.util.NoSuchElementException {
			public static class: java.lang.Class<java.util.InputMismatchException>;
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

declare module java {
	export module util {
		export class IntSummaryStatistics extends java.lang.Object {
			public static class: java.lang.Class<java.util.IntSummaryStatistics>;
			public constructor(count: number, min: number, max: number, sum: number);
			public getSum(): number;
			public getMax(): number;
			public toString(): string;
			public getMin(): number;
			public getAverage(): number;
			public constructor();
			public combine(other: java.util.IntSummaryStatistics): void;
			public getCount(): number;
			public accept(value: number): void;
		}
	}
}

declare module java {
	export module util {
		export class InvalidPropertiesFormatException extends java.io.IOException {
			public static class: java.lang.Class<java.util.InvalidPropertiesFormatException>;
			public constructor(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(cause: java.lang.Throwable);
			public constructor();
		}
	}
}

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(action: any /* any*/): void;
			});
			public constructor();
			public forEachRemaining(action: any /* any*/): void;
			public next(): E;
			public hasNext(): boolean;
			public remove(): void;
		}
	}
}

declare module java {
	export module util {
		export class LinkedHashMap<K, V>  extends java.util.HashMap<any,any> {
			public static class: java.lang.Class<java.util.LinkedHashMap<any,any>>;
			public containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public constructor(m: java.util.Map<any,any>);
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public sequencedKeySet(): java.util.SequencedSet<any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor(initialCapacity: number, loadFactor: number);
			public constructor(initialCapacity: number, loadFactor: number, accessOrder: boolean);
			public constructor();
			public lastEntry(): java.util.Map.Entry<any,any>;
			public removeEldestEntry(eldest: java.util.Map.Entry<any,any>): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public reversed(): java.util.SequencedMap<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public constructor(initialCapacity: number);
			public sequencedEntrySet(): java.util.SequencedSet<java.util.Map.Entry<any,any>>;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public putFirst(k: any, v: any): any;
			public get(param0: any): any;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public firstEntry(): java.util.Map.Entry<any,any>;
			public pollFirstEntry(): java.util.Map.Entry<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public sequencedValues(): java.util.SequencedCollection<any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public putLast(k: any, v: any): any;
			public pollLastEntry(): java.util.Map.Entry<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			public static newLinkedHashMap(numMappings: number): java.util.LinkedHashMap<any,any>;
			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 equals(param0: any): boolean;
			public constructor(initialCapacity: number);
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public reversed(): java.util.SequencedCollection<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
			public stream(): java.util.stream.Stream<any>;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public removeIf(filter: any /* any*/): boolean;
			public addLast(e: any): void;
			public iterator(): java.util.Iterator<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public clear(): void;
			public reversed(): java.util.SequencedSet<any>;
			public size(): number;
			public isEmpty(): boolean;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor(c: java.util.Collection<any>);
			public constructor(initialCapacity: number, loadFactor: number);
			public addFirst(e: any): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public constructor();
			public forEach(action: any /* any*/): void;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public remove(param0: any): boolean;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public add(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public static newLinkedHashSet(numElements: number): java.util.LinkedHashSet<any>;
			public removeFirst(): any;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			public spliterator(): java.util.Spliterator<any>;
			public parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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 contains(o: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
			public peekLast(): any;
			public reversed(): java.util.SequencedCollection<any>;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
			public push(param0: any): void;
			public lastIndexOf(o: any): number;
			public addAll(index: number, c: java.util.Collection<any>): boolean;
			public replaceAll(operator: any /* any*/): void;
			public push(e: any): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
			public add(e: any): boolean;
			public reversed(): java.util.Deque<any>;
			public addLast(e: any): void;
			public sort(c: java.util.Comparator<any>): void;
			public reversed(): java.util.List<any>;
			public offerLast(param0: any): boolean;
			public removeLastOccurrence(o: any): boolean;
			public element(): any;
			public clear(): void;
			public static of(e1: any, e2: any): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor(c: java.util.Collection<any>);
			public poll(): any;
			public offerFirst(e: any): boolean;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public addFirst(e: any): void;
			public static of(elements: androidNative.Array<any>): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
			public constructor();
			public forEach(action: any /* any*/): void;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public static of(): java.util.List<any>;
			public pollFirst(): any;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public clone(): any;
			public static of(e1: any, e2: any, e3: any): java.util.List<any>;
			public remove(): any;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
			public spliterator(): java.util.Spliterator<any>;
			public set(index: number, element: any): any;
			public get(index: number): any;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
			public pollLast(): any;
			public remove(o: any): boolean;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public descendingIterator(): java.util.Iterator<any>;
			public removeFirstOccurrence(param0: any): boolean;
			public offer(e: any): boolean;
			public static of(e1: any): java.util.List<any>;
			public toArray(): androidNative.Array<any>;
			public reversed(): java.util.LinkedList<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public static copyOf(coll: java.util.Collection<any>): java.util.List<any>;
			public get(param0: number): any;
			public removeFirstOccurrence(o: any): boolean;
			public peekFirst(): any;
			public remove(index: number): any;
			public addAll(c: java.util.Collection<any>): boolean;
			public addLast(param0: any): void;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public offerLast(e: any): boolean;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(index: number): java.util.ListIterator<any>;
			public pop(): any;
			public subList(param0: number, param1: number): java.util.List<any>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public peek(): any;
			public remove(param0: any): boolean;
			public offerFirst(param0: any): boolean;
			public addFirst(param0: any): void;
			public indexOf(o: any): number;
			public offer(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public add(index: number, element: any): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			public removeLastOccurrence(param0: any): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class List<E>  extends java.lang.Object {
			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<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				add(param0: E): 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(operator: any /* any*/): void;
				sort(c: java.util.Comparator<any>): void;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				get(param0: number): E;
				set(param0: number, param1: E): E;
				add(param0: number, param1: E): void;
				remove(param0: number): E;
				indexOf(param0: any): number;
				lastIndexOf(param0: any): number;
				listIterator(): java.util.ListIterator<E>;
				listIterator(param0: number): java.util.ListIterator<E>;
				subList(param0: number, param1: number): java.util.List<E>;
				spliterator(): java.util.Spliterator<E>;
				addFirst(e: E): void;
				addLast(e: E): void;
				getFirst(): E;
				getLast(): E;
				removeFirst(): E;
				removeLast(): E;
				reversed(): java.util.List<E>;
				of(): java.util.List<any>;
				of(e1: any): java.util.List<any>;
				of(e1: any, e2: any): java.util.List<any>;
				of(e1: any, e2: any, e3: any): java.util.List<any>;
				of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
				of(elements: androidNative.Array<any>): java.util.List<any>;
				copyOf(coll: java.util.Collection<any>): java.util.List<any>;
				reversed(): java.util.SequencedCollection<any>;
				reversed(): java.util.SequencedCollection<E>;
				addFirst(e: E): void;
				addLast(e: E): void;
				getFirst(): E;
				getLast(): E;
				removeFirst(): E;
				removeLast(): E;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
				iterator(): java.util.Iterator<any>;
				forEach(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public removeLast(): E;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
			public get(param0: number): E;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
			public getLast(): E;
			public subList(param0: number, param1: number): java.util.List<E>;
			public sort(c: java.util.Comparator<any>): void;
			public clear(): void;
			public static of(e1: any, e2: any): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
			public add(param0: number, param1: E): void;
			public parallelStream(): java.util.stream.Stream<E>;
			public static of(elements: androidNative.Array<any>): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public addLast(e: E): void;
			public static of(): java.util.List<any>;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public static of(e1: any, e2: any, e3: any): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
			public spliterator(): java.util.Spliterator<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public addFirst(e: E): void;
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
			public iterator(): java.util.Iterator<E>;
			public static of(e1: any): java.util.List<any>;
			public spliterator(): java.util.Spliterator<E>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public listIterator(param0: number): java.util.ListIterator<E>;
			public removeIf(filter: any /* any*/): boolean;
			public stream(): java.util.stream.Stream<E>;
			public getFirst(): E;
			public static copyOf(coll: java.util.Collection<any>): java.util.List<any>;
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public add(param0: E): boolean;
			public set(param0: number, param1: E): E;
			public listIterator(): java.util.ListIterator<E>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public reversed(): java.util.List<E>;
			public reversed(): java.util.SequencedCollection<E>;
			public remove(param0: any): boolean;
			public remove(param0: number): E;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public removeFirst(): E;
			public replaceAll(operator: any /* any*/): void;
			public indexOf(param0: any): number;
			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(key: string): any;
			public getContents(): androidNative.Array<androidNative.Array<any>>;
			public handleKeySet(): java.util.Set<string>;
			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: "120";
			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: "117";
			public static US: java.util.Locale;
			public getCountry(): string;
			public static filter(priorityList: java.util.List<java.util.Locale.LanguageRange>, locales: java.util.Collection<java.util.Locale>, mode: java.util.Locale.FilteringMode): java.util.List<java.util.Locale>;
			public constructor(language: string, country: string);
			public static lookupTag(priorityList: java.util.List<java.util.Locale.LanguageRange>, tags: java.util.Collection<string>): string;
			public static filter(priorityList: java.util.List<java.util.Locale.LanguageRange>, locales: java.util.Collection<java.util.Locale>): java.util.List<java.util.Locale>;
			public getScript(): string;
			public getExtensionKeys(): java.util.Set<java.lang.Character>;
			public getDisplayLanguage(locale: java.util.Locale): string;
			public static getISOCountries(type: java.util.Locale.IsoCountryCode): java.util.Set<string>;
			public getExtension(key: string): string;
			public getUnicodeLocaleType(key: string): string;
			public getDisplayScript(inLocale: java.util.Locale): string;
			public getDisplayName(locale: java.util.Locale): string;
			public getISO3Country(): string;
			public hasExtensions(): boolean;
			public static getISOLanguages(): androidNative.Array<string>;
			public getDisplayLanguage(): string;
			public static lookup(priorityList: java.util.List<java.util.Locale.LanguageRange>, locales: java.util.Collection<java.util.Locale>): java.util.Locale;
			public constructor(language: string, country: string, variant: string);
			public getUnicodeLocaleAttributes(): java.util.Set<string>;
			public getDisplayName(): string;
			public getDisplayScript(): string;
			public stripExtensions(): java.util.Locale;
			public getLanguage(): string;
			public toLanguageTag(): string;
			public static setDefault(category: java.util.Locale.Category, newLocale: java.util.Locale): void;
			public getDisplayVariant(inLocale: java.util.Locale): string;
			public static getDefault(category: java.util.Locale.Category): java.util.Locale;
			public getVariant(): string;
			public constructor(language: string);
			public static getAvailableLocales(): androidNative.Array<java.util.Locale>;
			public static filterTags(priorityList: java.util.List<java.util.Locale.LanguageRange>, tags: java.util.Collection<string>): java.util.List<string>;
			public toString(): string;
			public clone(): any;
			public static filterTags(priorityList: java.util.List<java.util.Locale.LanguageRange>, tags: java.util.Collection<string>, mode: java.util.Locale.FilteringMode): java.util.List<string>;
			public getDisplayCountry(): string;
			public equals(obj: any): boolean;
			public static setDefault(newLocale: java.util.Locale): void;
			public getUnicodeLocaleKeys(): java.util.Set<string>;
			public getISO3Language(): string;
			public static getISOCountries(): androidNative.Array<string>;
			public static forLanguageTag(languageTag: string): java.util.Locale;
			public getDisplayCountry(locale: java.util.Locale): string;
			public getDisplayVariant(): string;
			public static getDefault(): 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 clear(): java.util.Locale.Builder;
				public setVariant(variant: string): java.util.Locale.Builder;
				public setExtension(key: string, value: string): java.util.Locale.Builder;
				public setUnicodeLocaleKeyword(key: string, type: string): java.util.Locale.Builder;
				public setScript(script: string): java.util.Locale.Builder;
				public setRegion(region: string): java.util.Locale.Builder;
				public removeUnicodeLocaleAttribute(attribute: string): java.util.Locale.Builder;
				public constructor();
				public clearExtensions(): java.util.Locale.Builder;
				public setLanguage(language: string): java.util.Locale.Builder;
				public setLanguageTag(languageTag: string): java.util.Locale.Builder;
				public addUnicodeLocaleAttribute(attribute: string): java.util.Locale.Builder;
				public build(): java.util.Locale;
				public setLocale(locale: 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(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<java.util.Locale.Category>;
				public static valueOf(name: string): java.util.Locale.Category;
			}
			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 values(): androidNative.Array<java.util.Locale.FilteringMode>;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static valueOf(name: string): java.util.Locale.FilteringMode;
			}
			export class IsoCountryCode {
				public static class: java.lang.Class<java.util.Locale.IsoCountryCode>;
				public static PART1_ALPHA2: java.util.Locale.IsoCountryCode;
				public static PART1_ALPHA3: java.util.Locale.IsoCountryCode;
				public static PART3: java.util.Locale.IsoCountryCode;
				public static values(): androidNative.Array<java.util.Locale.IsoCountryCode>;
				public static valueOf(name: string): java.util.Locale.IsoCountryCode;
				public static valueOf(enumClass: java.lang.Class<any>, name: 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: 1.0;
				public static MIN_WEIGHT: 0.0;
				public constructor(range: string, weight: number);
				public static mapEquivalents(priorityList: java.util.List<java.util.Locale.LanguageRange>, map: java.util.Map<string,java.util.List<string>>): java.util.List<java.util.Locale.LanguageRange>;
				public equals(obj: any): boolean;
				public getRange(): string;
				public hashCode(): number;
				public static parse(ranges: string, map: java.util.Map<string,java.util.List<string>>): java.util.List<java.util.Locale.LanguageRange>;
				public constructor(range: string);
				public toString(): string;
				public getWeight(): number;
				public static parse(ranges: string): java.util.List<java.util.Locale.LanguageRange>;
			}
		}
	}
}

declare module java {
	export module util {
		export class LongSummaryStatistics extends java.lang.Object {
			public static class: java.lang.Class<java.util.LongSummaryStatistics>;
			public constructor(count: number, min: number, max: number, sum: number);
			public getSum(): number;
			public getMax(): number;
			public toString(): string;
			public getMin(): number;
			public combine(other: java.util.LongSummaryStatistics): void;
			public getAverage(): number;
			public constructor();
			public getCount(): number;
			public accept(value: number): void;
		}
	}
}

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(key: any, defaultValue: V): V;
				forEach(action: any /* any<any,any>*/): void;
				replaceAll(function_: any /* any<any,any,any>*/): void;
				putIfAbsent(key: K, value: V): V;
				remove(key: any, value: any): boolean;
				replace(key: K, oldValue: V, newValue: V): boolean;
				replace(key: K, value: V): V;
				computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
				computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
				compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
				merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
				of(): java.util.Map<any,any>;
				of(k1: any, v1: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				entry(k: any, v: any): java.util.Map.Entry<any,any>;
				copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public put(param0: K, param1: V): V;
			public containsValue(param0: any): boolean;
			public computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: K, value: V): V;
			public merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
			public static of(): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public forEach(action: any /* any<any,any>*/): void;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public keySet(): java.util.Set<K>;
			public values(): java.util.Collection<V>;
			public compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public clear(): void;
			public replace(key: K, oldValue: V, newValue: V): boolean;
			public getOrDefault(key: any, defaultValue: V): V;
			public size(): number;
			public isEmpty(): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public putIfAbsent(key: K, value: V): V;
			public computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
			public get(param0: any): V;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public remove(param0: any): V;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			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(cmp: java.util.Comparator<any>): java.util.Comparator<any>;
					comparingByValue(cmp: java.util.Comparator<any>): java.util.Comparator<any>;
					copyOf(e: java.util.Map.Entry<any,any>): java.util.Map.Entry<any,any>;
				});
				public constructor();
				public static comparingByKey(): java.util.Comparator<any>;
				public getValue(): V;
				public setValue(param0: V): V;
				public static comparingByValue(): java.util.Comparator<any>;
				public hashCode(): number;
				public static comparingByKey(cmp: java.util.Comparator<any>): java.util.Comparator<any>;
				public equals(param0: any): boolean;
				public static copyOf(e: java.util.Map.Entry<any,any>): java.util.Map.Entry<any,any>;
				public getKey(): K;
				public static comparingByValue(cmp: 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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module util {
		export class MissingResourceException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.util.MissingResourceException>;
			public constructor(message: string);
			public getClassName(): string;
			public getKey(): string;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(s: string, className: string, key: string);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
		}
	}
}

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>;
				reversed(): java.util.NavigableMap<any,any>;
				reversed(): java.util.SortedMap<any,any>;
				reversed(): java.util.SequencedMap<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>>;
				putFirst(k: any, v: any): any;
				putLast(k: any, v: any): any;
				reversed(): java.util.SortedMap<any,any>;
				reversed(): java.util.SequencedMap<any,any>;
				reversed(): java.util.SequencedMap<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>;
				putFirst(k: any, v: any): any;
				putLast(k: any, v: any): any;
				sequencedKeySet(): java.util.SequencedSet<any>;
				sequencedValues(): java.util.SequencedCollection<any>;
				sequencedEntrySet(): java.util.SequencedSet<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(key: any, defaultValue: any): any;
				forEach(action: any /* any<any,any>*/): void;
				replaceAll(function_: any /* any<any,any,any>*/): void;
				putIfAbsent(key: any, value: any): any;
				remove(key: any, value: any): boolean;
				replace(key: any, oldValue: any, newValue: any): boolean;
				replace(key: any, value: any): any;
				computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
				computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
				of(): java.util.Map<any,any>;
				of(k1: any, v1: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				entry(k: any, v: any): java.util.Map.Entry<any,any>;
				copyOf(map: java.util.Map<any,any>): java.util.Map<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(key: any, defaultValue: any): any;
				forEach(action: any /* any<any,any>*/): void;
				replaceAll(function_: any /* any<any,any,any>*/): void;
				putIfAbsent(key: any, value: any): any;
				remove(key: any, value: any): boolean;
				replace(key: any, oldValue: any, newValue: any): boolean;
				replace(key: any, value: any): any;
				computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
				computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
				of(): java.util.Map<any,any>;
				of(k1: any, v1: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				entry(k: any, v: any): java.util.Map.Entry<any,any>;
				copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			});
			public constructor();
			public containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public firstKey(): any;
			public static of(): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public sequencedKeySet(): java.util.SequencedSet<any>;
			public headMap(param0: any): java.util.SortedMap<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public static of(k1: any, v1: any): java.util.Map<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 merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public higherEntry(param0: any): java.util.Map.Entry<any,any>;
			public reversed(): java.util.NavigableMap<any,any>;
			public clear(): void;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public lastEntry(): java.util.Map.Entry<any,any>;
			public headMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public reversed(): java.util.SequencedMap<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public lowerEntry(param0: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public ceilingKey(param0: any): any;
			public sequencedEntrySet(): java.util.SequencedSet<java.util.Map.Entry<any,any>>;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public floorKey(param0: any): any;
			public putFirst(k: any, v: any): any;
			public get(param0: any): any;
			public forEach(action: any /* any<any,any>*/): void;
			public lastKey(): any;
			public putIfAbsent(key: any, value: any): 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 static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public sequencedValues(): java.util.SequencedCollection<any>;
			public descendingMap(): java.util.NavigableMap<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: 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 static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public pollLastEntry(): java.util.Map.Entry<any,any>;
			public putLast(k: any, v: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			public subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableMap<any,any>;
			public reversed(): java.util.SortedMap<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>;
				removeFirst(): any;
				removeLast(): any;
				reversed(): java.util.NavigableSet<any>;
				reversed(): java.util.SortedSet<any>;
				reversed(): java.util.SequencedSet<any>;
				reversed(): java.util.SequencedCollection<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>;
				addFirst(e: any): void;
				addLast(e: any): void;
				getFirst(): any;
				getLast(): any;
				removeFirst(): any;
				removeLast(): any;
				reversed(): java.util.SortedSet<any>;
				reversed(): java.util.SequencedSet<any>;
				reversed(): java.util.SequencedCollection<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.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>;
				of(): java.util.Set<any>;
				of(e1: any): java.util.Set<any>;
				of(e1: any, e2: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
				of(elements: androidNative.Array<any>): java.util.Set<any>;
				copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
				reversed(): java.util.SequencedSet<any>;
				reversed(): java.util.SequencedCollection<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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>;
				reversed(): java.util.SequencedCollection<any>;
				addFirst(e: any): void;
				addLast(e: any): void;
				getFirst(): any;
				getLast(): any;
				removeFirst(): any;
				removeLast(): any;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.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>;
				of(): java.util.Set<any>;
				of(e1: any): java.util.Set<any>;
				of(e1: any, e2: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
				of(elements: androidNative.Array<any>): java.util.Set<any>;
				copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
				iterator(): java.util.Iterator<any>;
				forEach(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
				iterator(): java.util.Iterator<any>;
				forEach(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public reversed(): java.util.SortedSet<any>;
			public reversed(): java.util.SequencedCollection<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public first(): any;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public addLast(e: any): void;
			public floor(param0: any): any;
			public lower(param0: any): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public clear(): void;
			public reversed(): java.util.SequencedSet<any>;
			public addFirst(e: any): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public subSet(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableSet<any>;
			public forEach(action: any /* any*/): void;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public pollFirst(): any;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public add(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public removeFirst(): any;
			public spliterator(): java.util.Spliterator<any>;
			public descendingSet(): java.util.NavigableSet<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public pollLast(): any;
			public higher(param0: any): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<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 toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public ceiling(param0: any): any;
			public last(): any;
			public iterator(): java.util.Iterator<any>;
			public headSet(param0: any): java.util.SortedSet<any>;
			public size(): number;
			public isEmpty(): boolean;
			public comparator(): java.util.Comparator<any>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public tailSet(param0: any): java.util.SortedSet<any>;
			public remove(param0: any): boolean;
			public headSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
			public reversed(): java.util.NavigableSet<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			public parallelStream(): java.util.stream.Stream<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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string, cause: java.lang.Throwable);
			public constructor(s: string);
			public constructor();
		}
	}
}

declare module java {
	export module util {
		export class Objects extends java.lang.Object {
			public static class: java.lang.Class<java.util.Objects>;
			public static checkFromIndexSize(fromIndex: number, size: number, length: number): number;
			public static requireNonNull(obj: any, messageSupplier: any /* any*/): any;
			public static hashCode(o: any): number;
			public static hash(values: androidNative.Array<any>): number;
			public static compare(a: any, b: any, c: java.util.Comparator<any>): number;
			public static requireNonNull(obj: any, message: string): any;
			public static nonNull(obj: any): boolean;
			public static isNull(obj: any): boolean;
			public toString(): string;
			public static toString(o: any, nullDefault: string): string;
			public equals(obj: any): boolean;
			public static equals(a: any, b: any): boolean;
			public static requireNonNullElse(obj: any, defaultObj: any): any;
			public static checkIndex(index: number, length: number): number;
			public static checkFromToIndex(fromIndex: number, toIndex: number, length: number): number;
			public static requireNonNullElseGet(obj: any, supplier: any /* any*/): any;
			public static deepEquals(a: any, b: any): boolean;
			public hashCode(): number;
			public static toString(o: any): string;
			public static requireNonNull(obj: any): any;
		}
	}
}

declare module java {
	export module util {
		export class Observable extends java.lang.Object {
			public static class: java.lang.Class<java.util.Observable>;
			/** @deprecated */
			public hasChanged(): boolean;
			/** @deprecated */
			public deleteObserver(o: java.util.Observer): void;
			/** @deprecated */
			public notifyObservers(): void;
			/** @deprecated */
			public constructor();
			/** @deprecated */
			public addObserver(o: java.util.Observer): void;
			/** @deprecated */
			public clearChanged(): void;
			/** @deprecated */
			public deleteObservers(): void;
			/** @deprecated */
			public countObservers(): number;
			/** @deprecated */
			public notifyObservers(arg: any): void;
			/** @deprecated */
			public setChanged(): 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();
			/** @deprecated */
			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 flatMap(mapper: any /* any*/): java.util.Optional<any>;
			public orElseThrow(exceptionSupplier: any /* any*/): any;
			public static of(value: any): java.util.Optional<any>;
			public isPresent(): boolean;
			public isEmpty(): boolean;
			public static empty(): java.util.Optional<any>;
			public stream(): java.util.stream.Stream<T>;
			public ifPresentOrElse(action: any /* any*/, emptyAction: java.lang.Runnable): void;
			public orElseThrow(): T;
			public or(supplier: any /* any*/): java.util.Optional<T>;
			public orElse(other: T): T;
			public toString(): string;
			public equals(obj: any): boolean;
			public static ofNullable(value: any): java.util.Optional<any>;
			public filter(predicate: any /* any*/): java.util.Optional<T>;
			public orElseGet(supplier: any /* any*/): T;
			public ifPresent(action: any /* any*/): void;
			public get(): T;
			public map(mapper: any /* any*/): java.util.Optional<any>;
			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 ifPresentOrElse(action: any /* any*/, emptyAction: java.lang.Runnable): void;
			public isPresent(): boolean;
			public isEmpty(): boolean;
			public static empty(): java.util.OptionalDouble;
			public orElseThrow(exceptionSupplier: any /* any*/): number;
			public toString(): string;
			public stream(): java.util.stream.DoubleStream;
			public equals(obj: any): boolean;
			public static of(value: number): java.util.OptionalDouble;
			public orElseThrow(): number;
			public orElse(other: number): number;
			public orElseGet(supplier: any /* any*/): number;
			public getAsDouble(): number;
			public ifPresent(action: any /* any*/): void;
			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 isPresent(): boolean;
			public isEmpty(): boolean;
			public orElseThrow(exceptionSupplier: any /* any*/): number;
			public static of(value: number): java.util.OptionalInt;
			public static empty(): java.util.OptionalInt;
			public ifPresent(action: any /* any*/): void;
			public ifPresentOrElse(action: any /* any*/, emptyAction: java.lang.Runnable): void;
			public stream(): java.util.stream.IntStream;
			public toString(): string;
			public equals(obj: any): boolean;
			public orElseThrow(): number;
			public orElseGet(supplier: any /* any*/): number;
			public orElse(other: number): number;
			public getAsInt(): 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 isPresent(): boolean;
			public isEmpty(): boolean;
			public static of(value: number): java.util.OptionalLong;
			public stream(): java.util.stream.LongStream;
			public orElseThrow(exceptionSupplier: any /* any*/): number;
			public ifPresentOrElse(action: any /* any*/, emptyAction: java.lang.Runnable): void;
			public ifPresent(action: any /* any*/): void;
			public toString(): string;
			public orElseGet(supplier: any /* any*/): number;
			public equals(obj: any): boolean;
			public orElseThrow(): number;
			public getAsLong(): number;
			public orElse(other: number): 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(action: any /* any*/): void;
					next(): java.lang.Double;
					forEachRemaining(action: 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(action: any /* any*/): void;
				public nextDouble(): number;
				public forEachRemaining(action: any /* any*/): void;
			}
			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(action: any /* any*/): void;
					next(): java.lang.Integer;
					forEachRemaining(action: 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(action: any /* any*/): void;
				public next(): java.lang.Integer;
				public forEachRemaining(action: 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(action: any /* any*/): void;
					next(): java.lang.Long;
					forEachRemaining(action: any /* any*/): void;
					forEachRemaining(param0: any): void;
					next(): any;
					forEachRemaining(param0: any): void;
				});
				public constructor();
				public nextLong(): number;
				public forEachRemaining(param0: any): void;
				public next(): java.lang.Long;
				public forEachRemaining(action: any /* any*/): void;
				public forEachRemaining(action: 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 constructor(c: java.util.PriorityQueue<any>);
			public equals(param0: any): boolean;
			public contains(o: any): boolean;
			public constructor(initialCapacity: number);
			public remove(o: any): boolean;
			public retainAll(c: java.util.Collection<any>): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public offer(e: any): boolean;
			public add(e: any): boolean;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public iterator(): java.util.Iterator<any>;
			public element(): any;
			public clear(): void;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public size(): number;
			public isEmpty(): boolean;
			public constructor(c: java.util.Collection<any>);
			public poll(): any;
			public constructor(initialCapacity: number, comparator: java.util.Comparator<any>);
			public comparator(): java.util.Comparator<any>;
			public constructor();
			public constructor(comparator: java.util.Comparator<any>);
			public forEach(action: any /* any*/): void;
			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 constructor(c: java.util.SortedSet<any>);
			public removeAll(c: 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 parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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 stringPropertyNames(): java.util.Set<string>;
			public containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public storeToXML(os: java.io.OutputStream, comment: string): void;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public setProperty(key: string, value: string): any;
			public values(): java.util.Collection<any>;
			public elements(): java.util.Enumeration<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor(initialCapacity: number, loadFactor: number);
			public loadFromXML(in_: java.io.InputStream): void;
			public contains(value: any): boolean;
			public constructor();
			public putAll(t: java.util.Map<any,any>): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public constructor(defaults: java.util.Properties);
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public clone(): any;
			public keys(): java.util.Enumeration<any>;
			public equals(o: any): boolean;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public getProperty(key: string, defaultValue: string): string;
			public load(inStream: java.io.InputStream): void;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public propertyNames(): java.util.Enumeration<any>;
			public equals(param0: any): boolean;
			public constructor(initialCapacity: number);
			public load(reader: java.io.Reader): void;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public remove(key: any): any;
			public containsValue(value: any): boolean;
			public store(writer: java.io.Writer, comments: string): void;
			public forEach(action: any /* any<any,any>*/): void;
			public storeToXML(os: java.io.OutputStream, comment: string, charset: java.nio.charset.Charset): void;
			public putIfAbsent(key: any, value: any): any;
			public getProperty(key: string): string;
			public remove(param0: any): any;
			public storeToXML(os: java.io.OutputStream, comment: string, encoding: string): void;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			/** @deprecated */
			public save(out: java.io.OutputStream, comments: string): void;
			public constructor(t: java.util.Map<any,any>);
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public toString(): string;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public store(out: java.io.OutputStream, comments: string): void;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public list(out: java.io.PrintStream): void;
			public list(out: java.io.PrintWriter): void;
			public rehash(): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			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(name: string);
			public constructor(name: string, actions: string);
			public checkGuard(param0: any): void;
		}
	}
}

declare module java {
	export module util {
		export class PropertyResourceBundle extends java.util.ResourceBundle {
			public static class: java.lang.Class<java.util.PropertyResourceBundle>;
			public handleGetObject(key: string): any;
			public handleKeySet(): java.util.Set<string>;
			public constructor();
			public constructor(stream: java.io.InputStream);
			public constructor(reader: java.io.Reader);
			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(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public element(): any;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public poll(): any;
			public forEach(action: any /* any*/): void;
			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 parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Random extends java.lang.Object implements java.util.random.RandomGenerator, java.io.Serializable {
			public static class: java.lang.Class<java.util.Random>;
			public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
			public nextDouble(bound: number): number;
			public static getDefault(): java.util.random.RandomGenerator;
			public nextFloat(origin: number, bound: number): number;
			public ints(): java.util.stream.IntStream;
			public nextBytes(bytes: androidNative.Array<number>): void;
			public nextDouble(): number;
			public doubles(): java.util.stream.DoubleStream;
			public nextFloat(bound: number): number;
			public constructor(seed: number);
			public nextGaussian(): number;
			public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
			public nextLong(bound: number): number;
			public nextGaussian(mean: number, stddev: number): number;
			public longs(streamSize: number): java.util.stream.LongStream;
			public nextInt(bound: number): number;
			public ints(streamSize: number): java.util.stream.IntStream;
			public nextLong(origin: number, bound: number): number;
			public doubles(streamSize: number): java.util.stream.DoubleStream;
			public nextBoolean(): boolean;
			public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
			public constructor();
			public nextInt(origin: number, bound: number): number;
			public nextExponential(): number;
			public nextLong(): number;
			public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
			public setSeed(seed: number): void;
			public nextFloat(): number;
			public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
			public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
			public next(bits: number): number;
			public nextDouble(origin: number, bound: number): number;
			public isDeprecated(): boolean;
			public nextInt(): number;
			public static of(name: string): java.util.random.RandomGenerator;
			public longs(): java.util.stream.LongStream;
		}
	}
}

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 setParent(parent: java.util.ResourceBundle): void;
			public containsKey(key: string): boolean;
			public constructor();
			public getStringArray(key: string): androidNative.Array<string>;
			public static clearCache(loader: java.lang.ClassLoader): void;
			public static getBundle(baseName: string): java.util.ResourceBundle;
			public static getBundle(baseName: string, locale: java.util.Locale, loader: java.lang.ClassLoader): java.util.ResourceBundle;
			public getString(key: string): string;
			public static getBundle(baseName: string, control: java.util.ResourceBundle.Control): java.util.ResourceBundle;
			public static getBundle(baseName: string, locale: java.util.Locale): java.util.ResourceBundle;
			public static clearCache(): void;
			public getObject(key: string): any;
			public handleGetObject(param0: string): any;
			public handleKeySet(): java.util.Set<string>;
			public getBaseBundleName(): string;
			public static getBundle(baseName: string, targetLocale: java.util.Locale, loader: java.lang.ClassLoader, control: java.util.ResourceBundle.Control): java.util.ResourceBundle;
			public static getBundle(baseName: string, targetLocale: java.util.Locale, control: java.util.ResourceBundle.Control): java.util.ResourceBundle;
			public getKeys(): java.util.Enumeration<string>;
			public getLocale(): java.util.Locale;
		}
		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: -1;
				public static TTL_NO_EXPIRATION_CONTROL: -2;
				public getTimeToLive(baseName: string, locale: java.util.Locale): number;
				public getCandidateLocales(baseName: string, locale: java.util.Locale): java.util.List<java.util.Locale>;
				public toBundleName(baseName: string, locale: java.util.Locale): string;
				public toResourceName(bundleName: string, suffix: string): string;
				public static getControl(formats: java.util.List<string>): java.util.ResourceBundle.Control;
				public static getNoFallbackControl(formats: java.util.List<string>): java.util.ResourceBundle.Control;
				public needsReload(baseName: string, locale: java.util.Locale, format: string, loader: java.lang.ClassLoader, bundle: java.util.ResourceBundle, loadTime: number): boolean;
				public getFallbackLocale(baseName: string, locale: java.util.Locale): java.util.Locale;
				public getFormats(baseName: string): java.util.List<string>;
				public newBundle(baseName: string, locale: java.util.Locale, format: string, loader: java.lang.ClassLoader, reload: boolean): java.util.ResourceBundle;
				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 useRadix(radix: number): java.util.Scanner;
			public hasNextBigInteger(radix: number): boolean;
			public ioException(): java.io.IOException;
			public match(): java.util.regex.MatchResult;
			public findInLine(pattern: java.util.regex.Pattern): string;
			public hasNextBigInteger(): boolean;
			public constructor(source: java.nio.file.Path, charset: java.nio.charset.Charset);
			public constructor(source: java.nio.channels.ReadableByteChannel, charset: java.nio.charset.Charset);
			public next(): string;
			public nextDouble(): number;
			public nextBigDecimal(): java.math.BigDecimal;
			public useDelimiter(pattern: string): java.util.Scanner;
			public hasNextByte(): boolean;
			public hasNextBigDecimal(): boolean;
			public constructor(source: java.nio.channels.ReadableByteChannel);
			public hasNextInt(): boolean;
			public hasNextLong(radix: number): boolean;
			public constructor(source: java.lang.Readable);
			public constructor(source: string);
			public constructor(source: java.io.File, charsetName: string);
			public next(pattern: string): string;
			public delimiter(): java.util.regex.Pattern;
			public radix(): number;
			public hasNext(): boolean;
			public nextLong(radix: number): number;
			public hasNextFloat(): boolean;
			public constructor(source: java.nio.file.Path);
			public remove(): void;
			public skip(pattern: java.util.regex.Pattern): java.util.Scanner;
			public nextLong(): number;
			public constructor(source: java.nio.file.Path, charsetName: string);
			public next(pattern: java.util.regex.Pattern): string;
			public constructor(source: java.io.InputStream);
			public hasNextDouble(): boolean;
			public hasNextLine(): boolean;
			public hasNextBoolean(): boolean;
			public nextInt(): number;
			public nextShort(radix: number): number;
			public nextByte(radix: number): number;
			public hasNextShort(radix: number): boolean;
			public tokens(): java.util.stream.Stream<string>;
			public hasNext(pattern: java.util.regex.Pattern): boolean;
			public nextInt(radix: number): number;
			public nextBigInteger(radix: number): java.math.BigInteger;
			public constructor(source: java.nio.channels.ReadableByteChannel, charsetName: string);
			public constructor(source: java.io.File);
			public findWithinHorizon(pattern: string, horizon: number): string;
			public hasNextByte(radix: number): boolean;
			public close(): void;
			public useLocale(locale: java.util.Locale): java.util.Scanner;
			public hasNextInt(radix: number): boolean;
			public reset(): java.util.Scanner;
			public constructor(source: java.io.InputStream, charset: java.nio.charset.Charset);
			public nextBoolean(): boolean;
			public nextBigInteger(): java.math.BigInteger;
			public findAll(pattern: java.util.regex.Pattern): java.util.stream.Stream<java.util.regex.MatchResult>;
			public nextByte(): number;
			public useDelimiter(pattern: java.util.regex.Pattern): java.util.Scanner;
			public hasNext(pattern: string): boolean;
			public nextLine(): string;
			public nextFloat(): number;
			public constructor(source: java.io.InputStream, charsetName: string);
			public constructor(source: java.io.File, charset: java.nio.charset.Charset);
			public toString(): string;
			public hasNextLong(): boolean;
			public findAll(patString: string): java.util.stream.Stream<java.util.regex.MatchResult>;
			public hasNextShort(): boolean;
			public skip(pattern: string): java.util.Scanner;
			public locale(): java.util.Locale;
			public findInLine(pattern: string): string;
			public findWithinHorizon(pattern: java.util.regex.Pattern, horizon: number): string;
			public nextShort(): number;
		}
	}
}

declare module java {
	export module util {
		export class SequencedCollection<E>  extends java.util.Collection<any> {
			public static class: java.lang.Class<java.util.SequencedCollection<any>>;
			/**
			 * Constructs a new instance of the java.util.SequencedCollection<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				reversed(): java.util.SequencedCollection<any>;
				addFirst(e: any): void;
				addLast(e: any): void;
				getFirst(): any;
				getLast(): any;
				removeFirst(): any;
				removeLast(): any;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public reversed(): java.util.SequencedCollection<any>;
			public stream(): java.util.stream.Stream<any>;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public addLast(e: any): void;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public addFirst(e: any): void;
			public forEach(action: any /* any*/): void;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public remove(param0: any): boolean;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class SequencedMap<K, V>  extends java.util.Map<any,any> {
			public static class: java.lang.Class<java.util.SequencedMap<any,any>>;
			/**
			 * Constructs a new instance of the java.util.SequencedMap<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				reversed(): java.util.SequencedMap<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>;
				putFirst(k: any, v: any): any;
				putLast(k: any, v: any): any;
				sequencedKeySet(): java.util.SequencedSet<any>;
				sequencedValues(): java.util.SequencedCollection<any>;
				sequencedEntrySet(): java.util.SequencedSet<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(key: any, defaultValue: any): any;
				forEach(action: any /* any<any,any>*/): void;
				replaceAll(function_: any /* any<any,any,any>*/): void;
				putIfAbsent(key: any, value: any): any;
				remove(key: any, value: any): boolean;
				replace(key: any, oldValue: any, newValue: any): boolean;
				replace(key: any, value: any): any;
				computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
				computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
				of(): java.util.Map<any,any>;
				of(k1: any, v1: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				entry(k: any, v: any): java.util.Map.Entry<any,any>;
				copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			});
			public constructor();
			public containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public sequencedKeySet(): java.util.SequencedSet<any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public lastEntry(): java.util.Map.Entry<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public reversed(): java.util.SequencedMap<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public sequencedEntrySet(): java.util.SequencedSet<java.util.Map.Entry<any,any>>;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public putFirst(k: any, v: any): any;
			public get(param0: any): any;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public firstEntry(): java.util.Map.Entry<any,any>;
			public pollFirstEntry(): java.util.Map.Entry<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public sequencedValues(): java.util.SequencedCollection<any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public pollLastEntry(): java.util.Map.Entry<any,any>;
			public putLast(k: any, v: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class SequencedSet<E>  extends java.lang.Object {
			public static class: java.lang.Class<java.util.SequencedSet<any>>;
			/**
			 * Constructs a new instance of the java.util.SequencedSet<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				reversed(): java.util.SequencedSet<E>;
				reversed(): java.util.SequencedCollection<any>;
				reversed(): java.util.SequencedCollection<E>;
				addFirst(e: E): void;
				addLast(e: E): void;
				getFirst(): E;
				getLast(): E;
				removeFirst(): E;
				removeLast(): E;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				add(param0: E): 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<E>;
				of(): java.util.Set<any>;
				of(e1: any): java.util.Set<any>;
				of(e1: any, e2: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
				of(elements: androidNative.Array<any>): java.util.Set<any>;
				copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
				iterator(): java.util.Iterator<any>;
				forEach(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public removeLast(): E;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public iterator(): java.util.Iterator<E>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public spliterator(): java.util.Spliterator<E>;
			public getLast(): E;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public removeIf(filter: any /* any*/): boolean;
			public stream(): java.util.stream.Stream<E>;
			public getFirst(): E;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public parallelStream(): java.util.stream.Stream<E>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public add(param0: E): boolean;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public reversed(): java.util.SequencedCollection<E>;
			public addLast(e: E): void;
			public reversed(): java.util.SequencedSet<E>;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public removeFirst(): E;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			public spliterator(): java.util.Spliterator<any>;
			public addFirst(e: E): void;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public hashCode(): 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(msg: string, cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(msg: 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(service: java.lang.Class<any>): java.util.ServiceLoader<any>;
			public toString(): string;
			public findFirst(): java.util.Optional<any>;
			public static load(service: java.lang.Class<any>, loader: java.lang.ClassLoader): java.util.ServiceLoader<any>;
			public stream(): java.util.stream.Stream<java.util.ServiceLoader.Provider<any>>;
			public static loadInstalled(service: java.lang.Class<any>): java.util.ServiceLoader<any>;
			public forEach(action: any /* any*/): void;
			public reload(): void;
			public spliterator(): java.util.Spliterator<any>;
			public iterator(): java.util.Iterator<any>;
		}
		export module ServiceLoader {
			export class Provider<S>  extends java.lang.Object /* any*/ {
				public static class: java.lang.Class<java.util.ServiceLoader.Provider<any>>;
				/**
				 * Constructs a new instance of the java.util.ServiceLoader$Provider interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					type(): java.lang.Class<any>;
					get(): any;
				});
				public constructor();
				public type(): java.lang.Class<any>;
				public get(): any;
			}
		}
	}
}

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(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.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>;
				of(): java.util.Set<any>;
				of(e1: any): java.util.Set<any>;
				of(e1: any, e2: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
				of(elements: androidNative.Array<any>): java.util.Set<any>;
				copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
			public stream(): java.util.stream.Stream<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public removeIf(filter: any /* any*/): boolean;
			public iterator(): java.util.Iterator<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public add(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			public spliterator(): java.util.Spliterator<any>;
			public parallelStream(): java.util.stream.Stream<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<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: 1;
			public static UTC_TIME: 2;
			public static WALL_TIME: 0;
			public getOffset(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
			public getDSTSavings(): number;
			public getOffset(date: number): number;
			public useDaylightTime(): boolean;
			public setEndRule(endMonth: number, endDay: number, endTime: number): void;
			public constructor(rawOffset: number, ID: string, startMonth: number, startDay: number, startDayOfWeek: number, startTime: number, endMonth: number, endDay: number, endDayOfWeek: number, endTime: number);
			public setStartYear(year: number): void;
			public setStartRule(startMonth: number, startDay: number, startDayOfWeek: number, startTime: number): void;
			public setEndRule(endMonth: number, endDay: number, endDayOfWeek: number, endTime: number): void;
			public getRawOffset(): number;
			public setStartRule(startMonth: number, startDay: number, startDayOfWeek: number, startTime: number, after: boolean): void;
			public observesDaylightTime(): boolean;
			public constructor(rawOffset: number, ID: string, startMonth: number, startDay: number, startDayOfWeek: number, startTime: number, startTimeMode: number, endMonth: number, endDay: number, endDayOfWeek: number, endTime: number, endTimeMode: number, dstSavings: number);
			public inDaylightTime(date: java.util.Date): boolean;
			public getOffset(era: number, year: number, month: number, day: number, dayOfWeek: number, millis: number): number;
			public constructor(rawOffset: number, ID: string);
			public constructor();
			public setRawOffset(offsetMillis: number): void;
			public clone(): any;
			public toString(): string;
			public equals(obj: any): boolean;
			public hasSameRules(other: java.util.TimeZone): boolean;
			public constructor(rawOffset: number, ID: string, startMonth: number, startDay: number, startDayOfWeek: number, startTime: number, endMonth: number, endDay: number, endDayOfWeek: number, endTime: number, dstSavings: number);
			public setEndRule(endMonth: number, endDay: number, endDayOfWeek: number, endTime: number, after: boolean): void;
			public setDSTSavings(millisSavedDuringDST: number): void;
			public setStartRule(startMonth: number, startDay: number, startTime: number): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class SortedMap<K, V>  extends java.lang.Object {
			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: 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>>;
				putFirst(k: K, v: V): V;
				putLast(k: K, v: V): V;
				reversed(): java.util.SortedMap<K,V>;
				reversed(): java.util.SequencedMap<any,any>;
				reversed(): java.util.SequencedMap<K,V>;
				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>;
				putFirst(k: K, v: V): V;
				putLast(k: K, v: V): V;
				sequencedKeySet(): java.util.SequencedSet<K>;
				sequencedValues(): java.util.SequencedCollection<V>;
				sequencedEntrySet(): java.util.SequencedSet<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(key: any, defaultValue: V): V;
				forEach(action: any /* any<any,any>*/): void;
				replaceAll(function_: any /* any<any,any,any>*/): void;
				putIfAbsent(key: K, value: V): V;
				remove(key: any, value: any): boolean;
				replace(key: K, oldValue: V, newValue: V): boolean;
				replace(key: K, value: V): V;
				computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
				computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
				compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
				merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
				of(): java.util.Map<any,any>;
				of(k1: any, v1: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				entry(k: any, v: any): java.util.Map.Entry<any,any>;
				copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
				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(key: any, defaultValue: V): V;
				forEach(action: any /* any<any,any>*/): void;
				replaceAll(function_: any /* any<any,any,any>*/): void;
				putIfAbsent(key: K, value: V): V;
				remove(key: any, value: any): boolean;
				replace(key: K, oldValue: V, newValue: V): boolean;
				replace(key: K, value: V): V;
				computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
				computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
				compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
				merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
				of(): java.util.Map<any,any>;
				of(k1: any, v1: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				entry(k: any, v: any): java.util.Map.Entry<any,any>;
				copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			});
			public constructor();
			public firstEntry(): java.util.Map.Entry<K,V>;
			public put(param0: K, param1: V): V;
			public containsValue(param0: any): boolean;
			public computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: K, value: V): V;
			public static of(): java.util.Map<any,any>;
			public pollFirstEntry(): java.util.Map.Entry<K,V>;
			public reversed(): java.util.SortedMap<K,V>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public reversed(): java.util.SequencedMap<K,V>;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public subMap(param0: K, param1: K): java.util.SortedMap<K,V>;
			public values(): java.util.Collection<V>;
			public clear(): void;
			public putLast(k: K, v: V): V;
			public getOrDefault(key: any, defaultValue: V): V;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public firstKey(): K;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public headMap(param0: K): java.util.SortedMap<K,V>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public entrySet(): java.util.Set<java.util.Map.Entry<K,V>>;
			public equals(param0: any): boolean;
			public lastKey(): K;
			public merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
			public forEach(action: any /* any<any,any>*/): void;
			public sequencedEntrySet(): java.util.SequencedSet<java.util.Map.Entry<K,V>>;
			public sequencedKeySet(): java.util.SequencedSet<K>;
			public keySet(): java.util.Set<K>;
			public tailMap(param0: K): java.util.SortedMap<K,V>;
			public putFirst(k: K, v: V): V;
			public compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public replace(key: K, oldValue: V, newValue: V): boolean;
			public sequencedValues(): java.util.SequencedCollection<V>;
			public size(): number;
			public isEmpty(): boolean;
			public putIfAbsent(key: K, value: V): V;
			public comparator(): java.util.Comparator<any>;
			public computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
			public get(param0: any): V;
			public pollLastEntry(): java.util.Map.Entry<K,V>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public remove(param0: any): V;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			public lastEntry(): java.util.Map.Entry<K,V>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class SortedSet<E>  extends java.lang.Object {
			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: E, param1: E): java.util.SortedSet<E>;
				headSet(param0: E): java.util.SortedSet<E>;
				tailSet(param0: E): java.util.SortedSet<E>;
				first(): E;
				last(): E;
				spliterator(): java.util.Spliterator<E>;
				addFirst(e: E): void;
				addLast(e: E): void;
				getFirst(): E;
				getLast(): E;
				removeFirst(): E;
				removeLast(): E;
				reversed(): java.util.SortedSet<E>;
				reversed(): java.util.SequencedSet<any>;
				reversed(): java.util.SequencedCollection<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				add(param0: E): 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<E>;
				of(): java.util.Set<any>;
				of(e1: any): java.util.Set<any>;
				of(e1: any, e2: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
				of(elements: androidNative.Array<any>): java.util.Set<any>;
				copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
				reversed(): java.util.SequencedSet<E>;
				reversed(): java.util.SequencedCollection<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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>;
				reversed(): java.util.SequencedCollection<E>;
				addFirst(e: E): void;
				addLast(e: E): void;
				getFirst(): E;
				getLast(): E;
				removeFirst(): E;
				removeLast(): E;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				add(param0: E): 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<E>;
				of(): java.util.Set<any>;
				of(e1: any): java.util.Set<any>;
				of(e1: any, e2: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
				of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
				of(elements: androidNative.Array<any>): java.util.Set<any>;
				copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
				iterator(): java.util.Iterator<any>;
				forEach(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<E>;
				toArray(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(): androidNative.Array<any>;
				toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
				iterator(): java.util.Iterator<any>;
				forEach(action: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public removeLast(): E;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public getLast(): E;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public reversed(): java.util.SortedSet<E>;
			public clear(): void;
			public parallelStream(): java.util.stream.Stream<E>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public addLast(e: E): void;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public tailSet(param0: E): java.util.SortedSet<E>;
			public spliterator(): java.util.Spliterator<any>;
			public headSet(param0: E): java.util.SortedSet<E>;
			public addFirst(e: E): void;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public last(): E;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public iterator(): java.util.Iterator<E>;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
			public first(): E;
			public spliterator(): java.util.Spliterator<E>;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public stream(): java.util.stream.Stream<E>;
			public getFirst(): E;
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public comparator(): java.util.Comparator<any>;
			public add(param0: E): boolean;
			public subSet(param0: E, param1: E): java.util.SortedSet<E>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public reversed(): java.util.SequencedCollection<E>;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public reversed(): java.util.SequencedSet<E>;
			public remove(param0: any): boolean;
			public removeFirst(): E;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<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(action: any /* any*/): void;
				trySplit(): java.util.Spliterator<T>;
				estimateSize(): number;
				getExactSizeIfKnown(): number;
				characteristics(): number;
				hasCharacteristics(characteristics: number): boolean;
				getComparator(): java.util.Comparator<any>;
			});
			public constructor();
			public static IMMUTABLE: 1024;
			public static CONCURRENT: 4096;
			public static SORTED: 4;
			public static NONNULL: 256;
			public static SUBSIZED: 16384;
			public static ORDERED: 16;
			public static DISTINCT: 1;
			public static SIZED: 64;
			public forEachRemaining(action: any /* any*/): void;
			public hasCharacteristics(characteristics: number): boolean;
			public estimateSize(): number;
			public trySplit(): java.util.Spliterator<T>;
			public getExactSizeIfKnown(): number;
			public getComparator(): java.util.Comparator<any>;
			public characteristics(): number;
			public tryAdvance(param0: any /* any*/): boolean;
		}
		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(action: any /* any*/): void;
					tryAdvance(action: any /* any*/): boolean;
					forEachRemaining(action: 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(action: any): void;
					trySplit(): java.util.Spliterator<any>;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(action: any /* any*/): void;
					trySplit(): java.util.Spliterator<any>;
					estimateSize(): number;
					getExactSizeIfKnown(): number;
					characteristics(): number;
					hasCharacteristics(characteristics: number): boolean;
					getComparator(): java.util.Comparator<any>;
				});
				public constructor();
				public static IMMUTABLE: 1024;
				public static CONCURRENT: 4096;
				public static SORTED: 4;
				public static NONNULL: 256;
				public static SUBSIZED: 16384;
				public static ORDERED: 16;
				public static DISTINCT: 1;
				public static SIZED: 64;
				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 forEachRemaining(action: any /* any*/): void;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(action: any /* any*/): boolean;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(action: any /* any*/): void;
				public trySplit(): any;
				public forEachRemaining(action: any): void;
				public hasCharacteristics(characteristics: number): boolean;
				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(action: any /* any*/): void;
					tryAdvance(action: any /* any*/): boolean;
					forEachRemaining(action: 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(action: any): void;
					trySplit(): java.util.Spliterator<any>;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(action: any /* any*/): void;
					trySplit(): java.util.Spliterator<any>;
					estimateSize(): number;
					getExactSizeIfKnown(): number;
					characteristics(): number;
					hasCharacteristics(characteristics: number): boolean;
					getComparator(): java.util.Comparator<any>;
				});
				public constructor();
				public static IMMUTABLE: 1024;
				public static CONCURRENT: 4096;
				public static SORTED: 4;
				public static NONNULL: 256;
				public static SUBSIZED: 16384;
				public static ORDERED: 16;
				public static DISTINCT: 1;
				public static SIZED: 64;
				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(action: any /* any*/): boolean;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(action: any /* any*/): void;
				public forEachRemaining(action: any /* any*/): void;
				public trySplit(): any;
				public tryAdvance(param0: any /* any*/): boolean;
				public forEachRemaining(action: any): void;
				public hasCharacteristics(characteristics: number): 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(action: any /* any*/): void;
					tryAdvance(action: any /* any*/): boolean;
					forEachRemaining(action: 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(action: any): void;
					trySplit(): java.util.Spliterator<any>;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(action: any /* any*/): void;
					trySplit(): java.util.Spliterator<any>;
					estimateSize(): number;
					getExactSizeIfKnown(): number;
					characteristics(): number;
					hasCharacteristics(characteristics: number): boolean;
					getComparator(): java.util.Comparator<any>;
				});
				public constructor();
				public static IMMUTABLE: 1024;
				public static CONCURRENT: 4096;
				public static SORTED: 4;
				public static NONNULL: 256;
				public static SUBSIZED: 16384;
				public static ORDERED: 16;
				public static DISTINCT: 1;
				public static SIZED: 64;
				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(action: any /* any*/): boolean;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public tryAdvance(param0: any /* any*/): boolean;
				public forEachRemaining(action: any /* any*/): void;
				public forEachRemaining(action: any /* any*/): void;
				public trySplit(): any;
				public forEachRemaining(action: any): void;
				public hasCharacteristics(characteristics: number): boolean;
				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(action: any): void;
					trySplit(): java.util.Spliterator<any>;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(action: any /* any*/): void;
					trySplit(): java.util.Spliterator<any>;
					estimateSize(): number;
					getExactSizeIfKnown(): number;
					characteristics(): number;
					hasCharacteristics(characteristics: number): boolean;
					getComparator(): java.util.Comparator<any>;
				});
				public constructor();
				public static IMMUTABLE: 1024;
				public static CONCURRENT: 4096;
				public static SORTED: 4;
				public static NONNULL: 256;
				public static SUBSIZED: 16384;
				public static ORDERED: 16;
				public static DISTINCT: 1;
				public static SIZED: 64;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public characteristics(): number;
				public forEachRemaining(action: any /* any*/): void;
				public trySplit(): any;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(param0: any): boolean;
				public forEachRemaining(action: any): void;
				public hasCharacteristics(characteristics: number): 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(array: androidNative.Array<number>, fromIndex: number, toIndex: number, additionalCharacteristics: number): java.util.Spliterator.OfLong;
			public static spliterator(c: java.util.Collection<any>, characteristics: number): java.util.Spliterator<any>;
			public static spliterator(array: androidNative.Array<number>, additionalCharacteristics: number): java.util.Spliterator.OfLong;
			public static spliterator(iterator: java.util.PrimitiveIterator.OfInt, size: number, characteristics: number): java.util.Spliterator.OfInt;
			public static spliteratorUnknownSize(iterator: java.util.PrimitiveIterator.OfDouble, characteristics: number): java.util.Spliterator.OfDouble;
			public static spliterator(array: androidNative.Array<any>, fromIndex: number, toIndex: number, additionalCharacteristics: number): java.util.Spliterator<any>;
			public static spliterator(iterator: java.util.PrimitiveIterator.OfLong, size: number, characteristics: number): java.util.Spliterator.OfLong;
			public static spliteratorUnknownSize(iterator: java.util.PrimitiveIterator.OfInt, characteristics: number): java.util.Spliterator.OfInt;
			public static spliterator(array: androidNative.Array<number>, additionalCharacteristics: number): java.util.Spliterator.OfInt;
			public static spliterator(array: androidNative.Array<number>, fromIndex: number, toIndex: number, additionalCharacteristics: number): java.util.Spliterator.OfInt;
			public static spliterator(iterator: java.util.PrimitiveIterator.OfDouble, size: number, characteristics: number): java.util.Spliterator.OfDouble;
			public static spliteratorUnknownSize(iterator: java.util.Iterator<any>, characteristics: number): java.util.Spliterator<any>;
			public static spliteratorUnknownSize(iterator: java.util.PrimitiveIterator.OfLong, characteristics: number): java.util.Spliterator.OfLong;
			public static emptyLongSpliterator(): java.util.Spliterator.OfLong;
			public static emptyDoubleSpliterator(): java.util.Spliterator.OfDouble;
			public static spliterator(array: androidNative.Array<number>, additionalCharacteristics: number): java.util.Spliterator.OfDouble;
			public static emptySpliterator(): java.util.Spliterator<any>;
			public static emptyIntSpliterator(): java.util.Spliterator.OfInt;
			public static spliterator(array: androidNative.Array<any>, additionalCharacteristics: number): java.util.Spliterator<any>;
			public static iterator(spliterator: java.util.Spliterator<any>): java.util.Iterator<any>;
			public static spliterator(array: androidNative.Array<number>, fromIndex: number, toIndex: number, additionalCharacteristics: number): java.util.Spliterator.OfDouble;
			public static iterator(spliterator: java.util.Spliterator.OfDouble): java.util.PrimitiveIterator.OfDouble;
			public static iterator(spliterator: java.util.Spliterator.OfLong): java.util.PrimitiveIterator.OfLong;
			public static spliterator(iterator: java.util.Iterator<any>, size: number, characteristics: number): java.util.Spliterator<any>;
			public static iterator(spliterator: 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 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 forEachRemaining(action: any /* any*/): void;
				public trySplit(): java.util.Spliterator<any>;
				public constructor(est: number, additionalCharacteristics: number);
				public tryAdvance(action: any /* any*/): boolean;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(action: any /* any*/): void;
				public trySplit(): any;
				public forEachRemaining(action: any): void;
				public hasCharacteristics(characteristics: number): boolean;
				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 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 constructor(est: number, additionalCharacteristics: number);
				public tryAdvance(action: any /* any*/): boolean;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(action: any /* any*/): void;
				public forEachRemaining(action: any /* any*/): void;
				public trySplit(): any;
				public tryAdvance(param0: any /* any*/): boolean;
				public forEachRemaining(action: any): void;
				public hasCharacteristics(characteristics: number): 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 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 constructor(est: number, additionalCharacteristics: number);
				public tryAdvance(action: any /* any*/): boolean;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public tryAdvance(param0: any /* any*/): boolean;
				public forEachRemaining(action: any /* any*/): void;
				public forEachRemaining(action: any /* any*/): void;
				public trySplit(): any;
				public forEachRemaining(action: any): void;
				public hasCharacteristics(characteristics: number): boolean;
				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 tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public characteristics(): number;
				public forEachRemaining(action: any /* any*/): void;
				public trySplit(): java.util.Spliterator<any>;
				public constructor(est: number, additionalCharacteristics: number);
				public hasCharacteristics(characteristics: number): boolean;
				public estimateSize(): number;
				public getExactSizeIfKnown(): number;
			}
		}
	}
}

declare module java {
	export module util {
		export class SplittableRandom extends java.lang.Object implements java.util.random.RandomGenerator, java.util.random.RandomGenerator.SplittableGenerator {
			public static class: java.lang.Class<java.util.SplittableRandom>;
			public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
			public nextBytes(bytes: androidNative.Array<number>): void;
			public splits(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
			public nextDouble(): number;
			public splits(streamSize: number, source: java.util.random.RandomGenerator.SplittableGenerator): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
			public rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
			public doubles(): java.util.stream.DoubleStream;
			public static of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
			public nextFloat(bound: number): number;
			public split(source: java.util.random.RandomGenerator.SplittableGenerator): java.util.SplittableRandom;
			public nextGaussian(): number;
			public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
			public nextGaussian(mean: number, stddev: number): number;
			public splits(param0: number): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
			public longs(streamSize: number): java.util.stream.LongStream;
			public nextInt(bound: number): number;
			public ints(streamSize: number): java.util.stream.IntStream;
			public nextLong(origin: number, bound: number): number;
			public doubles(streamSize: number): java.util.stream.DoubleStream;
			public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
			public constructor();
			public splits(param0: number, param1: java.util.random.RandomGenerator.SplittableGenerator): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
			public nextLong(): number;
			public splits(source: java.util.random.RandomGenerator.SplittableGenerator): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
			public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
			public isDeprecated(): boolean;
			public split(): java.util.random.RandomGenerator.SplittableGenerator;
			public nextInt(): number;
			public static of(name: string): java.util.random.RandomGenerator;
			public longs(): java.util.stream.LongStream;
			public split(param0: java.util.random.RandomGenerator.SplittableGenerator): java.util.random.RandomGenerator.SplittableGenerator;
			public nextDouble(bound: number): number;
			public static getDefault(): java.util.random.RandomGenerator;
			public nextFloat(origin: number, bound: number): number;
			public splits(param0: java.util.random.RandomGenerator.SplittableGenerator): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
			public splits(): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
			public ints(): java.util.stream.IntStream;
			public rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
			public split(): java.util.SplittableRandom;
			public constructor(seed: number);
			public nextLong(bound: number): number;
			public static of(name: string): java.util.random.RandomGenerator.SplittableGenerator;
			public nextBoolean(): boolean;
			public nextInt(origin: number, bound: number): number;
			public nextExponential(): number;
			public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
			public nextFloat(): number;
			public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
			public nextDouble(origin: number, bound: number): number;
		}
	}
}

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 static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
			public addAll(index: number, c: java.util.Collection<any>): boolean;
			public replaceAll(operator: any /* any*/): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
			public addLast(e: any): void;
			public sort(c: java.util.Comparator<any>): void;
			public reversed(): java.util.List<any>;
			public lastIndexOf(o: any, index: number): number;
			public clear(): void;
			public static of(e1: any, e2: any): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor(c: java.util.Collection<any>);
			public listIterator(param0: number): java.util.ListIterator<any>;
			public addFirst(e: any): void;
			public static of(elements: androidNative.Array<any>): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public getFirst(): any;
			public set(param0: number, param1: any): any;
			public static of(): java.util.List<any>;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public getLast(): any;
			public lastIndexOf(param0: any): number;
			public indexOf(o: any, index: number): number;
			public static of(e1: any, e2: any, e3: any): java.util.List<any>;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
			public search(o: any): number;
			public spliterator(): java.util.Spliterator<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
			public constructor(initialCapacity: number);
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public empty(): boolean;
			public static of(e1: any): java.util.List<any>;
			public toArray(): androidNative.Array<any>;
			public push(item: any): any;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public static copyOf(coll: java.util.Collection<any>): java.util.List<any>;
			public get(param0: number): any;
			public remove(index: number): any;
			public add(param0: number, param1: any): void;
			public constructor(initialCapacity: number, capacityIncrement: number);
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(index: number): java.util.ListIterator<any>;
			public pop(): any;
			public subList(param0: number, param1: number): java.util.List<any>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public peek(): any;
			public remove(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public add(index: number, element: any): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			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 constructor(delimiter: string);
			public add(newElement: string): java.util.StringJoiner;
			public merge(other: java.util.StringJoiner): java.util.StringJoiner;
			public toString(): string;
			public length(): number;
			public setEmptyValue(emptyValue: string): java.util.StringJoiner;
			public constructor(delimiter: string, prefix: string, suffix: 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 nextToken(): string;
			public hasMoreElements(): boolean;
			public constructor(str: string);
			public constructor(str: string, delim: string, returnDelims: boolean);
			public constructor(str: string, delim: string);
			public hasMoreTokens(): boolean;
			public nextElement(): any;
			public countTokens(): number;
			public nextToken(delim: string): string;
			public asIterator(): java.util.Iterator<any>;
		}
	}
}

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: 1;
			public static SHORT: 0;
			public getDisplayName(daylightTime: boolean, style: number, locale: java.util.Locale): string;
			public toZoneId(): java.time.ZoneId;
			public static getAvailableIDs(rawOffset: number): androidNative.Array<string>;
			public getOffset(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
			public getDSTSavings(): number;
			public getOffset(date: number): number;
			public useDaylightTime(): boolean;
			public static getTimeZone(zoneId: java.time.ZoneId): java.util.TimeZone;
			public setRawOffset(param0: number): void;
			public constructor();
			public getDisplayName(daylight: boolean, style: number): string;
			public static getTimeZone(id: string): java.util.TimeZone;
			public setID(ID: string): void;
			public getDisplayName(locale: java.util.Locale): string;
			public clone(): any;
			public getRawOffset(): number;
			public hasSameRules(other: java.util.TimeZone): boolean;
			public static getAvailableIDs(): androidNative.Array<string>;
			public observesDaylightTime(): boolean;
			public inDaylightTime(param0: java.util.Date): boolean;
			public static getDefault(): java.util.TimeZone;
			public getID(): string;
			public static setDefault(timeZone: java.util.TimeZone): void;
			public getDisplayName(): string;
		}
	}
}

declare module java {
	export module util {
		export class Timer extends java.lang.Object {
			public static class: java.lang.Class<java.util.Timer>;
			public schedule(task: java.util.TimerTask, delay: number, period: number): void;
			public scheduleAtFixedRate(task: java.util.TimerTask, firstTime: java.util.Date, period: number): void;
			public constructor(isDaemon: boolean);
			public constructor(name: string);
			public constructor(name: string, isDaemon: boolean);
			public scheduleAtFixedRate(task: java.util.TimerTask, delay: number, period: number): void;
			public schedule(task: java.util.TimerTask, time: java.util.Date): void;
			public cancel(): void;
			public constructor();
			public schedule(task: java.util.TimerTask, firstTime: java.util.Date, period: number): void;
			public purge(): number;
			public schedule(task: java.util.TimerTask, delay: number): void;
		}
	}
}

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(message: string);
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 tailMap(fromKey: any, inclusive: boolean): java.util.NavigableMap<any,any>;
			public containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public firstKey(): any;
			public static of(): java.util.Map<any,any>;
			public constructor(m: java.util.Map<any,any>);
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public sequencedKeySet(): java.util.SequencedSet<any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public headMap(param0: any): java.util.SortedMap<any,any>;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public ceilingKey(key: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public lowerKey(param0: any): any;
			public lowerEntry(key: any): java.util.Map.Entry<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 higherKey(key: any): any;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public higherEntry(param0: any): java.util.Map.Entry<any,any>;
			public reversed(): java.util.NavigableMap<any,any>;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public higherEntry(key: any): java.util.Map.Entry<any,any>;
			public floorEntry(key: any): java.util.Map.Entry<any,any>;
			public constructor();
			public lastEntry(): java.util.Map.Entry<any,any>;
			public headMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public clone(): any;
			public reversed(): java.util.SequencedMap<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public lowerEntry(param0: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public lowerKey(key: any): any;
			public ceilingKey(param0: any): any;
			public sequencedEntrySet(): java.util.SequencedSet<java.util.Map.Entry<any,any>>;
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public floorKey(param0: any): any;
			public putFirst(k: any, v: any): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public putAll(map: java.util.Map<any,any>): void;
			public remove(key: any): any;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public lastKey(): any;
			public putIfAbsent(key: any, value: any): 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 static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public sequencedValues(): java.util.SequencedCollection<any>;
			public descendingMap(): java.util.NavigableMap<any,any>;
			public ceilingEntry(key: any): java.util.Map.Entry<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public tailMap(fromKey: any): java.util.SortedMap<any,any>;
			public computeIfAbsent(key: any, mappingFunction: 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 subMap(fromKey: any, toKey: any): java.util.SortedMap<any,any>;
			public constructor(comparator: java.util.Comparator<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 static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public constructor(m: java.util.SortedMap<any,any>);
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public floorKey(key: any): any;
			public subMap(fromKey: any, fromInclusive: boolean, toKey: any, toInclusive: boolean): java.util.NavigableMap<any,any>;
			public putLast(k: any, v: any): any;
			public pollLastEntry(): java.util.Map.Entry<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			public headMap(toKey: any, inclusive: boolean): java.util.NavigableMap<any,any>;
			public headMap(toKey: any): java.util.SortedMap<any,any>;
			public subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableMap<any,any>;
			public reversed(): java.util.SortedMap<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 contains(o: any): boolean;
			public reversed(): java.util.SortedSet<any>;
			public reversed(): java.util.SequencedCollection<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public static of(e1: any): java.util.Set<any>;
			public add(e: any): boolean;
			public first(): any;
			public subSet(fromElement: any, fromInclusive: boolean, toElement: any, toInclusive: boolean): java.util.NavigableSet<any>;
			public static of(e1: any, e2: any): java.util.Set<any>;
			public addLast(e: any): void;
			public ceiling(e: any): any;
			public floor(param0: any): any;
			public headSet(toElement: any): java.util.SortedSet<any>;
			public lower(param0: any): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
			public constructor(s: java.util.SortedSet<any>);
			public clear(): void;
			public higher(e: any): any;
			public reversed(): java.util.SequencedSet<any>;
			public headSet(toElement: any, inclusive: boolean): java.util.NavigableSet<any>;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor(c: java.util.Collection<any>);
			public addFirst(e: any): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
			public static of(elements: androidNative.Array<any>): java.util.Set<any>;
			public constructor();
			public subSet(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableSet<any>;
			public forEach(action: any /* any*/): void;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public pollFirst(): any;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public clone(): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
			public static of(): java.util.Set<any>;
			public tailSet(fromElement: any, inclusive: boolean): java.util.NavigableSet<any>;
			public add(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
			public removeFirst(): any;
			public spliterator(): java.util.Spliterator<any>;
			public descendingSet(): java.util.NavigableSet<any>;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public pollLast(): any;
			public remove(o: any): boolean;
			public higher(param0: any): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
			public tailSet(fromElement: any): java.util.SortedSet<any>;
			public floor(e: any): any;
			public static copyOf(coll: java.util.Collection<any>): java.util.Set<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 toArray(): androidNative.Array<any>;
			public subSet(fromElement: any, toElement: any): java.util.SortedSet<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public ceiling(param0: any): any;
			public last(): any;
			public addAll(c: java.util.Collection<any>): boolean;
			public iterator(): java.util.Iterator<any>;
			public headSet(param0: any): java.util.SortedSet<any>;
			public size(): number;
			public isEmpty(): boolean;
			public comparator(): java.util.Comparator<any>;
			public constructor(comparator: java.util.Comparator<any>);
			public retainAll(param0: java.util.Collection<any>): boolean;
			public lower(e: any): any;
			public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
			public tailSet(param0: any): java.util.SortedSet<any>;
			public remove(param0: any): boolean;
			public headSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
			public reversed(): java.util.NavigableSet<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
			public parallelStream(): java.util.stream.Stream<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 clockSequence(): number;
			public version(): number;
			public node(): number;
			public getMostSignificantBits(): number;
			public static randomUUID(): java.util.UUID;
			public static fromString(name: string): java.util.UUID;
			public static nameUUIDFromBytes(name: androidNative.Array<number>): java.util.UUID;
			public toString(): string;
			public timestamp(): number;
			public equals(obj: any): boolean;
			public variant(): number;
			public compareTo(val: java.util.UUID): number;
			public getLeastSignificantBits(): number;
			public constructor(mostSigBits: number, leastSigBits: number);
			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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 getFlags(): string;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor();
			public constructor(f: 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: androidNative.Array<any>;
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public contains(o: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
			public reversed(): java.util.SequencedCollection<any>;
			public retainAll(c: java.util.Collection<any>): boolean;
			public removeLast(): any;
			public toArray(generator: any /* any*/): androidNative.Array<any>;
			public subList(fromIndex: number, toIndex: number): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
			public lastIndexOf(o: any): number;
			public addAll(index: number, c: java.util.Collection<any>): boolean;
			public replaceAll(operator: any /* any*/): void;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
			public add(e: any): boolean;
			public removeAllElements(): void;
			public addLast(e: any): void;
			public sort(c: java.util.Comparator<any>): void;
			public reversed(): java.util.List<any>;
			public lastIndexOf(o: any, index: number): number;
			public removeElementAt(index: number): void;
			public elements(): java.util.Enumeration<any>;
			public clear(): void;
			public static of(e1: any, e2: any): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
			public copyInto(anArray: androidNative.Array<any>): void;
			public insertElementAt(obj: any, index: number): void;
			public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
			public constructor(c: java.util.Collection<any>);
			public listIterator(param0: number): java.util.ListIterator<any>;
			public addFirst(e: any): void;
			public static of(elements: androidNative.Array<any>): java.util.List<any>;
			public static of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
			public constructor();
			public setSize(newSize: number): void;
			public forEach(action: any /* any*/): void;
			public addAll(param0: java.util.Collection<any>): boolean;
			public getFirst(): any;
			public set(param0: number, param1: any): any;
			public static of(): java.util.List<any>;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public getLast(): any;
			public lastIndexOf(param0: any): number;
			public indexOf(o: any, index: number): number;
			public clone(): any;
			public equals(o: any): boolean;
			public static of(e1: any, e2: any, e3: any): java.util.List<any>;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
			public spliterator(): java.util.Spliterator<any>;
			public set(index: number, element: any): any;
			public get(index: number): any;
			public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
			public equals(param0: any): boolean;
			public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
			public constructor(initialCapacity: number);
			public remove(o: any): boolean;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public static of(e1: any): java.util.List<any>;
			public firstElement(): any;
			public toArray(): androidNative.Array<any>;
			public contains(param0: any): boolean;
			public removeIf(filter: any /* any*/): boolean;
			public static copyOf(coll: java.util.Collection<any>): java.util.List<any>;
			public ensureCapacity(minCapacity: number): void;
			public get(param0: number): any;
			public remove(index: number): any;
			public addAll(c: java.util.Collection<any>): boolean;
			public add(param0: number, param1: any): void;
			public constructor(initialCapacity: number, capacityIncrement: number);
			public removeElement(obj: any): boolean;
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(index: number): java.util.ListIterator<any>;
			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 removeAll(c: java.util.Collection<any>): boolean;
			public toString(): string;
			public indexOf(o: any): number;
			public removeRange(fromIndex: number, toIndex: number): void;
			public listIterator(): java.util.ListIterator<any>;
			public capacity(): number;
			public trimToSize(): void;
			public containsAll(c: java.util.Collection<any>): boolean;
			public add(index: number, element: any): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public elementAt(index: number): any;
			public setElementAt(obj: any, index: number): void;
			public addElement(obj: any): void;
			public indexOf(param0: any): number;
			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 containsValue(param0: any): boolean;
			public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
			public replace(key: any, value: any): any;
			public static of(): java.util.Map<any,any>;
			public constructor(m: java.util.Map<any,any>);
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
			public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
			public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public putAll(m: java.util.Map<any,any>): void;
			public static of(k1: any, v1: any): java.util.Map<any,any>;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			public clear(): void;
			public get(key: any): any;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
			public constructor(initialCapacity: number, loadFactor: number);
			public constructor();
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
			public getOrDefault(key: any, defaultValue: any): any;
			public put(key: any, value: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
			public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public remove(key: any, value: any): boolean;
			public replace(key: any, oldValue: any, newValue: any): boolean;
			public equals(param0: any): boolean;
			public constructor(initialCapacity: number);
			public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
			public get(param0: any): any;
			public containsKey(key: any): boolean;
			public remove(key: any): any;
			public containsValue(value: any): boolean;
			public forEach(action: any /* any<any,any>*/): void;
			public putIfAbsent(key: any, value: any): any;
			public remove(param0: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
			public replaceAll(function_: any /* any<any,any,any>*/): void;
			public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
			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 invokeAny(tasks: java.util.Collection<any>, timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public isTerminated(): boolean;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public newTaskFor(callable: 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(runnable: java.lang.Runnable, value: any): java.util.concurrent.RunnableFuture<any>;
				public invokeAny(param0: java.util.Collection<any>): any;
				public constructor();
				public invokeAll(tasks: java.util.Collection<any>): java.util.List<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 submit(task: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public execute(param0: java.lang.Runnable): void;
				public invokeAny(tasks: java.util.Collection<any>): any;
				public isShutdown(): boolean;
				public submit(task: java.lang.Runnable): java.util.concurrent.Future<any>;
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public invokeAll(tasks: java.util.Collection<any>, timeout: number, unit: java.util.concurrent.TimeUnit): java.util.List<any>;
				public submit(task: java.lang.Runnable, result: any): java.util.concurrent.Future<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 toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public addAll(param0: java.util.Collection<any>): boolean;
				public constructor();
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public put(e: any): void;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public constructor(capacity: number);
				public stream(): java.util.stream.Stream<any>;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				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 removeIf(filter: any /* any*/): boolean;
				public offer(e: any): boolean;
				public constructor(capacity: number, fair: boolean);
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public drainTo(c: java.util.Collection<any>): number;
				public retainAll(c: java.util.Collection<any>): boolean;
				public parallelStream(): java.util.stream.Stream<any>;
				public poll(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public peek(): any;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public removeAll(c: java.util.Collection<any>): boolean;
				public add(e: any): boolean;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any): boolean;
				public clear(): void;
				public constructor(capacity: number, fair: boolean, c: java.util.Collection<any>);
				public remove(param0: any): boolean;
				public remove(): any;
				public contains(o: any): boolean;
				public element(): any;
				public offer(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public remove(o: any): boolean;
				public drainTo(param0: java.util.Collection<any>): number;
				public toArray(): androidNative.Array<any>;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public drainTo(c: java.util.Collection<any>, maxElements: number): 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;
					addAll(param0: java.util.Collection<any>): boolean;
					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>;
					reversed(): java.util.Deque<E>;
					reversed(): java.util.SequencedCollection<any>;
					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;
					reversed(): java.util.SequencedCollection<E>;
					addFirst(e: E): void;
					addLast(e: E): void;
					getFirst(): E;
					getLast(): E;
					removeFirst(): E;
					removeLast(): E;
					size(): number;
					isEmpty(): boolean;
					contains(param0: any): boolean;
					iterator(): java.util.Iterator<E>;
					toArray(): androidNative.Array<any>;
					toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
					toArray(generator: any /* any*/): androidNative.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(filter: 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(): androidNative.Array<any>;
					toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
					toArray(generator: any /* any*/): androidNative.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(filter: 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(): androidNative.Array<any>;
					toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
					toArray(generator: any /* any*/): androidNative.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(filter: 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(action: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
					iterator(): java.util.Iterator<any>;
					forEach(action: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
					iterator(): java.util.Iterator<any>;
					forEach(action: 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 offerFirst(param0: E): boolean;
				public removeLastOccurrence(param0: any): boolean;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public stream(): java.util.stream.Stream<E>;
				public addFirst(e: E): void;
				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 forEach(action: any /* any*/): void;
				public remove(): E;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public size(): number;
				public removeLast(): E;
				public spliterator(): java.util.Spliterator<E>;
				public removeIf(filter: any /* any*/): boolean;
				public offer(param0: E, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public addLast(e: E): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public peek(): E;
				public pollLast(): E;
				public reversed(): java.util.SequencedCollection<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 drainTo(param0: java.util.Collection<any>, param1: number): number;
				public drainTo(param0: java.util.Collection<any>): number;
				public putLast(param0: E): void;
				public toArray(): androidNative.Array<any>;
				public reversed(): java.util.Deque<E>;
				public peekLast(): E;
				public add(param0: E): boolean;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public removeFirstOccurrence(param0: any): boolean;
				public pollFirst(): E;
				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(): androidNative.Array<any>;
					toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
					toArray(generator: any /* any*/): androidNative.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(filter: 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(action: 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 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 toArray(generator: any /* any*/): androidNative.Array<any>;
				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 drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* 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 toArray(): androidNative.Array<any>;
				public removeIf(filter: any /* any*/): boolean;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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 static runAsync(runnable: java.lang.Runnable, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public whenCompleteAsync(param0: any /* any<any,any>*/): java.util.concurrent.CompletionStage<T>;
				public static failedFuture(ex: java.lang.Throwable): java.util.concurrent.CompletableFuture<any>;
				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 exceptionallyCompose(fn: any /* any<java.lang.Throwable,any>*/): 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 exceptionallyComposeAsync(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
				public exceptionallyComposeAsync(fn: any /* any<java.lang.Throwable,any>*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<T>;
				public completeExceptionally(ex: java.lang.Throwable): boolean;
				public applyToEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public static anyOf(cfs: androidNative.Array<java.util.concurrent.CompletableFuture<any>>): java.util.concurrent.CompletableFuture<any>;
				public cancel(param0: boolean): boolean;
				public runAfterBothAsync(other: java.util.concurrent.CompletionStage<any>, action: java.lang.Runnable, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public orTimeout(timeout: number, unit: java.util.concurrent.TimeUnit): java.util.concurrent.CompletableFuture<T>;
				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 exceptionallyAsync(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
				public thenComposeAsync(fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenRun(action: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public minimalCompletionStage(): java.util.concurrent.CompletionStage<T>;
				public static delayedExecutor(delay: number, unit: java.util.concurrent.TimeUnit): java.util.concurrent.Executor;
				public thenRunAsync(action: java.lang.Runnable, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public getNow(valueIfAbsent: T): T;
				public exceptionallyAsync(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletableFuture<T>;
				public static allOf(cfs: androidNative.Array<java.util.concurrent.CompletableFuture<any>>): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public whenCompleteAsync(action: any /* any<any,any>*/): java.util.concurrent.CompletableFuture<T>;
				public isDone(): boolean;
				public copy(): java.util.concurrent.CompletableFuture<T>;
				public exceptionally(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletableFuture<T>;
				public thenAcceptBothAsync(other: java.util.concurrent.CompletionStage<any>, action: 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 exceptionallyComposeAsync(fn: any /* any<java.lang.Throwable,any>*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<T>;
				public obtrudeValue(value: T): void;
				public thenComposeAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public cancel(mayInterruptIfRunning: boolean): boolean;
				public completeAsync(supplier: any /* any*/): java.util.concurrent.CompletableFuture<T>;
				public acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenAcceptAsync(action: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public static failedStage(ex: java.lang.Throwable): 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 thenComposeAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public static delayedExecutor(delay: number, unit: java.util.concurrent.TimeUnit, executor: java.util.concurrent.Executor): java.util.concurrent.Executor;
				public exceptionallyAsync(fn: any /* any<java.lang.Throwable,any>*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<T>;
				public acceptEither(other: java.util.concurrent.CompletionStage<any>, action: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public completeAsync(supplier: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<T>;
				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 exceptionallyAsync(fn: any /* any<java.lang.Throwable,any>*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<T>;
				public thenComposeAsync(fn: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public handleAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public newIncompleteFuture(): 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 complete(value: T): boolean;
				public thenCombineAsync(other: java.util.concurrent.CompletionStage<any>, fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public runAfterBothAsync(other: java.util.concurrent.CompletionStage<any>, action: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public runAfterEither(other: java.util.concurrent.CompletionStage<any>, action: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public exceptionallyComposeAsync(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletableFuture<T>;
				public isCancelled(): boolean;
				public thenRunAsync(param0: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public obtrudeException(ex: java.lang.Throwable): void;
				public thenApply(fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public applyToEitherAsync(other: java.util.concurrent.CompletionStage<any>, fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public whenCompleteAsync(action: any /* any<any,any>*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<T>;
				public runAfterBoth(other: java.util.concurrent.CompletionStage<any>, action: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public thenCombine(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public static completedFuture(value: any): java.util.concurrent.CompletableFuture<any>;
				public getNumberOfDependents(): number;
				public handleAsync(fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public constructor();
				public runAfterBoth(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public whenComplete(action: any /* any<any,any>*/): java.util.concurrent.CompletableFuture<T>;
				public thenCombineAsync(other: java.util.concurrent.CompletionStage<any>, fn: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public static runAsync(runnable: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public runAfterEitherAsync(other: java.util.concurrent.CompletionStage<any>, action: java.lang.Runnable, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public static completedStage(value: any): java.util.concurrent.CompletionStage<any>;
				public handleAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public exceptionallyCompose(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletableFuture<T>;
				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 thenApplyAsync(fn: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				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 handle(fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenAccept(action: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public acceptEitherAsync(other: java.util.concurrent.CompletionStage<any>, action: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public exceptionally(param0: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
				public static supplyAsync(supplier: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public runAfterEitherAsync(other: java.util.concurrent.CompletionStage<any>, action: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public thenRun(param0: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenCompose(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public handleAsync(fn: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<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 toCompletableFuture(): java.util.concurrent.CompletableFuture<T>;
				public thenAcceptBothAsync(other: java.util.concurrent.CompletionStage<any>, action: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public thenCompose(fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenAcceptBoth(other: java.util.concurrent.CompletionStage<any>, action: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenCombine(other: java.util.concurrent.CompletionStage<any>, fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenAcceptAsync(action: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public thenRunAsync(action: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public completeOnTimeout(value: T, timeout: number, unit: java.util.concurrent.TimeUnit): java.util.concurrent.CompletableFuture<T>;
				public static supplyAsync(supplier: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public get(timeout: number, unit: java.util.concurrent.TimeUnit): T;
				public applyToEitherAsync(other: java.util.concurrent.CompletionStage<any>, fn: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public handle(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenApplyAsync(fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public defaultExecutor(): java.util.concurrent.Executor;
				public applyToEither(other: java.util.concurrent.CompletionStage<any>, fn: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public acceptEitherAsync(other: java.util.concurrent.CompletionStage<any>, action: any /* any*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public get(): any;
			}
			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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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>;
					exceptionallyAsync(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
					exceptionallyAsync(fn: any /* any<java.lang.Throwable,any>*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<T>;
					exceptionallyCompose(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
					exceptionallyComposeAsync(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
					exceptionallyComposeAsync(fn: any /* any<java.lang.Throwable,any>*/, executor: java.util.concurrent.Executor): 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 exceptionallyCompose(fn: 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 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 exceptionallyComposeAsync(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
				public exceptionallyComposeAsync(fn: any /* any<java.lang.Throwable,any>*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<T>;
				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 exceptionallyAsync(fn: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
				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 exceptionallyAsync(fn: any /* any<java.lang.Throwable,any>*/, executor: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<T>;
				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 putAll(param0: java.util.Map<any,any>): void;
				public forEachValue(parallelismThreshold: number, transformer: any /* any*/, action: any /* any*/): void;
				public reduce(parallelismThreshold: number, transformer: any /* any*/, reducer: any /* any*/): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				public constructor();
				public remove(param0: any, param1: any): boolean;
				public getOrDefault(key: any, defaultValue: any): any;
				public keys(): java.util.Enumeration<any>;
				public putIfAbsent(param0: any, param1: any): any;
				public elements(): java.util.Enumeration<any>;
				public reduceKeys(parallelismThreshold: number, transformer: any /* any*/, reducer: any /* any*/): any;
				public forEach(action: any /* any<any,any>*/): void;
				public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				public remove(param0: any): any;
				public hashCode(): number;
				public forEachEntry(parallelismThreshold: number, action: any /* any*/): void;
				public equals(param0: any): boolean;
				public forEach(parallelismThreshold: number, action: any /* any<any,any>*/): void;
				public constructor(initialCapacity: number, loadFactor: number, concurrencyLevel: number);
				public isEmpty(): boolean;
				public replace(key: any, value: any): any;
				public containsValue(param0: any): boolean;
				public searchKeys(parallelismThreshold: number, searchFunction: any /* any*/): any;
				public reduceValues(parallelismThreshold: number, transformer: any /* any*/, reducer: any /* any*/): any;
				public reduceEntries(parallelismThreshold: number, reducer: any /* any<java.util.Map.Entry<any,any>,java.util.Map.Entry<any,any>,any>*/): java.util.Map.Entry<any,any>;
				public replace(param0: any, param1: any): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				public reduceValuesToDouble(parallelismThreshold: number, transformer: any /* any*/, basis: number, reducer: any /* any*/): number;
				public remove(key: any): any;
				public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				public reduceEntries(parallelismThreshold: number, transformer: any /* any*/, reducer: any /* any*/): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				public toString(): string;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				public reduceEntriesToInt(parallelismThreshold: number, transformer: any /* any<java.util.Map.Entry<any,any>>*/, basis: number, reducer: any /* any*/): number;
				public keySet(): java.util.Set<any>;
				public size(): number;
				public reduceToDouble(parallelismThreshold: number, transformer: any /* any<any,any>*/, basis: number, reducer: any /* any*/): number;
				public reduceToLong(parallelismThreshold: number, transformer: any /* any<any,any>*/, basis: number, reducer: any /* any*/): number;
				public static of(k1: any, v1: any): java.util.Map<any,any>;
				public reduceValuesToInt(parallelismThreshold: number, transformer: any /* any*/, basis: number, reducer: any /* any*/): number;
				public put(param0: any, param1: any): any;
				public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				public constructor(initialCapacity: number);
				public reduceToInt(parallelismThreshold: number, transformer: any /* any<any,any>*/, basis: number, reducer: any /* any*/): number;
				public reduceKeysToDouble(parallelismThreshold: number, transformer: any /* any*/, basis: number, reducer: any /* any*/): number;
				public forEachKey(parallelismThreshold: number, transformer: any /* any*/, action: any /* any*/): void;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
				public get(param0: any): any;
				public reduceEntriesToLong(parallelismThreshold: number, transformer: any /* any<java.util.Map.Entry<any,any>>*/, basis: number, reducer: any /* any*/): number;
				public containsKey(key: any): boolean;
				public static newKeySet(): java.util.concurrent.ConcurrentHashMap.KeySetView<any,any>;
				public forEach(parallelismThreshold: number, transformer: any /* any*/, action: any /* any*/): void;
				public forEachValue(parallelismThreshold: number, action: any /* any*/): void;
				public searchEntries(parallelismThreshold: number, searchFunction: any /* any*/): any;
				public replace(key: any, oldValue: any, newValue: any): boolean;
				public reduceKeysToLong(parallelismThreshold: number, transformer: any /* any*/, basis: number, reducer: any /* any*/): number;
				public contains(value: any): boolean;
				public containsKey(param0: any): boolean;
				public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				public replaceAll(function_: any /* any<any,any,any>*/): void;
				public reduceKeys(parallelismThreshold: number, reducer: any /* any<any,any,any>*/): any;
				public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
				public clear(): void;
				public search(parallelismThreshold: number, searchFunction: any /* any*/): any;
				public remove(key: any, value: any): boolean;
				public equals(o: any): boolean;
				public containsValue(value: any): boolean;
				public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				public put(key: any, value: any): any;
				public replace(param0: any, param1: any, param2: any): boolean;
				public values(): java.util.Collection<any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				public reduceValuesToLong(parallelismThreshold: number, transformer: any /* any*/, basis: number, reducer: any /* any*/): number;
				public forEachEntry(parallelismThreshold: number, transformer: any /* any*/, action: any /* any*/): void;
				public reduceEntriesToDouble(parallelismThreshold: number, transformer: any /* any<java.util.Map.Entry<any,any>>*/, basis: number, reducer: any /* any*/): number;
				public searchValues(parallelismThreshold: number, searchFunction: any /* any*/): any;
				public reduceKeysToInt(parallelismThreshold: number, transformer: any /* any*/, basis: number, reducer: any /* any*/): number;
				public constructor(initialCapacity: number, loadFactor: number);
				public get(key: any): any;
				public static of(): java.util.Map<any,any>;
				public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
				public reduceValues(parallelismThreshold: number, reducer: any /* any<any,any,any>*/): any;
				public putIfAbsent(key: any, value: any): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				public putAll(m: java.util.Map<any,any>): void;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				public static newKeySet(initialCapacity: number): java.util.concurrent.ConcurrentHashMap.KeySetView<any,any>;
				public constructor(m: java.util.Map<any,any>);
				public forEachKey(parallelismThreshold: number, action: any /* any*/): void;
				public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
				public keySet(mappedValue: any): java.util.concurrent.ConcurrentHashMap.KeySetView<any,any>;
				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 static of(e1: any, e2: any): java.util.Set<any>;
					public isEmpty(): boolean;
					public add(param0: any): boolean;
					public getMappedValue(): V;
					public spliterator(): java.util.Spliterator<any>;
					public containsAll(param0: java.util.Collection<any>): boolean;
					public addAll(c: java.util.Collection<any>): boolean;
					public size(): number;
					public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
					public equals(o: any): boolean;
					public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
					public contains(o: any): boolean;
					public iterator(): java.util.Iterator<K>;
					public toString(): string;
					public iterator(): java.util.Iterator<any>;
					public removeAll(c: java.util.Collection<any>): boolean;
					public static of(e1: any): java.util.Set<any>;
					public clear(): void;
					public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
					public static of(elements: androidNative.Array<any>): java.util.Set<any>;
					public remove(o: any): boolean;
					public toArray(generator: any /* any*/): androidNative.Array<any>;
					public containsAll(c: java.util.Collection<any>): boolean;
					public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
					public hashCode(): number;
					public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
					public getMap(): java.util.concurrent.ConcurrentHashMap<K,V>;
					public contains(param0: any): boolean;
					public forEach(action: any /* any*/): void;
					public remove(param0: any): boolean;
					public removeAll(param0: java.util.Collection<any>): boolean;
					public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
					public parallelStream(): java.util.stream.Stream<any>;
					public static of(): java.util.Set<any>;
					public toArray(): androidNative.Array<any>;
					public retainAll(c: java.util.Collection<any>): boolean;
					public retainAll(param0: java.util.Collection<any>): boolean;
					public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
					public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
					public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
					public equals(param0: any): boolean;
					public add(e: K): boolean;
					public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
					public removeIf(filter: any /* any*/): boolean;
					public spliterator(): java.util.Spliterator<K>;
					public stream(): java.util.stream.Stream<any>;
					public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				}
			}
		}
	}
}

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 addLast(e: any): void;
				public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public addAll(param0: java.util.Collection<any>): boolean;
				public constructor();
				public removeLastOccurrence(param0: any): boolean;
				public addFirst(e: any): void;
				public add(param0: any): boolean;
				public removeFirstOccurrence(o: any): boolean;
				public hashCode(): number;
				public push(e: any): void;
				public equals(param0: any): boolean;
				public constructor(c: java.util.Collection<any>);
				public addAll(c: java.util.Collection<any>): boolean;
				public descendingIterator(): java.util.Iterator<any>;
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public addLast(param0: any): void;
				public offerFirst(param0: any): boolean;
				public offerFirst(e: any): boolean;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public iterator(): java.util.Iterator<any>;
				public offerLast(param0: any): boolean;
				public peekFirst(): any;
				public forEach(action: any /* any*/): void;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(): any;
				public size(): number;
				public peekLast(): any;
				public removeIf(filter: any /* any*/): boolean;
				public addFirst(param0: any): void;
				public offer(e: any): boolean;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public retainAll(c: java.util.Collection<any>): boolean;
				public removeLast(): any;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public reversed(): java.util.SequencedCollection<any>;
				public removeAll(c: java.util.Collection<any>): boolean;
				public offerLast(e: any): boolean;
				public add(e: any): boolean;
				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 remove(): any;
				public contains(o: any): boolean;
				public getLast(): any;
				public element(): any;
				public getFirst(): any;
				public remove(o: any): boolean;
				public removeFirst(): any;
				public toArray(): androidNative.Array<any>;
				public removeLastOccurrence(o: any): boolean;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public removeFirstOccurrence(param0: any): boolean;
				public reversed(): java.util.Deque<any>;
				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 toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public removeAll(c: java.util.Collection<any>): boolean;
				public constructor();
				public add(e: any): boolean;
				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 constructor(c: java.util.Collection<any>);
				public addAll(c: java.util.Collection<any>): boolean;
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public contains(o: 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 remove(o: any): boolean;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(): any;
				public size(): number;
				public toArray(): androidNative.Array<any>;
				public removeIf(filter: any /* any*/): boolean;
				public offer(e: any): boolean;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public retainAll(c: java.util.Collection<any>): boolean;
			}
		}
	}
}

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(key: any, defaultValue: any): any;
					forEach(action: 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(function_: any /* any<any,any,any>*/): void;
					computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
					computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
					compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
					merge(key: any, value: any, remappingFunction: 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(key: any, defaultValue: any): any;
					forEach(action: any /* any<any,any>*/): void;
					replaceAll(function_: any /* any<any,any,any>*/): void;
					putIfAbsent(key: any, value: any): any;
					remove(key: any, value: any): boolean;
					replace(key: any, oldValue: any, newValue: any): boolean;
					replace(key: any, value: any): any;
					computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
					computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
					compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
					merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
					of(): java.util.Map<any,any>;
					of(k1: any, v1: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
					ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
					entry(k: any, v: any): java.util.Map.Entry<any,any>;
					copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
				});
				public constructor();
				public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
				public get(param0: any): any;
				public putAll(param0: java.util.Map<any,any>): void;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				public replace(key: any, oldValue: any, newValue: any): boolean;
				public containsKey(param0: any): boolean;
				public remove(param0: any, param1: any): boolean;
				public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				public getOrDefault(key: any, defaultValue: any): any;
				public putIfAbsent(param0: any, param1: any): any;
				public forEach(action: any /* any<any,any>*/): void;
				public replaceAll(function_: any /* any<any,any,any>*/): void;
				public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				public remove(param0: any): any;
				public hashCode(): number;
				public clear(): void;
				public equals(param0: any): boolean;
				public remove(key: any, value: any): boolean;
				public isEmpty(): boolean;
				public replace(key: any, value: any): any;
				public computeIfPresent(key: any, remappingFunction: 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 static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				public replace(param0: any, param1: any): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				public static of(): java.util.Map<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
				public keySet(): java.util.Set<any>;
				public size(): number;
				public putIfAbsent(key: any, value: any): any;
				public static of(k1: any, v1: any): java.util.Map<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				public put(param0: any, param1: any): any;
				public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
			}
		}
	}
}

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(key: any, defaultValue: V): V;
					forEach(action: 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(function_: any /* any<any,any,any>*/): void;
					computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
					computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
					compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
					merge(key: K, value: V, remappingFunction: 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>;
					reversed(): java.util.NavigableMap<K,V>;
					reversed(): java.util.SortedMap<any,any>;
					reversed(): java.util.SequencedMap<any,any>;
					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(key: any, defaultValue: V): V;
					forEach(action: any /* any<any,any>*/): void;
					replaceAll(function_: any /* any<any,any,any>*/): void;
					putIfAbsent(key: K, value: V): V;
					remove(key: any, value: any): boolean;
					replace(key: K, oldValue: V, newValue: V): boolean;
					replace(key: K, value: V): V;
					computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
					computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
					compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
					merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
					of(): java.util.Map<any,any>;
					of(k1: any, v1: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
					ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
					entry(k: any, v: any): java.util.Map.Entry<any,any>;
					copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
					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>>;
					putFirst(k: K, v: V): V;
					putLast(k: K, v: V): V;
					reversed(): java.util.SortedMap<K,V>;
					reversed(): java.util.SequencedMap<any,any>;
					reversed(): java.util.SequencedMap<K,V>;
					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>;
					putFirst(k: K, v: V): V;
					putLast(k: K, v: V): V;
					sequencedKeySet(): java.util.SequencedSet<K>;
					sequencedValues(): java.util.SequencedCollection<V>;
					sequencedEntrySet(): java.util.SequencedSet<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(key: any, defaultValue: V): V;
					forEach(action: any /* any<any,any>*/): void;
					replaceAll(function_: any /* any<any,any,any>*/): void;
					putIfAbsent(key: K, value: V): V;
					remove(key: any, value: any): boolean;
					replace(key: K, oldValue: V, newValue: V): boolean;
					replace(key: K, value: V): V;
					computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
					computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
					compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
					merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
					of(): java.util.Map<any,any>;
					of(k1: any, v1: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
					ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
					entry(k: any, v: any): java.util.Map.Entry<any,any>;
					copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
					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(key: any, defaultValue: V): V;
					forEach(action: any /* any<any,any>*/): void;
					replaceAll(function_: any /* any<any,any,any>*/): void;
					putIfAbsent(key: K, value: V): V;
					remove(key: any, value: any): boolean;
					replace(key: K, oldValue: V, newValue: V): boolean;
					replace(key: K, value: V): V;
					computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
					computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
					compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
					merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
					of(): java.util.Map<any,any>;
					of(k1: any, v1: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
					of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
					ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
					entry(k: any, v: any): java.util.Map.Entry<any,any>;
					copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
				});
				public constructor();
				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 merge(key: K, value: V, remappingFunction: any /* any<any,any,any>*/): V;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				public keySet(): java.util.Set<K>;
				public lastKey(): K;
				public remove(param0: any, param1: any): boolean;
				public replace(param0: K, param1: V, param2: V): boolean;
				public remove(param0: any): V;
				public forEach(action: any /* any<any,any>*/): void;
				public pollFirstEntry(): java.util.Map.Entry<K,V>;
				public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public sequencedEntrySet(): java.util.SequencedSet<java.util.Map.Entry<K,V>>;
				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 static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				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 static of(k1: any, v1: any): java.util.Map<any,any>;
				public lowerKey(param0: K): K;
				public ceilingEntry(param0: K): java.util.Map.Entry<K,V>;
				public reversed(): java.util.SequencedMap<K,V>;
				public compute(key: K, remappingFunction: any /* any<any,any,any>*/): V;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				public headMap(param0: K): java.util.SortedMap<K,V>;
				public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
				public getOrDefault(key: any, defaultValue: V): V;
				public reversed(): java.util.NavigableMap<K,V>;
				public computeIfPresent(key: K, remappingFunction: any /* any<any,any,any>*/): V;
				public tailMap(param0: K): java.util.SortedMap<K,V>;
				public reversed(): 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 replace(key: K, oldValue: V, newValue: V): boolean;
				public put(param0: K, param1: V): V;
				public computeIfAbsent(key: K, mappingFunction: any /* any<any,any>*/): V;
				public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				public replaceAll(function_: any /* any<any,any,any>*/): void;
				public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
				public descendingMap(): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public clear(): void;
				public remove(key: any, value: any): boolean;
				public putIfAbsent(key: K, value: V): V;
				public higherEntry(param0: K): java.util.Map.Entry<K,V>;
				public replace(key: K, value: V): V;
				public lastEntry(): java.util.Map.Entry<K,V>;
				public firstEntry(): java.util.Map.Entry<K,V>;
				public navigableKeySet(): java.util.NavigableSet<K>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				public headMap(param0: K, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public higherKey(param0: K): K;
				public sequencedKeySet(): java.util.SequencedSet<K>;
				public headMap(param0: K): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public putLast(k: K, v: V): V;
				public sequencedValues(): java.util.SequencedCollection<V>;
				public putIfAbsent(param0: K, param1: V): V;
				public static of(): java.util.Map<any,any>;
				public tailMap(param0: K, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public headMap(param0: K, param1: boolean): java.util.NavigableMap<K,V>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				public get(param0: any): V;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				public firstKey(): K;
				public descendingMap(): java.util.NavigableMap<K,V>;
				public tailMap(param0: K, param1: boolean): java.util.NavigableMap<K,V>;
				public putFirst(k: K, v: V): 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 sequencedEntrySet(): java.util.SequencedSet<java.util.Map.Entry<any,any>>;
				public lowerEntry(param0: any): java.util.Map.Entry<any,any>;
				public remove(param0: any, param1: any): boolean;
				public getOrDefault(key: any, defaultValue: any): any;
				public putIfAbsent(param0: any, param1: any): any;
				public sequencedValues(): java.util.SequencedCollection<any>;
				public lowerKey(key: any): any;
				public forEach(action: any /* any<any,any>*/): void;
				public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				public navigableKeySet(): java.util.NavigableSet<any>;
				public remove(param0: any): any;
				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 keySet(): java.util.NavigableSet<any>;
				public replace(param0: any, param1: any): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				public higherEntry(key: any): java.util.Map.Entry<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				public size(): number;
				public static of(k1: any, v1: any): java.util.Map<any,any>;
				public higherKey(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 compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				public floorEntry(param0: any): java.util.Map.Entry<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				public containsKey(key: any): boolean;
				public replace(key: any, oldValue: any, newValue: any): boolean;
				public headMap(param0: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public replaceAll(function_: any /* any<any,any,any>*/): void;
				public floorEntry(key: any): java.util.Map.Entry<any,any>;
				public clear(): void;
				public lowerKey(param0: any): any;
				public containsValue(value: any): boolean;
				public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				public floorKey(key: any): any;
				public subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableMap<any,any>;
				public lowerEntry(key: any): java.util.Map.Entry<any,any>;
				public descendingMap(): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public subMap(fromKey: any, toKey: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public reversed(): java.util.SortedMap<any,any>;
				public lastEntry(): java.util.Map.Entry<any,any>;
				public static of(): java.util.Map<any,any>;
				public ceilingEntry(param0: any): java.util.Map.Entry<any,any>;
				public pollFirstEntry(): java.util.Map.Entry<any,any>;
				public headMap(toKey: any, inclusive: boolean): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				public floorKey(param0: any): any;
				public descendingKeySet(): java.util.NavigableSet<any>;
				public constructor(m: java.util.Map<any,any>);
				public subMap(fromKey: any, fromInclusive: boolean, toKey: any, toInclusive: boolean): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public subMap(param0: any, param1: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				public constructor();
				public tailMap(param0: any): java.util.SortedMap<any,any>;
				public headMap(toKey: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public firstEntry(): java.util.Map.Entry<any,any>;
				public reversed(): java.util.NavigableMap<any,any>;
				public hashCode(): number;
				public clone(): any;
				public equals(param0: any): boolean;
				public replace(key: any, value: any): any;
				public containsValue(param0: any): boolean;
				public higherKey(key: any): any;
				public remove(key: any): any;
				public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				public keySet(): java.util.Set<any>;
				public firstKey(): any;
				public tailMap(fromKey: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public ceilingEntry(key: any): java.util.Map.Entry<any,any>;
				public ceilingKey(param0: any): any;
				public constructor(m: java.util.SortedMap<any,any>);
				public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
				public get(param0: any): any;
				public lastKey(): any;
				public containsKey(param0: any): boolean;
				public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
				public constructor(comparator: java.util.Comparator<any>);
				public remove(key: any, value: any): boolean;
				public tailMap(fromKey: any, inclusive: boolean): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public ceilingKey(key: any): any;
				public equals(o: any): boolean;
				public put(key: any, value: any): any;
				public replace(param0: any, param1: any, param2: any): boolean;
				public values(): java.util.Collection<any>;
				public putFirst(k: any, v: any): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				public headMap(param0: any): java.util.SortedMap<any,any>;
				public putLast(k: any, v: any): any;
				public subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public get(key: any): any;
				public tailMap(param0: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
				public descendingMap(): java.util.NavigableMap<any,any>;
				public tailMap(param0: any, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public putIfAbsent(key: any, value: any): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				public reversed(): java.util.SequencedMap<any,any>;
				public sequencedKeySet(): java.util.SequencedSet<any>;
				public subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
				public merge(key: any, value: any, remappingFunction: any /* any<any,any,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 addLast(e: any): void;
				public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public addAll(param0: java.util.Collection<any>): boolean;
				public headSet(toElement: any, inclusive: boolean): java.util.NavigableSet<any>;
				public headSet(param0: any): java.util.SortedSet<any>;
				public constructor();
				public addFirst(e: any): void;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
				public ceiling(e: any): any;
				public add(param0: any): boolean;
				public headSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
				public hashCode(): number;
				public clone(): any;
				public equals(param0: any): boolean;
				public constructor(c: java.util.Collection<any>);
				public descendingIterator(): java.util.Iterator<any>;
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public comparator(): java.util.Comparator<any>;
				public static of(e1: any): java.util.Set<any>;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				public higher(param0: any): any;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public static of(): java.util.Set<any>;
				public stream(): java.util.stream.Stream<any>;
				public iterator(): java.util.Iterator<any>;
				public headSet(toElement: any): java.util.NavigableSet<any>;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
				public forEach(action: any /* any*/): void;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public subSet(param0: any, param1: any): java.util.SortedSet<any>;
				public size(): number;
				public removeIf(filter: any /* any*/): boolean;
				public lower(param0: any): any;
				public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
				public reversed(): java.util.NavigableSet<any>;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public constructor(s: java.util.SortedSet<any>);
				public higher(e: any): any;
				public removeLast(): any;
				public parallelStream(): java.util.stream.Stream<any>;
				public floor(e: any): any;
				public subSet(fromElement: any, fromInclusive: boolean, toElement: any, toInclusive: boolean): java.util.NavigableSet<any>;
				public reversed(): java.util.SequencedCollection<any>;
				public reversed(): java.util.SequencedSet<any>;
				public removeAll(c: java.util.Collection<any>): boolean;
				public reversed(): java.util.SortedSet<any>;
				public tailSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
				public add(e: any): boolean;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public static of(elements: androidNative.Array<any>): java.util.Set<any>;
				public pollLast(): any;
				public clear(): void;
				public constructor(comparator: java.util.Comparator<any>);
				public equals(o: any): boolean;
				public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
				public static of(e1: any, e2: any): java.util.Set<any>;
				public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
				public tailSet(param0: any): java.util.SortedSet<any>;
				public remove(param0: any): boolean;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
				public contains(o: any): boolean;
				public tailSet(fromElement: any): java.util.NavigableSet<any>;
				public last(): any;
				public getLast(): any;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
				public lower(e: any): any;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
				public remove(o: any): boolean;
				public getFirst(): any;
				public removeFirst(): any;
				public subSet(fromElement: any, toElement: any): java.util.NavigableSet<any>;
				public toArray(): androidNative.Array<any>;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public floor(param0: any): any;
				public subSet(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableSet<any>;
				public first(): any;
				public clone(): java.util.concurrent.ConcurrentSkipListSet<any>;
				public tailSet(fromElement: any, inclusive: boolean): java.util.NavigableSet<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 indexOf(o: any): number;
				public indexOf(param0: any): number;
				public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public addAll(param0: java.util.Collection<any>): boolean;
				public add(index: number, element: E): void;
				public removeFirst(): E;
				public getFirst(): E;
				public listIterator(): java.util.ListIterator<E>;
				public constructor();
				public static of(e1: any, e2: any): java.util.List<any>;
				public static of(e1: any, e2: any, e3: any, e4: any): java.util.List<any>;
				public hashCode(): number;
				public clone(): any;
				public equals(param0: any): boolean;
				public static of(): java.util.List<any>;
				public constructor(c: java.util.Collection<any>);
				public addAll(c: java.util.Collection<any>): boolean;
				public addAll(param0: number, param1: java.util.Collection<any>): boolean;
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public lastIndexOf(param0: any): number;
				public stream(): java.util.stream.Stream<E>;
				public lastIndexOf(e: E, index: number): number;
				public get(param0: number): E;
				public addFirst(e: E): void;
				public listIterator(index: number): java.util.ListIterator<E>;
				public spliterator(): java.util.Spliterator<any>;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.List<any>;
				public contains(param0: any): boolean;
				public listIterator(param0: number): java.util.ListIterator<E>;
				public iterator(): java.util.Iterator<any>;
				public getLast(): E;
				public forEach(action: any /* any*/): void;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public add(e: E): boolean;
				public containsAll(c: java.util.Collection<any>): boolean;
				public size(): number;
				public removeLast(): E;
				public addAllAbsent(c: java.util.Collection<any>): number;
				public spliterator(): java.util.Spliterator<E>;
				public removeIf(filter: any /* any*/): boolean;
				public add(param0: number, param1: E): void;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.List<any>;
				public reversed(): java.util.List<E>;
				public addLast(e: E): void;
				public static of(elements: androidNative.Array<any>): java.util.List<any>;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public static of(e1: any): java.util.List<any>;
				public get(index: number): E;
				public retainAll(c: java.util.Collection<any>): boolean;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.List<any>;
				public reversed(): java.util.SequencedCollection<E>;
				public lastIndexOf(o: any): number;
				public parallelStream(): java.util.stream.Stream<E>;
				public set(index: number, element: E): E;
				public removeAll(c: java.util.Collection<any>): boolean;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.List<any>;
				public addIfAbsent(e: E): boolean;
				public replaceAll(operator: any /* any*/): void;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public clear(): void;
				public iterator(): java.util.Iterator<E>;
				public equals(o: any): boolean;
				public set(param0: number, param1: E): E;
				public remove(index: number): E;
				public remove(param0: any): boolean;
				public contains(o: any): boolean;
				public constructor(toCopyIn: androidNative.Array<E>);
				public indexOf(e: E, index: number): number;
				public sort(c: java.util.Comparator<any>): void;
				public subList(fromIndex: number, toIndex: number): java.util.List<E>;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.List<any>;
				public static of(e1: any, e2: any, e3: any): java.util.List<any>;
				public remove(o: any): boolean;
				public remove(param0: number): E;
				public subList(param0: number, param1: number): java.util.List<E>;
				public toArray(): androidNative.Array<any>;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public add(param0: E): boolean;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.List<any>;
				public addAll(index: number, c: java.util.Collection<any>): boolean;
				public static copyOf(coll: java.util.Collection<any>): java.util.List<any>;
			}
		}
	}
}

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 toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public addAll(param0: java.util.Collection<any>): boolean;
				public removeAll(c: java.util.Collection<any>): boolean;
				public constructor();
				public add(e: any): boolean;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any): java.util.Set<any>;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public static of(elements: androidNative.Array<any>): java.util.Set<any>;
				public add(param0: any): boolean;
				public hashCode(): number;
				public clear(): void;
				public equals(param0: any): boolean;
				public constructor(c: java.util.Collection<any>);
				public addAll(c: java.util.Collection<any>): boolean;
				public equals(o: any): boolean;
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public static of(e1: any, e2: any, e3: any): java.util.Set<any>;
				public static of(e1: any, e2: any): java.util.Set<any>;
				public static of(e1: any, e2: any, e3: any, e4: any): java.util.Set<any>;
				public static of(e1: any): java.util.Set<any>;
				public remove(param0: any): boolean;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any): java.util.Set<any>;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any): java.util.Set<any>;
				public contains(o: any): boolean;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any, e10: any): java.util.Set<any>;
				public stream(): java.util.stream.Stream<any>;
				public static of(): java.util.Set<any>;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any): java.util.Set<any>;
				public remove(o: any): boolean;
				public iterator(): java.util.Iterator<any>;
				public static of(e1: any, e2: any, e3: any, e4: any, e5: any, e6: any, e7: any, e8: any, e9: any): java.util.Set<any>;
				public forEach(action: any /* any*/): void;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public containsAll(c: java.util.Collection<any>): boolean;
				public size(): number;
				public toArray(): androidNative.Array<any>;
				public removeIf(filter: any /* any*/): boolean;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public static copyOf(coll: java.util.Collection<any>): java.util.Set<any>;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public retainAll(c: java.util.Collection<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 constructor(count: number);
				public countDown(): void;
				public await(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public getCount(): number;
				public await(): void;
				public toString(): string;
			}
		}
	}
}

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 setRawResult(t: any): void;
				public exec(): boolean;
				public firstComplete(): java.util.concurrent.CountedCompleter<any>;
				public onExceptionalCompletion(ex: java.lang.Throwable, caller: java.util.concurrent.CountedCompleter<any>): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public constructor();
				public getCompleter(): java.util.concurrent.CountedCompleter<any>;
				public constructor(completer: java.util.concurrent.CountedCompleter<any>);
				public addToPendingCount(delta: number): void;
				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 onCompletion(caller: java.util.concurrent.CountedCompleter<any>): void;
				public propagateCompletion(): void;
				public tryComplete(): void;
				public helpComplete(maxTasks: number): void;
				public getRoot(): java.util.concurrent.CountedCompleter<any>;
				public setPendingCount(count: number): void;
				public isDone(): boolean;
				public constructor(completer: java.util.concurrent.CountedCompleter<any>, initialPendingCount: number);
				public compareAndSetPendingCount(expected: number, count: number): boolean;
				public get(): any;
				public isCancelled(): boolean;
				public complete(rawResult: any): void;
				public get(timeout: number, unit: java.util.concurrent.TimeUnit): any;
			}
		}
	}
}

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(parties: number);
				public constructor(parties: number, barrierAction: java.lang.Runnable);
				public getNumberWaiting(): number;
				public isBroken(): boolean;
				public getParties(): number;
				public await(timeout: number, unit: java.util.concurrent.TimeUnit): number;
			}
		}
	}
}

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 poll(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public toArray(a: androidNative.Array<any>): androidNative.Array<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();
				public add(e: 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 constructor(c: java.util.Collection<any>);
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public put(e: any): void;
				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 offer(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public remove(o: any): boolean;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* 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 toArray(): androidNative.Array<any>;
				public removeIf(filter: any /* any*/): boolean;
				public offer(e: any): boolean;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public drainTo(c: java.util.Collection<any>, maxElements: number): number;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public drainTo(c: java.util.Collection<any>): number;
			}
		}
	}
}

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(x: V): V;
				public exchange(x: V, timeout: number, unit: 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 poll(): java.util.concurrent.Future<any>;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public constructor(executor: java.util.concurrent.Executor, completionQueue: java.util.concurrent.BlockingQueue<java.util.concurrent.Future<any>>);
				public constructor(executor: java.util.concurrent.Executor);
				public take(): java.util.concurrent.Future<any>;
				public poll(timeout: number, unit: java.util.concurrent.TimeUnit): java.util.concurrent.Future<any>;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): java.util.concurrent.Future<any>;
				public submit(task: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public submit(task: java.lang.Runnable, result: 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>;
				/** @deprecated */
				public static privilegedCallable(callable: java.util.concurrent.Callable<any>): java.util.concurrent.Callable<any>;
				public static newFixedThreadPool(nThreads: number, threadFactory: java.util.concurrent.ThreadFactory): java.util.concurrent.ExecutorService;
				public static newWorkStealingPool(): java.util.concurrent.ExecutorService;
				public static unconfigurableScheduledExecutorService(executor: java.util.concurrent.ScheduledExecutorService): java.util.concurrent.ScheduledExecutorService;
				/** @deprecated */
				public static privilegedThreadFactory(): java.util.concurrent.ThreadFactory;
				public static callable(action: java.security.PrivilegedExceptionAction<any>): java.util.concurrent.Callable<any>;
				public static callable(task: java.lang.Runnable): java.util.concurrent.Callable<any>;
				public static newScheduledThreadPool(corePoolSize: number): java.util.concurrent.ScheduledExecutorService;
				public static newCachedThreadPool(): java.util.concurrent.ExecutorService;
				public static unconfigurableExecutorService(executor: java.util.concurrent.ExecutorService): java.util.concurrent.ExecutorService;
				public static newFixedThreadPool(nThreads: number): java.util.concurrent.ExecutorService;
				public static newSingleThreadScheduledExecutor(): java.util.concurrent.ScheduledExecutorService;
				public static defaultThreadFactory(): java.util.concurrent.ThreadFactory;
				public static newSingleThreadScheduledExecutor(threadFactory: java.util.concurrent.ThreadFactory): java.util.concurrent.ScheduledExecutorService;
				public static newScheduledThreadPool(corePoolSize: number, threadFactory: java.util.concurrent.ThreadFactory): java.util.concurrent.ScheduledExecutorService;
				public static callable(action: java.security.PrivilegedAction<any>): java.util.concurrent.Callable<any>;
				public static newSingleThreadExecutor(): java.util.concurrent.ExecutorService;
				public static callable(task: java.lang.Runnable, result: any): java.util.concurrent.Callable<any>;
				public static newWorkStealingPool(parallelism: number): java.util.concurrent.ExecutorService;
				public static newSingleThreadExecutor(threadFactory: java.util.concurrent.ThreadFactory): java.util.concurrent.ExecutorService;
				/** @deprecated */
				public static privilegedCallableUsingCurrentClassLoader(callable: java.util.concurrent.Callable<any>): java.util.concurrent.Callable<any>;
				public static newCachedThreadPool(threadFactory: java.util.concurrent.ThreadFactory): java.util.concurrent.ExecutorService;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Flow extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.Flow>;
				public static defaultBufferSize(): number;
			}
			export module Flow {
				export class Processor<T, R>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.Flow.Processor<any,any>>;
					/**
					 * Constructs a new instance of the java.util.concurrent.Flow$Processor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onSubscribe(param0: java.util.concurrent.Flow.Subscription): void;
						onNext(param0: T): void;
						onError(param0: java.lang.Throwable): void;
						onComplete(): void;
						subscribe(param0: java.util.concurrent.Flow.Subscriber<any>): void;
					});
					public constructor();
					public subscribe(param0: java.util.concurrent.Flow.Subscriber<any>): void;
					public onComplete(): void;
					public onSubscribe(param0: java.util.concurrent.Flow.Subscription): void;
					public onNext(param0: T): void;
					public onError(param0: java.lang.Throwable): void;
				}
				export class Publisher<T>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.Flow.Publisher<any>>;
					/**
					 * Constructs a new instance of the java.util.concurrent.Flow$Publisher interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						subscribe(param0: java.util.concurrent.Flow.Subscriber<any>): void;
					});
					public constructor();
					public subscribe(param0: java.util.concurrent.Flow.Subscriber<any>): void;
				}
				export class Subscriber<T>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.Flow.Subscriber<any>>;
					/**
					 * Constructs a new instance of the java.util.concurrent.Flow$Subscriber interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onSubscribe(param0: java.util.concurrent.Flow.Subscription): void;
						onNext(param0: T): void;
						onError(param0: java.lang.Throwable): void;
						onComplete(): void;
					});
					public constructor();
					public onComplete(): void;
					public onSubscribe(param0: java.util.concurrent.Flow.Subscription): void;
					public onNext(param0: T): void;
					public onError(param0: java.lang.Throwable): void;
				}
				export class Subscription extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.Flow.Subscription>;
					/**
					 * Constructs a new instance of the java.util.concurrent.Flow$Subscription interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						request(param0: number): void;
						cancel(): void;
					});
					public constructor();
					public cancel(): void;
					public request(param0: number): void;
				}
			}
		}
	}
}

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 invokeAny(tasks: java.util.Collection<any>, timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public getAsyncMode(): boolean;
				public isTerminated(): boolean;
				public newTaskFor(runnable: java.lang.Runnable, value: any): java.util.concurrent.RunnableFuture<any>;
				public getStealCount(): number;
				public constructor();
				public invokeAll(tasks: java.util.Collection<any>): java.util.List<any>;
				public submit(task: java.util.concurrent.Callable<any>): java.util.concurrent.ForkJoinTask<any>;
				public shutdown(): void;
				public submit(task: java.util.concurrent.ForkJoinTask<any>): java.util.concurrent.ForkJoinTask<any>;
				public getFactory(): java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory;
				public isShutdown(): boolean;
				public drainTasksTo(c: java.util.Collection<any>): number;
				public execute(task: java.lang.Runnable): void;
				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 static managedBlock(blocker: java.util.concurrent.ForkJoinPool.ManagedBlocker): void;
				public constructor(parallelism: number);
				public invoke(task: java.util.concurrent.ForkJoinTask<any>): any;
				public getActiveThreadCount(): number;
				public newTaskFor(callable: java.util.concurrent.Callable<any>): java.util.concurrent.RunnableFuture<any>;
				public constructor(parallelism: number, factory: java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory, handler: java.lang.Thread.UncaughtExceptionHandler, asyncMode: boolean, corePoolSize: number, maximumPoolSize: number, minimumRunnable: number, saturate: any /* any*/, keepAliveTime: number, unit: java.util.concurrent.TimeUnit);
				public static commonPool(): java.util.concurrent.ForkJoinPool;
				public toString(): string;
				public awaitTermination(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public submit(task: java.lang.Runnable): java.util.concurrent.ForkJoinTask<any>;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public submit(task: java.lang.Runnable, result: any): java.util.concurrent.Future<any>;
				public submit(task: java.lang.Runnable, result: any): java.util.concurrent.ForkJoinTask<any>;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public isTerminating(): boolean;
				public constructor(parallelism: number, factory: java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory, handler: java.lang.Thread.UncaughtExceptionHandler, asyncMode: boolean);
				public execute(task: java.util.concurrent.ForkJoinTask<any>): void;
				public hasQueuedSubmissions(): boolean;
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public submit(task: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public invokeAny(tasks: java.util.Collection<any>): any;
				public invokeAll(tasks: java.util.Collection<any>, timeout: number, unit: java.util.concurrent.TimeUnit): java.util.List<any>;
				public getParallelism(): number;
				public pollSubmission(): java.util.concurrent.ForkJoinTask<any>;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public getRunningThreadCount(): number;
				public getQueuedSubmissionCount(): number;
				public getQueuedTaskCount(): number;
				public getUncaughtExceptionHandler(): java.lang.Thread.UncaughtExceptionHandler;
				public invokeAny(param0: java.util.Collection<any>): any;
				public awaitQuiescence(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public submit(task: java.lang.Runnable): java.util.concurrent.Future<any>;
				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 complete(value: V): void;
				public reinitialize(): void;
				public isCompletedNormally(): boolean;
				public exec(): boolean;
				public static invokeAll(t1: java.util.concurrent.ForkJoinTask<any>, t2: java.util.concurrent.ForkJoinTask<any>): void;
				public static adapt(runnable: java.lang.Runnable, result: any): java.util.concurrent.ForkJoinTask<any>;
				public fork(): java.util.concurrent.ForkJoinTask<V>;
				public static inForkJoinPool(): boolean;
				public static invokeAll(tasks: java.util.Collection<any>): java.util.Collection<any>;
				public static getPool(): java.util.concurrent.ForkJoinPool;
				public completeExceptionally(ex: java.lang.Throwable): void;
				public static adapt(callable: java.util.concurrent.Callable<any>): java.util.concurrent.ForkJoinTask<any>;
				public constructor();
				public isCompletedAbnormally(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				public setForkJoinTaskTag(newValue: number): number;
				public cancel(mayInterruptIfRunning: boolean): boolean;
				public quietlyInvoke(): void;
				public tryUnfork(): boolean;
				public static getQueuedTaskCount(): number;
				public cancel(param0: boolean): boolean;
				public static helpQuiesce(): void;
				public static getSurplusQueuedTaskCount(): number;
				public static peekNextLocalTask(): java.util.concurrent.ForkJoinTask<any>;
				public quietlyJoin(): void;
				public static pollNextLocalTask(): java.util.concurrent.ForkJoinTask<any>;
				public getForkJoinTaskTag(): number;
				public compareAndSetForkJoinTaskTag(expect: number, update: number): boolean;
				public quietlyComplete(): void;
				public get(timeout: number, unit: java.util.concurrent.TimeUnit): V;
				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 invokeAll(tasks: androidNative.Array<java.util.concurrent.ForkJoinTask<any>>): void;
				public static pollTask(): java.util.concurrent.ForkJoinTask<any>;
				public static adapt(runnable: java.lang.Runnable): java.util.concurrent.ForkJoinTask<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 onTermination(exception: java.lang.Throwable): void;
				public constructor(name: string);
				public constructor(pool: java.util.concurrent.ForkJoinPool);
				public constructor(group: java.lang.ThreadGroup, name: string);
				public constructor(target: java.lang.Runnable, name: string);
				public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string, stackSize: number, inheritThreadLocals: boolean);
				public constructor(target: java.lang.Runnable);
				public constructor();
				public getPoolIndex(): number;
				public getPool(): java.util.concurrent.ForkJoinPool;
				public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string, stackSize: number);
				public run(): void;
				public constructor(group: java.lang.ThreadGroup, target: java.lang.Runnable, name: string);
				public onStart(): void;
				public constructor(group: java.lang.ThreadGroup, target: 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 set(v: any): void;
				public done(): void;
				public runAndReset(): boolean;
				public toString(): string;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public isDone(): boolean;
				public run(): void;
				public cancel(mayInterruptIfRunning: boolean): boolean;
				public setException(t: java.lang.Throwable): void;
				public constructor(callable: java.util.concurrent.Callable<any>);
				public get(): any;
				public cancel(param0: boolean): boolean;
				public isCancelled(): boolean;
				public constructor(runnable: java.lang.Runnable, result: any);
				public get(timeout: number, unit: 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 addLast(e: any): void;
				public pollLast(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public pollFirst(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public addAll(param0: java.util.Collection<any>): boolean;
				public putFirst(param0: any): void;
				public offerFirst(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public constructor();
				public removeLastOccurrence(param0: any): boolean;
				public addFirst(e: any): void;
				public take(): any;
				public add(param0: any): boolean;
				public removeFirstOccurrence(o: any): boolean;
				public hashCode(): number;
				public push(e: any): void;
				public equals(param0: any): boolean;
				public constructor(c: java.util.Collection<any>);
				public addAll(c: java.util.Collection<any>): boolean;
				public descendingIterator(): java.util.Iterator<any>;
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public addLast(param0: any): void;
				public isEmpty(): boolean;
				public put(e: any): void;
				public offerLast(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public offerFirst(param0: any): boolean;
				public offerFirst(e: any): boolean;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public constructor(capacity: number);
				public stream(): java.util.stream.Stream<any>;
				public iterator(): java.util.Iterator<any>;
				public offerLast(param0: any): boolean;
				public putFirst(e: any): void;
				public peekFirst(): any;
				public forEach(action: any /* any*/): void;
				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 removeIf(filter: any /* any*/): boolean;
				public addFirst(param0: any): void;
				public offer(e: any): boolean;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public drainTo(c: java.util.Collection<any>): number;
				public putLast(param0: any): void;
				public retainAll(c: java.util.Collection<any>): boolean;
				public removeLast(): any;
				public parallelStream(): java.util.stream.Stream<any>;
				public poll(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public peek(): any;
				public pollLast(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public reversed(): java.util.SequencedCollection<any>;
				public removeAll(c: java.util.Collection<any>): boolean;
				public putLast(e: any): void;
				public offerLast(e: any): boolean;
				public add(e: any): boolean;
				public offerFirst(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				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 pollFirst(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public remove(param0: any): boolean;
				public takeLast(): any;
				public remove(): any;
				public contains(o: any): boolean;
				public getLast(): any;
				public element(): any;
				public offer(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public getFirst(): any;
				public remove(o: any): boolean;
				public removeFirst(): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public toArray(): androidNative.Array<any>;
				public offerLast(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public removeLastOccurrence(o: any): boolean;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public drainTo(c: java.util.Collection<any>, maxElements: number): number;
				public removeFirstOccurrence(param0: any): boolean;
				public takeFirst(): any;
				public reversed(): java.util.Deque<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 poll(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public toArray(a: androidNative.Array<any>): androidNative.Array<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 removeAll(c: java.util.Collection<any>): boolean;
				public constructor();
				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 constructor(c: java.util.Collection<any>);
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public put(e: any): void;
				public remove(param0: any): boolean;
				public remove(): any;
				public contains(o: any): boolean;
				public spliterator(): java.util.Spliterator<any>;
				public element(): any;
				public contains(param0: any): boolean;
				public constructor(capacity: number);
				public stream(): java.util.stream.Stream<any>;
				public offer(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public remove(o: any): boolean;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				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 toArray(): androidNative.Array<any>;
				public removeIf(filter: any /* any*/): boolean;
				public offer(e: any): boolean;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public remainingCapacity(): number;
				public drainTo(c: java.util.Collection<any>, maxElements: number): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public drainTo(c: java.util.Collection<any>): number;
				public retainAll(c: java.util.Collection<any>): boolean;
			}
		}
	}
}

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 toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public addAll(param0: java.util.Collection<any>): boolean;
				public constructor();
				public tryTransfer(e: any): boolean;
				public tryTransfer(param0: any): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public constructor(c: java.util.Collection<any>);
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public put(e: any): void;
				public spliterator(): java.util.Spliterator<any>;
				public tryTransfer(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public tryTransfer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				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 poll(): any;
				public size(): number;
				public removeIf(filter: any /* any*/): boolean;
				public getWaitingConsumerCount(): number;
				public offer(e: any): boolean;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public drainTo(c: java.util.Collection<any>): number;
				public retainAll(c: java.util.Collection<any>): boolean;
				public parallelStream(): java.util.stream.Stream<any>;
				public poll(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public peek(): any;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public removeAll(c: java.util.Collection<any>): boolean;
				public hasWaitingConsumer(): boolean;
				public add(e: any): boolean;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public transfer(e: any): void;
				public offer(param0: any): boolean;
				public clear(): void;
				public remove(param0: any): boolean;
				public remove(): any;
				public contains(o: any): boolean;
				public element(): any;
				public offer(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public remove(o: any): boolean;
				public drainTo(param0: java.util.Collection<any>): number;
				public toArray(): androidNative.Array<any>;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public drainTo(c: java.util.Collection<any>, maxElements: number): number;
			}
		}
	}
}

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 arrive(): number;
				public constructor(parties: number);
				public getPhase(): number;
				public awaitAdvance(phase: number): number;
				public getRoot(): java.util.concurrent.Phaser;
				public isTerminated(): boolean;
				public getUnarrivedParties(): number;
				public forceTermination(): void;
				public onAdvance(phase: number, registeredParties: number): boolean;
				public register(): number;
				public getParent(): java.util.concurrent.Phaser;
				public toString(): string;
				public constructor(parent: java.util.concurrent.Phaser);
				public constructor();
				public getArrivedParties(): number;
				public arriveAndDeregister(): number;
				public arriveAndAwaitAdvance(): number;
				public bulkRegister(parties: number): number;
				public getRegisteredParties(): number;
				public awaitAdvanceInterruptibly(phase: number, timeout: number, unit: java.util.concurrent.TimeUnit): number;
				public constructor(parent: java.util.concurrent.Phaser, parties: number);
				public awaitAdvanceInterruptibly(phase: number): 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 toArray(a: androidNative.Array<any>): androidNative.Array<any>;
				public addAll(param0: java.util.Collection<any>): boolean;
				public constructor(initialCapacity: number, comparator: java.util.Comparator<any>);
				public constructor();
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public constructor(c: java.util.Collection<any>);
				public toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public put(e: any): void;
				public comparator(): java.util.Comparator<any>;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				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 removeIf(filter: any /* any*/): boolean;
				public offer(e: any): boolean;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public constructor(initialCapacity: number);
				public drainTo(c: java.util.Collection<any>): number;
				public retainAll(c: java.util.Collection<any>): boolean;
				public parallelStream(): java.util.stream.Stream<any>;
				public poll(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public peek(): any;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public removeAll(c: java.util.Collection<any>): boolean;
				public add(e: any): boolean;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any): boolean;
				public clear(): void;
				public remove(param0: any): boolean;
				public remove(): any;
				public contains(o: any): boolean;
				public element(): any;
				public offer(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public remove(o: any): boolean;
				public drainTo(param0: java.util.Collection<any>): number;
				public toArray(): androidNative.Array<any>;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public drainTo(c: java.util.Collection<any>, maxElements: number): 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 setRawResult(mustBeNull: java.lang.Void): void;
				public exec(): boolean;
				public setRawResult(param0: any): void;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public constructor();
				public isDone(): boolean;
				public getRawResult(): any;
				public get(): any;
				public cancel(param0: boolean): boolean;
				public compute(): void;
				public isCancelled(): boolean;
				public get(timeout: number, unit: java.util.concurrent.TimeUnit): any;
			}
		}
	}
}

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 get(): any;
				public cancel(param0: boolean): boolean;
				public setRawResult(value: any): void;
				public isCancelled(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public constructor();
				public get(timeout: number, unit: java.util.concurrent.TimeUnit): any;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 schedule(command: java.lang.Runnable, delay: number, unit: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public setExecuteExistingDelayedTasksAfterShutdownPolicy(value: boolean): void;
				public invokeAny(tasks: java.util.Collection<any>, timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public isTerminated(): boolean;
				public constructor(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number, unit: java.util.concurrent.TimeUnit, workQueue: java.util.concurrent.BlockingQueue<java.lang.Runnable>, handler: java.util.concurrent.RejectedExecutionHandler);
				public constructor(corePoolSize: number, handler: java.util.concurrent.RejectedExecutionHandler);
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public constructor();
				public getExecuteExistingDelayedTasksAfterShutdownPolicy(): boolean;
				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 submit(task: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public setRemoveOnCancelPolicy(value: boolean): void;
				public constructor(corePoolSize: number, threadFactory: java.util.concurrent.ThreadFactory, handler: java.util.concurrent.RejectedExecutionHandler);
				public isShutdown(): boolean;
				public constructor(corePoolSize: number, threadFactory: java.util.concurrent.ThreadFactory);
				public execute(command: java.lang.Runnable): void;
				public invokeAll(tasks: java.util.Collection<any>, timeout: number, unit: java.util.concurrent.TimeUnit): java.util.List<any>;
				public constructor(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number, unit: java.util.concurrent.TimeUnit, workQueue: java.util.concurrent.BlockingQueue<java.lang.Runnable>, threadFactory: java.util.concurrent.ThreadFactory);
				public scheduleWithFixedDelay(command: java.lang.Runnable, initialDelay: number, delay: number, unit: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public decorateTask(callable: java.util.concurrent.Callable<any>, task: java.util.concurrent.RunnableScheduledFuture<any>): java.util.concurrent.RunnableScheduledFuture<any>;
				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 schedule(param0: java.util.concurrent.Callable<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public constructor(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number, unit: java.util.concurrent.TimeUnit, workQueue: java.util.concurrent.BlockingQueue<java.lang.Runnable>);
				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(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number, unit: java.util.concurrent.TimeUnit, workQueue: java.util.concurrent.BlockingQueue<java.lang.Runnable>, threadFactory: java.util.concurrent.ThreadFactory, handler: java.util.concurrent.RejectedExecutionHandler);
				public constructor(corePoolSize: number);
				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 setContinueExistingPeriodicTasksAfterShutdownPolicy(value: boolean): void;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				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 scheduleAtFixedRate(command: java.lang.Runnable, initialDelay: number, period: number, unit: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public submit(task: java.lang.Runnable): java.util.concurrent.Future<any>;
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public decorateTask(runnable: java.lang.Runnable, task: java.util.concurrent.RunnableScheduledFuture<any>): java.util.concurrent.RunnableScheduledFuture<any>;
				public submit(task: java.lang.Runnable, result: any): java.util.concurrent.Future<any>;
				public schedule(callable: java.util.concurrent.Callable<any>, delay: number, unit: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				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 release(): void;
				public tryAcquire(permits: number): boolean;
				public acquire(permits: number): void;
				public reducePermits(reduction: number): void;
				public tryAcquire(permits: number, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public availablePermits(): number;
				public drainPermits(): number;
				public toString(): string;
				public hasQueuedThreads(): boolean;
				public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
				public acquireUninterruptibly(): void;
				public tryAcquire(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public release(permits: number): void;
				public acquireUninterruptibly(permits: number): void;
				public tryAcquire(): boolean;
				public constructor(permits: number);
				public constructor(permits: number, fair: boolean);
				public isFair(): boolean;
				public acquire(): void;
				public getQueueLength(): number;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class SubmissionPublisher<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.SubmissionPublisher<any>>;
				public getSubscribers(): java.util.List<java.util.concurrent.Flow.Subscriber<any>>;
				public close(): void;
				public isSubscribed(subscriber: java.util.concurrent.Flow.Subscriber<any>): boolean;
				public subscribe(param0: java.util.concurrent.Flow.Subscriber<any>): void;
				public getClosedException(): java.lang.Throwable;
				public isClosed(): boolean;
				public closeExceptionally(error: java.lang.Throwable): void;
				public constructor(executor: java.util.concurrent.Executor, maxBufferCapacity: number);
				public offer(item: T, onDrop: any /* any,any>*/): number;
				public hasSubscribers(): boolean;
				public constructor();
				public offer(item: T, timeout: number, unit: java.util.concurrent.TimeUnit, onDrop: any /* any,any>*/): number;
				public subscribe(subscriber: java.util.concurrent.Flow.Subscriber<any>): void;
				public submit(item: T): number;
				public consume(consumer: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public getExecutor(): java.util.concurrent.Executor;
				public estimateMaximumLag(): number;
				public getNumberOfSubscribers(): number;
				public estimateMinimumDemand(): number;
				public getMaxBufferCapacity(): number;
				public constructor(executor: java.util.concurrent.Executor, maxBufferCapacity: number, handler: any /* any<any,any>*/);
			}
		}
	}
}

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 poll(timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public toArray(a: androidNative.Array<any>): androidNative.Array<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 removeAll(c: java.util.Collection<any>): boolean;
				public constructor();
				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 toArray(generator: any /* any*/): androidNative.Array<any>;
				public isEmpty(): boolean;
				public put(e: any): void;
				public remove(param0: any): boolean;
				public contains(o: 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 offer(e: any, timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public remove(o: any): boolean;
				public iterator(): java.util.Iterator<any>;
				public forEach(action: any /* any*/): void;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public containsAll(c: 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 constructor(fair: boolean);
				public toArray(): androidNative.Array<any>;
				public removeIf(filter: any /* any*/): boolean;
				public offer(e: any): boolean;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public remainingCapacity(): number;
				public drainTo(c: java.util.Collection<any>, maxElements: number): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public drainTo(c: java.util.Collection<any>): number;
				public retainAll(c: java.util.Collection<any>): boolean;
			}
		}
	}
}

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 longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
				public nextLong(origin: number, bound: number): number;
				public nextExponential(): number;
				public static getDefault(): java.util.random.RandomGenerator;
				public nextBytes(bytes: androidNative.Array<number>): void;
				public nextDouble(): number;
				public doubles(): java.util.stream.DoubleStream;
				public setSeed(seed: number): void;
				public nextInt(): number;
				public nextLong(): number;
				public nextDouble(origin: number, bound: number): number;
				public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
				public ints(streamSize: number): java.util.stream.IntStream;
				public isDeprecated(): boolean;
				public nextGaussian(): number;
				public static of(name: string): java.util.random.RandomGenerator;
				public nextFloat(): number;
				public nextInt(origin: number, bound: number): number;
				public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
				public doubles(streamSize: number): java.util.stream.DoubleStream;
				public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
				public nextGaussian(mean: number, stddev: number): number;
				public nextBoolean(): boolean;
				public longs(streamSize: number): java.util.stream.LongStream;
				public nextLong(bound: number): number;
				public nextDouble(bound: number): number;
				public next(bits: number): number;
				public ints(): java.util.stream.IntStream;
				public static current(): java.util.concurrent.ThreadLocalRandom;
				public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
				public nextFloat(origin: number, bound: number): number;
				public nextInt(bound: number): number;
				public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
				public nextFloat(bound: number): number;
			}
		}
	}
}

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 setThreadFactory(threadFactory: java.util.concurrent.ThreadFactory): void;
				public invokeAny(tasks: java.util.Collection<any>, timeout: number, unit: java.util.concurrent.TimeUnit): any;
				public isTerminated(): boolean;
				public constructor(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number, unit: java.util.concurrent.TimeUnit, workQueue: java.util.concurrent.BlockingQueue<java.lang.Runnable>, handler: java.util.concurrent.RejectedExecutionHandler);
				public allowsCoreThreadTimeOut(): boolean;
				public constructor();
				public setCorePoolSize(corePoolSize: number): void;
				public shutdown(): void;
				public isShutdown(): boolean;
				public execute(command: java.lang.Runnable): void;
				public constructor(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number, unit: java.util.concurrent.TimeUnit, workQueue: java.util.concurrent.BlockingQueue<java.lang.Runnable>, threadFactory: java.util.concurrent.ThreadFactory);
				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 constructor(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number, unit: java.util.concurrent.TimeUnit, workQueue: java.util.concurrent.BlockingQueue<java.lang.Runnable>);
				public constructor(corePoolSize: number, maximumPoolSize: number, keepAliveTime: number, unit: java.util.concurrent.TimeUnit, workQueue: java.util.concurrent.BlockingQueue<java.lang.Runnable>, threadFactory: java.util.concurrent.ThreadFactory, handler: java.util.concurrent.RejectedExecutionHandler);
				public getCorePoolSize(): number;
				public toString(): string;
				public awaitTermination(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
				public getMaximumPoolSize(): number;
				public getKeepAliveTime(unit: java.util.concurrent.TimeUnit): number;
				public purge(): void;
				public getCompletedTaskCount(): number;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public getLargestPoolSize(): number;
				public beforeExecute(t: java.lang.Thread, r: java.lang.Runnable): void;
				/** @deprecated */
				public finalize(): void;
				public prestartCoreThread(): boolean;
				public getThreadFactory(): java.util.concurrent.ThreadFactory;
				public submit(task: java.lang.Runnable, result: any): java.util.concurrent.Future<any>;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public isTerminating(): boolean;
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public getActiveCount(): number;
				public setKeepAliveTime(time: number, unit: java.util.concurrent.TimeUnit): void;
				public invokeAll(tasks: java.util.Collection<any>, timeout: number, unit: java.util.concurrent.TimeUnit): java.util.List<any>;
				public allowCoreThreadTimeOut(value: boolean): void;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public prestartAllCoreThreads(): number;
				public setMaximumPoolSize(maximumPoolSize: number): void;
				public invokeAny(param0: java.util.Collection<any>): any;
				public setRejectedExecutionHandler(handler: java.util.concurrent.RejectedExecutionHandler): void;
				public afterExecute(r: java.lang.Runnable, t: java.lang.Throwable): void;
				public terminated(): void;
				public getTaskCount(): number;
				public remove(task: java.lang.Runnable): boolean;
				public submit(task: java.lang.Runnable): java.util.concurrent.Future<any>;
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public getRejectedExecutionHandler(): java.util.concurrent.RejectedExecutionHandler;
				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(r: java.lang.Runnable, e: java.util.concurrent.ThreadPoolExecutor): void;
					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(r: java.lang.Runnable, e: java.util.concurrent.ThreadPoolExecutor): void;
					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(r: java.lang.Runnable, e: java.util.concurrent.ThreadPoolExecutor): void;
					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(r: java.lang.Runnable, e: java.util.concurrent.ThreadPoolExecutor): void;
					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 convert(duration: java.time.Duration): number;
				public convert(sourceDuration: number, sourceUnit: java.util.concurrent.TimeUnit): number;
				public toNanos(duration: number): number;
				public static valueOf(name: string): java.util.concurrent.TimeUnit;
				public timedJoin(thread: java.lang.Thread, timeout: number): void;
				public toMicros(duration: number): number;
				public static of(chronoUnit: java.time.temporal.ChronoUnit): java.util.concurrent.TimeUnit;
				public timedWait(obj: any, timeout: number): void;
				public toChronoUnit(): java.time.temporal.ChronoUnit;
				public toSeconds(duration: number): number;
				public toMinutes(duration: number): number;
				public toHours(duration: number): number;
				public static valueOf(enumClass: java.lang.Class<any>, name: string): java.lang.Enum<any>;
				public static values(): androidNative.Array<java.util.concurrent.TimeUnit>;
				public toDays(duration: number): number;
				public toMillis(duration: number): number;
				public sleep(timeout: number): void;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(): androidNative.Array<any>;
					toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
					toArray(generator: any /* any*/): androidNative.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(filter: 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(action: 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 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 toArray(generator: any /* any*/): androidNative.Array<any>;
				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 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 forEach(action: any /* any*/): void;
				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 toArray(): androidNative.Array<any>;
				public removeIf(filter: any /* any*/): boolean;
				public getWaitingConsumerCount(): number;
				public put(param0: any): void;
				public toArray(param0: androidNative.Array<any>): androidNative.Array<any>;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
			}
		}
	}
}

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 weakCompareAndSetAcquire(expectedValue: boolean, newValue: boolean): boolean;
					public getAndSet(newValue: boolean): boolean;
					public set(newValue: boolean): void;
					public getAcquire(): boolean;
					public constructor(initialValue: boolean);
					public get(): boolean;
					public getPlain(): boolean;
					public lazySet(newValue: boolean): void;
					public weakCompareAndSetRelease(expectedValue: boolean, newValue: boolean): boolean;
					public weakCompareAndSetPlain(expectedValue: boolean, newValue: boolean): boolean;
					public setOpaque(newValue: boolean): void;
					/** @deprecated */
					public weakCompareAndSet(expectedValue: boolean, newValue: boolean): boolean;
					public toString(): string;
					public setPlain(newValue: boolean): void;
					public compareAndSet(expectedValue: boolean, newValue: boolean): boolean;
					public setRelease(newValue: boolean): void;
					public constructor();
					public getOpaque(): boolean;
					public compareAndExchangeRelease(expectedValue: boolean, newValue: boolean): boolean;
					public compareAndExchange(expectedValue: boolean, newValue: boolean): boolean;
					public compareAndExchangeAcquire(expectedValue: boolean, newValue: boolean): boolean;
					public weakCompareAndSetVolatile(expectedValue: boolean, newValue: 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 compareAndSet(expectedValue: number, newValue: number): boolean;
					public doubleValue(): number;
					public set(newValue: number): void;
					public weakCompareAndSetVolatile(expectedValue: number, newValue: number): boolean;
					public setOpaque(newValue: number): void;
					public weakCompareAndSetRelease(expectedValue: number, newValue: number): boolean;
					public incrementAndGet(): number;
					public weakCompareAndSetAcquire(expectedValue: number, newValue: number): boolean;
					public intValue(): number;
					public toString(): string;
					public getOpaque(): number;
					public getAndIncrement(): number;
					public constructor();
					public accumulateAndGet(x: number, accumulatorFunction: any /* any*/): number;
					public compareAndExchange(expectedValue: number, newValue: number): number;
					public setPlain(newValue: number): void;
					/** @deprecated */
					public weakCompareAndSet(expectedValue: number, newValue: number): boolean;
					public lazySet(newValue: number): void;
					public getAndDecrement(): number;
					public addAndGet(delta: number): number;
					public getPlain(): number;
					public getAndUpdate(updateFunction: any /* any*/): number;
					public constructor(initialValue: number);
					public floatValue(): number;
					public setRelease(newValue: number): void;
					public updateAndGet(updateFunction: any /* any*/): number;
					public getAndAdd(delta: number): number;
					public compareAndExchangeAcquire(expectedValue: number, newValue: number): number;
					public getAndAccumulate(x: number, accumulatorFunction: any /* any*/): number;
					public compareAndExchangeRelease(expectedValue: number, newValue: number): number;
					public decrementAndGet(): number;
					public getAndSet(newValue: number): number;
					public get(): number;
					public longValue(): number;
					public weakCompareAndSetPlain(expectedValue: number, newValue: number): boolean;
					public getAcquire(): 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 compareAndExchangeRelease(i: number, expectedValue: number, newValue: number): number;
					public compareAndSet(i: number, expectedValue: number, newValue: number): boolean;
					public updateAndGet(i: number, updateFunction: any /* any*/): number;
					public accumulateAndGet(i: number, x: number, accumulatorFunction: any /* any*/): number;
					public getAndAccumulate(i: number, x: number, accumulatorFunction: any /* any*/): number;
					public weakCompareAndSetAcquire(i: number, expectedValue: number, newValue: number): boolean;
					public decrementAndGet(i: number): number;
					public weakCompareAndSetPlain(i: number, expectedValue: number, newValue: number): boolean;
					public compareAndExchangeAcquire(i: number, expectedValue: number, newValue: number): number;
					public weakCompareAndSetVolatile(i: number, expectedValue: number, newValue: number): boolean;
					public constructor(array: androidNative.Array<number>);
					public set(i: number, newValue: number): void;
					public toString(): string;
					public getOpaque(i: number): number;
					public incrementAndGet(i: number): number;
					public getAndIncrement(i: number): number;
					public constructor(length: number);
					public getAndAdd(i: number, delta: number): number;
					public get(i: number): number;
					public getAndSet(i: number, newValue: number): number;
					public setRelease(i: number, newValue: number): void;
					public lazySet(i: number, newValue: number): void;
					public getAndDecrement(i: number): number;
					/** @deprecated */
					public weakCompareAndSet(i: number, expectedValue: number, newValue: number): boolean;
					public length(): number;
					public compareAndExchange(i: number, expectedValue: number, newValue: number): number;
					public getAndUpdate(i: number, updateFunction: any /* any*/): number;
					public getAcquire(i: number): number;
					public addAndGet(i: number, delta: number): number;
					public weakCompareAndSetRelease(i: number, expectedValue: number, newValue: number): boolean;
					public getPlain(i: number): number;
					public setPlain(i: number, newValue: number): void;
					public setOpaque(i: number, newValue: number): void;
				}
			}
		}
	}
}

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 getAndDecrement(obj: T): number;
					public static newUpdater(tclass: java.lang.Class<any>, fieldName: string): java.util.concurrent.atomic.AtomicIntegerFieldUpdater<any>;
					public getAndAccumulate(obj: T, x: number, accumulatorFunction: any /* any*/): number;
					public lazySet(param0: T, param1: number): void;
					public get(param0: T): number;
					public set(param0: T, param1: number): void;
					public getAndUpdate(obj: T, updateFunction: any /* any*/): number;
					public getAndSet(obj: T, newValue: number): number;
					public decrementAndGet(obj: T): number;
					public getAndIncrement(obj: T): number;
					public accumulateAndGet(obj: T, x: number, accumulatorFunction: any /* any*/): number;
					public incrementAndGet(obj: T): number;
					public weakCompareAndSet(param0: T, param1: number, param2: number): boolean;
					public constructor();
					public getAndAdd(obj: T, delta: number): number;
					public addAndGet(obj: T, delta: number): number;
					public compareAndSet(param0: T, param1: number, param2: number): boolean;
					public updateAndGet(obj: T, updateFunction: 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 compareAndSet(expectedValue: number, newValue: number): boolean;
					public doubleValue(): number;
					public set(newValue: number): void;
					public weakCompareAndSetVolatile(expectedValue: number, newValue: number): boolean;
					public setOpaque(newValue: number): void;
					public weakCompareAndSetRelease(expectedValue: number, newValue: number): boolean;
					public incrementAndGet(): number;
					public weakCompareAndSetAcquire(expectedValue: number, newValue: number): boolean;
					public intValue(): number;
					public toString(): string;
					public getOpaque(): number;
					public getAndIncrement(): number;
					public constructor();
					public compareAndExchange(expectedValue: number, newValue: number): number;
					public setPlain(newValue: number): void;
					/** @deprecated */
					public weakCompareAndSet(expectedValue: number, newValue: number): boolean;
					public lazySet(newValue: number): void;
					public getAndDecrement(): number;
					public addAndGet(delta: number): number;
					public getPlain(): number;
					public constructor(initialValue: number);
					public floatValue(): number;
					public setRelease(newValue: number): void;
					public getAndUpdate(updateFunction: any /* any*/): number;
					public accumulateAndGet(x: number, accumulatorFunction: any /* any*/): number;
					public getAndAdd(delta: number): number;
					public compareAndExchangeAcquire(expectedValue: number, newValue: number): number;
					public updateAndGet(updateFunction: any /* any*/): number;
					public compareAndExchangeRelease(expectedValue: number, newValue: number): number;
					public getAndAccumulate(x: number, accumulatorFunction: any /* any*/): number;
					public decrementAndGet(): number;
					public getAndSet(newValue: number): number;
					public get(): number;
					public longValue(): number;
					public weakCompareAndSetPlain(expectedValue: number, newValue: number): boolean;
					public getAcquire(): 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 compareAndExchangeRelease(i: number, expectedValue: number, newValue: number): number;
					public updateAndGet(i: number, updateFunction: any /* any*/): number;
					public compareAndSet(i: number, expectedValue: number, newValue: number): boolean;
					public weakCompareAndSetAcquire(i: number, expectedValue: number, newValue: number): boolean;
					public decrementAndGet(i: number): number;
					public weakCompareAndSetPlain(i: number, expectedValue: number, newValue: number): boolean;
					public compareAndExchangeAcquire(i: number, expectedValue: number, newValue: number): number;
					public weakCompareAndSetVolatile(i: number, expectedValue: number, newValue: number): boolean;
					public constructor(array: androidNative.Array<number>);
					public set(i: number, newValue: number): void;
					public toString(): string;
					public getOpaque(i: number): number;
					public incrementAndGet(i: number): number;
					public getAndIncrement(i: number): number;
					public constructor(length: number);
					public getAndAdd(i: number, delta: number): number;
					public get(i: number): number;
					public getAndSet(i: number, newValue: number): number;
					public setRelease(i: number, newValue: number): void;
					public lazySet(i: number, newValue: number): void;
					public getAndDecrement(i: number): number;
					/** @deprecated */
					public weakCompareAndSet(i: number, expectedValue: number, newValue: number): boolean;
					public length(): number;
					public accumulateAndGet(i: number, x: number, accumulatorFunction: any /* any*/): number;
					public getAndAccumulate(i: number, x: number, accumulatorFunction: any /* any*/): number;
					public compareAndExchange(i: number, expectedValue: number, newValue: number): number;
					public getAcquire(i: number): number;
					public addAndGet(i: number, delta: number): number;
					public weakCompareAndSetRelease(i: number, expectedValue: number, newValue: number): boolean;
					public getPlain(i: number): number;
					public getAndUpdate(i: number, updateFunction: any /* any*/): number;
					public setPlain(i: number, newValue: number): void;
					public setOpaque(i: number, newValue: number): void;
				}
			}
		}
	}
}

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 getAndDecrement(obj: T): number;
					public updateAndGet(obj: T, updateFunction: any /* any*/): number;
					public getAndUpdate(obj: T, updateFunction: any /* any*/): number;
					public lazySet(param0: T, param1: number): void;
					public get(param0: T): number;
					public accumulateAndGet(obj: T, x: number, accumulatorFunction: any /* any*/): number;
					public set(param0: T, param1: number): void;
					public getAndSet(obj: T, newValue: number): number;
					public decrementAndGet(obj: T): number;
					public getAndIncrement(obj: T): number;
					public static newUpdater(tclass: java.lang.Class<any>, fieldName: string): java.util.concurrent.atomic.AtomicLongFieldUpdater<any>;
					public incrementAndGet(obj: T): number;
					public weakCompareAndSet(param0: T, param1: number, param2: number): boolean;
					public getAndAccumulate(obj: T, x: number, accumulatorFunction: any /* any*/): number;
					public constructor();
					public getAndAdd(obj: T, delta: number): number;
					public addAndGet(obj: T, delta: number): 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 weakCompareAndSet(expectedReference: V, newReference: V, expectedMark: boolean, newMark: boolean): boolean;
					public constructor(initialRef: V, initialMark: boolean);
					public getReference(): V;
					public get(markHolder: androidNative.Array<boolean>): V;
					public compareAndSet(expectedReference: V, newReference: V, expectedMark: boolean, newMark: boolean): boolean;
					public set(newReference: V, newMark: boolean): void;
					public attemptMark(expectedReference: V, newMark: 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 weakCompareAndSetVolatile(expectedValue: any, newValue: any): boolean;
					public compareAndExchange(expectedValue: any, newValue: any): any;
					public lazySet(newValue: any): void;
					public weakCompareAndSetPlain(expectedValue: any, newValue: any): boolean;
					public updateAndGet(updateFunction: any /* any*/): any;
					public setOpaque(newValue: any): void;
					public toString(): string;
					public getOpaque(): any;
					public weakCompareAndSetAcquire(expectedValue: any, newValue: any): boolean;
					public constructor();
					/** @deprecated */
					public weakCompareAndSet(expectedValue: any, newValue: any): boolean;
					public getAndAccumulate(x: any, accumulatorFunction: any /* any*/): any;
					public compareAndExchangeAcquire(expectedValue: any, newValue: any): any;
					public getAcquire(): any;
					public set(newValue: any): void;
					public getPlain(): any;
					public compareAndExchangeRelease(expectedValue: any, newValue: any): any;
					public get(): any;
					public getAndSet(newValue: any): any;
					public constructor(initialValue: any);
					public accumulateAndGet(x: any, accumulatorFunction: any /* any*/): any;
					public weakCompareAndSetRelease(expectedValue: any, newValue: any): boolean;
					public compareAndSet(expectedValue: any, newValue: any): boolean;
					public getAndUpdate(updateFunction: any /* any*/): any;
					public setRelease(newValue: any): void;
					public setPlain(newValue: any): void;
				}
			}
		}
	}
}

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 get(i: number): any;
					public getAndSet(i: number, newValue: any): any;
					public accumulateAndGet(i: number, x: any, accumulatorFunction: any /* any*/): any;
					public getAndAccumulate(i: number, x: any, accumulatorFunction: any /* any*/): any;
					public weakCompareAndSetRelease(i: number, expectedValue: any, newValue: any): boolean;
					public set(i: number, newValue: any): void;
					public weakCompareAndSetVolatile(i: number, expectedValue: any, newValue: any): boolean;
					public compareAndExchangeRelease(i: number, expectedValue: any, newValue: any): any;
					public setPlain(i: number, newValue: any): void;
					public toString(): string;
					public weakCompareAndSetAcquire(i: number, expectedValue: any, newValue: any): boolean;
					public weakCompareAndSetPlain(i: number, expectedValue: any, newValue: any): boolean;
					public setOpaque(i: number, newValue: any): void;
					public compareAndSet(i: number, expectedValue: any, newValue: any): boolean;
					public lazySet(i: number, newValue: any): void;
					public setRelease(i: number, newValue: any): void;
					public constructor(length: number);
					public compareAndExchangeAcquire(i: number, expectedValue: any, newValue: any): any;
					/** @deprecated */
					public weakCompareAndSet(i: number, expectedValue: any, newValue: any): boolean;
					public constructor(array: androidNative.Array<any>);
					public length(): number;
					public updateAndGet(i: number, updateFunction: any /* any*/): any;
					public getOpaque(i: number): any;
					public getAndUpdate(i: number, updateFunction: any /* any*/): any;
					public getAcquire(i: number): any;
					public compareAndExchange(i: number, expectedValue: any, newValue: any): any;
					public getPlain(i: number): any;
				}
			}
		}
	}
}

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 static newUpdater(tclass: java.lang.Class<any>, vclass: java.lang.Class<any>, fieldName: string): java.util.concurrent.atomic.AtomicReferenceFieldUpdater<any,any>;
					public set(param0: T, param1: V): void;
					public get(param0: T): V;
					public accumulateAndGet(obj: T, x: V, accumulatorFunction: any /* any*/): V;
					public getAndUpdate(obj: T, updateFunction: any /* any*/): V;
					public constructor();
					public compareAndSet(param0: T, param1: V, param2: V): boolean;
					public lazySet(param0: T, param1: V): void;
					public getAndSet(obj: T, newValue: V): V;
					public updateAndGet(obj: T, updateFunction: any /* any*/): V;
					public getAndAccumulate(obj: T, x: V, accumulatorFunction: any /* any*/): V;
					public weakCompareAndSet(param0: T, param1: V, param2: V): boolean;
				}
			}
		}
	}
}

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 getReference(): V;
					public compareAndSet(expectedReference: V, newReference: V, expectedStamp: number, newStamp: number): boolean;
					public set(newReference: V, newStamp: number): void;
					public get(stampHolder: androidNative.Array<number>): V;
					public getStamp(): number;
					public constructor(initialRef: V, initialStamp: number);
					public weakCompareAndSet(expectedReference: V, newReference: V, expectedStamp: number, newStamp: number): boolean;
					public attemptStamp(expectedReference: V, newStamp: 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 intValue(): number;
					public reset(): void;
					public toString(): string;
					public getThenReset(): number;
					public constructor();
					public doubleValue(): number;
					public get(): number;
					public accumulate(x: number): void;
					public floatValue(): number;
					public longValue(): number;
					public constructor(accumulatorFunction: any /* any*/, identity: 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(x: 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 constructor(accumulatorFunction: any /* any*/, identity: number);
					public get(): number;
					public accumulate(x: number): void;
					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(x: 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(thread: 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 acquireSharedInterruptibly(arg: number): void;
					public tryAcquireNanos(arg: number, nanosTimeout: number): boolean;
					public acquire(arg: number): void;
					public acquireShared(arg: number): void;
					public getExclusiveQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public setState(newState: number): void;
					public releaseShared(arg: number): boolean;
					public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public tryRelease(arg: number): boolean;
					public toString(): string;
					public getSharedQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public constructor();
					public acquireInterruptibly(arg: number): void;
					public getWaitQueueLength(condition: java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject): number;
					public getFirstQueuedThread(): java.lang.Thread;
					public tryAcquire(arg: number): boolean;
					public tryAcquireShared(arg: number): number;
					public owns(condition: java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject): boolean;
					public compareAndSetState(expect: number, update: number): boolean;
					public tryReleaseShared(arg: number): boolean;
					public getQueueLength(): number;
					public hasWaiters(condition: java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject): boolean;
					public hasQueuedPredecessors(): boolean;
					public hasQueuedThreads(): boolean;
					public isQueued(thread: java.lang.Thread): boolean;
					public release(arg: number): boolean;
					public hasContended(): boolean;
					public getWaitingThreads(condition: java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject): java.util.Collection<java.lang.Thread>;
					public tryAcquireSharedNanos(arg: number, nanosTimeout: number): boolean;
					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 awaitUninterruptibly(): void;
						public awaitNanos(param0: number): number;
						public getWaitQueueLength(): number;
						public awaitNanos(nanosTimeout: number): number;
						public signal(): void;
						public await(): void;
						public awaitUntil(param0: java.util.Date): boolean;
						public getWaitingThreads(): java.util.Collection<java.lang.Thread>;
						public constructor(this$0: java.util.concurrent.locks.AbstractQueuedLongSynchronizer);
						public awaitUntil(deadline: java.util.Date): boolean;
						public signalAll(): void;
						public hasWaiters(): boolean;
						public await(time: number, unit: java.util.concurrent.TimeUnit): boolean;
					}
				}
			}
		}
	}
}

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 acquireSharedInterruptibly(arg: number): void;
					public tryAcquireNanos(arg: number, nanosTimeout: number): boolean;
					public acquire(arg: number): void;
					public acquireShared(arg: number): void;
					public getWaitQueueLength(condition: java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject): number;
					public getExclusiveQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public owns(condition: java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject): boolean;
					public setState(newState: number): void;
					public releaseShared(arg: number): boolean;
					public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public tryRelease(arg: number): boolean;
					public toString(): string;
					public getSharedQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public constructor();
					public acquireInterruptibly(arg: number): void;
					public getFirstQueuedThread(): java.lang.Thread;
					public tryAcquire(arg: number): boolean;
					public tryAcquireShared(arg: number): number;
					public compareAndSetState(expect: number, update: number): boolean;
					public tryReleaseShared(arg: number): boolean;
					public getQueueLength(): number;
					public hasQueuedPredecessors(): boolean;
					public hasQueuedThreads(): boolean;
					public isQueued(thread: java.lang.Thread): boolean;
					public getWaitingThreads(condition: java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject): java.util.Collection<java.lang.Thread>;
					public release(arg: number): boolean;
					public hasContended(): boolean;
					public tryAcquireSharedNanos(arg: number, nanosTimeout: number): boolean;
					public hasWaiters(condition: java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject): boolean;
					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 awaitNanos(param0: number): number;
						public constructor(this$0: java.util.concurrent.locks.AbstractQueuedSynchronizer);
						public getWaitQueueLength(): number;
						public awaitNanos(nanosTimeout: number): number;
						public signal(): void;
						public await(): void;
						public awaitUntil(param0: java.util.Date): boolean;
						public getWaitingThreads(): java.util.Collection<java.lang.Thread>;
						public awaitUntil(deadline: java.util.Date): boolean;
						public signalAll(): void;
						public hasWaiters(): boolean;
						public await(time: number, unit: java.util.concurrent.TimeUnit): boolean;
					}
				}
			}
		}
	}
}

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 park(blocker: any): void;
					public static parkUntil(blocker: any, deadline: number): void;
					public static setCurrentBlocker(blocker: any): void;
					public static parkUntil(deadline: number): void;
					public static parkNanos(nanos: number): void;
					public static parkNanos(blocker: any, nanos: number): void;
					public static park(): void;
					public static unpark(thread: java.lang.Thread): void;
					public static getBlocker(t: java.lang.Thread): any;
				}
			}
		}
	}
}

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 getWaitQueueLength(condition: java.util.concurrent.locks.Condition): number;
					public lockInterruptibly(): void;
					public isHeldByCurrentThread(): boolean;
					public isFair(): boolean;
					public getQueueLength(): number;
					public getWaitingThreads(condition: java.util.concurrent.locks.Condition): java.util.Collection<java.lang.Thread>;
					public tryLock(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
					public hasWaiters(condition: java.util.concurrent.locks.Condition): boolean;
					public tryLock(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
					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 newCondition(): java.util.concurrent.locks.Condition;
					public lock(): void;
					public constructor();
					public constructor(fair: boolean);
					public hasQueuedThread(thread: java.lang.Thread): boolean;
					public getOwner(): java.lang.Thread;
				}
			}
		}
	}
}

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 getWaitQueueLength(condition: java.util.concurrent.locks.Condition): 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 getWaitingThreads(condition: java.util.concurrent.locks.Condition): java.util.Collection<java.lang.Thread>;
					public hasWaiters(condition: java.util.concurrent.locks.Condition): boolean;
					public hasQueuedThreads(): boolean;
					public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public readLock(): java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;
					public toString(): string;
					public constructor();
					public isWriteLocked(): boolean;
					public getWriteHoldCount(): number;
					public constructor(fair: boolean);
					public writeLock(): java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
					public hasQueuedThread(thread: java.lang.Thread): boolean;
					public getOwner(): java.lang.Thread;
					public isWriteLockedByCurrentThread(): boolean;
					public writeLock(): java.util.concurrent.locks.Lock;
				}
				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 unlock(): void;
						public tryLock(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
						public lockInterruptibly(): void;
						public tryLock(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
						public constructor(lock: java.util.concurrent.locks.ReentrantReadWriteLock);
						public lock(): void;
						public tryLock(): boolean;
						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 unlock(): void;
						public tryLock(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
						public getHoldCount(): number;
						public lockInterruptibly(): void;
						public tryLock(timeout: number, unit: java.util.concurrent.TimeUnit): boolean;
						public constructor(lock: java.util.concurrent.locks.ReentrantReadWriteLock);
						public lock(): void;
						public tryLock(): boolean;
						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 tryConvertToWriteLock(stamp: number): number;
					public unlock(stamp: number): void;
					public validate(stamp: number): boolean;
					public tryUnlockWrite(): boolean;
					public asReadLock(): java.util.concurrent.locks.Lock;
					public tryWriteLock(time: number, unit: java.util.concurrent.TimeUnit): number;
					public readLock(): number;
					public isReadLocked(): boolean;
					public toString(): string;
					public readLockInterruptibly(): number;
					public constructor();
					public isWriteLocked(): boolean;
					public static isLockStamp(stamp: number): boolean;
					public writeLock(): number;
					public tryConvertToOptimisticRead(stamp: number): number;
					public tryWriteLock(): number;
					public writeLockInterruptibly(): number;
					public static isWriteLockStamp(stamp: number): boolean;
					public unlockRead(stamp: number): void;
					public asReadWriteLock(): java.util.concurrent.locks.ReadWriteLock;
					public tryOptimisticRead(): number;
					public tryConvertToReadLock(stamp: number): number;
					public asWriteLock(): java.util.concurrent.locks.Lock;
					public unlockWrite(stamp: number): void;
					public tryReadLock(): number;
					public static isOptimisticReadStamp(stamp: number): boolean;
					public static isReadLockStamp(stamp: number): boolean;
					public tryReadLock(time: number, unit: java.util.concurrent.TimeUnit): number;
					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 getValue(name: java.util.jar.Attributes.Name): string;
				public constructor(attr: java.util.jar.Attributes);
				public putAll(param0: java.util.Map<any,any>): void;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any): java.util.Map<any,any>;
				public constructor();
				public remove(name: any): any;
				public getOrDefault(key: any, defaultValue: any): any;
				public forEach(action: any /* any<any,any>*/): void;
				public static of(k1: any, v1: any, k2: any, v2: any): java.util.Map<any,any>;
				public remove(param0: any): any;
				public hashCode(): number;
				public clone(): any;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public replace(key: any, value: any): any;
				public getValue(name: string): string;
				public containsValue(param0: any): boolean;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any): java.util.Map<any,any>;
				public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any): java.util.Map<any,any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any, k10: any, v10: any): java.util.Map<any,any>;
				public keySet(): java.util.Set<any>;
				public size(): number;
				public containsKey(name: any): boolean;
				public static of(k1: any, v1: any): java.util.Map<any,any>;
				public put(param0: any, param1: any): any;
				public compute(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any, k8: any, v8: any, k9: any, v9: any): java.util.Map<any,any>;
				public static copyOf(map: java.util.Map<any,any>): java.util.Map<any,any>;
				public get(param0: any): any;
				public replace(key: any, oldValue: any, newValue: any): boolean;
				public containsKey(param0: any): boolean;
				public static ofEntries(entries: androidNative.Array<java.util.Map.Entry<any,any>>): java.util.Map<any,any>;
				public replaceAll(function_: any /* any<any,any,any>*/): void;
				public static entry(k: any, v: any): java.util.Map.Entry<any,any>;
				public clear(): void;
				public remove(key: any, value: any): boolean;
				public equals(o: any): boolean;
				public containsValue(value: any): boolean;
				public computeIfPresent(key: any, remappingFunction: any /* any<any,any,any>*/): any;
				public values(): java.util.Collection<any>;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any): java.util.Map<any,any>;
				public constructor(size: number);
				public putAll(attr: java.util.Map<any,any>): void;
				public static of(): java.util.Map<any,any>;
				public computeIfAbsent(key: any, mappingFunction: any /* any<any,any>*/): any;
				public putIfAbsent(key: any, value: any): any;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any): java.util.Map<any,any>;
				public get(name: any): any;
				public putValue(name: string, value: string): string;
				public static of(k1: any, v1: any, k2: any, v2: any, k3: any, v3: any, k4: any, v4: any, k5: any, v5: any, k6: any, v6: any, k7: any, v7: any): java.util.Map<any,any>;
				public put(name: any, value: any): any;
				public merge(key: any, value: any, remappingFunction: any /* any<any,any,any>*/): any;
			}
			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 toString(): string;
					public constructor(name: string);
					public equals(o: any): boolean;
					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: 36;
				public static CENATX: 38;
				public static CENCOM: 32;
				public static CENCRC: 16;
				public static CENDSK: 34;
				public static CENEXT: 30;
				public static CENFLG: 8;
				public static CENHDR: 46;
				public static CENHOW: 10;
				public static CENLEN: 24;
				public static CENNAM: 28;
				public static CENOFF: 42;
				public static CENSIG: 33639248;
				public static CENSIZ: 20;
				public static CENTIM: 12;
				public static CENVEM: 4;
				public static CENVER: 6;
				public static ENDCOM: 20;
				public static ENDHDR: 22;
				public static ENDOFF: 16;
				public static ENDSIG: 101010256;
				public static ENDSIZ: 12;
				public static ENDSUB: 8;
				public static ENDTOT: 10;
				public static EXTCRC: 4;
				public static EXTHDR: 16;
				public static EXTLEN: 12;
				public static EXTSIG: 134695760;
				public static EXTSIZ: 8;
				public static LOCCRC: 14;
				public static LOCEXT: 28;
				public static LOCFLG: 6;
				public static LOCHDR: 30;
				public static LOCHOW: 8;
				public static LOCLEN: 22;
				public static LOCNAM: 26;
				public static LOCSIG: 67324752;
				public static LOCSIZ: 18;
				public static LOCTIM: 10;
				public static LOCVER: 4;
				public constructor(name: string);
				public constructor(e: java.util.zip.ZipEntry);
				public getAttributes(): java.util.jar.Attributes;
				public constructor(ze: java.util.zip.ZipEntry);
				public getRealName(): string;
				public getCodeSigners(): androidNative.Array<java.security.CodeSigner>;
				public constructor(je: java.util.jar.JarEntry);
				public getCertificates(): androidNative.Array<java.security.cert.Certificate>;
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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: 36;
				public static CENATX: 38;
				public static CENCOM: 32;
				public static CENCRC: 16;
				public static CENDSK: 34;
				public static CENEXT: 30;
				public static CENFLG: 8;
				public static CENHDR: 46;
				public static CENHOW: 10;
				public static CENLEN: 24;
				public static CENNAM: 28;
				public static CENOFF: 42;
				public static CENSIG: 33639248;
				public static CENSIZ: 20;
				public static CENTIM: 12;
				public static CENVEM: 4;
				public static CENVER: 6;
				public static ENDCOM: 20;
				public static ENDHDR: 22;
				public static ENDOFF: 16;
				public static ENDSIG: 101010256;
				public static ENDSIZ: 12;
				public static ENDSUB: 8;
				public static ENDTOT: 10;
				public static EXTCRC: 4;
				public static EXTHDR: 16;
				public static EXTLEN: 12;
				public static EXTSIG: 134695760;
				public static EXTSIZ: 8;
				public static LOCCRC: 14;
				public static LOCEXT: 28;
				public static LOCFLG: 6;
				public static LOCHDR: 30;
				public static LOCHOW: 8;
				public static LOCLEN: 22;
				public static LOCNAM: 26;
				public static LOCSIG: 67324752;
				public static LOCSIZ: 18;
				public static LOCTIM: 10;
				public static LOCVER: 4;
				public static MANIFEST_NAME: "META-INF/MANIFEST.MF";
				public constructor(name: string, charset: java.nio.charset.Charset);
				public constructor(file: java.io.File);
				public constructor(file: java.io.File, mode: number);
				public constructor(name: string);
				public close(): void;
				public stream(): java.util.stream.Stream<java.util.jar.JarEntry>;
				public getInputStream(ze: java.util.zip.ZipEntry): java.io.InputStream;
				public constructor(file: java.io.File, verify: boolean, mode: number);
				public getJarEntry(name: string): java.util.jar.JarEntry;
				public constructor(file: java.io.File, charset: java.nio.charset.Charset);
				public constructor(file: java.io.File, verify: boolean);
				public getManifest(): java.util.jar.Manifest;
				public constructor(file: java.io.File, mode: number, charset: java.nio.charset.Charset);
				public constructor(name: string, verify: boolean);
				public entries(): java.util.Enumeration<java.util.jar.JarEntry>;
				public getEntry(name: string): java.util.zip.ZipEntry;
			}
		}
	}
}

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: 36;
				public static CENATX: 38;
				public static CENCOM: 32;
				public static CENCRC: 16;
				public static CENDSK: 34;
				public static CENEXT: 30;
				public static CENFLG: 8;
				public static CENHDR: 46;
				public static CENHOW: 10;
				public static CENLEN: 24;
				public static CENNAM: 28;
				public static CENOFF: 42;
				public static CENSIG: 33639248;
				public static CENSIZ: 20;
				public static CENTIM: 12;
				public static CENVEM: 4;
				public static CENVER: 6;
				public static ENDCOM: 20;
				public static ENDHDR: 22;
				public static ENDOFF: 16;
				public static ENDSIG: 101010256;
				public static ENDSIZ: 12;
				public static ENDSUB: 8;
				public static ENDTOT: 10;
				public static EXTCRC: 4;
				public static EXTHDR: 16;
				public static EXTLEN: 12;
				public static EXTSIG: 134695760;
				public static EXTSIZ: 8;
				public static LOCCRC: 14;
				public static LOCEXT: 28;
				public static LOCFLG: 6;
				public static LOCHDR: 30;
				public static LOCHOW: 8;
				public static LOCLEN: 22;
				public static LOCNAM: 26;
				public static LOCSIG: 67324752;
				public static LOCSIZ: 18;
				public static LOCTIM: 10;
				public static LOCVER: 4;
				public createZipEntry(name: string): java.util.zip.ZipEntry;
				public close(): void;
				public constructor(in_: java.io.InputStream);
				public constructor(in_: java.io.InputStream, charset: java.nio.charset.Charset);
				public read(b: androidNative.Array<number>, off: number, len: number): number;
				public constructor(in_: java.io.InputStream, inf: java.util.zip.Inflater, size: number);
				public constructor();
				public getNextJarEntry(): java.util.jar.JarEntry;
				public getManifest(): java.util.jar.Manifest;
				public read(): number;
				public constructor(in_: java.io.InputStream, inf: java.util.zip.Inflater);
				public getNextEntry(): java.util.zip.ZipEntry;
				public read(b: androidNative.Array<number>): number;
				public constructor(in_: java.io.InputStream, verify: 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: 36;
				public static CENATX: 38;
				public static CENCOM: 32;
				public static CENCRC: 16;
				public static CENDSK: 34;
				public static CENEXT: 30;
				public static CENFLG: 8;
				public static CENHDR: 46;
				public static CENHOW: 10;
				public static CENLEN: 24;
				public static CENNAM: 28;
				public static CENOFF: 42;
				public static CENSIG: 33639248;
				public static CENSIZ: 20;
				public static CENTIM: 12;
				public static CENVEM: 4;
				public static CENVER: 6;
				public static ENDCOM: 20;
				public static ENDHDR: 22;
				public static ENDOFF: 16;
				public static ENDSIG: 101010256;
				public static ENDSIZ: 12;
				public static ENDSUB: 8;
				public static ENDTOT: 10;
				public static EXTCRC: 4;
				public static EXTHDR: 16;
				public static EXTLEN: 12;
				public static EXTSIG: 134695760;
				public static EXTSIZ: 8;
				public static LOCCRC: 14;
				public static LOCEXT: 28;
				public static LOCFLG: 6;
				public static LOCHDR: 30;
				public static LOCHOW: 8;
				public static LOCLEN: 22;
				public static LOCNAM: 26;
				public static LOCSIG: 67324752;
				public static LOCSIZ: 18;
				public static LOCTIM: 10;
				public static LOCVER: 4;
				public constructor(out: java.io.OutputStream, charset: java.nio.charset.Charset);
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, syncFlush: boolean);
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, size: number);
				public close(): void;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, size: number, syncFlush: boolean);
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater);
				public constructor(out: java.io.OutputStream, syncFlush: boolean);
				public constructor(out: java.io.OutputStream);
				public constructor(out: java.io.OutputStream, man: java.util.jar.Manifest);
				public constructor();
				public putNextEntry(ze: 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 constructor(man: java.util.jar.Manifest);
				public getAttributes(name: string): java.util.jar.Attributes;
				public constructor(is: java.io.InputStream);
				public write(out: java.io.OutputStream): void;
				public hashCode(): number;
				public read(is: java.io.InputStream): void;
				public getEntries(): java.util.Map<string,java.util.jar.Attributes>;
				public clear(): void;
				public clone(): any;
				public equals(o: any): boolean;
				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(listener: java.beans.PropertyChangeListener): void;
						removePropertyChangeListener(listener: java.beans.PropertyChangeListener): void;
					});
					public constructor();
					public static FALSE: "false";
					public static FIELD_ATTRIBUTE_PFX: "pack.field.attribute.";
					public static KEEP_FILE_ORDER: "pack.keep.file.order";
					public static ERROR: "error";
					public static UNKNOWN_ATTRIBUTE: "pack.unknown.attribute";
					public static TRUE: "true";
					public static PASS: "pass";
					public static PASS_FILE_PFX: "pack.pass.file.";
					public static SEGMENT_LIMIT: "pack.segment.limit";
					public static LATEST: "latest";
					public static METHOD_ATTRIBUTE_PFX: "pack.method.attribute.";
					public static MODIFICATION_TIME: "pack.modification.time";
					public static STRIP: "strip";
					public static CLASS_ATTRIBUTE_PFX: "pack.class.attribute.";
					public static EFFORT: "pack.effort";
					public static KEEP: "keep";
					public static PROGRESS: "pack.progress";
					public static CODE_ATTRIBUTE_PFX: "pack.code.attribute.";
					public static DEFLATE_HINT: "pack.deflate.hint";
					/** @deprecated */
					public removePropertyChangeListener(listener: java.beans.PropertyChangeListener): void;
					public pack(param0: java.util.jar.JarInputStream, param1: java.io.OutputStream): void;
					/** @deprecated */
					public addPropertyChangeListener(listener: java.beans.PropertyChangeListener): 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(listener: java.beans.PropertyChangeListener): void;
						removePropertyChangeListener(listener: java.beans.PropertyChangeListener): void;
					});
					public constructor();
					public static FALSE: "false";
					public static KEEP: "keep";
					public static PROGRESS: "unpack.progress";
					public static DEFLATE_HINT: "unpack.deflate.hint";
					public static TRUE: "true";
					public unpack(param0: java.io.File, param1: java.util.jar.JarOutputStream): void;
					/** @deprecated */
					public removePropertyChangeListener(listener: java.beans.PropertyChangeListener): void;
					public unpack(param0: java.io.InputStream, param1: java.util.jar.JarOutputStream): void;
					/** @deprecated */
					public addPropertyChangeListener(listener: 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 constructor(out: java.io.OutputStream, formatter: java.util.logging.Formatter);
				public publish(record: java.util.logging.LogRecord): void;
				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: 3;
				public static FLUSH_FAILURE: 2;
				public static FORMAT_FAILURE: 5;
				public static GENERIC_FAILURE: 0;
				public static OPEN_FAILURE: 4;
				public static WRITE_FAILURE: 1;
				public error(msg: string, ex: java.lang.Exception, code: 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(pattern: string, append: boolean);
				public constructor(out: java.io.OutputStream, formatter: java.util.logging.Formatter);
				public publish(record: java.util.logging.LogRecord): void;
				public constructor(pattern: string, limit: number, count: number);
				public constructor(pattern: string);
				public constructor(pattern: string, limit: number, count: number, append: boolean);
				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 getTail(h: java.util.logging.Handler): string;
				public getHead(h: java.util.logging.Handler): string;
				public format(param0: java.util.logging.LogRecord): string;
				public formatMessage(record: java.util.logging.LogRecord): 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 setEncoding(encoding: string): void;
				public getEncoding(): string;
				public close(): void;
				public reportError(msg: string, ex: java.lang.Exception, code: number): void;
				public setFilter(newFilter: 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 constructor();
				public flush(): void;
				public getLevel(): java.util.logging.Level;
				public setFormatter(newFormatter: java.util.logging.Formatter): void;
				public getFilter(): java.util.logging.Filter;
				public isLoggable(record: java.util.logging.LogRecord): boolean;
				public setLevel(newLevel: java.util.logging.Level): void;
				public setErrorManager(em: java.util.logging.ErrorManager): 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 static parse(name: string): java.util.logging.Level;
				public equals(ox: any): boolean;
				public getLocalizedName(): string;
				public hashCode(): number;
				public intValue(): number;
				public getName(): string;
				public constructor(name: string, value: number, resourceBundleName: string);
				public getResourceBundleName(): string;
				public toString(): string;
				public constructor(name: string, value: number);
			}
		}
	}
}

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: "java.util.logging:type=Logging";
				public getLoggerNames(): java.util.Enumeration<string>;
				public static getLogManager(): java.util.logging.LogManager;
				public getLogger(name: string): java.util.logging.Logger;
				/** @deprecated */
				public addPropertyChangeListener(l: java.beans.PropertyChangeListener): void;
				public constructor();
				public checkAccess(): void;
				public reset(): void;
				public addLogger(logger: java.util.logging.Logger): boolean;
				public static getLoggingMXBean(): java.util.logging.LoggingMXBean;
				public readConfiguration(): void;
				/** @deprecated */
				public removePropertyChangeListener(l: java.beans.PropertyChangeListener): void;
				public readConfiguration(ins: java.io.InputStream): void;
				public getProperty(name: string): string;
			}
		}
	}
}

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 setSequenceNumber(seq: number): void;
				public setSourceClassName(sourceClassName: string): void;
				public getThrown(): java.lang.Throwable;
				public setLevel(level: java.util.logging.Level): void;
				public getThreadID(): number;
				public setMessage(message: string): void;
				public setParameters(parameters: androidNative.Array<any>): void;
				public getSourceMethodName(): string;
				public getLevel(): java.util.logging.Level;
				public setThreadID(threadID: number): void;
				public getSourceClassName(): string;
				public getMessage(): string;
				public getMillis(): number;
				public setSourceMethodName(sourceMethodName: string): void;
				public setMillis(millis: number): void;
				public setLoggerName(name: string): void;
				public setResourceBundleName(name: string): void;
				public setResourceBundle(bundle: java.util.ResourceBundle): void;
				public getParameters(): androidNative.Array<any>;
				public getResourceBundleName(): string;
				public getResourceBundle(): java.util.ResourceBundle;
				public getLoggerName(): string;
				public setThrown(thrown: java.lang.Throwable): void;
				public getSequenceNumber(): number;
				public constructor(level: java.util.logging.Level, msg: string);
			}
		}
	}
}

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: "global";
				public static global: java.util.logging.Logger;
				public logp(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, msg: string, param1: any): void;
				public fine(msg: string): void;
				public removeHandler(handler: java.util.logging.Handler): void;
				public log(level: java.util.logging.Level, thrown: java.lang.Throwable, msgSupplier: any /* any*/): void;
				public setParent(parent: java.util.logging.Logger): void;
				public getLevel(): java.util.logging.Level;
				public getFilter(): java.util.logging.Filter;
				public logp(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, msg: string): void;
				public finest(msgSupplier: any /* any*/): void;
				public entering(sourceClass: string, sourceMethod: string, params: androidNative.Array<any>): void;
				public addHandler(handler: java.util.logging.Handler): void;
				public getUseParentHandlers(): boolean;
				public getParent(): java.util.logging.Logger;
				public logp(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, msg: string, params: androidNative.Array<any>): void;
				public static getAnonymousLogger(): java.util.logging.Logger;
				public logrb(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, bundle: java.util.ResourceBundle, msg: string, params: androidNative.Array<any>): void;
				public config(msg: string): void;
				public config(msgSupplier: any /* any*/): void;
				public setResourceBundle(bundle: java.util.ResourceBundle): void;
				public setFilter(newFilter: java.util.logging.Filter): void;
				/** @deprecated */
				public logrb(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, bundleName: string, msg: string, params: androidNative.Array<any>): void;
				public getName(): string;
				public finer(msg: string): void;
				public logrb(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, bundle: java.util.ResourceBundle, msg: string, thrown: java.lang.Throwable): void;
				/** @deprecated */
				public logrb(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, bundleName: string, msg: string, thrown: java.lang.Throwable): void;
				public entering(sourceClass: string, sourceMethod: string, param1: any): void;
				public log(level: java.util.logging.Level, msgSupplier: any /* any*/): void;
				public log(level: java.util.logging.Level, msg: string, params: androidNative.Array<any>): void;
				public isLoggable(level: java.util.logging.Level): boolean;
				public severe(msg: string): void;
				public finest(msg: string): void;
				public logp(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, thrown: java.lang.Throwable, msgSupplier: any /* any*/): void;
				public warning(msg: string): void;
				public setUseParentHandlers(useParentHandlers: boolean): void;
				/** @deprecated */
				public logrb(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, bundleName: string, msg: string, param1: any): void;
				public log(record: java.util.logging.LogRecord): void;
				public logp(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, msgSupplier: any /* any*/): void;
				public entering(sourceClass: string, sourceMethod: string): void;
				public throwing(sourceClass: string, sourceMethod: string, thrown: java.lang.Throwable): void;
				public severe(msgSupplier: any /* any*/): void;
				public logp(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, msg: string, thrown: java.lang.Throwable): void;
				public setLevel(newLevel: java.util.logging.Level): void;
				public static getLogger(name: string): java.util.logging.Logger;
				public log(level: java.util.logging.Level, msg: string, param1: any): void;
				public info(msgSupplier: any /* any*/): void;
				public finer(msgSupplier: any /* any*/): void;
				public static getLogger(name: string, resourceBundleName: string): java.util.logging.Logger;
				public fine(msgSupplier: any /* any*/): void;
				public log(level: java.util.logging.Level, msg: string, thrown: java.lang.Throwable): void;
				public log(level: java.util.logging.Level, msg: string): void;
				/** @deprecated */
				public logrb(level: java.util.logging.Level, sourceClass: string, sourceMethod: string, bundleName: string, msg: string): void;
				public info(msg: string): void;
				public getResourceBundleName(): string;
				public static getAnonymousLogger(resourceBundleName: string): java.util.logging.Logger;
				public static getGlobal(): java.util.logging.Logger;
				public getResourceBundle(): java.util.ResourceBundle;
				public exiting(sourceClass: string, sourceMethod: string, result: any): void;
				public getHandlers(): androidNative.Array<java.util.logging.Handler>;
				public constructor(name: string, resourceBundleName: string);
				public warning(msgSupplier: any /* any*/): void;
				public exiting(sourceClass: string, sourceMethod: string): 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 constructor(name: string);
				public checkGuard(param0: any): void;
				public constructor(name: string, actions: 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 close(): void;
				public publish(record: java.util.logging.LogRecord): void;
				public setPushLevel(newLevel: java.util.logging.Level): void;
				public isLoggable(record: java.util.logging.LogRecord): boolean;
				public push(): void;
				public getPushLevel(): java.util.logging.Level;
				public constructor(target: java.util.logging.Handler, size: number, pushLevel: 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(record: 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 constructor(host: string, port: number);
				public close(): void;
				public constructor(out: java.io.OutputStream, formatter: java.util.logging.Formatter);
				public publish(record: java.util.logging.LogRecord): void;
				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 setEncoding(encoding: string): void;
				public close(): void;
				public constructor(out: java.io.OutputStream, formatter: java.util.logging.Formatter);
				public publish(record: java.util.logging.LogRecord): void;
				public setOutputStream(out: java.io.OutputStream): void;
				public isLoggable(record: java.util.logging.LogRecord): boolean;
				public constructor();
				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 getTail(h: java.util.logging.Handler): string;
				public getHead(h: java.util.logging.Handler): string;
				public format(record: java.util.logging.LogRecord): 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 getSpi(param0: string): string;
				public putBoolean(key: string, value: boolean): void;
				public childSpi(param0: string): java.util.prefs.AbstractPreferences;
				public removePreferenceChangeListener(pcl: java.util.prefs.PreferenceChangeListener): void;
				public constructor();
				public constructor(parent: java.util.prefs.AbstractPreferences, name: string);
				public removeSpi(param0: string): void;
				public flush(): void;
				public remove(key: string): void;
				public addNodeChangeListener(ncl: java.util.prefs.NodeChangeListener): void;
				public getBoolean(key: string, def: boolean): boolean;
				public childrenNames(): androidNative.Array<string>;
				public flushSpi(): void;
				public putSpi(param0: string, param1: string): void;
				public childrenNamesSpi(): androidNative.Array<string>;
				public clear(): void;
				public putLong(key: string, value: number): void;
				public removeNode(): void;
				public exportSubtree(os: java.io.OutputStream): void;
				public syncSpi(): void;
				public getFloat(key: string, def: number): number;
				public put(key: string, value: string): void;
				public cachedChildren(): androidNative.Array<java.util.prefs.AbstractPreferences>;
				public parent(): java.util.prefs.Preferences;
				public absolutePath(): string;
				public removeNodeSpi(): void;
				public addPreferenceChangeListener(pcl: java.util.prefs.PreferenceChangeListener): void;
				public isRemoved(): boolean;
				public exportNode(os: java.io.OutputStream): void;
				public getDouble(key: string, def: number): number;
				public getLong(key: string, def: number): number;
				public getByteArray(key: string, def: androidNative.Array<number>): androidNative.Array<number>;
				public keys(): androidNative.Array<string>;
				public node(path: string): java.util.prefs.Preferences;
				public nodeExists(path: string): boolean;
				public toString(): string;
				public name(): string;
				public keysSpi(): androidNative.Array<string>;
				public get(key: string, def: string): string;
				public getInt(key: string, def: number): number;
				public removeNodeChangeListener(ncl: java.util.prefs.NodeChangeListener): void;
				public getChild(nodeName: string): java.util.prefs.AbstractPreferences;
				public putByteArray(key: string, value: androidNative.Array<number>): void;
				public isUserNode(): boolean;
				public putFloat(key: string, value: number): void;
				public putDouble(key: string, value: number): void;
				public putInt(key: string, value: number): void;
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 getChild(): java.util.prefs.Preferences;
				public constructor(parent: java.util.prefs.Preferences, child: java.util.prefs.Preferences);
				public constructor(source: any);
				public getParent(): java.util.prefs.Preferences;
			}
		}
	}
}

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(source: any);
				public constructor(node: java.util.prefs.Preferences, key: string, newValue: string);
				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: 80;
				public static MAX_NAME_LENGTH: 80;
				public static MAX_VALUE_LENGTH: 8192;
				public sync(): void;
				public putInt(param0: string, param1: number): void;
				public putLong(param0: string, param1: number): void;
				public getByteArray(param0: string, param1: androidNative.Array<number>): androidNative.Array<number>;
				public constructor();
				public getFloat(param0: string, param1: number): number;
				public flush(): void;
				public static systemRoot(): java.util.prefs.Preferences;
				public childrenNames(): androidNative.Array<string>;
				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 static systemNodeForPackage(c: java.lang.Class<any>): java.util.prefs.Preferences;
				public parent(): java.util.prefs.Preferences;
				public absolutePath(): string;
				public removeNodeChangeListener(param0: java.util.prefs.NodeChangeListener): void;
				public getBoolean(param0: string, param1: boolean): boolean;
				public putByteArray(param0: string, param1: androidNative.Array<number>): void;
				public getInt(param0: string, param1: number): number;
				public keys(): androidNative.Array<string>;
				public exportSubtree(param0: java.io.OutputStream): void;
				public toString(): string;
				public nodeExists(param0: string): boolean;
				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 static userRoot(): java.util.prefs.Preferences;
				public isUserNode(): boolean;
				public static userNodeForPackage(c: java.lang.Class<any>): java.util.prefs.Preferences;
				public putFloat(param0: string, param1: number): void;
				public static importPreferences(is: 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 random {
			export class RandomGenerator extends java.lang.Object {
				public static class: java.lang.Class<java.util.random.RandomGenerator>;
				/**
				 * Constructs a new instance of the java.util.random.RandomGenerator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					of(name: string): java.util.random.RandomGenerator;
					getDefault(): java.util.random.RandomGenerator;
					isDeprecated(): boolean;
					doubles(): java.util.stream.DoubleStream;
					doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					doubles(streamSize: number): java.util.stream.DoubleStream;
					doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					ints(): java.util.stream.IntStream;
					ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					ints(streamSize: number): java.util.stream.IntStream;
					ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					longs(): java.util.stream.LongStream;
					longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					longs(streamSize: number): java.util.stream.LongStream;
					longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					nextBoolean(): boolean;
					nextBytes(bytes: androidNative.Array<number>): void;
					nextFloat(): number;
					nextFloat(bound: number): number;
					nextFloat(origin: number, bound: number): number;
					nextDouble(): number;
					nextDouble(bound: number): number;
					nextDouble(origin: number, bound: number): number;
					nextInt(): number;
					nextInt(bound: number): number;
					nextInt(origin: number, bound: number): number;
					nextLong(): number;
					nextLong(bound: number): number;
					nextLong(origin: number, bound: number): number;
					nextGaussian(): number;
					nextGaussian(mean: number, stddev: number): number;
					nextExponential(): number;
				});
				public constructor();
				public longs(): java.util.stream.LongStream;
				public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
				public nextLong(origin: number, bound: number): number;
				public nextExponential(): number;
				public static getDefault(): java.util.random.RandomGenerator;
				public nextBytes(bytes: androidNative.Array<number>): void;
				public nextDouble(): number;
				public doubles(): java.util.stream.DoubleStream;
				public ints(streamSize: number): java.util.stream.IntStream;
				public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
				public nextDouble(origin: number, bound: number): number;
				public nextInt(): number;
				public nextLong(): number;
				public isDeprecated(): boolean;
				public nextGaussian(): number;
				public static of(name: string): java.util.random.RandomGenerator;
				public nextFloat(): number;
				public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
				public nextInt(origin: number, bound: number): number;
				public doubles(streamSize: number): java.util.stream.DoubleStream;
				public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
				public nextGaussian(mean: number, stddev: number): number;
				public nextBoolean(): boolean;
				public longs(streamSize: number): java.util.stream.LongStream;
				public nextLong(bound: number): number;
				public nextDouble(bound: number): number;
				public ints(): java.util.stream.IntStream;
				public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
				public nextFloat(origin: number, bound: number): number;
				public nextInt(bound: number): number;
				public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
				public nextFloat(bound: number): number;
			}
			export module RandomGenerator {
				export class ArbitrarilyJumpableGenerator extends java.lang.Object implements java.util.random.RandomGenerator.LeapableGenerator {
					public static class: java.lang.Class<java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator>;
					/**
					 * Constructs a new instance of the java.util.random.RandomGenerator$ArbitrarilyJumpableGenerator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						of(name: string): java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator;
						copy(): java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator;
						jumpPowerOfTwo(param0: number): void;
						jump(param0: number): void;
						jump(): void;
						jumps(distance: number): java.util.stream.Stream<java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator>;
						jumps(streamSize: number, distance: number): java.util.stream.Stream<java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator>;
						leap(): void;
						copyAndJump(distance: number): java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator;
						copy(): java.util.random.RandomGenerator.LeapableGenerator;
						copy(): java.util.random.RandomGenerator.JumpableGenerator;
						of(name: string): java.util.random.RandomGenerator.LeapableGenerator;
						copy(): java.util.random.RandomGenerator.LeapableGenerator;
						leap(): void;
						leapDistance(): number;
						leaps(): java.util.stream.Stream<java.util.random.RandomGenerator.JumpableGenerator>;
						leaps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator.JumpableGenerator>;
						copyAndLeap(): java.util.random.RandomGenerator.JumpableGenerator;
						copy(): java.util.random.RandomGenerator.JumpableGenerator;
						of(name: string): java.util.random.RandomGenerator.JumpableGenerator;
						copy(): java.util.random.RandomGenerator.JumpableGenerator;
						jump(): void;
						jumpDistance(): number;
						jumps(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						jumps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						copyAndJump(): java.util.random.RandomGenerator;
						of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						of(name: string): java.util.random.RandomGenerator;
						getDefault(): java.util.random.RandomGenerator;
						isDeprecated(): boolean;
						doubles(): java.util.stream.DoubleStream;
						doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						doubles(streamSize: number): java.util.stream.DoubleStream;
						doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						ints(): java.util.stream.IntStream;
						ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						ints(streamSize: number): java.util.stream.IntStream;
						ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						longs(): java.util.stream.LongStream;
						longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						longs(streamSize: number): java.util.stream.LongStream;
						longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						nextBoolean(): boolean;
						nextBytes(bytes: androidNative.Array<number>): void;
						nextFloat(): number;
						nextFloat(bound: number): number;
						nextFloat(origin: number, bound: number): number;
						nextDouble(): number;
						nextDouble(bound: number): number;
						nextDouble(origin: number, bound: number): number;
						nextInt(): number;
						nextInt(bound: number): number;
						nextInt(origin: number, bound: number): number;
						nextLong(): number;
						nextLong(bound: number): number;
						nextLong(origin: number, bound: number): number;
						nextGaussian(): number;
						nextGaussian(mean: number, stddev: number): number;
						nextExponential(): number;
					});
					public constructor();
					public leap(): void;
					public nextBoolean(): boolean;
					public leapDistance(): number;
					public nextLong(): number;
					public copyAndJump(): java.util.random.RandomGenerator;
					public static getDefault(): java.util.random.RandomGenerator;
					public nextInt(origin: number, bound: number): number;
					public nextDouble(bound: number): number;
					public nextInt(bound: number): number;
					public copy(): java.util.random.RandomGenerator.LeapableGenerator;
					public leaps(): java.util.stream.Stream<java.util.random.RandomGenerator.JumpableGenerator>;
					public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public nextExponential(): number;
					public jumps(): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public ints(): java.util.stream.IntStream;
					public nextDouble(): number;
					public rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public isDeprecated(): boolean;
					public longs(streamSize: number): java.util.stream.LongStream;
					public nextInt(): number;
					public nextLong(origin: number, bound: number): number;
					public leaps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator.JumpableGenerator>;
					public static of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
					public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public copyAndLeap(): java.util.random.RandomGenerator.JumpableGenerator;
					public jumps(streamSize: number, distance: number): java.util.stream.Stream<java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator>;
					public jump(param0: number): void;
					public rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public ints(streamSize: number): java.util.stream.IntStream;
					public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public doubles(): java.util.stream.DoubleStream;
					public nextGaussian(mean: number, stddev: number): number;
					public jumpPowerOfTwo(param0: number): void;
					public jumps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public copy(): java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator;
					public copyAndJump(distance: number): java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator;
					public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public nextDouble(origin: number, bound: number): number;
					public jump(): void;
					public jumpDistance(): number;
					public longs(): java.util.stream.LongStream;
					public nextBytes(bytes: androidNative.Array<number>): void;
					public nextFloat(origin: number, bound: number): number;
					public nextLong(bound: number): number;
					public static of(name: string): java.util.random.RandomGenerator;
					public static of(name: string): java.util.random.RandomGenerator.JumpableGenerator;
					public copy(): java.util.random.RandomGenerator.JumpableGenerator;
					public static of(name: string): java.util.random.RandomGenerator.LeapableGenerator;
					public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public nextFloat(bound: number): number;
					public nextFloat(): number;
					public jumps(distance: number): java.util.stream.Stream<java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator>;
					public static of(name: string): java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator;
					public doubles(streamSize: number): java.util.stream.DoubleStream;
					public nextGaussian(): number;
				}
				export class JumpableGenerator extends java.lang.Object implements java.util.random.RandomGenerator.StreamableGenerator {
					public static class: java.lang.Class<java.util.random.RandomGenerator.JumpableGenerator>;
					/**
					 * Constructs a new instance of the java.util.random.RandomGenerator$JumpableGenerator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						of(name: string): java.util.random.RandomGenerator.JumpableGenerator;
						copy(): java.util.random.RandomGenerator.JumpableGenerator;
						jump(): void;
						jumpDistance(): number;
						jumps(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						jumps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						copyAndJump(): java.util.random.RandomGenerator;
						of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						of(name: string): java.util.random.RandomGenerator;
						getDefault(): java.util.random.RandomGenerator;
						isDeprecated(): boolean;
						doubles(): java.util.stream.DoubleStream;
						doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						doubles(streamSize: number): java.util.stream.DoubleStream;
						doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						ints(): java.util.stream.IntStream;
						ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						ints(streamSize: number): java.util.stream.IntStream;
						ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						longs(): java.util.stream.LongStream;
						longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						longs(streamSize: number): java.util.stream.LongStream;
						longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						nextBoolean(): boolean;
						nextBytes(bytes: androidNative.Array<number>): void;
						nextFloat(): number;
						nextFloat(bound: number): number;
						nextFloat(origin: number, bound: number): number;
						nextDouble(): number;
						nextDouble(bound: number): number;
						nextDouble(origin: number, bound: number): number;
						nextInt(): number;
						nextInt(bound: number): number;
						nextInt(origin: number, bound: number): number;
						nextLong(): number;
						nextLong(bound: number): number;
						nextLong(origin: number, bound: number): number;
						nextGaussian(): number;
						nextGaussian(mean: number, stddev: number): number;
						nextExponential(): number;
					});
					public constructor();
					public rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public ints(streamSize: number): java.util.stream.IntStream;
					public nextBoolean(): boolean;
					public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public doubles(): java.util.stream.DoubleStream;
					public nextGaussian(mean: number, stddev: number): number;
					public jumps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public nextLong(): number;
					public copyAndJump(): java.util.random.RandomGenerator;
					public static getDefault(): java.util.random.RandomGenerator;
					public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public nextDouble(origin: number, bound: number): number;
					public nextInt(origin: number, bound: number): number;
					public nextDouble(bound: number): number;
					public nextInt(bound: number): number;
					public jump(): void;
					public jumpDistance(): number;
					public longs(): java.util.stream.LongStream;
					public nextBytes(bytes: androidNative.Array<number>): void;
					public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public nextFloat(origin: number, bound: number): number;
					public nextLong(bound: number): number;
					public static of(name: string): java.util.random.RandomGenerator;
					public static of(name: string): java.util.random.RandomGenerator.JumpableGenerator;
					public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public nextExponential(): number;
					public copy(): java.util.random.RandomGenerator.JumpableGenerator;
					public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public jumps(): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public ints(): java.util.stream.IntStream;
					public nextFloat(bound: number): number;
					public nextDouble(): number;
					public rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public isDeprecated(): boolean;
					public nextFloat(): number;
					public longs(streamSize: number): java.util.stream.LongStream;
					public nextInt(): number;
					public nextLong(origin: number, bound: number): number;
					public static of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
					public doubles(streamSize: number): java.util.stream.DoubleStream;
					public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public nextGaussian(): number;
				}
				export class LeapableGenerator extends java.lang.Object implements java.util.random.RandomGenerator.JumpableGenerator {
					public static class: java.lang.Class<java.util.random.RandomGenerator.LeapableGenerator>;
					/**
					 * Constructs a new instance of the java.util.random.RandomGenerator$LeapableGenerator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						of(name: string): java.util.random.RandomGenerator.LeapableGenerator;
						copy(): java.util.random.RandomGenerator.LeapableGenerator;
						leap(): void;
						leapDistance(): number;
						leaps(): java.util.stream.Stream<java.util.random.RandomGenerator.JumpableGenerator>;
						leaps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator.JumpableGenerator>;
						copyAndLeap(): java.util.random.RandomGenerator.JumpableGenerator;
						copy(): java.util.random.RandomGenerator.JumpableGenerator;
						of(name: string): java.util.random.RandomGenerator.JumpableGenerator;
						copy(): java.util.random.RandomGenerator.JumpableGenerator;
						jump(): void;
						jumpDistance(): number;
						jumps(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						jumps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						copyAndJump(): java.util.random.RandomGenerator;
						of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						of(name: string): java.util.random.RandomGenerator;
						getDefault(): java.util.random.RandomGenerator;
						isDeprecated(): boolean;
						doubles(): java.util.stream.DoubleStream;
						doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						doubles(streamSize: number): java.util.stream.DoubleStream;
						doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						ints(): java.util.stream.IntStream;
						ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						ints(streamSize: number): java.util.stream.IntStream;
						ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						longs(): java.util.stream.LongStream;
						longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						longs(streamSize: number): java.util.stream.LongStream;
						longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						nextBoolean(): boolean;
						nextBytes(bytes: androidNative.Array<number>): void;
						nextFloat(): number;
						nextFloat(bound: number): number;
						nextFloat(origin: number, bound: number): number;
						nextDouble(): number;
						nextDouble(bound: number): number;
						nextDouble(origin: number, bound: number): number;
						nextInt(): number;
						nextInt(bound: number): number;
						nextInt(origin: number, bound: number): number;
						nextLong(): number;
						nextLong(bound: number): number;
						nextLong(origin: number, bound: number): number;
						nextGaussian(): number;
						nextGaussian(mean: number, stddev: number): number;
						nextExponential(): number;
					});
					public constructor();
					public leap(): void;
					public nextBoolean(): boolean;
					public leapDistance(): number;
					public nextLong(): number;
					public copyAndJump(): java.util.random.RandomGenerator;
					public static getDefault(): java.util.random.RandomGenerator;
					public nextInt(origin: number, bound: number): number;
					public nextDouble(bound: number): number;
					public nextInt(bound: number): number;
					public copy(): java.util.random.RandomGenerator.LeapableGenerator;
					public leaps(): java.util.stream.Stream<java.util.random.RandomGenerator.JumpableGenerator>;
					public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public nextExponential(): number;
					public jumps(): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public ints(): java.util.stream.IntStream;
					public nextDouble(): number;
					public rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public isDeprecated(): boolean;
					public longs(streamSize: number): java.util.stream.LongStream;
					public nextInt(): number;
					public nextLong(origin: number, bound: number): number;
					public leaps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator.JumpableGenerator>;
					public static of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
					public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public copyAndLeap(): java.util.random.RandomGenerator.JumpableGenerator;
					public rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public ints(streamSize: number): java.util.stream.IntStream;
					public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public doubles(): java.util.stream.DoubleStream;
					public nextGaussian(mean: number, stddev: number): number;
					public jumps(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public nextDouble(origin: number, bound: number): number;
					public jump(): void;
					public jumpDistance(): number;
					public longs(): java.util.stream.LongStream;
					public nextBytes(bytes: androidNative.Array<number>): void;
					public nextFloat(origin: number, bound: number): number;
					public nextLong(bound: number): number;
					public static of(name: string): java.util.random.RandomGenerator;
					public static of(name: string): java.util.random.RandomGenerator.JumpableGenerator;
					public copy(): java.util.random.RandomGenerator.JumpableGenerator;
					public static of(name: string): java.util.random.RandomGenerator.LeapableGenerator;
					public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public nextFloat(bound: number): number;
					public nextFloat(): number;
					public doubles(streamSize: number): java.util.stream.DoubleStream;
					public nextGaussian(): number;
				}
				export class SplittableGenerator extends java.lang.Object implements java.util.random.RandomGenerator.StreamableGenerator {
					public static class: java.lang.Class<java.util.random.RandomGenerator.SplittableGenerator>;
					/**
					 * Constructs a new instance of the java.util.random.RandomGenerator$SplittableGenerator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						of(name: string): java.util.random.RandomGenerator.SplittableGenerator;
						split(): java.util.random.RandomGenerator.SplittableGenerator;
						split(param0: java.util.random.RandomGenerator.SplittableGenerator): java.util.random.RandomGenerator.SplittableGenerator;
						splits(): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
						splits(param0: number): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
						splits(param0: java.util.random.RandomGenerator.SplittableGenerator): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
						splits(param0: number, param1: java.util.random.RandomGenerator.SplittableGenerator): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						of(name: string): java.util.random.RandomGenerator;
						getDefault(): java.util.random.RandomGenerator;
						isDeprecated(): boolean;
						doubles(): java.util.stream.DoubleStream;
						doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						doubles(streamSize: number): java.util.stream.DoubleStream;
						doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						ints(): java.util.stream.IntStream;
						ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						ints(streamSize: number): java.util.stream.IntStream;
						ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						longs(): java.util.stream.LongStream;
						longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						longs(streamSize: number): java.util.stream.LongStream;
						longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						nextBoolean(): boolean;
						nextBytes(bytes: androidNative.Array<number>): void;
						nextFloat(): number;
						nextFloat(bound: number): number;
						nextFloat(origin: number, bound: number): number;
						nextDouble(): number;
						nextDouble(bound: number): number;
						nextDouble(origin: number, bound: number): number;
						nextInt(): number;
						nextInt(bound: number): number;
						nextInt(origin: number, bound: number): number;
						nextLong(): number;
						nextLong(bound: number): number;
						nextLong(origin: number, bound: number): number;
						nextGaussian(): number;
						nextGaussian(mean: number, stddev: number): number;
						nextExponential(): number;
					});
					public constructor();
					public rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public ints(streamSize: number): java.util.stream.IntStream;
					public nextBoolean(): boolean;
					public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public splits(param0: number): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
					public doubles(): java.util.stream.DoubleStream;
					public static of(name: string): java.util.random.RandomGenerator.SplittableGenerator;
					public nextGaussian(mean: number, stddev: number): number;
					public nextLong(): number;
					public static getDefault(): java.util.random.RandomGenerator;
					public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public nextDouble(origin: number, bound: number): number;
					public nextInt(origin: number, bound: number): number;
					public nextDouble(bound: number): number;
					public nextInt(bound: number): number;
					public longs(): java.util.stream.LongStream;
					public nextBytes(bytes: androidNative.Array<number>): void;
					public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public nextFloat(origin: number, bound: number): number;
					public nextLong(bound: number): number;
					public static of(name: string): java.util.random.RandomGenerator;
					public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public nextExponential(): number;
					public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public splits(): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
					public ints(): java.util.stream.IntStream;
					public nextFloat(bound: number): number;
					public split(param0: java.util.random.RandomGenerator.SplittableGenerator): java.util.random.RandomGenerator.SplittableGenerator;
					public nextDouble(): number;
					public rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public isDeprecated(): boolean;
					public nextFloat(): number;
					public longs(streamSize: number): java.util.stream.LongStream;
					public splits(param0: java.util.random.RandomGenerator.SplittableGenerator): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
					public nextInt(): number;
					public nextLong(origin: number, bound: number): number;
					public splits(param0: number, param1: java.util.random.RandomGenerator.SplittableGenerator): java.util.stream.Stream<java.util.random.RandomGenerator.SplittableGenerator>;
					public static of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
					public doubles(streamSize: number): java.util.stream.DoubleStream;
					public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public nextGaussian(): number;
					public split(): java.util.random.RandomGenerator.SplittableGenerator;
				}
				export class StreamableGenerator extends java.lang.Object implements java.util.random.RandomGenerator {
					public static class: java.lang.Class<java.util.random.RandomGenerator.StreamableGenerator>;
					/**
					 * Constructs a new instance of the java.util.random.RandomGenerator$StreamableGenerator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
						rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
						rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
						of(name: string): java.util.random.RandomGenerator;
						getDefault(): java.util.random.RandomGenerator;
						isDeprecated(): boolean;
						doubles(): java.util.stream.DoubleStream;
						doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						doubles(streamSize: number): java.util.stream.DoubleStream;
						doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
						ints(): java.util.stream.IntStream;
						ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						ints(streamSize: number): java.util.stream.IntStream;
						ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
						longs(): java.util.stream.LongStream;
						longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						longs(streamSize: number): java.util.stream.LongStream;
						longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
						nextBoolean(): boolean;
						nextBytes(bytes: androidNative.Array<number>): void;
						nextFloat(): number;
						nextFloat(bound: number): number;
						nextFloat(origin: number, bound: number): number;
						nextDouble(): number;
						nextDouble(bound: number): number;
						nextDouble(origin: number, bound: number): number;
						nextInt(): number;
						nextInt(bound: number): number;
						nextInt(origin: number, bound: number): number;
						nextLong(): number;
						nextLong(bound: number): number;
						nextLong(origin: number, bound: number): number;
						nextGaussian(): number;
						nextGaussian(mean: number, stddev: number): number;
						nextExponential(): number;
					});
					public constructor();
					public rngs(): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public ints(streamSize: number): java.util.stream.IntStream;
					public nextBoolean(): boolean;
					public doubles(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public doubles(): java.util.stream.DoubleStream;
					public nextGaussian(mean: number, stddev: number): number;
					public nextLong(): number;
					public static getDefault(): java.util.random.RandomGenerator;
					public doubles(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.DoubleStream;
					public nextDouble(origin: number, bound: number): number;
					public nextInt(origin: number, bound: number): number;
					public nextDouble(bound: number): number;
					public nextInt(bound: number): number;
					public longs(): java.util.stream.LongStream;
					public nextBytes(bytes: androidNative.Array<number>): void;
					public ints(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public nextFloat(origin: number, bound: number): number;
					public nextLong(bound: number): number;
					public static of(name: string): java.util.random.RandomGenerator;
					public longs(streamSize: number, randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public nextExponential(): number;
					public longs(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.LongStream;
					public ints(): java.util.stream.IntStream;
					public nextFloat(bound: number): number;
					public nextDouble(): number;
					public rngs(streamSize: number): java.util.stream.Stream<java.util.random.RandomGenerator>;
					public isDeprecated(): boolean;
					public nextFloat(): number;
					public longs(streamSize: number): java.util.stream.LongStream;
					public nextInt(): number;
					public nextLong(origin: number, bound: number): number;
					public static of(name: string): java.util.random.RandomGenerator.StreamableGenerator;
					public doubles(streamSize: number): java.util.stream.DoubleStream;
					public ints(randomNumberOrigin: number, randomNumberBound: number): java.util.stream.IntStream;
					public nextGaussian(): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module random {
			export class RandomGeneratorFactory<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.random.RandomGeneratorFactory<any>>;
				public period(): java.math.BigInteger;
				public isStochastic(): boolean;
				public static of(name: string): java.util.random.RandomGeneratorFactory<any>;
				public group(): string;
				public isJumpable(): boolean;
				public static getDefault(): java.util.random.RandomGeneratorFactory<java.util.random.RandomGenerator>;
				public isStatistical(): boolean;
				public isLeapable(): boolean;
				public isDeprecated(): boolean;
				public name(): string;
				public stateBits(): number;
				public isStreamable(): boolean;
				public isSplittable(): boolean;
				public equidistribution(): number;
				public static all(): java.util.stream.Stream<java.util.random.RandomGeneratorFactory<java.util.random.RandomGenerator>>;
				public isHardware(): boolean;
				public isArbitrarilyJumpable(): boolean;
				public create(seed: number): T;
				public create(): T;
				public create(seed: androidNative.Array<number>): T;
			}
		}
	}
}

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 reset(input: string): java.util.regex.Matcher;
				public appendTail(sb: java.lang.StringBuilder): java.lang.StringBuilder;
				public replaceFirst(replacer: any /* any<java.util.regex.MatchResult,string>*/): string;
				public hasTransparentBounds(): boolean;
				public hitEnd(): boolean;
				public end(name: string): number;
				public end(): number;
				public start(name: string): number;
				public group(name: string): string;
				public region(start: number, end: number): java.util.regex.Matcher;
				public useTransparentBounds(b: boolean): java.util.regex.Matcher;
				public lookingAt(): boolean;
				public start(param0: number): number;
				public hasAnchoringBounds(): boolean;
				public find(start: number): boolean;
				public replaceAll(replacement: string): string;
				public requireEnd(): boolean;
				public reset(): java.util.regex.Matcher;
				public appendTail(sb: java.lang.StringBuffer): java.lang.StringBuffer;
				public find(): boolean;
				public static quoteReplacement(s: string): string;
				public matches(): boolean;
				public end(group: number): number;
				public appendReplacement(sb: java.lang.StringBuffer, replacement: string): java.util.regex.Matcher;
				public appendReplacement(sb: java.lang.StringBuilder, replacement: string): java.util.regex.Matcher;
				public useAnchoringBounds(b: boolean): java.util.regex.Matcher;
				public usePattern(newPattern: java.util.regex.Pattern): java.util.regex.Matcher;
				public start(): number;
				public group(): string;
				public replaceFirst(replacement: string): string;
				public results(): java.util.stream.Stream<java.util.regex.MatchResult>;
				public group(param0: number): string;
				public regionStart(): number;
				public regionEnd(): number;
				public toString(): string;
				public group(group: number): string;
				public replaceAll(replacer: any /* any<java.util.regex.MatchResult,string>*/): string;
				public start(group: number): number;
				public groupCount(): number;
				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: 128;
				public static CASE_INSENSITIVE: 2;
				public static COMMENTS: 4;
				public static DOTALL: 32;
				public static LITERAL: 16;
				public static MULTILINE: 8;
				public static UNICODE_CASE: 64;
				public static UNICODE_CHARACTER_CLASS: 256;
				public static UNIX_LINES: 1;
				public split(input: string, limit: number): androidNative.Array<string>;
				public static compile(regex: string): java.util.regex.Pattern;
				public pattern(): string;
				public flags(): number;
				public static quote(s: string): string;
				public splitAsStream(input: string): java.util.stream.Stream<string>;
				public static matches(regex: string, input: string): boolean;
				public toString(): string;
				public static compile(regex: string, flags: number): java.util.regex.Pattern;
				public split(input: string): androidNative.Array<string>;
				public asPredicate(): any /* any*/;
				public matcher(input: string): java.util.regex.Matcher;
				public asMatchPredicate(): any /* any*/;
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(desc: string, regex: string, index: number);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getIndex(): number;
				public getDescription(): string;
				public getPattern(): string;
				public getMessage(): string;
				public constructor();
			}
		}
	}
}

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(supplier: any /* any*/, accumulator: any /* any*/, combiner: any /* any*/, characteristics: androidNative.Array<java.util.stream.Collector.Characteristics>): java.util.stream.Collector<any,any,any>;
					of(supplier: any /* any*/, accumulator: any /* any*/, combiner: any /* any*/, finisher: any /* any*/, characteristics: androidNative.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(supplier: any /* any*/, accumulator: any /* any*/, combiner: any /* any*/, characteristics: androidNative.Array<java.util.stream.Collector.Characteristics>): java.util.stream.Collector<any,any,any>;
				public finisher(): any /* any<A,R>*/;
				public static of(supplier: any /* any*/, accumulator: any /* any*/, combiner: any /* any*/, finisher: any /* any*/, characteristics: androidNative.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 valueOf(name: string): java.util.stream.Collector.Characteristics;
					public static values(): androidNative.Array<java.util.stream.Collector.Characteristics>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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 toConcurrentMap(keyMapper: any /* any*/, valueMapper: any /* any*/, mergeFunction: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static groupingBy(classifier: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toUnmodifiableMap(keyMapper: any /* any*/, valueMapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static groupingByConcurrent(classifier: any /* any*/, downstream: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static summarizingLong(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toMap(keyMapper: any /* any*/, valueMapper: any /* any*/, mergeFunction: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toCollection(collectionFactory: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static summingInt(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toMap(keyMapper: any /* any*/, valueMapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static reducing(op: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toList(): java.util.stream.Collector<any,any,any>;
				public static toUnmodifiableSet(): java.util.stream.Collector<any,any,any>;
				public static averagingLong(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static joining(): java.util.stream.Collector<string,any,string>;
				public static summarizingInt(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static summingLong(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static reducing(identity: any, op: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toConcurrentMap(keyMapper: any /* any*/, valueMapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static minBy(comparator: java.util.Comparator<any>): java.util.stream.Collector<any,any,any>;
				public static toConcurrentMap(keyMapper: any /* any*/, valueMapper: any /* any*/, mergeFunction: any /* any*/, mapFactory: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static summarizingDouble(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static mapping(mapper: any /* any*/, downstream: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static maxBy(comparator: java.util.Comparator<any>): java.util.stream.Collector<any,any,any>;
				public static averagingInt(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static averagingDouble(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toUnmodifiableMap(keyMapper: any /* any*/, valueMapper: any /* any*/, mergeFunction: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static joining(delimiter: string, prefix: string, suffix: string): java.util.stream.Collector<string,any,string>;
				public static counting(): java.util.stream.Collector<any,any,any>;
				public static joining(delimiter: string): java.util.stream.Collector<string,any,string>;
				public static filtering(predicate: any /* any*/, downstream: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static teeing(downstream1: java.util.stream.Collector<any,any,any>, downstream2: java.util.stream.Collector<any,any,any>, merger: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static summingDouble(mapper: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toUnmodifiableList(): java.util.stream.Collector<any,any,any>;
				public static reducing(identity: any, mapper: any /* any*/, op: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static flatMapping(mapper: any /* any*/, downstream: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static groupingByConcurrent(classifier: any /* any*/, mapFactory: any /* any*/, downstream: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static groupingByConcurrent(classifier: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toSet(): java.util.stream.Collector<any,any,any>;
				public static partitioningBy(predicate: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static groupingBy(classifier: any /* any*/, downstream: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static collectingAndThen(downstream: java.util.stream.Collector<any,any,any>, finisher: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toMap(keyMapper: any /* any*/, valueMapper: any /* any*/, mergeFunction: any /* any*/, mapFactory: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static groupingBy(classifier: any /* any*/, mapFactory: any /* any*/, downstream: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static partitioningBy(predicate: any /* any*/, downstream: java.util.stream.Collector<any,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;
					mapMulti(mapper: java.util.stream.DoubleStream.DoubleMapMultiConsumer): 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;
					takeWhile(predicate: any /* any*/): java.util.stream.DoubleStream;
					dropWhile(predicate: any /* any*/): java.util.stream.DoubleStream;
					forEach(param0: any /* any*/): void;
					forEachOrdered(param0: any /* any*/): void;
					toArray(): androidNative.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(t: number): java.util.stream.DoubleStream;
					of(values: androidNative.Array<number>): java.util.stream.DoubleStream;
					iterate(seed: number, f: any /* any*/): java.util.stream.DoubleStream;
					iterate(seed: number, hasNext: any /* any*/, next: any /* any*/): java.util.stream.DoubleStream;
					generate(s: any /* any*/): java.util.stream.DoubleStream;
					concat(a: java.util.stream.DoubleStream, b: 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 min(): java.util.OptionalDouble;
				public map(param0: any /* any*/): java.util.stream.DoubleStream;
				public dropWhile(predicate: any /* any*/): java.util.stream.DoubleStream;
				public boxed(): java.util.stream.Stream<java.lang.Double>;
				public findAny(): java.util.OptionalDouble;
				public sequential(): any;
				public toArray(): androidNative.Array<number>;
				public mapToInt(param0: any /* any*/): java.util.stream.IntStream;
				public noneMatch(param0: any /* any*/): boolean;
				public mapToLong(param0: any /* any*/): java.util.stream.LongStream;
				public iterator(): java.util.PrimitiveIterator.OfDouble;
				public forEach(param0: any /* any*/): void;
				public reduce(param0: number, param1: any /* any*/): number;
				public sum(): number;
				public limit(param0: number): java.util.stream.DoubleStream;
				public anyMatch(param0: any /* any*/): boolean;
				public static generate(s: any /* any*/): java.util.stream.DoubleStream;
				public static of(values: androidNative.Array<number>): java.util.stream.DoubleStream;
				public close(): void;
				public spliterator(): java.util.Spliterator<any>;
				public spliterator(): java.util.Spliterator.OfDouble;
				public static of(t: number): java.util.stream.DoubleStream;
				public iterator(): java.util.Iterator<any>;
				public unordered(): any;
				public average(): java.util.OptionalDouble;
				public max(): java.util.OptionalDouble;
				public static iterate(seed: number, f: any /* any*/): java.util.stream.DoubleStream;
				public forEachOrdered(param0: any /* any*/): void;
				public collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
				public distinct(): java.util.stream.DoubleStream;
				public isParallel(): boolean;
				public reduce(param0: any /* any*/): java.util.OptionalDouble;
				public sequential(): java.util.stream.DoubleStream;
				public allMatch(param0: any /* any*/): boolean;
				public static empty(): java.util.stream.DoubleStream;
				public findFirst(): java.util.OptionalDouble;
				public parallel(): any;
				public summaryStatistics(): java.util.DoubleSummaryStatistics;
				public skip(param0: number): java.util.stream.DoubleStream;
				public static builder(): java.util.stream.DoubleStream.Builder;
				public mapToObj(param0: any /* any*/): java.util.stream.Stream<any>;
				public parallel(): java.util.stream.DoubleStream;
				public mapMulti(mapper: java.util.stream.DoubleStream.DoubleMapMultiConsumer): java.util.stream.DoubleStream;
				public takeWhile(predicate: any /* any*/): java.util.stream.DoubleStream;
				public onClose(param0: java.lang.Runnable): any;
				public static iterate(seed: number, hasNext: any /* any*/, next: any /* any*/): java.util.stream.DoubleStream;
				public sorted(): java.util.stream.DoubleStream;
				public flatMap(param0: any /* any*/): java.util.stream.DoubleStream;
				public peek(param0: any /* any*/): java.util.stream.DoubleStream;
				public filter(param0: any /* any*/): java.util.stream.DoubleStream;
				public count(): number;
				public static concat(a: java.util.stream.DoubleStream, b: java.util.stream.DoubleStream): java.util.stream.DoubleStream;
			}
			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(t: number): java.util.stream.DoubleStream.Builder;
						build(): java.util.stream.DoubleStream;
					});
					public constructor();
					public accept(param0: number): void;
					public build(): java.util.stream.DoubleStream;
					public add(t: number): java.util.stream.DoubleStream.Builder;
				}
				export class DoubleMapMultiConsumer extends java.lang.Object {
					public static class: java.lang.Class<java.util.stream.DoubleStream.DoubleMapMultiConsumer>;
					/**
					 * Constructs a new instance of the java.util.stream.DoubleStream$DoubleMapMultiConsumer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						accept(param0: number, param1: any /* any*/): void;
					});
					public constructor();
					public accept(param0: number, param1: any /* any*/): void;
				}
			}
		}
	}
}

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;
					mapMulti(mapper: java.util.stream.IntStream.IntMapMultiConsumer): 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;
					takeWhile(predicate: any /* any*/): java.util.stream.IntStream;
					dropWhile(predicate: any /* any*/): java.util.stream.IntStream;
					forEach(param0: any /* any*/): void;
					forEachOrdered(param0: any /* any*/): void;
					toArray(): androidNative.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(t: number): java.util.stream.IntStream;
					of(values: androidNative.Array<number>): java.util.stream.IntStream;
					iterate(seed: number, f: any /* any*/): java.util.stream.IntStream;
					iterate(seed: number, hasNext: any /* any*/, next: any /* any*/): java.util.stream.IntStream;
					generate(s: any /* any*/): java.util.stream.IntStream;
					range(startInclusive: number, endExclusive: number): java.util.stream.IntStream;
					rangeClosed(startInclusive: number, endInclusive: number): java.util.stream.IntStream;
					concat(a: java.util.stream.IntStream, b: 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 iterate(seed: number, hasNext: any /* any*/, next: any /* any*/): java.util.stream.IntStream;
				public static empty(): java.util.stream.IntStream;
				public limit(param0: number): java.util.stream.IntStream;
				public static of(t: number): java.util.stream.IntStream;
				public sequential(): any;
				public mapToLong(param0: any /* any*/): java.util.stream.LongStream;
				public flatMap(param0: any /* any*/): java.util.stream.IntStream;
				public toArray(): androidNative.Array<number>;
				public parallel(): java.util.stream.IntStream;
				public findFirst(): java.util.OptionalInt;
				public mapMulti(mapper: java.util.stream.IntStream.IntMapMultiConsumer): java.util.stream.IntStream;
				public sum(): number;
				public static generate(s: any /* any*/): java.util.stream.IntStream;
				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 dropWhile(predicate: any /* any*/): java.util.stream.IntStream;
				public average(): java.util.OptionalDouble;
				public static of(values: androidNative.Array<number>): java.util.stream.IntStream;
				public summaryStatistics(): java.util.IntSummaryStatistics;
				public min(): java.util.OptionalInt;
				public boxed(): java.util.stream.Stream<java.lang.Integer>;
				public mapToDouble(param0: any /* any*/): java.util.stream.DoubleStream;
				public static rangeClosed(startInclusive: number, endInclusive: number): java.util.stream.IntStream;
				public anyMatch(param0: any /* any*/): boolean;
				public findAny(): java.util.OptionalInt;
				public noneMatch(param0: any /* any*/): boolean;
				public isParallel(): boolean;
				public takeWhile(predicate: any /* any*/): java.util.stream.IntStream;
				public sorted(): java.util.stream.IntStream;
				public static range(startInclusive: number, endExclusive: 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 static concat(a: java.util.stream.IntStream, b: java.util.stream.IntStream): 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 mapToObj(param0: any /* any*/): java.util.stream.Stream<any>;
				public count(): number;
				public static iterate(seed: number, f: any /* any*/): 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(t: 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(t: number): java.util.stream.IntStream.Builder;
				}
				export class IntMapMultiConsumer extends java.lang.Object {
					public static class: java.lang.Class<java.util.stream.IntStream.IntMapMultiConsumer>;
					/**
					 * Constructs a new instance of the java.util.stream.IntStream$IntMapMultiConsumer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						accept(param0: number, param1: any /* any*/): void;
					});
					public constructor();
					public accept(param0: number, param1: any /* any*/): void;
				}
			}
		}
	}
}

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;
					mapMulti(mapper: java.util.stream.LongStream.LongMapMultiConsumer): 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;
					takeWhile(predicate: any /* any*/): java.util.stream.LongStream;
					dropWhile(predicate: any /* any*/): java.util.stream.LongStream;
					forEach(param0: any /* any*/): void;
					forEachOrdered(param0: any /* any*/): void;
					toArray(): androidNative.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(t: number): java.util.stream.LongStream;
					of(values: androidNative.Array<number>): java.util.stream.LongStream;
					iterate(seed: number, f: any /* any*/): java.util.stream.LongStream;
					iterate(seed: number, hasNext: any /* any*/, next: any /* any*/): java.util.stream.LongStream;
					generate(s: any /* any*/): java.util.stream.LongStream;
					range(startInclusive: number, endExclusive: number): java.util.stream.LongStream;
					rangeClosed(startInclusive: number, endInclusive: number): java.util.stream.LongStream;
					concat(a: java.util.stream.LongStream, b: 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 mapMulti(mapper: java.util.stream.LongStream.LongMapMultiConsumer): java.util.stream.LongStream;
				public takeWhile(predicate: any /* any*/): java.util.stream.LongStream;
				public boxed(): java.util.stream.Stream<java.lang.Long>;
				public spliterator(): java.util.Spliterator.OfLong;
				public static iterate(seed: number, f: any /* any*/): java.util.stream.LongStream;
				public summaryStatistics(): java.util.LongSummaryStatistics;
				public peek(param0: any /* any*/): java.util.stream.LongStream;
				public sequential(): any;
				public toArray(): androidNative.Array<number>;
				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 static concat(a: java.util.stream.LongStream, b: java.util.stream.LongStream): java.util.stream.LongStream;
				public forEach(param0: any /* any*/): void;
				public static iterate(seed: number, hasNext: any /* any*/, next: any /* any*/): java.util.stream.LongStream;
				public sum(): number;
				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 static of(t: number): java.util.stream.LongStream;
				public static of(values: androidNative.Array<number>): java.util.stream.LongStream;
				public mapToInt(param0: any /* any*/): java.util.stream.IntStream;
				public sorted(): java.util.stream.LongStream;
				public static generate(s: any /* any*/): 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 dropWhile(predicate: any /* any*/): java.util.stream.LongStream;
				public map(param0: any /* any*/): java.util.stream.LongStream;
				public static rangeClosed(startInclusive: number, endInclusive: number): java.util.stream.LongStream;
				public parallel(): any;
				public static empty(): java.util.stream.LongStream;
				public flatMap(param0: any /* any*/): java.util.stream.LongStream;
				public iterator(): java.util.PrimitiveIterator.OfLong;
				public findAny(): java.util.OptionalLong;
				public onClose(param0: java.lang.Runnable): any;
				public static range(startInclusive: number, endExclusive: number): java.util.stream.LongStream;
				public skip(param0: number): 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;
			}
			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(t: 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(t: number): java.util.stream.LongStream.Builder;
				}
				export class LongMapMultiConsumer extends java.lang.Object {
					public static class: java.lang.Class<java.util.stream.LongStream.LongMapMultiConsumer>;
					/**
					 * Constructs a new instance of the java.util.stream.LongStream$LongMapMultiConsumer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						accept(param0: number, param1: any /* any*/): void;
					});
					public constructor();
					public accept(param0: number, param1: any /* any*/): void;
				}
			}
		}
	}
}

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;
					mapMulti(mapper: any /* any*/): java.util.stream.Stream<any>;
					mapMultiToInt(mapper: any /* any<any,any>*/): java.util.stream.IntStream;
					mapMultiToLong(mapper: any /* any<any,any>*/): java.util.stream.LongStream;
					mapMultiToDouble(mapper: 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>;
					takeWhile(predicate: any /* any*/): java.util.stream.Stream<any>;
					dropWhile(predicate: any /* any*/): java.util.stream.Stream<any>;
					forEach(param0: any /* any*/): void;
					forEachOrdered(param0: any /* any*/): void;
					toArray(): androidNative.Array<any>;
					toArray(param0: any /* any*/): androidNative.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;
					toList(): java.util.List<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(t: any): java.util.stream.Stream<any>;
					ofNullable(t: any): java.util.stream.Stream<any>;
					of(values: androidNative.Array<any>): java.util.stream.Stream<any>;
					iterate(seed: any, f: any /* any*/): java.util.stream.Stream<any>;
					iterate(seed: any, hasNext: any /* any*/, next: any /* any*/): java.util.stream.Stream<any>;
					generate(s: any /* any*/): java.util.stream.Stream<any>;
					concat(a: java.util.stream.Stream<any>, b: 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 min(param0: java.util.Comparator<any>): java.util.Optional<any>;
				public sequential(): any;
				public noneMatch(param0: any /* any*/): boolean;
				public map(param0: any /* any*/): java.util.stream.Stream<any>;
				public takeWhile(predicate: any /* any*/): java.util.stream.Stream<any>;
				public flatMap(param0: any /* any*/): java.util.stream.Stream<any>;
				public distinct(): java.util.stream.Stream<any>;
				public flatMapToDouble(param0: any /* any<any,any>*/): java.util.stream.DoubleStream;
				public mapMultiToDouble(mapper: any /* any<any,any>*/): java.util.stream.DoubleStream;
				public sorted(): java.util.stream.Stream<any>;
				public dropWhile(predicate: any /* any*/): java.util.stream.Stream<any>;
				public mapToInt(param0: any /* any*/): java.util.stream.IntStream;
				public collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
				public static concat(a: java.util.stream.Stream<any>, b: java.util.stream.Stream<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 mapMultiToInt(mapper: any /* any<any,any>*/): java.util.stream.IntStream;
				public iterator(): java.util.Iterator<any>;
				public reduce(param0: any, param1: any /* any*/): any;
				public unordered(): any;
				public mapMulti(mapper: any /* any*/): java.util.stream.Stream<any>;
				public skip(param0: number): java.util.stream.Stream<any>;
				public forEachOrdered(param0: any /* any*/): void;
				public static generate(s: any /* any*/): java.util.stream.Stream<any>;
				public static iterate(seed: any, f: any /* any*/): java.util.stream.Stream<any>;
				public collect(param0: java.util.stream.Collector<any,any,any>): any;
				public peek(param0: any /* any*/): java.util.stream.Stream<any>;
				public static of(t: any): java.util.stream.Stream<any>;
				public static of(values: androidNative.Array<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 flatMapToLong(param0: any /* any<any,any>*/): java.util.stream.LongStream;
				public reduce(param0: any /* any*/): java.util.Optional<any>;
				public max(param0: java.util.Comparator<any>): java.util.Optional<any>;
				public static ofNullable(t: any): java.util.stream.Stream<any>;
				public parallel(): any;
				public filter(param0: any /* any*/): java.util.stream.Stream<any>;
				public toList(): java.util.List<any>;
				public flatMapToInt(param0: any /* any<any,any>*/): java.util.stream.IntStream;
				public limit(param0: number): java.util.stream.Stream<any>;
				public sorted(param0: java.util.Comparator<any>): java.util.stream.Stream<any>;
				public mapMultiToLong(mapper: any /* any<any,any>*/): java.util.stream.LongStream;
				public static iterate(seed: any, hasNext: any /* any*/, next: any /* any*/): java.util.stream.Stream<any>;
				public toArray(param0: any /* any*/): androidNative.Array<any>;
				public onClose(param0: java.lang.Runnable): any;
				public allMatch(param0: any /* any*/): boolean;
				public toArray(): androidNative.Array<any>;
				public reduce(param0: any, param1: any /* any*/, param2: any /* any*/): any;
				public static empty(): java.util.stream.Stream<any>;
				public forEach(param0: any /* any*/): void;
				public count(): number;
				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(t: 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(t: 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 longStream(spliterator: java.util.Spliterator.OfLong, parallel: boolean): java.util.stream.LongStream;
				public static doubleStream(supplier: any /* any*/, characteristics: number, parallel: boolean): java.util.stream.DoubleStream;
				public static intStream(supplier: any /* any*/, characteristics: number, parallel: boolean): java.util.stream.IntStream;
				public static longStream(supplier: any /* any*/, characteristics: number, parallel: boolean): java.util.stream.LongStream;
				public static doubleStream(spliterator: java.util.Spliterator.OfDouble, parallel: boolean): java.util.stream.DoubleStream;
				public static stream(spliterator: java.util.Spliterator<any>, parallel: boolean): java.util.stream.Stream<any>;
				public static stream(supplier: any /* any*/, characteristics: number, parallel: boolean): java.util.stream.Stream<any>;
				public static intStream(spliterator: java.util.Spliterator.OfInt, parallel: boolean): java.util.stream.IntStream;
			}
		}
	}
}

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: androidNative.Array<number>, param1: number, param2: number): void;
				public update(b: androidNative.Array<number>): void;
				public update(buffer: java.nio.ByteBuffer): void;
				public update(param0: number): void;
				public update(b: number): void;
				public getValue(): number;
				public update(b: androidNative.Array<number>, off: number, len: number): void;
				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: androidNative.Array<number>, param1: number, param2: number): void;
				public update(b: androidNative.Array<number>): void;
				public update(buffer: java.nio.ByteBuffer): void;
				public update(param0: number): void;
				public update(b: number): void;
				public getValue(): number;
				public update(b: androidNative.Array<number>, off: number, len: number): void;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class CRC32C extends java.lang.Object implements java.util.zip.Checksum {
				public static class: java.lang.Class<java.util.zip.CRC32C>;
				public reset(): void;
				public update(param0: androidNative.Array<number>, param1: number, param2: number): void;
				public update(b: androidNative.Array<number>): void;
				public update(buffer: java.nio.ByteBuffer): void;
				public update(param0: number): void;
				public update(b: number): void;
				public getValue(): number;
				public update(b: androidNative.Array<number>, off: number, len: number): void;
				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 close(): void;
				public constructor(in_: java.io.InputStream, cksum: java.util.zip.Checksum);
				public read(b: androidNative.Array<number>): number;
				public constructor(in_: java.io.InputStream);
				public read(b: androidNative.Array<number>, off: number, len: number): number;
				public constructor();
				public read(buf: androidNative.Array<number>, off: number, len: number): number;
				public skip(n: number): number;
			}
		}
	}
}

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 write(b: androidNative.Array<number>, off: number, len: number): void;
				public getChecksum(): java.util.zip.Checksum;
				public write(b: number): void;
				public close(): void;
				public write(b: androidNative.Array<number>): void;
				public constructor(out: java.io.OutputStream);
				public constructor(out: java.io.OutputStream, cksum: 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(b: androidNative.Array<number>): void;
					update(param0: androidNative.Array<number>, param1: number, param2: number): void;
					update(buffer: java.nio.ByteBuffer): void;
					getValue(): number;
					reset(): void;
				});
				public constructor();
				public update(param0: androidNative.Array<number>, param1: number, param2: number): void;
				public reset(): void;
				public update(b: androidNative.Array<number>): void;
				public update(buffer: java.nio.ByteBuffer): 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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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: 9;
				public static BEST_SPEED: 1;
				public static DEFAULT_COMPRESSION: -1;
				public static DEFAULT_STRATEGY: 0;
				public static DEFLATED: 8;
				public static FILTERED: 1;
				public static FULL_FLUSH: 3;
				public static HUFFMAN_ONLY: 2;
				public static NO_COMPRESSION: 0;
				public static NO_FLUSH: 0;
				public static SYNC_FLUSH: 2;
				public getTotalIn(): number;
				public getTotalOut(): number;
				public constructor(level: number, nowrap: boolean);
				public deflate(output: java.nio.ByteBuffer): number;
				public getBytesWritten(): number;
				public setInput(input: java.nio.ByteBuffer): void;
				public finish(): void;
				public setLevel(level: number): void;
				public constructor();
				public getBytesRead(): number;
				public end(): void;
				public reset(): void;
				public setInput(input: androidNative.Array<number>, off: number, len: number): void;
				public getAdler(): number;
				public deflate(output: androidNative.Array<number>, off: number, len: number): number;
				public constructor(level: number);
				public setInput(input: androidNative.Array<number>): void;
				public setDictionary(dictionary: androidNative.Array<number>, off: number, len: number): void;
				public needsInput(): boolean;
				public setStrategy(strategy: number): void;
				public deflate(output: androidNative.Array<number>): number;
				public deflate(output: androidNative.Array<number>, off: number, len: number, flush: number): number;
				public deflate(output: java.nio.ByteBuffer, flush: number): number;
				public setDictionary(dictionary: java.nio.ByteBuffer): void;
				public setDictionary(dictionary: androidNative.Array<number>): void;
				public finished(): boolean;
			}
		}
	}
}

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: androidNative.Array<number>;
				public def: java.util.zip.Deflater;
				public markSupported(): boolean;
				public close(): void;
				public constructor(in_: java.io.InputStream, defl: java.util.zip.Deflater);
				public mark(limit: number): void;
				public constructor(in_: java.io.InputStream);
				public read(b: androidNative.Array<number>, off: number, len: number): number;
				public constructor();
				public skip(n: number): number;
				public reset(): void;
				public read(): number;
				public read(b: androidNative.Array<number>): number;
				public available(): number;
				public constructor(in_: java.io.InputStream, defl: java.util.zip.Deflater, bufLen: number);
			}
		}
	}
}

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: androidNative.Array<number>;
				public def: java.util.zip.Deflater;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, syncFlush: boolean);
				public write(b: number): void;
				public close(): void;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, size: number, syncFlush: boolean);
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater);
				public constructor(out: java.io.OutputStream, syncFlush: boolean);
				public write(b: androidNative.Array<number>): void;
				public constructor(out: java.io.OutputStream);
				public finish(): void;
				public deflate(): void;
				public constructor();
				public flush(): void;
				public write(b: androidNative.Array<number>, off: number, len: number): void;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, size: number);
			}
		}
	}
}

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: 35615;
				public crc: java.util.zip.CRC32;
				public eos: boolean;
				public constructor(in_: java.io.InputStream, size: number);
				public read(): number;
				public close(): void;
				public constructor(in_: java.io.InputStream, inf: java.util.zip.Inflater);
				public read(b: androidNative.Array<number>): number;
				public constructor(in_: java.io.InputStream);
				public constructor(in_: java.io.InputStream, inf: java.util.zip.Inflater, size: number);
				public constructor();
				public read(buf: androidNative.Array<number>, off: number, len: number): number;
			}
		}
	}
}

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(out: java.io.OutputStream, def: java.util.zip.Deflater, syncFlush: boolean);
				public write(b: number): void;
				public close(): void;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, size: number, syncFlush: boolean);
				public write(buf: androidNative.Array<number>, off: number, len: number): void;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater);
				public constructor(out: java.io.OutputStream, syncFlush: boolean);
				public write(b: androidNative.Array<number>): void;
				public constructor(out: java.io.OutputStream);
				public constructor(out: java.io.OutputStream, size: number, syncFlush: boolean);
				public finish(): void;
				public constructor();
				public flush(): void;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, size: number);
				public constructor(out: java.io.OutputStream, size: number);
			}
		}
	}
}

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 getAdler(): number;
				public getTotalIn(): number;
				public getRemaining(): number;
				public getTotalOut(): number;
				public inflate(output: androidNative.Array<number>, off: number, len: number): number;
				public setInput(input: androidNative.Array<number>): void;
				public setDictionary(dictionary: androidNative.Array<number>, off: number, len: number): void;
				public needsInput(): boolean;
				public getBytesWritten(): number;
				public setInput(input: java.nio.ByteBuffer): void;
				public constructor();
				public inflate(output: androidNative.Array<number>): number;
				public getBytesRead(): number;
				public end(): void;
				public constructor(nowrap: boolean);
				public reset(): void;
				public setInput(input: androidNative.Array<number>, off: number, len: number): void;
				public needsDictionary(): boolean;
				public inflate(output: java.nio.ByteBuffer): number;
				public setDictionary(dictionary: java.nio.ByteBuffer): void;
				public setDictionary(dictionary: androidNative.Array<number>): void;
				public finished(): boolean;
			}
		}
	}
}

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: androidNative.Array<number>;
				public closed: boolean;
				public inf: java.util.zip.Inflater;
				public len: number;
				public markSupported(): boolean;
				public close(): void;
				public constructor(in_: java.io.InputStream);
				public mark(readlimit: number): void;
				public read(b: androidNative.Array<number>, off: number, len: number): number;
				public constructor();
				public constructor(in_: java.io.InputStream, inf: java.util.zip.Inflater, size: number);
				public skip(n: number): number;
				public reset(): void;
				public read(): number;
				public constructor(in_: java.io.InputStream, inf: java.util.zip.Inflater);
				public read(b: androidNative.Array<number>): number;
				public available(): number;
				public fill(): 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: androidNative.Array<number>;
				public inf: java.util.zip.Inflater;
				public write(b: androidNative.Array<number>, off: number, len: number): void;
				public write(b: number): void;
				public close(): void;
				public constructor(out: java.io.OutputStream, infl: java.util.zip.Inflater, bufLen: number);
				public write(b: androidNative.Array<number>): void;
				public constructor(out: java.io.OutputStream);
				public finish(): void;
				public constructor(out: java.io.OutputStream, infl: java.util.zip.Inflater);
				public constructor();
				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: 36;
				public static CENATX: 38;
				public static CENCOM: 32;
				public static CENCRC: 16;
				public static CENDSK: 34;
				public static CENEXT: 30;
				public static CENFLG: 8;
				public static CENHDR: 46;
				public static CENHOW: 10;
				public static CENLEN: 24;
				public static CENNAM: 28;
				public static CENOFF: 42;
				public static CENSIG: 33639248;
				public static CENSIZ: 20;
				public static CENTIM: 12;
				public static CENVEM: 4;
				public static CENVER: 6;
				public static DEFLATED: 8;
				public static ENDCOM: 20;
				public static ENDHDR: 22;
				public static ENDOFF: 16;
				public static ENDSIG: 101010256;
				public static ENDSIZ: 12;
				public static ENDSUB: 8;
				public static ENDTOT: 10;
				public static EXTCRC: 4;
				public static EXTHDR: 16;
				public static EXTLEN: 12;
				public static EXTSIG: 134695760;
				public static EXTSIZ: 8;
				public static LOCCRC: 14;
				public static LOCEXT: 28;
				public static LOCFLG: 6;
				public static LOCHDR: 30;
				public static LOCHOW: 8;
				public static LOCLEN: 22;
				public static LOCNAM: 26;
				public static LOCSIG: 67324752;
				public static LOCSIZ: 18;
				public static LOCTIM: 10;
				public static LOCVER: 4;
				public static STORED: 0;
				public getCreationTime(): java.nio.file.attribute.FileTime;
				public constructor(name: string);
				public getTimeLocal(): java.time.LocalDateTime;
				public setCrc(crc: number): void;
				public getExtra(): androidNative.Array<number>;
				public getMethod(): number;
				public setComment(comment: string): void;
				public getSize(): number;
				public hashCode(): number;
				public getCrc(): number;
				public clone(): any;
				public isDirectory(): boolean;
				public getLastAccessTime(): java.nio.file.attribute.FileTime;
				public setCompressedSize(csize: number): void;
				public setCreationTime(time: java.nio.file.attribute.FileTime): java.util.zip.ZipEntry;
				public getComment(): string;
				public setLastAccessTime(time: java.nio.file.attribute.FileTime): java.util.zip.ZipEntry;
				public getCompressedSize(): number;
				public constructor(e: java.util.zip.ZipEntry);
				public setTime(time: number): void;
				public setLastModifiedTime(time: java.nio.file.attribute.FileTime): java.util.zip.ZipEntry;
				public setMethod(method: number): void;
				public getName(): string;
				public setTimeLocal(time: java.time.LocalDateTime): void;
				public getLastModifiedTime(): java.nio.file.attribute.FileTime;
				public toString(): string;
				public getTime(): number;
				public setExtra(extra: androidNative.Array<number>): void;
				public setSize(size: number): void;
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(s: string);
				public constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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: 36;
				public static CENATX: 38;
				public static CENCOM: 32;
				public static CENCRC: 16;
				public static CENDSK: 34;
				public static CENEXT: 30;
				public static CENFLG: 8;
				public static CENHDR: 46;
				public static CENHOW: 10;
				public static CENLEN: 24;
				public static CENNAM: 28;
				public static CENOFF: 42;
				public static CENSIG: 33639248;
				public static CENSIZ: 20;
				public static CENTIM: 12;
				public static CENVEM: 4;
				public static CENVER: 6;
				public static ENDCOM: 20;
				public static ENDHDR: 22;
				public static ENDOFF: 16;
				public static ENDSIG: 101010256;
				public static ENDSIZ: 12;
				public static ENDSUB: 8;
				public static ENDTOT: 10;
				public static EXTCRC: 4;
				public static EXTHDR: 16;
				public static EXTLEN: 12;
				public static EXTSIG: 134695760;
				public static EXTSIZ: 8;
				public static LOCCRC: 14;
				public static LOCEXT: 28;
				public static LOCFLG: 6;
				public static LOCHDR: 30;
				public static LOCHOW: 8;
				public static LOCLEN: 22;
				public static LOCNAM: 26;
				public static LOCSIG: 67324752;
				public static LOCSIZ: 18;
				public static LOCTIM: 10;
				public static LOCVER: 4;
				public static OPEN_DELETE: 4;
				public static OPEN_READ: 1;
				public constructor(name: string, charset: java.nio.charset.Charset);
				public constructor(file: java.io.File);
				public getInputStream(entry: java.util.zip.ZipEntry): java.io.InputStream;
				public constructor(name: string);
				public constructor(file: java.io.File, mode: number);
				public close(): void;
				public stream(): java.util.stream.Stream<any>;
				public getName(): string;
				public entries(): java.util.Enumeration<any>;
				public constructor(file: java.io.File, charset: java.nio.charset.Charset);
				public size(): number;
				public constructor(file: java.io.File, mode: number, charset: java.nio.charset.Charset);
				public getEntry(name: string): java.util.zip.ZipEntry;
				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: 36;
				public static CENATX: 38;
				public static CENCOM: 32;
				public static CENCRC: 16;
				public static CENDSK: 34;
				public static CENEXT: 30;
				public static CENFLG: 8;
				public static CENHDR: 46;
				public static CENHOW: 10;
				public static CENLEN: 24;
				public static CENNAM: 28;
				public static CENOFF: 42;
				public static CENSIG: 33639248;
				public static CENSIZ: 20;
				public static CENTIM: 12;
				public static CENVEM: 4;
				public static CENVER: 6;
				public static ENDCOM: 20;
				public static ENDHDR: 22;
				public static ENDOFF: 16;
				public static ENDSIG: 101010256;
				public static ENDSIZ: 12;
				public static ENDSUB: 8;
				public static ENDTOT: 10;
				public static EXTCRC: 4;
				public static EXTHDR: 16;
				public static EXTLEN: 12;
				public static EXTSIG: 134695760;
				public static EXTSIZ: 8;
				public static LOCCRC: 14;
				public static LOCEXT: 28;
				public static LOCFLG: 6;
				public static LOCHDR: 30;
				public static LOCHOW: 8;
				public static LOCLEN: 22;
				public static LOCNAM: 26;
				public static LOCSIG: 67324752;
				public static LOCSIZ: 18;
				public static LOCTIM: 10;
				public static LOCVER: 4;
				public createZipEntry(name: string): java.util.zip.ZipEntry;
				public close(): void;
				public constructor(in_: java.io.InputStream);
				public closeEntry(): void;
				public constructor(in_: java.io.InputStream, charset: java.nio.charset.Charset);
				public read(b: androidNative.Array<number>, off: number, len: number): number;
				public constructor(in_: java.io.InputStream, inf: java.util.zip.Inflater, size: number);
				public constructor();
				public skip(n: number): number;
				public read(): number;
				public constructor(in_: java.io.InputStream, inf: java.util.zip.Inflater);
				public getNextEntry(): java.util.zip.ZipEntry;
				public available(): number;
				public read(b: androidNative.Array<number>): number;
			}
		}
	}
}

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: 36;
				public static CENATX: 38;
				public static CENCOM: 32;
				public static CENCRC: 16;
				public static CENDSK: 34;
				public static CENEXT: 30;
				public static CENFLG: 8;
				public static CENHDR: 46;
				public static CENHOW: 10;
				public static CENLEN: 24;
				public static CENNAM: 28;
				public static CENOFF: 42;
				public static CENSIG: 33639248;
				public static CENSIZ: 20;
				public static CENTIM: 12;
				public static CENVEM: 4;
				public static CENVER: 6;
				public static DEFLATED: 8;
				public static ENDCOM: 20;
				public static ENDHDR: 22;
				public static ENDOFF: 16;
				public static ENDSIG: 101010256;
				public static ENDSIZ: 12;
				public static ENDSUB: 8;
				public static ENDTOT: 10;
				public static EXTCRC: 4;
				public static EXTHDR: 16;
				public static EXTLEN: 12;
				public static EXTSIG: 134695760;
				public static EXTSIZ: 8;
				public static LOCCRC: 14;
				public static LOCEXT: 28;
				public static LOCFLG: 6;
				public static LOCHDR: 30;
				public static LOCHOW: 8;
				public static LOCLEN: 22;
				public static LOCNAM: 26;
				public static LOCSIG: 67324752;
				public static LOCSIZ: 18;
				public static LOCTIM: 10;
				public static LOCVER: 4;
				public static STORED: 0;
				public constructor(out: java.io.OutputStream, charset: java.nio.charset.Charset);
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, syncFlush: boolean);
				public write(b: number): void;
				public close(): void;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, size: number, syncFlush: boolean);
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater);
				public constructor(out: java.io.OutputStream, syncFlush: boolean);
				public setMethod(method: number): void;
				public write(b: androidNative.Array<number>): void;
				public constructor(out: java.io.OutputStream);
				public closeEntry(): void;
				public finish(): void;
				public setLevel(level: number): void;
				public constructor();
				public flush(): void;
				public write(b: androidNative.Array<number>, off: number, len: number): void;
				public constructor(out: java.io.OutputStream, def: java.util.zip.Deflater, size: number);
				public setComment(comment: string): void;
				public putNextEntry(e: java.util.zip.ZipEntry): void;
			}
		}
	}
}

declare module javax {
	export module annotation {
		export module processing {
			export class Generated extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<javax.annotation.processing.Generated>;
				/**
				 * Constructs a new instance of the javax.annotation.processing.Generated interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					value(): androidNative.Array<string>;
					date(): string;
					comments(): 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 annotationType(): java.lang.Class<any>;
				public value(): androidNative.Array<string>;
				public date(): string;
				public toString(): string;
				public comments(): string;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export class AEADBadTagException extends javax.crypto.BadPaddingException {
			public static class: java.lang.Class<javax.crypto.AEADBadTagException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module javax {
	export module crypto {
		export class BadPaddingException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<javax.crypto.BadPaddingException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

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: 2;
			public static ENCRYPT_MODE: 1;
			public static PRIVATE_KEY: 2;
			public static PUBLIC_KEY: 1;
			public static SECRET_KEY: 3;
			public static UNWRAP_MODE: 4;
			public static WRAP_MODE: 3;
			public getParameters(): java.security.AlgorithmParameters;
			public init(opmode: number, certificate: java.security.cert.Certificate): void;
			public update(input: androidNative.Array<number>, inputOffset: number, inputLen: number, output: androidNative.Array<number>): number;
			public static getInstance(transformation: string): javax.crypto.Cipher;
			public static getInstance(transformation: string, provider: string): javax.crypto.Cipher;
			public doFinal(input: androidNative.Array<number>, inputOffset: number, inputLen: number, output: androidNative.Array<number>, outputOffset: number): number;
			public update(input: androidNative.Array<number>): androidNative.Array<number>;
			public static getMaxAllowedKeyLength(transformation: string): number;
			public init(opmode: number, key: java.security.Key): void;
			public getBlockSize(): number;
			public doFinal(output: androidNative.Array<number>, outputOffset: number): number;
			public init(opmode: number, key: java.security.Key, random: java.security.SecureRandom): void;
			public doFinal(): androidNative.Array<number>;
			public doFinal(input: androidNative.Array<number>, inputOffset: number, inputLen: number, output: androidNative.Array<number>): number;
			public getIV(): androidNative.Array<number>;
			public init(opmode: number, key: java.security.Key, params: java.security.spec.AlgorithmParameterSpec, random: java.security.SecureRandom): void;
			public static getInstance(transformation: string, provider: java.security.Provider): javax.crypto.Cipher;
			public doFinal(input: androidNative.Array<number>, inputOffset: number, inputLen: number): androidNative.Array<number>;
			public init(opmode: number, key: java.security.Key, params: java.security.spec.AlgorithmParameterSpec): void;
			public update(input: androidNative.Array<number>, inputOffset: number, inputLen: number): androidNative.Array<number>;
			public init(opmode: number, key: java.security.Key, params: java.security.AlgorithmParameters, random: java.security.SecureRandom): void;
			public getProvider(): java.security.Provider;
			public update(input: androidNative.Array<number>, inputOffset: number, inputLen: number, output: androidNative.Array<number>, outputOffset: number): number;
			public unwrap(wrappedKey: androidNative.Array<number>, wrappedKeyAlgorithm: string, wrappedKeyType: number): java.security.Key;
			public static getMaxAllowedParameterSpec(transformation: string): java.security.spec.AlgorithmParameterSpec;
			public update(input: java.nio.ByteBuffer, output: java.nio.ByteBuffer): number;
			public doFinal(input: java.nio.ByteBuffer, output: java.nio.ByteBuffer): number;
			public init(opmode: number, certificate: java.security.cert.Certificate, random: java.security.SecureRandom): void;
			public updateAAD(src: androidNative.Array<number>, offset: number, len: number): void;
			public wrap(key: java.security.Key): androidNative.Array<number>;
			public updateAAD(src: androidNative.Array<number>): void;
			public getExemptionMechanism(): javax.crypto.ExemptionMechanism;
			public getAlgorithm(): string;
			public updateAAD(src: java.nio.ByteBuffer): void;
			public init(opmode: number, key: java.security.Key, params: java.security.AlgorithmParameters): void;
			public doFinal(input: androidNative.Array<number>): androidNative.Array<number>;
			public constructor(cipherSpi: javax.crypto.CipherSpi, provider: java.security.Provider, transformation: string);
			public getOutputSize(inputLen: number): number;
		}
	}
}

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(b: androidNative.Array<number>, off: number, len: number): number;
			public skip(n: number): number;
			public read(b: androidNative.Array<number>): number;
			public constructor(is: java.io.InputStream);
			public constructor(in_: java.io.InputStream);
			public constructor();
			public close(): void;
			public constructor(is: java.io.InputStream, c: javax.crypto.Cipher);
			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(os: java.io.OutputStream);
			public constructor(os: java.io.OutputStream, c: javax.crypto.Cipher);
			public write(b: androidNative.Array<number>): void;
			public constructor(out: java.io.OutputStream);
			public write(b: number): void;
			public constructor();
			public write(b: androidNative.Array<number>, off: number, len: 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 engineUpdate(param0: androidNative.Array<number>, param1: number, param2: number): androidNative.Array<number>;
			public engineUpdate(input: java.nio.ByteBuffer, output: java.nio.ByteBuffer): number;
			public engineGetKeySize(key: java.security.Key): number;
			public engineInit(param0: number, param1: java.security.Key, param2: java.security.spec.AlgorithmParameterSpec, param3: java.security.SecureRandom): void;
			public engineUpdateAAD(src: java.nio.ByteBuffer): void;
			public engineInit(param0: number, param1: java.security.Key, param2: java.security.SecureRandom): void;
			public engineDoFinal(input: java.nio.ByteBuffer, output: java.nio.ByteBuffer): number;
			public constructor();
			public engineUnwrap(wrappedKey: androidNative.Array<number>, wrappedKeyAlgorithm: string, wrappedKeyType: number): java.security.Key;
			public engineGetIV(): androidNative.Array<number>;
			public engineDoFinal(param0: androidNative.Array<number>, param1: number, param2: number): androidNative.Array<number>;
			public engineDoFinal(param0: androidNative.Array<number>, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): number;
			public engineSetPadding(param0: string): void;
			public engineUpdate(param0: androidNative.Array<number>, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): number;
			public engineUpdateAAD(src: androidNative.Array<number>, offset: number, len: number): void;
			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;
			public engineWrap(key: java.security.Key): androidNative.Array<number>;
		}
	}
}

declare module javax {
	export module crypto {
		export class EncryptedPrivateKeyInfo extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.EncryptedPrivateKeyInfo>;
			public constructor(algParams: java.security.AlgorithmParameters, encryptedData: androidNative.Array<number>);
			public getEncryptedData(): androidNative.Array<number>;
			public getAlgParameters(): java.security.AlgorithmParameters;
			public getKeySpec(cipher: javax.crypto.Cipher): java.security.spec.PKCS8EncodedKeySpec;
			public getKeySpec(decryptKey: java.security.Key): java.security.spec.PKCS8EncodedKeySpec;
			public getKeySpec(decryptKey: java.security.Key, providerName: string): java.security.spec.PKCS8EncodedKeySpec;
			public getAlgName(): string;
			public constructor(algName: string, encryptedData: androidNative.Array<number>);
			public constructor(encoded: androidNative.Array<number>);
			public getKeySpec(decryptKey: java.security.Key, provider: java.security.Provider): java.security.spec.PKCS8EncodedKeySpec;
			public getEncoded(): androidNative.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 isCryptoAllowed(key: java.security.Key): boolean;
			public init(key: java.security.Key): void;
			public getProvider(): java.security.Provider;
			public init(key: java.security.Key, params: java.security.spec.AlgorithmParameterSpec): void;
			public init(key: java.security.Key, params: java.security.AlgorithmParameters): void;
			public genExemptionBlob(): androidNative.Array<number>;
			public genExemptionBlob(output: androidNative.Array<number>, outputOffset: number): number;
			public getName(): string;
			public static getInstance(algorithm: string, provider: string): javax.crypto.ExemptionMechanism;
			public genExemptionBlob(output: androidNative.Array<number>): number;
			public static getInstance(algorithm: string, provider: java.security.Provider): javax.crypto.ExemptionMechanism;
			public static getInstance(algorithm: string): javax.crypto.ExemptionMechanism;
			public constructor(exmechSpi: javax.crypto.ExemptionMechanismSpi, provider: java.security.Provider, mechanism: string);
			public getOutputSize(inputLen: number): number;
		}
	}
}

declare module javax {
	export module crypto {
		export class ExemptionMechanismException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<javax.crypto.ExemptionMechanismException>;
			public constructor(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

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(param0: androidNative.Array<number>, param1: number): number;
			public engineGenExemptionBlob(): androidNative.Array<number>;
			public engineInit(param0: java.security.Key, param1: java.security.AlgorithmParameters): void;
			public engineInit(param0: java.security.Key): void;
			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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module javax {
	export module crypto {
		export class KeyAgreement extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.KeyAgreement>;
			public init(key: java.security.Key, params: java.security.spec.AlgorithmParameterSpec, random: java.security.SecureRandom): void;
			public init(key: java.security.Key): void;
			public generateSecret(): androidNative.Array<number>;
			public static getInstance(algorithm: string, provider: java.security.Provider): javax.crypto.KeyAgreement;
			public getProvider(): java.security.Provider;
			public static getInstance(algorithm: string, provider: string): javax.crypto.KeyAgreement;
			public doPhase(key: java.security.Key, lastPhase: boolean): java.security.Key;
			public static getInstance(algorithm: string): javax.crypto.KeyAgreement;
			public init(key: java.security.Key, params: java.security.spec.AlgorithmParameterSpec): void;
			public getAlgorithm(): string;
			public init(key: java.security.Key, random: java.security.SecureRandom): void;
			public generateSecret(algorithm: string): javax.crypto.SecretKey;
			public generateSecret(sharedSecret: androidNative.Array<number>, offset: number): number;
			public constructor(keyAgreeSpi: javax.crypto.KeyAgreementSpi, provider: java.security.Provider, algorithm: string);
		}
	}
}

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: androidNative.Array<number>, param1: number): number;
			public engineGenerateSecret(): androidNative.Array<number>;
			public engineGenerateSecret(param0: string): javax.crypto.SecretKey;
			public constructor();
			public engineDoPhase(param0: java.security.Key, param1: boolean): java.security.Key;
			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 static getInstance(algorithm: string): javax.crypto.KeyGenerator;
			public static getInstance(algorithm: string, provider: string): javax.crypto.KeyGenerator;
			public init(params: java.security.spec.AlgorithmParameterSpec, random: java.security.SecureRandom): void;
			public init(random: java.security.SecureRandom): void;
			public init(keysize: number): void;
			public init(params: java.security.spec.AlgorithmParameterSpec): void;
			public init(keysize: number, random: java.security.SecureRandom): void;
			public generateKey(): javax.crypto.SecretKey;
			public getAlgorithm(): string;
			public constructor(keyGenSpi: javax.crypto.KeyGeneratorSpi, provider: java.security.Provider, algorithm: string);
			public static getInstance(algorithm: string, provider: java.security.Provider): 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 static getInstance(algorithm: string, provider: java.security.Provider): javax.crypto.Mac;
			public getMacLength(): number;
			public doFinal(output: androidNative.Array<number>, outOffset: number): void;
			public static getInstance(algorithm: string, provider: string): javax.crypto.Mac;
			public update(input: androidNative.Array<number>): void;
			public update(input: java.nio.ByteBuffer): void;
			public init(key: java.security.Key): void;
			public update(input: androidNative.Array<number>, offset: number, len: number): void;
			public getProvider(): java.security.Provider;
			public init(key: java.security.Key, params: java.security.spec.AlgorithmParameterSpec): void;
			public update(input: number): void;
			public clone(): any;
			public doFinal(): androidNative.Array<number>;
			public constructor(macSpi: javax.crypto.MacSpi, provider: java.security.Provider, algorithm: string);
			public getAlgorithm(): string;
			public reset(): void;
			public static getInstance(algorithm: string): javax.crypto.Mac;
			public doFinal(input: androidNative.Array<number>): androidNative.Array<number>;
		}
	}
}

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: androidNative.Array<number>, param1: number, param2: number): void;
			public engineInit(param0: java.security.Key, param1: java.security.spec.AlgorithmParameterSpec): void;
			public clone(): any;
			public engineDoFinal(): androidNative.Array<number>;
			public engineUpdate(param0: number): void;
			public engineReset(): void;
			public constructor();
			public engineUpdate(input: java.nio.ByteBuffer): void;
			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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

declare module javax {
	export module crypto {
		export class NullCipher extends javax.crypto.Cipher {
			public static class: java.lang.Class<javax.crypto.NullCipher>;
			public constructor();
			public constructor(cipherSpi: javax.crypto.CipherSpi, provider: java.security.Provider, transformation: string);
		}
	}
}

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: androidNative.Array<number>;
			public getObject(key: java.security.Key): any;
			public getObject(c: javax.crypto.Cipher): any;
			public constructor(object: java.io.Serializable, c: javax.crypto.Cipher);
			public getAlgorithm(): string;
			public constructor(so: javax.crypto.SealedObject);
			public getObject(key: java.security.Key, provider: 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(): androidNative.Array<number>;
				destroy(): void;
				isDestroyed(): boolean;
			});
			public constructor();
			public static serialVersionUID: -4795878709595146952;
			public isDestroyed(): boolean;
			public destroy(): void;
			public getAlgorithm(): string;
			public getFormat(): string;
			public getEncoded(): androidNative.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 static getInstance(algorithm: string): javax.crypto.SecretKeyFactory;
			public generateSecret(keySpec: java.security.spec.KeySpec): javax.crypto.SecretKey;
			public static getInstance(algorithm: string, provider: java.security.Provider): javax.crypto.SecretKeyFactory;
			public static getInstance(algorithm: string, provider: string): javax.crypto.SecretKeyFactory;
			public getKeySpec(key: javax.crypto.SecretKey, keySpec: java.lang.Class<any>): java.security.spec.KeySpec;
			public getAlgorithm(): string;
			public constructor(keyFacSpi: javax.crypto.SecretKeyFactorySpi, provider: java.security.Provider, algorithm: string);
			public translateKey(key: javax.crypto.SecretKey): javax.crypto.SecretKey;
			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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(msg: string);
			public constructor();
		}
	}
}

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(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: 2211791113380396553;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): javax.crypto.spec.DHParameterSpec;
				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(): androidNative.Array<number>;
				});
				public constructor();
				public static serialVersionUID: -6628103563352519193;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getEncoded(): androidNative.Array<number>;
				public getParams(): javax.crypto.spec.DHParameterSpec;
				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(): androidNative.Array<string>;
					getSalt(): androidNative.Array<number>;
					getIterationCount(): number;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): androidNative.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: -1430015993304333921;
				public getIterationCount(): number;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public getPassword(): androidNative.Array<string>;
				public isDestroyed(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public getSalt(): androidNative.Array<number>;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class ChaCha20ParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.ChaCha20ParameterSpec>;
				public constructor(nonce: androidNative.Array<number>, counter: number);
				public getNonce(): androidNative.Array<number>;
				public getCounter(): 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: 8;
				public constructor(key: androidNative.Array<number>);
				public static isWeak(key: androidNative.Array<number>, offset: number): boolean;
				public getKey(): androidNative.Array<number>;
				public constructor(key: androidNative.Array<number>, offset: number);
				public static isParityAdjusted(key: androidNative.Array<number>, offset: 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: 24;
				public constructor(key: androidNative.Array<number>);
				public getKey(): androidNative.Array<number>;
				public constructor(key: androidNative.Array<number>, offset: number);
				public static isParityAdjusted(key: androidNative.Array<number>, offset: 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 getExponentSize(): number;
				public getPrimeSize(): number;
				public constructor(primeSize: number, exponentSize: 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(p: java.math.BigInteger, g: java.math.BigInteger, l: number);
				public getG(): java.math.BigInteger;
				public constructor(p: java.math.BigInteger, g: java.math.BigInteger);
				public getP(): java.math.BigInteger;
				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 getG(): java.math.BigInteger;
				public constructor(x: java.math.BigInteger, p: java.math.BigInteger, g: 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 getG(): java.math.BigInteger;
				public constructor(y: java.math.BigInteger, p: java.math.BigInteger, g: 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 constructor(tLen: number, src: androidNative.Array<number>);
				public getIV(): androidNative.Array<number>;
				public constructor(tLen: number, src: androidNative.Array<number>, offset: number, len: number);
				public getTLen(): 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 getIV(): androidNative.Array<number>;
				public constructor(iv: androidNative.Array<number>);
				public constructor(iv: androidNative.Array<number>, offset: number, len: 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 getPSource(): javax.crypto.spec.PSource;
				public constructor(mdName: string, mgfName: string, mgfSpec: java.security.spec.AlgorithmParameterSpec, pSrc: 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(): androidNative.Array<string>;
				public constructor(password: androidNative.Array<string>, salt: androidNative.Array<number>, iterationCount: number, keyLength: number);
				public clearPassword(): void;
				public constructor(password: androidNative.Array<string>);
				public constructor(password: androidNative.Array<string>, salt: androidNative.Array<number>, iterationCount: number);
				public getKeyLength(): number;
				public getSalt(): androidNative.Array<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 constructor(salt: androidNative.Array<number>, iterationCount: number, paramSpec: java.security.spec.AlgorithmParameterSpec);
				public getIterationCount(): number;
				public getParameterSpec(): java.security.spec.AlgorithmParameterSpec;
				public constructor(salt: androidNative.Array<number>, iterationCount: number);
				public getSalt(): androidNative.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(pSrcName: 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 getValue(): androidNative.Array<number>;
					public constructor(p: androidNative.Array<number>);
					public constructor(pSrcName: string);
				}
			}
		}
	}
}

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 getIV(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public hashCode(): number;
				public getEffectiveKeyBits(): number;
				public constructor(effectiveKeyBits: number);
				public constructor(effectiveKeyBits: number, iv: androidNative.Array<number>);
				public constructor(effectiveKeyBits: number, iv: androidNative.Array<number>, offset: 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 getIV(): androidNative.Array<number>;
				public equals(obj: any): boolean;
				public getVersion(): number;
				public hashCode(): number;
				public constructor(version: number, rounds: number, wordSize: number);
				public getWordSize(): number;
				public constructor(version: number, rounds: number, wordSize: number, iv: androidNative.Array<number>);
				public constructor(version: number, rounds: number, wordSize: number, iv: androidNative.Array<number>, offset: 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 equals(obj: any): boolean;
				public isDestroyed(): boolean;
				public getEncoded(): androidNative.Array<number>;
				public hashCode(): number;
				public constructor(key: androidNative.Array<number>, offset: number, len: number, algorithm: string);
				public constructor(key: androidNative.Array<number>, algorithm: string);
			}
		}
	}
}

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: androidNative.Array<number>, param2: androidNative.Array<javax.microedition.khronos.egl.EGLConfig>, param3: number, param4: androidNative.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: androidNative.Array<number>): javax.microedition.khronos.egl.EGLContext;
						eglCreatePbufferSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglCreatePixmapSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglCreateWindowSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: androidNative.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: androidNative.Array<number>): boolean;
						eglGetConfigs(param0: javax.microedition.khronos.egl.EGLDisplay, param1: androidNative.Array<javax.microedition.khronos.egl.EGLConfig>, param2: number, param3: androidNative.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: androidNative.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: androidNative.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: androidNative.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_ALPHA_FORMAT: 12424;
					public static EGL_NATIVE_VISUAL_TYPE: 12335;
					public static EGL_BLUE_SIZE: 12322;
					public static EGL_STENCIL_SIZE: 12326;
					public static EGL_DRAW: 12377;
					public static EGL_ALPHA_MASK_SIZE: 12350;
					public static EGL_BAD_ACCESS: 12290;
					public static EGL_COLORSPACE: 12423;
					public static EGL_PBUFFER_BIT: 1;
					public static EGL_SURFACE_TYPE: 12339;
					public static EGL_TRANSPARENT_RGB: 12370;
					public static EGL_MAX_PBUFFER_PIXELS: 12331;
					public static EGL_WINDOW_BIT: 4;
					public static EGL_NO_CONTEXT: javax.microedition.khronos.egl.EGLContext;
					public static EGL_VERTICAL_RESOLUTION: 12433;
					public static EGL_BUFFER_SIZE: 12320;
					public static EGL_VENDOR: 12371;
					public static EGL_BAD_PARAMETER: 12300;
					public static EGL_CORE_NATIVE_ENGINE: 12379;
					public static EGL_DEFAULT_DISPLAY: any;
					public static EGL_HORIZONTAL_RESOLUTION: 12432;
					public static EGL_NONE: 12344;
					public static EGL_COLOR_BUFFER_TYPE: 12351;
					public static EGL_RENDER_BUFFER: 12422;
					public static EGL_SINGLE_BUFFER: 12421;
					public static EGL_CONFIG_CAVEAT: 12327;
					public static EGL_NATIVE_RENDERABLE: 12333;
					public static EGL_LUMINANCE_BUFFER: 12431;
					public static EGL_LARGEST_PBUFFER: 12376;
					public static EGL_BAD_CONTEXT: 12294;
					public static EGL_NATIVE_VISUAL_ID: 12334;
					public static EGL_BAD_ALLOC: 12291;
					public static EGL_TRANSPARENT_BLUE_VALUE: 12341;
					public static EGL_RGB_BUFFER: 12430;
					public static EGL_BAD_NATIVE_PIXMAP: 12298;
					public static EGL_BAD_NATIVE_WINDOW: 12299;
					public static EGL_DONT_CARE: -1;
					public static EGL_TRANSPARENT_TYPE: 12340;
					public static EGL_SUCCESS: 12288;
					public static EGL_RENDERABLE_TYPE: 12352;
					public static EGL_RED_SIZE: 12324;
					public static EGL_BAD_DISPLAY: 12296;
					public static EGL_LEVEL: 12329;
					public static EGL_PIXMAP_BIT: 2;
					public static EGL_MAX_PBUFFER_HEIGHT: 12330;
					public static EGL_SLOW_CONFIG: 12368;
					public static EGL_BAD_SURFACE: 12301;
					public static EGL_TRANSPARENT_RED_VALUE: 12343;
					public static EGL_BAD_ATTRIBUTE: 12292;
					public static EGL_GREEN_SIZE: 12323;
					public static EGL_VERSION: 12372;
					public static EGL_CONFIG_ID: 12328;
					public static EGL_MAX_PBUFFER_WIDTH: 12332;
					public static EGL_BAD_CURRENT_SURFACE: 12295;
					public static EGL_BAD_MATCH: 12297;
					public static EGL_NOT_INITIALIZED: 12289;
					public static EGL_SAMPLE_BUFFERS: 12338;
					public static EGL_EXTENSIONS: 12373;
					public static EGL_PIXEL_ASPECT_RATIO: 12434;
					public static EGL_WIDTH: 12375;
					public static EGL_HEIGHT: 12374;
					public static EGL_LUMINANCE_SIZE: 12349;
					public static EGL_BAD_CONFIG: 12293;
					public static EGL_NON_CONFORMANT_CONFIG: 12369;
					public static EGL_ALPHA_SIZE: 12321;
					public static EGL_NO_SURFACE: javax.microedition.khronos.egl.EGLSurface;
					public static EGL_SAMPLES: 12337;
					public static EGL_TRANSPARENT_GREEN_VALUE: 12342;
					public static EGL_DEPTH_SIZE: 12325;
					public static EGL_NO_DISPLAY: javax.microedition.khronos.egl.EGLDisplay;
					public static EGL_READ: 12378;
					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 eglChooseConfig(param0: javax.microedition.khronos.egl.EGLDisplay, param1: androidNative.Array<number>, param2: androidNative.Array<javax.microedition.khronos.egl.EGLConfig>, param3: number, param4: androidNative.Array<number>): boolean;
					public eglInitialize(param0: javax.microedition.khronos.egl.EGLDisplay, param1: androidNative.Array<number>): boolean;
					public eglTerminate(param0: javax.microedition.khronos.egl.EGLDisplay): boolean;
					public eglGetConfigAttrib(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: number, param3: androidNative.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: androidNative.Array<number>): boolean;
					public eglGetError(): number;
					public eglQuerySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: number, param3: androidNative.Array<number>): boolean;
					public eglCreateContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: javax.microedition.khronos.egl.EGLContext, param3: androidNative.Array<number>): javax.microedition.khronos.egl.EGLContext;
					public eglCreateWindowSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglGetCurrentContext(): javax.microedition.khronos.egl.EGLContext;
					public eglGetDisplay(param0: any): javax.microedition.khronos.egl.EGLDisplay;
					/** @deprecated */
					public eglCreatePixmapSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglCreatePbufferSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglGetCurrentSurface(param0: number): javax.microedition.khronos.egl.EGLSurface;
					public eglGetConfigs(param0: javax.microedition.khronos.egl.EGLDisplay, param1: androidNative.Array<javax.microedition.khronos.egl.EGLConfig>, param2: number, param3: androidNative.Array<number>): boolean;
					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 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;
				}
			}
		}
	}
}

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: androidNative.Array<number>, param2: androidNative.Array<javax.microedition.khronos.egl.EGLConfig>, param3: number, param4: androidNative.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: androidNative.Array<number>): javax.microedition.khronos.egl.EGLContext;
						eglCreatePbufferSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglCreatePixmapSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglCreateWindowSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: androidNative.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: androidNative.Array<number>): boolean;
						eglGetConfigs(param0: javax.microedition.khronos.egl.EGLDisplay, param1: androidNative.Array<javax.microedition.khronos.egl.EGLConfig>, param2: number, param3: androidNative.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: androidNative.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: androidNative.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: androidNative.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_ALPHA_FORMAT: 12424;
					public static EGL_NATIVE_VISUAL_TYPE: 12335;
					public static EGL_BLUE_SIZE: 12322;
					public static EGL_STENCIL_SIZE: 12326;
					public static EGL_DRAW: 12377;
					public static EGL_ALPHA_MASK_SIZE: 12350;
					public static EGL_BAD_ACCESS: 12290;
					public static EGL_COLORSPACE: 12423;
					public static EGL_PBUFFER_BIT: 1;
					public static EGL_SURFACE_TYPE: 12339;
					public static EGL_TRANSPARENT_RGB: 12370;
					public static EGL_MAX_PBUFFER_PIXELS: 12331;
					public static EGL_WINDOW_BIT: 4;
					public static EGL_NO_CONTEXT: javax.microedition.khronos.egl.EGLContext;
					public static EGL_VERTICAL_RESOLUTION: 12433;
					public static EGL_BUFFER_SIZE: 12320;
					public static EGL_VENDOR: 12371;
					public static EGL_BAD_PARAMETER: 12300;
					public static EGL_CORE_NATIVE_ENGINE: 12379;
					public static EGL_DEFAULT_DISPLAY: any;
					public static EGL_HORIZONTAL_RESOLUTION: 12432;
					public static EGL_NONE: 12344;
					public static EGL_COLOR_BUFFER_TYPE: 12351;
					public static EGL_RENDER_BUFFER: 12422;
					public static EGL_SINGLE_BUFFER: 12421;
					public static EGL_CONFIG_CAVEAT: 12327;
					public static EGL_NATIVE_RENDERABLE: 12333;
					public static EGL_LUMINANCE_BUFFER: 12431;
					public static EGL_LARGEST_PBUFFER: 12376;
					public static EGL_BAD_CONTEXT: 12294;
					public static EGL_NATIVE_VISUAL_ID: 12334;
					public static EGL_CONTEXT_LOST: 12302;
					public static EGL_BAD_ALLOC: 12291;
					public static EGL_TRANSPARENT_BLUE_VALUE: 12341;
					public static EGL_RGB_BUFFER: 12430;
					public static EGL_BAD_NATIVE_PIXMAP: 12298;
					public static EGL_BAD_NATIVE_WINDOW: 12299;
					public static EGL_DONT_CARE: -1;
					public static EGL_TRANSPARENT_TYPE: 12340;
					public static EGL_SUCCESS: 12288;
					public static EGL_RENDERABLE_TYPE: 12352;
					public static EGL_RED_SIZE: 12324;
					public static EGL_BAD_DISPLAY: 12296;
					public static EGL_LEVEL: 12329;
					public static EGL_PIXMAP_BIT: 2;
					public static EGL_MAX_PBUFFER_HEIGHT: 12330;
					public static EGL_SLOW_CONFIG: 12368;
					public static EGL_BAD_SURFACE: 12301;
					public static EGL_TRANSPARENT_RED_VALUE: 12343;
					public static EGL_BAD_ATTRIBUTE: 12292;
					public static EGL_GREEN_SIZE: 12323;
					public static EGL_VERSION: 12372;
					public static EGL_CONFIG_ID: 12328;
					public static EGL_MAX_PBUFFER_WIDTH: 12332;
					public static EGL_BAD_CURRENT_SURFACE: 12295;
					public static EGL_BAD_MATCH: 12297;
					public static EGL_NOT_INITIALIZED: 12289;
					public static EGL_SAMPLE_BUFFERS: 12338;
					public static EGL_EXTENSIONS: 12373;
					public static EGL_PIXEL_ASPECT_RATIO: 12434;
					public static EGL_WIDTH: 12375;
					public static EGL_HEIGHT: 12374;
					public static EGL_LUMINANCE_SIZE: 12349;
					public static EGL_BAD_CONFIG: 12293;
					public static EGL_NON_CONFORMANT_CONFIG: 12369;
					public static EGL_ALPHA_SIZE: 12321;
					public static EGL_NO_SURFACE: javax.microedition.khronos.egl.EGLSurface;
					public static EGL_SAMPLES: 12337;
					public static EGL_TRANSPARENT_GREEN_VALUE: 12342;
					public static EGL_DEPTH_SIZE: 12325;
					public static EGL_NO_DISPLAY: javax.microedition.khronos.egl.EGLDisplay;
					public static EGL_READ: 12378;
					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 eglChooseConfig(param0: javax.microedition.khronos.egl.EGLDisplay, param1: androidNative.Array<number>, param2: androidNative.Array<javax.microedition.khronos.egl.EGLConfig>, param3: number, param4: androidNative.Array<number>): boolean;
					public eglInitialize(param0: javax.microedition.khronos.egl.EGLDisplay, param1: androidNative.Array<number>): boolean;
					public eglTerminate(param0: javax.microedition.khronos.egl.EGLDisplay): boolean;
					public eglGetConfigAttrib(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: number, param3: androidNative.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: androidNative.Array<number>): boolean;
					public eglGetError(): number;
					public eglQuerySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: number, param3: androidNative.Array<number>): boolean;
					public eglCreateContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: javax.microedition.khronos.egl.EGLContext, param3: androidNative.Array<number>): javax.microedition.khronos.egl.EGLContext;
					public eglCreateWindowSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglGetCurrentContext(): javax.microedition.khronos.egl.EGLContext;
					public eglGetDisplay(param0: any): javax.microedition.khronos.egl.EGLDisplay;
					/** @deprecated */
					public eglCreatePixmapSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglCreatePbufferSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: androidNative.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglGetCurrentSurface(param0: number): javax.microedition.khronos.egl.EGLSurface;
					public eglGetConfigs(param0: javax.microedition.khronos.egl.EGLDisplay, param1: androidNative.Array<javax.microedition.khronos.egl.EGLConfig>, param2: number, param3: androidNative.Array<number>): boolean;
					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 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;
				}
			}
		}
	}
}

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: androidNative.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: androidNative.Array<number>, param2: number): void;
						glFogfv(param0: number, param1: java.nio.FloatBuffer): void;
						glFogx(param0: number, param1: number): void;
						glFogxv(param0: number, param1: androidNative.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: androidNative.Array<number>, param2: number): void;
						glGenTextures(param0: number, param1: java.nio.IntBuffer): void;
						glGetError(): number;
						glGetIntegerv(param0: number, param1: androidNative.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: androidNative.Array<number>, param2: number): void;
						glLightModelfv(param0: number, param1: java.nio.FloatBuffer): void;
						glLightModelx(param0: number, param1: number): void;
						glLightModelxv(param0: number, param1: androidNative.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: androidNative.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: androidNative.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: androidNative.Array<number>, param1: number): void;
						glLoadMatrixf(param0: java.nio.FloatBuffer): void;
						glLoadMatrixx(param0: androidNative.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: androidNative.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: androidNative.Array<number>, param3: number): void;
						glMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glMatrixMode(param0: number): void;
						glMultMatrixf(param0: androidNative.Array<number>, param1: number): void;
						glMultMatrixf(param0: java.nio.FloatBuffer): void;
						glMultMatrixx(param0: androidNative.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: androidNative.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: androidNative.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_GEQUAL: 518;
					public static GL_TEXTURE_MIN_FILTER: 10241;
					public static GL_PALETTE8_RGBA8_OES: 35734;
					public static GL_POSITION: 4611;
					public static GL_UNPACK_ALIGNMENT: 3317;
					public static GL_EQUAL: 514;
					public static GL_COMPRESSED_TEXTURE_FORMATS: 34467;
					public static GL_RGBA: 6408;
					public static GL_FOG_DENSITY: 2914;
					public static GL_SPOT_DIRECTION: 4612;
					public static GL_OR: 5383;
					public static GL_DITHER: 3024;
					public static GL_FALSE: 0;
					public static GL_SRC_ALPHA_SATURATE: 776;
					public static GL_LIGHT6: 16390;
					public static GL_LIGHT7: 16391;
					public static GL_LIGHT4: 16388;
					public static GL_LIGHT5: 16389;
					public static GL_LIGHT2: 16386;
					public static GL_LIGHT3: 16387;
					public static GL_LIGHT0: 16384;
					public static GL_LIGHT1: 16385;
					public static GL_SHININESS: 5633;
					public static GL_STENCIL_BITS: 3415;
					public static GL_STENCIL_TEST: 2960;
					public static GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 35739;
					public static GL_FOG_COLOR: 2918;
					public static GL_DONT_CARE: 4352;
					public static GL_FOG_START: 2915;
					public static GL_NUM_COMPRESSED_TEXTURE_FORMATS: 34466;
					public static GL_SUBPIXEL_BITS: 3408;
					public static GL_POINTS: 0;
					public static GL_POINT_FADE_THRESHOLD_SIZE: 33064;
					public static GL_ALPHA: 6406;
					public static GL_MAX_ELEMENTS_VERTICES: 33000;
					public static GL_BYTE: 5120;
					public static GL_POLYGON_OFFSET_FILL: 32823;
					public static GL_DIFFUSE: 4609;
					public static GL_AND: 5377;
					public static GL_MAX_MODELVIEW_STACK_DEPTH: 3382;
					public static GL_BACK: 1029;
					public static GL_ALIASED_LINE_WIDTH_RANGE: 33902;
					public static GL_POINT_SMOOTH: 2832;
					public static GL_LIGHT_MODEL_AMBIENT: 2899;
					public static GL_DECR: 7683;
					public static GL_MAX_ELEMENTS_INDICES: 33001;
					public static GL_COLOR_LOGIC_OP: 3058;
					public static GL_PALETTE4_RGB8_OES: 35728;
					public static GL_FOG_MODE: 2917;
					public static GL_PALETTE8_R5_G6_B5_OES: 35735;
					public static GL_REPLACE: 7681;
					public static GL_PALETTE4_R5_G6_B5_OES: 35730;
					public static GL_TEXTURE29: 34013;
					public static GL_SCISSOR_TEST: 3089;
					public static GL_STENCIL_BUFFER_BIT: 1024;
					public static GL_CLAMP_TO_EDGE: 33071;
					public static GL_POLYGON_SMOOTH_HINT: 3155;
					public static GL_ALIASED_POINT_SIZE_RANGE: 33901;
					public static GL_CW: 2304;
					public static GL_SMOOTH_LINE_WIDTH_RANGE: 2850;
					public static GL_NAND: 5390;
					public static GL_RENDERER: 7937;
					public static GL_PALETTE4_RGBA8_OES: 35729;
					public static GL_TEXTURE_ENV_COLOR: 8705;
					public static GL_CULL_FACE: 2884;
					public static GL_ZERO: 0;
					public static GL_TEXTURE30: 34014;
					public static GL_TEXTURE31: 34015;
					public static GL_COLOR_BUFFER_BIT: 16384;
					public static GL_SMOOTH_POINT_SIZE_RANGE: 2834;
					public static GL_LIGHT_MODEL_TWO_SIDE: 2898;
					public static GL_TEXTURE18: 34002;
					public static GL_TEXTURE19: 34003;
					public static GL_TEXTURE0: 33984;
					public static GL_MAX_TEXTURE_STACK_DEPTH: 3385;
					public static GL_TEXTURE4: 33988;
					public static GL_MODULATE: 8448;
					public static GL_TEXTURE3: 33987;
					public static GL_TEXTURE2: 33986;
					public static GL_NO_ERROR: 0;
					public static GL_TEXTURE1: 33985;
					public static GL_TEXTURE8: 33992;
					public static GL_TEXTURE7: 33991;
					public static GL_TEXTURE6: 33990;
					public static GL_TEXTURE5: 33989;
					public static GL_COLOR_MATERIAL: 2903;
					public static GL_TEXTURE9: 33993;
					public static GL_TEXTURE20: 34004;
					public static GL_TEXTURE21: 34005;
					public static GL_PALETTE8_RGBA4_OES: 35736;
					public static GL_TEXTURE22: 34006;
					public static GL_TEXTURE23: 34007;
					public static GL_TEXTURE24: 34008;
					public static GL_TEXTURE25: 34009;
					public static GL_TEXTURE26: 34010;
					public static GL_INVALID_OPERATION: 1282;
					public static GL_TEXTURE27: 34011;
					public static GL_STACK_UNDERFLOW: 1284;
					public static GL_TEXTURE28: 34012;
					public static GL_INCR: 7682;
					public static GL_EMISSION: 5632;
					public static GL_DEPTH_TEST: 2929;
					public static GL_PACK_ALIGNMENT: 3333;
					public static GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 35738;
					public static GL_LINEAR_MIPMAP_NEAREST: 9985;
					public static GL_SAMPLE_ALPHA_TO_ONE: 32927;
					public static GL_DST_COLOR: 774;
					public static GL_UNSIGNED_SHORT_4_4_4_4: 32819;
					public static GL_RED_BITS: 3410;
					public static GL_MULTISAMPLE: 32925;
					public static GL_TEXTURE10: 33994;
					public static GL_TEXTURE11: 33995;
					public static GL_TEXTURE12: 33996;
					public static GL_BLUE_BITS: 3412;
					public static GL_TEXTURE13: 33997;
					public static GL_TEXTURE14: 33998;
					public static GL_MAX_PROJECTION_STACK_DEPTH: 3384;
					public static GL_TEXTURE15: 33999;
					public static GL_TEXTURE16: 34000;
					public static GL_STACK_OVERFLOW: 1283;
					public static GL_TEXTURE17: 34001;
					public static GL_SPOT_CUTOFF: 4614;
					public static GL_SET: 5391;
					public static GL_TEXTURE_WRAP_S: 10242;
					public static GL_TEXTURE_WRAP_T: 10243;
					public static GL_DEPTH_BUFFER_BIT: 256;
					public static GL_ONE: 1;
					public static GL_VERSION: 7938;
					public static GL_EQUIV: 5385;
					public static GL_QUADRATIC_ATTENUATION: 4617;
					public static GL_SRC_ALPHA: 770;
					public static GL_UNSIGNED_SHORT_5_6_5: 33635;
					public static GL_DST_ALPHA: 772;
					public static GL_FLOAT: 5126;
					public static GL_FASTEST: 4353;
					public static GL_INVALID_VALUE: 1281;
					public static GL_SRC_COLOR: 768;
					public static GL_AMBIENT_AND_DIFFUSE: 5634;
					public static GL_TEXTURE_ENV: 8960;
					public static GL_FRONT: 1028;
					public static GL_LUMINANCE: 6409;
					public static GL_NICEST: 4354;
					public static GL_SAMPLE_COVERAGE: 32928;
					public static GL_TEXTURE_MAG_FILTER: 10240;
					public static GL_NORMALIZE: 2977;
					public static GL_ADD: 260;
					public static GL_AND_INVERTED: 5380;
					public static GL_NEAREST_MIPMAP_LINEAR: 9986;
					public static GL_FRONT_AND_BACK: 1032;
					public static GL_BLEND: 3042;
					public static GL_INVERT: 5386;
					public static GL_EXTENSIONS: 7939;
					public static GL_OUT_OF_MEMORY: 1285;
					public static GL_COLOR_ARRAY: 32886;
					public static GL_UNSIGNED_SHORT_5_5_5_1: 32820;
					public static GL_COPY_INVERTED: 5388;
					public static GL_LINEAR: 9729;
					public static GL_PALETTE8_RGB8_OES: 35733;
					public static GL_PALETTE8_RGB5_A1_OES: 35737;
					public static GL_PALETTE4_RGBA4_OES: 35731;
					public static GL_DEPTH_BITS: 3414;
					public static GL_TRIANGLE_STRIP: 5;
					public static GL_CLEAR: 5376;
					public static GL_MODELVIEW: 5888;
					public static GL_CONSTANT_ATTENUATION: 4615;
					public static GL_LINEAR_ATTENUATION: 4616;
					public static GL_FOG: 2912;
					public static GL_PALETTE4_RGB5_A1_OES: 35732;
					public static GL_EXP2: 2049;
					public static GL_NOTEQUAL: 517;
					public static GL_ONE_MINUS_SRC_ALPHA: 771;
					public static GL_RGB: 6407;
					public static GL_TEXTURE_2D: 3553;
					public static GL_AMBIENT: 4608;
					public static GL_NOR: 5384;
					public static GL_ALPHA_TEST: 3008;
					public static GL_TEXTURE_ENV_MODE: 8704;
					public static GL_UNSIGNED_BYTE: 5121;
					public static GL_GREEN_BITS: 3411;
					public static GL_NEVER: 512;
					public static GL_INVALID_ENUM: 1280;
					public static GL_DECAL: 8449;
					public static GL_SHORT: 5122;
					public static GL_LINEAR_MIPMAP_LINEAR: 9987;
					public static GL_ONE_MINUS_DST_COLOR: 775;
					public static GL_LUMINANCE_ALPHA: 6410;
					public static GL_SAMPLE_ALPHA_TO_COVERAGE: 32926;
					public static GL_VENDOR: 7936;
					public static GL_ONE_MINUS_SRC_COLOR: 769;
					public static GL_LEQUAL: 515;
					public static GL_ONE_MINUS_DST_ALPHA: 773;
					public static GL_NEAREST: 9728;
					public static GL_LESS: 513;
					public static GL_TRIANGLE_FAN: 6;
					public static GL_TEXTURE_COORD_ARRAY: 32888;
					public static GL_AND_REVERSE: 5378;
					public static GL_LINES: 1;
					public static GL_SMOOTH: 7425;
					public static GL_TRUE: 1;
					public static GL_TEXTURE: 5890;
					public static GL_CCW: 2305;
					public static GL_EXP: 2048;
					public static GL_POINT_SMOOTH_HINT: 3153;
					public static GL_LINE_SMOOTH_HINT: 3154;
					public static GL_POINT_SIZE: 2833;
					public static GL_LINE_SMOOTH: 2848;
					public static GL_MAX_LIGHTS: 3377;
					public static GL_COPY: 5379;
					public static GL_MAX_TEXTURE_SIZE: 3379;
					public static GL_ALWAYS: 519;
					public static GL_SPOT_EXPONENT: 4613;
					public static GL_FLAT: 7424;
					public static GL_FOG_END: 2916;
					public static GL_UNSIGNED_SHORT: 5123;
					public static GL_ALPHA_BITS: 3413;
					public static GL_RESCALE_NORMAL: 32826;
					public static GL_LIGHTING: 2896;
					public static GL_VERTEX_ARRAY: 32884;
					public static GL_LINE_STRIP: 3;
					public static GL_KEEP: 7680;
					public static GL_SPECULAR: 4610;
					public static GL_PERSPECTIVE_CORRECTION_HINT: 3152;
					public static GL_GREATER: 516;
					public static GL_OR_REVERSE: 5387;
					public static GL_MAX_VIEWPORT_DIMS: 3386;
					public static GL_MAX_TEXTURE_UNITS: 34018;
					public static GL_OR_INVERTED: 5389;
					public static GL_NORMAL_ARRAY: 32885;
					public static GL_REPEAT: 10497;
					public static GL_PROJECTION: 5889;
					public static GL_FIXED: 5132;
					public static GL_NEAREST_MIPMAP_NEAREST: 9984;
					public static GL_TRIANGLES: 4;
					public static GL_FOG_HINT: 3156;
					public static GL_LINE_LOOP: 2;
					public static GL_XOR: 5382;
					public static GL_NOOP: 5381;
					public glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glEnableClientState(param0: 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 glHint(param0: number, param1: number): void;
					public glDeleteTextures(param0: number, param1: androidNative.Array<number>, param2: 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 glLoadMatrixf(param0: androidNative.Array<number>, param1: 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 glFogxv(param0: number, param1: androidNative.Array<number>, param2: 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 glLightModelxv(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glTexParameterx(param0: number, param1: number, param2: number): void;
					public glBindTexture(param0: number, param1: number): void;
					public glFrontFace(param0: number): void;
					public glClearDepthf(param0: number): void;
					public glCullFace(param0: 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 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 glGenTextures(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glMatrixMode(param0: 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 glLightModelfv(param0: number, param1: androidNative.Array<number>, param2: number): 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 glMaterialxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 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 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 glMaterialfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glDepthMask(param0: boolean): void;
					public glTexEnvxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 glVertexPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glLightxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glMultMatrixx(param0: androidNative.Array<number>, param1: number): void;
					public glGetIntegerv(param0: number, param1: androidNative.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 glMultMatrixf(param0: androidNative.Array<number>, param1: 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 glPointSize(param0: number): void;
					public glLightf(param0: number, param1: number, param2: 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 glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
					public glLightfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glFogfv(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glTranslatex(param0: number, param1: 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 glTexEnvfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glLoadMatrixx(param0: androidNative.Array<number>, param1: number): 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: androidNative.Array<number>, param1: number, param2: androidNative.Array<number>, param3: number): number;
						glQueryMatrixxOES(param0: java.nio.IntBuffer, param1: java.nio.IntBuffer): number;
					});
					public constructor();
					public glQueryMatrixxOES(param0: androidNative.Array<number>, param1: number, param2: androidNative.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: androidNative.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: androidNative.Array<number>, param2: number): void;
						glClipPlanef(param0: number, param1: java.nio.FloatBuffer): void;
						glClipPlanex(param0: number, param1: androidNative.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: androidNative.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: androidNative.Array<number>, param2: number): void;
						glGenBuffers(param0: number, param1: java.nio.IntBuffer): void;
						glGetBooleanv(param0: number, param1: androidNative.Array<boolean>, param2: number): void;
						glGetBooleanv(param0: number, param1: java.nio.IntBuffer): void;
						glGetBufferParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetBufferParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetClipPlanef(param0: number, param1: androidNative.Array<number>, param2: number): void;
						glGetClipPlanef(param0: number, param1: java.nio.FloatBuffer): void;
						glGetClipPlanex(param0: number, param1: androidNative.Array<number>, param2: number): void;
						glGetClipPlanex(param0: number, param1: java.nio.IntBuffer): void;
						glGetFixedv(param0: number, param1: androidNative.Array<number>, param2: number): void;
						glGetFixedv(param0: number, param1: java.nio.IntBuffer): void;
						glGetFloatv(param0: number, param1: androidNative.Array<number>, param2: number): void;
						glGetFloatv(param0: number, param1: java.nio.FloatBuffer): void;
						glGetLightfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glGetLightxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetMaterialfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glGetMaterialxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexEnviv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexEnvxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glGetTexParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexParameterxv(param0: number, param1: number, param2: androidNative.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: androidNative.Array<number>, param2: number): void;
						glPointParameterfv(param0: number, param1: java.nio.FloatBuffer): void;
						glPointParameterx(param0: number, param1: number): void;
						glPointParameterxv(param0: number, param1: androidNative.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: androidNative.Array<number>, param3: number): void;
						glTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexParameterfv(param0: number, param1: number, param2: androidNative.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: androidNative.Array<number>, param3: number): void;
						glTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexParameterxv(param0: number, param1: number, param2: androidNative.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: androidNative.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: androidNative.Array<number>, param2: number): void;
						glFogfv(param0: number, param1: java.nio.FloatBuffer): void;
						glFogx(param0: number, param1: number): void;
						glFogxv(param0: number, param1: androidNative.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: androidNative.Array<number>, param2: number): void;
						glGenTextures(param0: number, param1: java.nio.IntBuffer): void;
						glGetError(): number;
						glGetIntegerv(param0: number, param1: androidNative.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: androidNative.Array<number>, param2: number): void;
						glLightModelfv(param0: number, param1: java.nio.FloatBuffer): void;
						glLightModelx(param0: number, param1: number): void;
						glLightModelxv(param0: number, param1: androidNative.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: androidNative.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: androidNative.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: androidNative.Array<number>, param1: number): void;
						glLoadMatrixf(param0: java.nio.FloatBuffer): void;
						glLoadMatrixx(param0: androidNative.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: androidNative.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: androidNative.Array<number>, param3: number): void;
						glMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glMatrixMode(param0: number): void;
						glMultMatrixf(param0: androidNative.Array<number>, param1: number): void;
						glMultMatrixf(param0: java.nio.FloatBuffer): void;
						glMultMatrixx(param0: androidNative.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: androidNative.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: androidNative.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_GEQUAL: 518;
					public static GL_TEXTURE_MIN_FILTER: 10241;
					public static GL_PALETTE8_RGBA8_OES: 35734;
					public static GL_ARRAY_BUFFER: 34962;
					public static GL_POSITION: 4611;
					public static GL_DOT3_RGB: 34478;
					public static GL_TEXTURE_COORD_ARRAY_SIZE: 32904;
					public static GL_BUFFER_ACCESS: 35003;
					public static GL_STENCIL_FUNC: 2962;
					public static GL_UNPACK_ALIGNMENT: 3317;
					public static GL_COLOR_CLEAR_VALUE: 3106;
					public static GL_EQUAL: 514;
					public static GL_SRC0_RGB: 34176;
					public static GL_VERTEX_ARRAY_TYPE: 32891;
					public static GL_COMPRESSED_TEXTURE_FORMATS: 34467;
					public static GL_RGBA: 6408;
					public static GL_FOG_DENSITY: 2914;
					public static GL_SPOT_DIRECTION: 4612;
					public static GL_MATRIX_MODE: 2976;
					public static GL_SAMPLES: 32937;
					public static GL_OR: 5383;
					public static GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 35215;
					public static GL_ACTIVE_TEXTURE: 34016;
					public static GL_SRC1_ALPHA: 34185;
					public static GL_TEXTURE_STACK_DEPTH: 2981;
					public static GL_DITHER: 3024;
					public static GL_OPERAND2_ALPHA: 34202;
					public static GL_FALSE: 0;
					public static GL_GENERATE_MIPMAP_HINT: 33170;
					public static GL_RGB_SCALE: 34163;
					public static GL_SRC_ALPHA_SATURATE: 776;
					public static GL_LIGHT6: 16390;
					public static GL_LIGHT7: 16391;
					public static GL_LIGHT4: 16388;
					public static GL_LIGHT5: 16389;
					public static GL_VERTEX_ARRAY_POINTER: 32910;
					public static GL_NORMAL_ARRAY_TYPE: 32894;
					public static GL_LIGHT2: 16386;
					public static GL_LIGHT3: 16387;
					public static GL_LIGHT0: 16384;
					public static GL_LIGHT1: 16385;
					public static GL_SHININESS: 5633;
					public static GL_MAX_CLIP_PLANES: 3378;
					public static GL_STENCIL_BITS: 3415;
					public static GL_STENCIL_TEST: 2960;
					public static GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 35739;
					public static GL_SHADE_MODEL: 2900;
					public static GL_FOG_COLOR: 2918;
					public static GL_FRONT_FACE: 2886;
					public static GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 35213;
					public static GL_DONT_CARE: 4352;
					public static GL_FOG_START: 2915;
					public static GL_NUM_COMPRESSED_TEXTURE_FORMATS: 34466;
					public static GL_SUBPIXEL_BITS: 3408;
					public static GL_POINTS: 0;
					public static GL_POINT_FADE_THRESHOLD_SIZE: 33064;
					public static GL_ALPHA: 6406;
					public static GL_MAX_ELEMENTS_VERTICES: 33000;
					public static GL_COLOR_ARRAY_TYPE: 32898;
					public static GL_VERTEX_ARRAY_STRIDE: 32892;
					public static GL_BYTE: 5120;
					public static GL_COLOR_ARRAY_BUFFER_BINDING: 34968;
					public static GL_NORMAL_ARRAY_STRIDE: 32895;
					public static GL_TEXTURE_BINDING_2D: 32873;
					public static GL_POLYGON_OFFSET_FILL: 32823;
					public static GL_DIFFUSE: 4609;
					public static GL_AND: 5377;
					public static GL_MAX_MODELVIEW_STACK_DEPTH: 3382;
					public static GL_BACK: 1029;
					public static GL_ALIASED_LINE_WIDTH_RANGE: 33902;
					public static GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 35743;
					public static GL_POINT_SMOOTH: 2832;
					public static GL_LIGHT_MODEL_AMBIENT: 2899;
					public static GL_DECR: 7683;
					public static GL_OPERAND1_ALPHA: 34201;
					public static GL_POINT_SIZE_MIN: 33062;
					public static GL_MAX_ELEMENTS_INDICES: 33001;
					public static GL_BLEND_SRC: 3041;
					public static GL_COLOR_LOGIC_OP: 3058;
					public static GL_STENCIL_VALUE_MASK: 2963;
					public static GL_PALETTE4_RGB8_OES: 35728;
					public static GL_FOG_MODE: 2917;
					public static GL_PALETTE8_R5_G6_B5_OES: 35735;
					public static GL_ARRAY_BUFFER_BINDING: 34964;
					public static GL_REPLACE: 7681;
					public static GL_CLIENT_ACTIVE_TEXTURE: 34017;
					public static GL_PALETTE4_R5_G6_B5_OES: 35730;
					public static GL_SRC1_RGB: 34177;
					public static GL_TEXTURE29: 34013;
					public static GL_CURRENT_NORMAL: 2818;
					public static GL_SCISSOR_TEST: 3089;
					public static GL_STENCIL_BUFFER_BIT: 1024;
					public static GL_CLAMP_TO_EDGE: 33071;
					public static GL_POLYGON_SMOOTH_HINT: 3155;
					public static GL_STENCIL_FAIL: 2964;
					public static GL_ALIASED_POINT_SIZE_RANGE: 33901;
					public static GL_CW: 2304;
					public static GL_STENCIL_WRITEMASK: 2968;
					public static GL_BLEND_DST: 3040;
					public static GL_SMOOTH_LINE_WIDTH_RANGE: 2850;
					public static GL_NORMAL_ARRAY_POINTER: 32911;
					public static GL_NAND: 5390;
					public static GL_RENDERER: 7937;
					public static GL_PALETTE4_RGBA8_OES: 35729;
					public static GL_TEXTURE_ENV_COLOR: 8705;
					public static GL_POLYGON_OFFSET_FACTOR: 32824;
					public static GL_CULL_FACE: 2884;
					public static GL_ZERO: 0;
					public static GL_TEXTURE30: 34014;
					public static GL_TEXTURE31: 34015;
					public static GL_OPERAND0_RGB: 34192;
					public static GL_SRC2_ALPHA: 34186;
					public static GL_COLOR_BUFFER_BIT: 16384;
					public static GL_SMOOTH_POINT_SIZE_RANGE: 2834;
					public static GL_POLYGON_OFFSET_UNITS: 10752;
					public static GL_LIGHT_MODEL_TWO_SIDE: 2898;
					public static GL_TEXTURE18: 34002;
					public static GL_NORMAL_ARRAY_BUFFER_BINDING: 34967;
					public static GL_TEXTURE19: 34003;
					public static GL_TEXTURE0: 33984;
					public static GL_DEPTH_CLEAR_VALUE: 2931;
					public static GL_OPERAND1_RGB: 34193;
					public static GL_POINT_SIZE_ARRAY_POINTER_OES: 35212;
					public static GL_SRC0_ALPHA: 34184;
					public static GL_MAX_TEXTURE_STACK_DEPTH: 3385;
					public static GL_TEXTURE4: 33988;
					public static GL_MODULATE: 8448;
					public static GL_TEXTURE3: 33987;
					public static GL_TEXTURE2: 33986;
					public static GL_NO_ERROR: 0;
					public static GL_TEXTURE1: 33985;
					public static GL_TEXTURE8: 33992;
					public static GL_TEXTURE7: 33991;
					public static GL_TEXTURE6: 33990;
					public static GL_TEXTURE5: 33989;
					public static GL_COLOR_MATERIAL: 2903;
					public static GL_TEXTURE9: 33993;
					public static GL_TEXTURE20: 34004;
					public static GL_TEXTURE21: 34005;
					public static GL_PALETTE8_RGBA4_OES: 35736;
					public static GL_TEXTURE22: 34006;
					public static GL_TEXTURE23: 34007;
					public static GL_TEXTURE24: 34008;
					public static GL_TEXTURE25: 34009;
					public static GL_TEXTURE26: 34010;
					public static GL_INVALID_OPERATION: 1282;
					public static GL_TEXTURE27: 34011;
					public static GL_STACK_UNDERFLOW: 1284;
					public static GL_TEXTURE28: 34012;
					public static GL_INCR: 7682;
					public static GL_EMISSION: 5632;
					public static GL_CURRENT_COLOR: 2816;
					public static GL_STENCIL_PASS_DEPTH_PASS: 2966;
					public static GL_WRITE_ONLY: 35001;
					public static GL_DEPTH_TEST: 2929;
					public static GL_PACK_ALIGNMENT: 3333;
					public static GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 35738;
					public static GL_LINEAR_MIPMAP_NEAREST: 9985;
					public static GL_SAMPLE_ALPHA_TO_ONE: 32927;
					public static GL_DST_COLOR: 774;
					public static GL_CURRENT_TEXTURE_COORDS: 2819;
					public static GL_UNSIGNED_SHORT_4_4_4_4: 32819;
					public static GL_PREVIOUS: 34168;
					public static GL_RED_BITS: 3410;
					public static GL_COMBINE: 34160;
					public static GL_PROJECTION_STACK_DEPTH: 2980;
					public static GL_MULTISAMPLE: 32925;
					public static GL_TEXTURE10: 33994;
					public static GL_TEXTURE11: 33995;
					public static GL_TEXTURE12: 33996;
					public static GL_BLUE_BITS: 3412;
					public static GL_TEXTURE13: 33997;
					public static GL_TEXTURE14: 33998;
					public static GL_MAX_PROJECTION_STACK_DEPTH: 3384;
					public static GL_TEXTURE15: 33999;
					public static GL_COORD_REPLACE_OES: 34914;
					public static GL_TEXTURE16: 34000;
					public static GL_STACK_OVERFLOW: 1283;
					public static GL_TEXTURE17: 34001;
					public static GL_COLOR_WRITEMASK: 3107;
					public static GL_ADD_SIGNED: 34164;
					public static GL_VERTEX_ARRAY_BUFFER_BINDING: 34966;
					public static GL_SPOT_CUTOFF: 4614;
					public static GL_SET: 5391;
					public static GL_TEXTURE_WRAP_S: 10242;
					public static GL_POINT_SIZE_ARRAY_OES: 35740;
					public static GL_TEXTURE_WRAP_T: 10243;
					public static GL_DEPTH_BUFFER_BIT: 256;
					public static GL_ONE: 1;
					public static GL_ALPHA_SCALE: 3356;
					public static GL_VERSION: 7938;
					public static GL_EQUIV: 5385;
					public static GL_QUADRATIC_ATTENUATION: 4617;
					public static GL_COLOR_ARRAY_STRIDE: 32899;
					public static GL_SRC_ALPHA: 770;
					public static GL_UNSIGNED_SHORT_5_6_5: 33635;
					public static GL_ALPHA_TEST_REF: 3010;
					public static GL_DEPTH_FUNC: 2932;
					public static GL_DEPTH_RANGE: 2928;
					public static GL_DST_ALPHA: 772;
					public static GL_FLOAT: 5126;
					public static GL_FASTEST: 4353;
					public static GL_POINT_SIZE_ARRAY_TYPE_OES: 35210;
					public static GL_POINT_SPRITE_OES: 34913;
					public static GL_INVALID_VALUE: 1281;
					public static GL_SRC_COLOR: 768;
					public static GL_AMBIENT_AND_DIFFUSE: 5634;
					public static GL_SRC2_RGB: 34178;
					public static GL_TEXTURE_ENV: 8960;
					public static GL_FRONT: 1028;
					public static GL_LUMINANCE: 6409;
					public static GL_TEXTURE_MATRIX: 2984;
					public static GL_VERTEX_ARRAY_SIZE: 32890;
					public static GL_NICEST: 4354;
					public static GL_SAMPLE_COVERAGE: 32928;
					public static GL_TEXTURE_MAG_FILTER: 10240;
					public static GL_NORMALIZE: 2977;
					public static GL_POINT_DISTANCE_ATTENUATION: 33065;
					public static GL_CONSTANT: 34166;
					public static GL_LINE_WIDTH: 2849;
					public static GL_ADD: 260;
					public static GL_AND_INVERTED: 5380;
					public static GL_NEAREST_MIPMAP_LINEAR: 9986;
					public static GL_PROJECTION_MATRIX: 2983;
					public static GL_FRONT_AND_BACK: 1032;
					public static GL_BLEND: 3042;
					public static GL_INVERT: 5386;
					public static GL_EXTENSIONS: 7939;
					public static GL_OUT_OF_MEMORY: 1285;
					public static GL_COLOR_ARRAY: 32886;
					public static GL_UNSIGNED_SHORT_5_5_5_1: 32820;
					public static GL_COPY_INVERTED: 5388;
					public static GL_LINEAR: 9729;
					public static GL_PALETTE8_RGB8_OES: 35733;
					public static GL_BUFFER_USAGE: 34661;
					public static GL_PALETTE8_RGB5_A1_OES: 35737;
					public static GL_PALETTE4_RGBA4_OES: 35731;
					public static GL_GENERATE_MIPMAP: 33169;
					public static GL_OPERAND2_RGB: 34194;
					public static GL_DEPTH_BITS: 3414;
					public static GL_TRIANGLE_STRIP: 5;
					public static GL_CLEAR: 5376;
					public static GL_MODELVIEW: 5888;
					public static GL_CONSTANT_ATTENUATION: 4615;
					public static GL_LINEAR_ATTENUATION: 4616;
					public static GL_ELEMENT_ARRAY_BUFFER_BINDING: 34965;
					public static GL_STENCIL_REF: 2967;
					public static GL_FOG: 2912;
					public static GL_PALETTE4_RGB5_A1_OES: 35732;
					public static GL_COMBINE_ALPHA: 34162;
					public static GL_EXP2: 2049;
					public static GL_CULL_FACE_MODE: 2885;
					public static GL_NOTEQUAL: 517;
					public static GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 34970;
					public static GL_ONE_MINUS_SRC_ALPHA: 771;
					public static GL_RGB: 6407;
					public static GL_TEXTURE_2D: 3553;
					public static GL_AMBIENT: 4608;
					public static GL_NOR: 5384;
					public static GL_ALPHA_TEST: 3008;
					public static GL_TEXTURE_ENV_MODE: 8704;
					public static GL_OPERAND0_ALPHA: 34200;
					public static GL_UNSIGNED_BYTE: 5121;
					public static GL_GREEN_BITS: 3411;
					public static GL_NEVER: 512;
					public static GL_INVALID_ENUM: 1280;
					public static GL_DECAL: 8449;
					public static GL_STENCIL_CLEAR_VALUE: 2961;
					public static GL_ALPHA_TEST_FUNC: 3009;
					public static GL_COLOR_ARRAY_SIZE: 32897;
					public static GL_SHORT: 5122;
					public static GL_LINEAR_MIPMAP_LINEAR: 9987;
					public static GL_ONE_MINUS_DST_COLOR: 775;
					public static GL_LUMINANCE_ALPHA: 6410;
					public static GL_SAMPLE_ALPHA_TO_COVERAGE: 32926;
					public static GL_BUFFER_SIZE: 34660;
					public static GL_SAMPLE_COVERAGE_VALUE: 32938;
					public static GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 35214;
					public static GL_VENDOR: 7936;
					public static GL_ONE_MINUS_SRC_COLOR: 769;
					public static GL_STENCIL_PASS_DEPTH_FAIL: 2965;
					public static GL_LOGIC_OP_MODE: 3056;
					public static GL_TEXTURE_COORD_ARRAY_POINTER: 32914;
					public static GL_LEQUAL: 515;
					public static GL_STATIC_DRAW: 35044;
					public static GL_ONE_MINUS_DST_ALPHA: 773;
					public static GL_CLIP_PLANE0: 12288;
					public static GL_NEAREST: 9728;
					public static GL_CLIP_PLANE1: 12289;
					public static GL_LESS: 513;
					public static GL_CLIP_PLANE2: 12290;
					public static GL_TRIANGLE_FAN: 6;
					public static GL_CLIP_PLANE3: 12291;
					public static GL_TEXTURE_COORD_ARRAY: 32888;
					public static GL_CLIP_PLANE4: 12292;
					public static GL_CLIP_PLANE5: 12293;
					public static GL_AND_REVERSE: 5378;
					public static GL_LINES: 1;
					public static GL_SMOOTH: 7425;
					public static GL_SAMPLE_BUFFERS: 32936;
					public static GL_TRUE: 1;
					public static GL_TEXTURE: 5890;
					public static GL_CCW: 2305;
					public static GL_POINT_SIZE_MAX: 33063;
					public static GL_EXP: 2048;
					public static GL_POINT_SMOOTH_HINT: 3153;
					public static GL_LINE_SMOOTH_HINT: 3154;
					public static GL_POINT_SIZE: 2833;
					public static GL_SCISSOR_BOX: 3088;
					public static GL_LINE_SMOOTH: 2848;
					public static GL_MAX_LIGHTS: 3377;
					public static GL_MODELVIEW_STACK_DEPTH: 2979;
					public static GL_SUBTRACT: 34023;
					public static GL_TEXTURE_COORD_ARRAY_STRIDE: 32906;
					public static GL_VIEWPORT: 2978;
					public static GL_COPY: 5379;
					public static GL_MAX_TEXTURE_SIZE: 3379;
					public static GL_DYNAMIC_DRAW: 35048;
					public static GL_TEXTURE_COORD_ARRAY_TYPE: 32905;
					public static GL_ALWAYS: 519;
					public static GL_SPOT_EXPONENT: 4613;
					public static GL_SAMPLE_COVERAGE_INVERT: 32939;
					public static GL_POINT_SIZE_ARRAY_STRIDE_OES: 35211;
					public static GL_FLAT: 7424;
					public static GL_INTERPOLATE: 34165;
					public static GL_FOG_END: 2916;
					public static GL_COLOR_ARRAY_POINTER: 32912;
					public static GL_MODELVIEW_MATRIX: 2982;
					public static GL_UNSIGNED_SHORT: 5123;
					public static GL_ALPHA_BITS: 3413;
					public static GL_RESCALE_NORMAL: 32826;
					public static GL_LIGHTING: 2896;
					public static GL_VERTEX_ARRAY: 32884;
					public static GL_LINE_STRIP: 3;
					public static GL_KEEP: 7680;
					public static GL_SPECULAR: 4610;
					public static GL_PERSPECTIVE_CORRECTION_HINT: 3152;
					public static GL_GREATER: 516;
					public static GL_OR_REVERSE: 5387;
					public static GL_ELEMENT_ARRAY_BUFFER: 34963;
					public static GL_MAX_VIEWPORT_DIMS: 3386;
					public static GL_MAX_TEXTURE_UNITS: 34018;
					public static GL_OR_INVERTED: 5389;
					public static GL_PRIMARY_COLOR: 34167;
					public static GL_NORMAL_ARRAY: 32885;
					public static GL_REPEAT: 10497;
					public static GL_DOT3_RGBA: 34479;
					public static GL_PROJECTION: 5889;
					public static GL_FIXED: 5132;
					public static GL_NEAREST_MIPMAP_NEAREST: 9984;
					public static GL_TRIANGLES: 4;
					public static GL_DEPTH_WRITEMASK: 2930;
					public static GL_FOG_HINT: 3156;
					public static GL_LINE_LOOP: 2;
					public static GL_XOR: 5382;
					public static GL_COMBINE_RGB: 34161;
					public static GL_NOOP: 5381;
					public glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glEnableClientState(param0: 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 glScalex(param0: number, param1: number, param2: number): void;
					public glTexEnvx(param0: number, param1: number, param2: number): void;
					public glClipPlanef(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetClipPlanef(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glCopyTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
					public glGetPointerv(param0: number, param1: androidNative.Array<java.nio.Buffer>): 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 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 glHint(param0: number, param1: number): void;
					public glDeleteTextures(param0: number, param1: androidNative.Array<number>, param2: 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 glLoadMatrixf(param0: androidNative.Array<number>, param1: number): void;
					public glScalef(param0: number, param1: number, param2: number): void;
					public glGetLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glTexEnvf(param0: number, param1: number, param2: number): void;
					public glClearDepthx(param0: number): void;
					public glFogxv(param0: number, param1: androidNative.Array<number>, param2: 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 glGetTexEnvxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glIsTexture(param0: number): boolean;
					public glActiveTexture(param0: number): void;
					public glLightModelxv(param0: number, param1: androidNative.Array<number>, param2: 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 glTexParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glFrontFace(param0: 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 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 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 glGenTextures(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glDeleteBuffers(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glMatrixMode(param0: number): void;
					public glGetLightxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glPointParameterx(param0: number, param1: number): void;
					public glGetTexEnviv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glPointParameterxv(param0: number, param1: java.nio.IntBuffer): void;
					public glPointSizePointerOES(param0: number, param1: number, param2: java.nio.Buffer): void;
					public glColorMask(param0: boolean, param1: boolean, param2: boolean, param3: boolean): void;
					public glGetTexParameterxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glGetTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): 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 glLightModelfv(param0: number, param1: androidNative.Array<number>, param2: 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 glMaterialxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 glBufferSubData(param0: number, param1: number, param2: number, param3: java.nio.Buffer): 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 glTexParameterxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glPointParameterxv(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetFloatv(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glGetBufferParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glNormalPointer(param0: number, param1: number, param2: java.nio.Buffer): void;
					public glPointParameterfv(param0: number, param1: androidNative.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 glTexParameteriv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glColor4x(param0: number, param1: number, param2: number, param3: number): void;
					public glGetBooleanv(param0: number, param1: androidNative.Array<boolean>, param2: number): void;
					public glTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glFlush(): void;
					public glMaterialfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glDepthMask(param0: boolean): void;
					public glTexEnvxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 glClipPlanex(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetClipPlanex(param0: number, param1: androidNative.Array<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 glGetLightfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glPixelStorei(param0: number, param1: number): void;
					public glEnable(param0: number): void;
					public glVertexPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glLightxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glMultMatrixx(param0: androidNative.Array<number>, param1: number): void;
					public glGetIntegerv(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glGetMaterialfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 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 glGetTexParameterfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glMultMatrixf(param0: androidNative.Array<number>, param1: 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 glGetMaterialxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glPointSize(param0: number): void;
					public glLightf(param0: number, param1: number, param2: number): 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 glTexEnviv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glGetTexParameteriv(param0: number, param1: number, param2: androidNative.Array<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: java.nio.IntBuffer): void;
					public glGenBuffers(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glColor4f(param0: number, param1: number, param2: number, param3: number): void;
					public glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
					public glLightfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glFogfv(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetBooleanv(param0: number, param1: java.nio.IntBuffer): void;
					public glTranslatex(param0: number, param1: 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 glTexEnvfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glGetFixedv(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glFogx(param0: number, param1: number): void;
					public glLightModelxv(param0: number, param1: java.nio.IntBuffer): void;
					public glLoadMatrixx(param0: androidNative.Array<number>, param1: 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: androidNative.Array<number>, param3: number): void;
						glCurrentPaletteMatrixOES(param0: number): void;
						glDrawTexfOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glDrawTexfvOES(param0: androidNative.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: androidNative.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: androidNative.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: androidNative.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_PALETTE_OES: 34880;
					public static GL_WEIGHT_ARRAY_OES: 34477;
					public static GL_MAX_PALETTE_MATRICES_OES: 34882;
					public static GL_MATRIX_INDEX_ARRAY_POINTER_OES: 34889;
					public static GL_MAX_VERTEX_UNITS_OES: 34468;
					public static GL_WEIGHT_ARRAY_SIZE_OES: 34475;
					public static GL_MATRIX_INDEX_ARRAY_SIZE_OES: 34886;
					public static GL_TEXTURE_CROP_RECT_OES: 35741;
					public static GL_MATRIX_INDEX_ARRAY_TYPE_OES: 34887;
					public static GL_MATRIX_INDEX_ARRAY_OES: 34884;
					public static GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 34974;
					public static GL_WEIGHT_ARRAY_TYPE_OES: 34473;
					public static GL_WEIGHT_ARRAY_POINTER_OES: 34476;
					public static GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 34888;
					public static GL_WEIGHT_ARRAY_STRIDE_OES: 34474;
					public static GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 35742;
					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 glDrawTexsvOES(param0: androidNative.Array<number>, param1: number): void;
					public glDrawTexxvOES(param0: androidNative.Array<number>, param1: number): void;
					public glDrawTexivOES(param0: java.nio.IntBuffer): void;
					public glCurrentPaletteMatrixOES(param0: number): void;
					public glDrawTexiOES(param0: number, param1: number, param2: number, param3: number, param4: 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 glDrawTexivOES(param0: androidNative.Array<number>, param1: number): void;
					public glEnable(param0: number): void;
					public glMatrixIndexPointerOES(param0: number, param1: number, param2: number, param3: number): void;
					public glLoadPaletteFromModelViewMatrixOES(): void;
					public glWeightPointerOES(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glDrawTexfvOES(param0: androidNative.Array<number>, param1: 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;
					public glTexParameterfv(param0: number, param1: number, param2: androidNative.Array<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: androidNative.Array<number>, param2: number): void;
						glDeleteFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
						glDeleteRenderbuffersOES(param0: number, param1: androidNative.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: androidNative.Array<number>, param2: number): void;
						glGenFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
						glGenRenderbuffersOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
						glGenRenderbuffersOES(param0: number, param1: java.nio.IntBuffer): void;
						glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: androidNative.Array<number>, param4: number): void;
						glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
						glGetIntegerv(param0: number, param1: androidNative.Array<number>, param2: number): void;
						glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
						glGetRenderbufferParameterivOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetRenderbufferParameterivOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexGenfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetTexGenfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glGetTexGeniv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
						glGetTexGeniv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexGenxv(param0: number, param1: number, param2: androidNative.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: androidNative.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: androidNative.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: androidNative.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: androidNative.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: androidNative.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_TEXTURE_BINDING_CUBE_MAP: 34068;
					public static GL_BLEND_DST_RGB: 32968;
					public static GL_COLOR_ATTACHMENT2_OES: 36066;
					public static GL_NORMAL_MAP: 34065;
					public static GL_TEXTURE_CUBE_MAP_POSITIVE_X: 34069;
					public static GL_TEXTURE_CUBE_MAP_POSITIVE_Y: 34071;
					public static GL_TEXTURE_CUBE_MAP_POSITIVE_Z: 34073;
					public static GL_STENCIL_INDEX8_OES: 36168;
					public static GL_FRAMEBUFFER_OES: 36160;
					public static GL_COLOR_ATTACHMENT3_OES: 36067;
					public static GL_COLOR_ATTACHMENT1_OES: 36065;
					public static GL_FRAMEBUFFER_COMPLETE_OES: 36053;
					public static GL_INCR_WRAP: 34055;
					public static GL_COLOR_ATTACHMENT15_OES: 36079;
					public static GL_RENDERBUFFER_OES: 36161;
					public static GL_TEXTURE_CUBE_MAP: 34067;
					public static GL_MAX_COLOR_ATTACHMENTS_OES: 36063;
					public static GL_FRAMEBUFFER_UNSUPPORTED_OES: 36061;
					public static GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES: 36060;
					public static GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES: 36059;
					public static GL_FUNC_ADD: 32774;
					public static GL_RGB5_A1: 32855;
					public static GL_RENDERBUFFER_WIDTH_OES: 36162;
					public static GL_COLOR_ATTACHMENT14_OES: 36078;
					public static GL_COLOR_ATTACHMENT9_OES: 36073;
					public static GL_BLEND_EQUATION_ALPHA: 34877;
					public static GL_DEPTH_COMPONENT32: 33191;
					public static GL_MAX_CUBE_MAP_TEXTURE_SIZE: 34076;
					public static GL_INVALID_FRAMEBUFFER_OPERATION_OES: 1286;
					public static GL_RGBA4: 32854;
					public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES: 36050;
					public static GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES: 36055;
					public static GL_RENDERBUFFER_INTERNAL_FORMAT_OES: 36164;
					public static GL_STENCIL_INDEX4_OES: 36167;
					public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES: 36049;
					public static GL_COLOR_ATTACHMENT13_OES: 36077;
					public static GL_COLOR_ATTACHMENT8_OES: 36072;
					public static GL_DEPTH_COMPONENT24: 33190;
					public static GL_RENDERBUFFER_STENCIL_SIZE_OES: 36181;
					public static GL_RGB8: 32849;
					public static GL_FUNC_SUBTRACT: 32778;
					public static GL_MAX_RENDERBUFFER_SIZE_OES: 34024;
					public static GL_BLEND_DST_ALPHA: 32970;
					public static GL_COLOR_ATTACHMENT0_OES: 36064;
					public static GL_RENDERBUFFER_GREEN_SIZE_OES: 36177;
					public static GL_COLOR_ATTACHMENT7_OES: 36071;
					public static GL_COLOR_ATTACHMENT11_OES: 36075;
					public static GL_COLOR_ATTACHMENT12_OES: 36076;
					public static GL_RENDERBUFFER_ALPHA_SIZE_OES: 36179;
					public static GL_RENDERBUFFER_HEIGHT_OES: 36163;
					public static GL_RGBA8: 32856;
					public static GL_STR: -1;
					public static GL_TEXTURE_CUBE_MAP_NEGATIVE_X: 34070;
					public static GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES: 36054;
					public static GL_RENDERBUFFER_BLUE_SIZE_OES: 36178;
					public static GL_RENDERBUFFER_DEPTH_SIZE_OES: 36180;
					public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074;
					public static GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES: 36057;
					public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072;
					public static GL_FRAMEBUFFER_BINDING_OES: 36006;
					public static GL_MIRRORED_REPEAT: 33648;
					public static GL_DEPTH_COMPONENT16: 33189;
					public static GL_COLOR_ATTACHMENT6_OES: 36070;
					public static GL_DEPTH_ATTACHMENT_OES: 36096;
					public static GL_STENCIL_ATTACHMENT_OES: 36128;
					public static GL_TEXTURE_GEN_STR: 36192;
					public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES: 36048;
					public static GL_STENCIL_INDEX: 6401;
					public static GL_COLOR_ATTACHMENT5_OES: 36069;
					public static GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES: 36058;
					public static GL_DECR_WRAP: 34056;
					public static GL_STENCIL_INDEX1_OES: 36166;
					public static GL_COLOR_ATTACHMENT10_OES: 36074;
					public static GL_DEPTH_COMPONENT: 6402;
					public static GL_FUNC_REVERSE_SUBTRACT: 32779;
					public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES: 36051;
					public static GL_REFLECTION_MAP: 34066;
					public static GL_TEXTURE_GEN_MODE: 9472;
					public static GL_BLEND_SRC_ALPHA: 32971;
					public static GL_RENDERBUFFER_BINDING_OES: 36007;
					public static GL_BLEND_SRC_RGB: 32969;
					public static GL_BLEND_EQUATION_RGB: 32777;
					public static GL_COLOR_ATTACHMENT4_OES: 36068;
					public static GL_RENDERBUFFER_RED_SIZE_OES: 36176;
					public static GL_BLEND_EQUATION: 32777;
					public static GL_RGB565_OES: 36194;
					public glTexGeni(param0: number, param1: number, param2: number): void;
					public glTexEnvx(param0: number, param1: number, param2: number): void;
					public glGetTexGenfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glBindRenderbufferOES(param0: number, param1: number): void;
					public glGetTexGenxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glGenRenderbuffersOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetRenderbufferParameterivOES(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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: androidNative.Array<number>, param4: number): void;
					public glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
					public glTexGenfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): 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 glTexEnvxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: 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 glBlendFuncSeparate(param0: number, param1: number, param2: number, param3: number): void;
					public glGenFramebuffersOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetIntegerv(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glBindTexture(param0: number, param1: number): void;
					public glTexGeniv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glIsFramebufferOES(param0: number): boolean;
					public glTexGenfv(param0: number, param1: number, param2: java.nio.FloatBuffer): 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 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 glGetTexGeniv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
					public glGenerateMipmapOES(param0: number): void;
					public glTexGenxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glTexEnvfv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glDeleteRenderbuffersOES(param0: number, param1: androidNative.Array<number>, param2: number): void;
					public glGetTexGenxv(param0: number, param1: number, param2: androidNative.Array<number>, param3: number): void;
					public glDeleteFramebuffersOES(param0: number, param1: androidNative.Array<number>, param2: 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(parameters: 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 getLocalSupportedSignatureAlgorithms(): androidNative.Array<string>;
				public getSessionContext(): javax.net.ssl.SSLSessionContext;
				public getLocalPrincipal(): java.security.Principal;
				public constructor();
				public getValue(param0: string): any;
				public getPeerCertificateChain(): androidNative.Array<javax.security.cert.X509Certificate>;
				public getPeerSupportedSignatureAlgorithms(): androidNative.Array<string>;
				public getPeerPort(): number;
				public getPacketBufferSize(): number;
				public getValueNames(): androidNative.Array<string>;
				public getCreationTime(): number;
				public removeValue(param0: string): void;
				public getRequestedServerNames(): java.util.List<javax.net.ssl.SNIServerName>;
				public getPeerHost(): string;
				public getApplicationBufferSize(): number;
				public isValid(): boolean;
				public getId(): androidNative.Array<number>;
				public getLastAccessedTime(): number;
				public invalidate(): void;
				public getPeerCertificates(): androidNative.Array<java.security.cert.Certificate>;
				public putValue(param0: string, param1: any): void;
				public getLocalCertificates(): androidNative.Array<java.security.cert.Certificate>;
				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 getSocket(): javax.net.ssl.SSLSocket;
				public getSession(): javax.net.ssl.SSLSession;
				public constructor(sock: javax.net.ssl.SSLSocket, s: javax.net.ssl.SSLSession);
				public getLocalPrincipal(): java.security.Principal;
				public constructor(source: any);
				public getPeerCertificates(): androidNative.Array<java.security.cert.Certificate>;
				public getPeerCertificateChain(): androidNative.Array<javax.security.cert.X509Certificate>;
				public getLocalCertificates(): androidNative.Array<java.security.cert.Certificate>;
				public getCipherSuite(): string;
				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 static setDefaultSSLSocketFactory(sf: javax.net.ssl.SSLSocketFactory): void;
				public getSSLSocketFactory(): javax.net.ssl.SSLSocketFactory;
				public getHostnameVerifier(): javax.net.ssl.HostnameVerifier;
				public getServerCertificates(): androidNative.Array<java.security.cert.Certificate>;
				public constructor(url: java.net.URL);
				public static setDefaultHostnameVerifier(v: javax.net.ssl.HostnameVerifier): void;
				public setHostnameVerifier(v: javax.net.ssl.HostnameVerifier): void;
				public getLocalCertificates(): androidNative.Array<java.security.cert.Certificate>;
				public getCipherSuite(): string;
				public getPeerPrincipal(): java.security.Principal;
				public static getDefaultSSLSocketFactory(): javax.net.ssl.SSLSocketFactory;
				public setSSLSocketFactory(sf: javax.net.ssl.SSLSocketFactory): void;
			}
		}
	}
}

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 getDefaultAlgorithm(): string;
				public constructor(factorySpi: javax.net.ssl.KeyManagerFactorySpi, provider: java.security.Provider, algorithm: string);
				public static getInstance(algorithm: string): javax.net.ssl.KeyManagerFactory;
				public static getInstance(algorithm: string, provider: string): javax.net.ssl.KeyManagerFactory;
				public static getInstance(algorithm: string, provider: java.security.Provider): javax.net.ssl.KeyManagerFactory;
				public init(spec: javax.net.ssl.ManagerFactoryParameters): void;
				public init(ks: java.security.KeyStore, password: androidNative.Array<string>): void;
				public getProvider(): java.security.Provider;
				public getKeyManagers(): androidNative.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: androidNative.Array<string>): void;
				public engineGetKeyManagers(): androidNative.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(parameters: java.util.List<java.security.KeyStore.Builder>);
				public constructor(builder: 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(encoded: androidNative.Array<number>);
				public static createSNIMatcher(regex: string): javax.net.ssl.SNIMatcher;
				public equals(other: any): boolean;
				public constructor(type: number, encoded: androidNative.Array<number>);
				public getAsciiName(): string;
				public hashCode(): number;
				public constructor(hostname: string);
				public toString(): string;
			}
		}
	}
}

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 matches(param0: javax.net.ssl.SNIServerName): boolean;
				public constructor(type: number);
			}
		}
	}
}

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 equals(other: any): boolean;
				public getType(): number;
				public getEncoded(): androidNative.Array<number>;
				public constructor(type: number, encoded: androidNative.Array<number>);
				public hashCode(): number;
				public toString(): string;
			}
		}
	}
}

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 constructor(contextSpi: javax.net.ssl.SSLContextSpi, provider: java.security.Provider, protocol: string);
				public createSSLEngine(): javax.net.ssl.SSLEngine;
				public static getInstance(protocol: string): javax.net.ssl.SSLContext;
				public getSupportedSSLParameters(): javax.net.ssl.SSLParameters;
				public getServerSocketFactory(): javax.net.ssl.SSLServerSocketFactory;
				public getServerSessionContext(): javax.net.ssl.SSLSessionContext;
				public getProvider(): java.security.Provider;
				public static getInstance(protocol: string, provider: java.security.Provider): javax.net.ssl.SSLContext;
				public static setDefault(context: javax.net.ssl.SSLContext): void;
				public static getInstance(protocol: string, provider: string): javax.net.ssl.SSLContext;
				public getSocketFactory(): javax.net.ssl.SSLSocketFactory;
				public createSSLEngine(peerHost: string, peerPort: number): javax.net.ssl.SSLEngine;
				public getDefaultSSLParameters(): javax.net.ssl.SSLParameters;
				public getProtocol(): string;
				public static getDefault(): javax.net.ssl.SSLContext;
				public init(km: androidNative.Array<javax.net.ssl.KeyManager>, tm: androidNative.Array<javax.net.ssl.TrustManager>, random: java.security.SecureRandom): void;
			}
		}
	}
}

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 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 engineInit(param0: androidNative.Array<javax.net.ssl.KeyManager>, param1: androidNative.Array<javax.net.ssl.TrustManager>, param2: java.security.SecureRandom): void;
				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 getEnabledProtocols(): androidNative.Array<string>;
				public setUseClientMode(param0: boolean): void;
				public getSession(): javax.net.ssl.SSLSession;
				public wrap(param0: androidNative.Array<java.nio.ByteBuffer>, param1: number, param2: number, param3: java.nio.ByteBuffer): javax.net.ssl.SSLEngineResult;
				public closeInbound(): void;
				public getApplicationProtocol(): string;
				public getHandshakeSession(): javax.net.ssl.SSLSession;
				public getHandshakeApplicationProtocolSelector(): any /* any<javax.net.ssl.SSLEngine,java.util.List<string>,string>*/;
				public isInboundDone(): boolean;
				public wrap(src: java.nio.ByteBuffer, dst: java.nio.ByteBuffer): javax.net.ssl.SSLEngineResult;
				public setEnabledProtocols(param0: androidNative.Array<string>): void;
				public getSSLParameters(): javax.net.ssl.SSLParameters;
				public constructor();
				public wrap(srcs: androidNative.Array<java.nio.ByteBuffer>, dst: java.nio.ByteBuffer): javax.net.ssl.SSLEngineResult;
				public getEnableSessionCreation(): boolean;
				public setWantClientAuth(param0: boolean): void;
				public setEnableSessionCreation(param0: boolean): void;
				public isOutboundDone(): boolean;
				public getSupportedCipherSuites(): androidNative.Array<string>;
				public setEnabledCipherSuites(param0: androidNative.Array<string>): void;
				public unwrap(src: java.nio.ByteBuffer, dst: java.nio.ByteBuffer): javax.net.ssl.SSLEngineResult;
				public closeOutbound(): void;
				public getEnabledCipherSuites(): androidNative.Array<string>;
				public getPeerPort(): number;
				public beginHandshake(): void;
				public setNeedClientAuth(param0: boolean): void;
				public getHandshakeStatus(): javax.net.ssl.SSLEngineResult.HandshakeStatus;
				public unwrap(src: java.nio.ByteBuffer, dsts: androidNative.Array<java.nio.ByteBuffer>): javax.net.ssl.SSLEngineResult;
				public getHandshakeApplicationProtocol(): string;
				public getPeerHost(): string;
				public getUseClientMode(): boolean;
				public setHandshakeApplicationProtocolSelector(selector: any /* any<javax.net.ssl.SSLEngine,java.util.List<string>,string>*/): void;
				public getDelegatedTask(): java.lang.Runnable;
				public setSSLParameters(params: javax.net.ssl.SSLParameters): void;
				public getWantClientAuth(): boolean;
				public unwrap(param0: java.nio.ByteBuffer, param1: androidNative.Array<java.nio.ByteBuffer>, param2: number, param3: number): javax.net.ssl.SSLEngineResult;
				public getSupportedProtocols(): androidNative.Array<string>;
				public constructor(peerHost: string, peerPort: number);
			}
		}
	}
}

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 constructor(status: javax.net.ssl.SSLEngineResult.Status, handshakeStatus: javax.net.ssl.SSLEngineResult.HandshakeStatus, bytesConsumed: number, bytesProduced: number);
				public getStatus(): javax.net.ssl.SSLEngineResult.Status;
				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 valueOf(name: string): javax.net.ssl.SSLEngineResult.HandshakeStatus;
					public static values(): androidNative.Array<javax.net.ssl.SSLEngineResult.HandshakeStatus>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(name: string): javax.net.ssl.SSLEngineResult.Status;
					public static values(): androidNative.Array<javax.net.ssl.SSLEngineResult.Status>;
					public static valueOf(enumClass: java.lang.Class<any>, name: 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(cause: java.lang.Throwable);
				public constructor(reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 constructor(cipherSuites: androidNative.Array<string>, protocols: androidNative.Array<string>);
				public getNeedClientAuth(): boolean;
				public getAlgorithmConstraints(): java.security.AlgorithmConstraints;
				public setUseCipherSuitesOrder(honorOrder: boolean): void;
				public setCipherSuites(cipherSuites: androidNative.Array<string>): void;
				public setServerNames(serverNames: java.util.List<javax.net.ssl.SNIServerName>): void;
				public getCipherSuites(): androidNative.Array<string>;
				public getSNIMatchers(): java.util.Collection<javax.net.ssl.SNIMatcher>;
				public getServerNames(): java.util.List<javax.net.ssl.SNIServerName>;
				public getUseCipherSuitesOrder(): boolean;
				public setApplicationProtocols(protocols: androidNative.Array<string>): void;
				public constructor();
				public setNeedClientAuth(needClientAuth: boolean): void;
				public getWantClientAuth(): boolean;
				public constructor(cipherSuites: androidNative.Array<string>);
				public setAlgorithmConstraints(constraints: java.security.AlgorithmConstraints): void;
				public getProtocols(): androidNative.Array<string>;
				public setProtocols(protocols: androidNative.Array<string>): void;
				public getEndpointIdentificationAlgorithm(): string;
				public setSNIMatchers(matchers: java.util.Collection<javax.net.ssl.SNIMatcher>): void;
				public setWantClientAuth(wantClientAuth: boolean): void;
				public getApplicationProtocols(): androidNative.Array<string>;
				public setEndpointIdentificationAlgorithm(algorithm: string): void;
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 constructor(name: string);
				public checkGuard(param0: any): void;
				public constructor(name: string, actions: 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(cause: java.lang.Throwable);
				public constructor(reason: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 getNeedClientAuth(): boolean;
				public getEnabledProtocols(): androidNative.Array<string>;
				public setNeedClientAuth(param0: boolean): void;
				public setUseClientMode(param0: boolean): void;
				public close(): void;
				public getUseClientMode(): boolean;
				public constructor(port: number, backlog: number, address: java.net.InetAddress);
				public toString(): string;
				public setEnabledProtocols(param0: androidNative.Array<string>): void;
				public getSSLParameters(): javax.net.ssl.SSLParameters;
				public setSSLParameters(params: javax.net.ssl.SSLParameters): void;
				public constructor(port: number, backlog: number);
				public constructor();
				public getEnableSessionCreation(): boolean;
				public getWantClientAuth(): boolean;
				public constructor(port: number, backlog: number, bindAddr: java.net.InetAddress);
				public setWantClientAuth(param0: boolean): void;
				public setEnableSessionCreation(param0: boolean): void;
				public getSupportedProtocols(): androidNative.Array<string>;
				public constructor(port: number);
				public getSupportedCipherSuites(): androidNative.Array<string>;
				public setEnabledCipherSuites(param0: androidNative.Array<string>): void;
				public getEnabledCipherSuites(): androidNative.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 getSupportedCipherSuites(): androidNative.Array<string>;
				public getDefaultCipherSuites(): androidNative.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(): androidNative.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(): androidNative.Array<string>;
					getPeerCertificates(): androidNative.Array<java.security.cert.Certificate>;
					getLocalCertificates(): androidNative.Array<java.security.cert.Certificate>;
					getPeerCertificateChain(): androidNative.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 getValueNames(): androidNative.Array<string>;
				public getCreationTime(): number;
				public removeValue(param0: string): void;
				public getSessionContext(): javax.net.ssl.SSLSessionContext;
				public getLocalPrincipal(): java.security.Principal;
				public getPeerHost(): string;
				public getApplicationBufferSize(): number;
				public isValid(): boolean;
				public getValue(param0: string): any;
				public getId(): androidNative.Array<number>;
				public getLastAccessedTime(): number;
				public invalidate(): void;
				public getPeerCertificates(): androidNative.Array<java.security.cert.Certificate>;
				public getPeerCertificateChain(): androidNative.Array<javax.security.cert.X509Certificate>;
				public putValue(param0: string, param1: any): void;
				public getLocalCertificates(): androidNative.Array<java.security.cert.Certificate>;
				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(source: any);
				public getName(): string;
				public constructor(session: javax.net.ssl.SSLSession, name: string);
			}
		}
	}
}

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: androidNative.Array<number>): javax.net.ssl.SSLSession;
					getIds(): java.util.Enumeration<androidNative.Array<number>>;
					setSessionTimeout(param0: number): void;
					getSessionTimeout(): number;
					setSessionCacheSize(param0: number): void;
					getSessionCacheSize(): number;
				});
				public constructor();
				public getIds(): java.util.Enumeration<androidNative.Array<number>>;
				public getSessionCacheSize(): number;
				public setSessionTimeout(param0: number): void;
				public getSessionTimeout(): number;
				public getSession(param0: androidNative.Array<number>): javax.net.ssl.SSLSession;
				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 getEnabledProtocols(): androidNative.Array<string>;
				public setUseClientMode(param0: boolean): void;
				public getSession(): javax.net.ssl.SSLSession;
				public constructor(address: java.net.InetAddress, port: number);
				public getApplicationProtocol(): string;
				public getHandshakeSession(): javax.net.ssl.SSLSession;
				/** @deprecated */
				public constructor(host: string, port: number, stream: boolean);
				public setEnabledProtocols(param0: androidNative.Array<string>): void;
				public getSSLParameters(): javax.net.ssl.SSLParameters;
				public constructor();
				public getEnableSessionCreation(): boolean;
				public constructor(host: string, port: number);
				public setWantClientAuth(param0: boolean): void;
				public setEnableSessionCreation(param0: boolean): void;
				public constructor(host: string, port: number, localAddr: java.net.InetAddress, localPort: number);
				public addHandshakeCompletedListener(param0: javax.net.ssl.HandshakeCompletedListener): void;
				public constructor(proxy: java.net.Proxy);
				public getSupportedCipherSuites(): androidNative.Array<string>;
				public removeHandshakeCompletedListener(param0: javax.net.ssl.HandshakeCompletedListener): void;
				public setEnabledCipherSuites(param0: androidNative.Array<string>): void;
				public setHandshakeApplicationProtocolSelector(selector: any /* any<javax.net.ssl.SSLSocket,java.util.List<string>,string>*/): void;
				public getEnabledCipherSuites(): androidNative.Array<string>;
				public startHandshake(): void;
				public setNeedClientAuth(param0: boolean): void;
				public close(): void;
				public constructor(impl: java.net.SocketImpl);
				public getHandshakeApplicationProtocol(): string;
				public getUseClientMode(): boolean;
				public toString(): string;
				public setSSLParameters(params: javax.net.ssl.SSLParameters): void;
				public constructor(address: java.net.InetAddress, port: number, clientAddress: java.net.InetAddress, clientPort: number);
				public getWantClientAuth(): boolean;
				public getSupportedProtocols(): androidNative.Array<string>;
				/** @deprecated */
				public constructor(host: java.net.InetAddress, port: number, stream: boolean);
				public constructor(host: string, port: number, clientAddress: java.net.InetAddress, clientPort: number);
				public getHandshakeApplicationProtocolSelector(): any /* any<javax.net.ssl.SSLSocket,java.util.List<string>,string>*/;
				public constructor(address: java.net.InetAddress, port: number, localAddr: java.net.InetAddress, localPort: number);
			}
		}
	}
}

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 getSupportedCipherSuites(): androidNative.Array<string>;
				public createSocket(): java.net.Socket;
				public createSocket(param0: string, param1: number, param2: java.net.InetAddress, param3: number): java.net.Socket;
				public createSocket(param0: java.net.InetAddress, param1: number): java.net.Socket;
				public getDefaultCipherSuites(): androidNative.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: 0;
			}
		}
	}
}

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(algorithm: string, provider: string): javax.net.ssl.TrustManagerFactory;
				public static getDefaultAlgorithm(): string;
				public static getInstance(algorithm: string, provider: java.security.Provider): javax.net.ssl.TrustManagerFactory;
				public init(ks: java.security.KeyStore): void;
				public init(spec: javax.net.ssl.ManagerFactoryParameters): void;
				public getTrustManagers(): androidNative.Array<javax.net.ssl.TrustManager>;
				public static getInstance(algorithm: string): javax.net.ssl.TrustManagerFactory;
				public constructor(factorySpi: javax.net.ssl.TrustManagerFactorySpi, provider: java.security.Provider, algorithm: string);
				public getProvider(): java.security.Provider;
			}
		}
	}
}

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(): androidNative.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 chooseClientAlias(param0: androidNative.Array<string>, param1: androidNative.Array<java.security.Principal>, param2: java.net.Socket): string;
				public getCertificateChain(param0: string): androidNative.Array<java.security.cert.X509Certificate>;
				public chooseServerAlias(param0: string, param1: androidNative.Array<java.security.Principal>, param2: java.net.Socket): string;
				public getServerAliases(param0: string, param1: androidNative.Array<java.security.Principal>): androidNative.Array<string>;
				public getPrivateKey(param0: string): java.security.PrivateKey;
				public chooseEngineServerAlias(keyType: string, issuers: androidNative.Array<java.security.Principal>, engine: javax.net.ssl.SSLEngine): string;
				public getClientAliases(param0: string, param1: androidNative.Array<java.security.Principal>): androidNative.Array<string>;
				public chooseEngineClientAlias(keyType: androidNative.Array<string>, issuers: androidNative.Array<java.security.Principal>, engine: javax.net.ssl.SSLEngine): string;
				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 getAcceptedIssuers(): androidNative.Array<java.security.cert.X509Certificate>;
				public checkClientTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string): void;
				public checkServerTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string): void;
				public checkServerTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string, param2: javax.net.ssl.SSLEngine): void;
				public checkServerTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string, param2: java.net.Socket): void;
				public checkClientTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string, param2: java.net.Socket): void;
				public checkClientTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string, param2: javax.net.ssl.SSLEngine): void;
				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: androidNative.Array<java.security.Principal>): androidNative.Array<string>;
					chooseClientAlias(param0: androidNative.Array<string>, param1: androidNative.Array<java.security.Principal>, param2: java.net.Socket): string;
					getServerAliases(param0: string, param1: androidNative.Array<java.security.Principal>): androidNative.Array<string>;
					chooseServerAlias(param0: string, param1: androidNative.Array<java.security.Principal>, param2: java.net.Socket): string;
					getCertificateChain(param0: string): androidNative.Array<java.security.cert.X509Certificate>;
					getPrivateKey(param0: string): java.security.PrivateKey;
				});
				public constructor();
				public chooseClientAlias(param0: androidNative.Array<string>, param1: androidNative.Array<java.security.Principal>, param2: java.net.Socket): string;
				public getCertificateChain(param0: string): androidNative.Array<java.security.cert.X509Certificate>;
				public chooseServerAlias(param0: string, param1: androidNative.Array<java.security.Principal>, param2: java.net.Socket): string;
				public getServerAliases(param0: string, param1: androidNative.Array<java.security.Principal>): androidNative.Array<string>;
				public getPrivateKey(param0: string): java.security.PrivateKey;
				public getClientAliases(param0: string, param1: androidNative.Array<java.security.Principal>): androidNative.Array<string>;
			}
		}
	}
}

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: androidNative.Array<java.security.cert.X509Certificate>, param1: string): void;
					checkServerTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string): void;
					getAcceptedIssuers(): androidNative.Array<java.security.cert.X509Certificate>;
				});
				public constructor();
				public getAcceptedIssuers(): androidNative.Array<java.security.cert.X509Certificate>;
				public checkClientTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string): void;
				public checkServerTrusted(param0: androidNative.Array<java.security.cert.X509Certificate>, param1: string): void;
			}
		}
	}
}

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 constructor(name: string);
				public checkGuard(param0: any): void;
				public constructor(name: string, actions: 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 constructor(name: string);
				public checkGuard(param0: any): void;
				public getPrincipals(): androidNative.Array<androidNative.Array<string>>;
				public getCredentialClass(): string;
				public constructor(name: string, actions: string);
				public implies(p: java.security.Permission): boolean;
				public getActions(): 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(subject: javax.security.auth.Subject, action: java.security.PrivilegedAction<any>): any;
				public static doAsPrivileged(subject: javax.security.auth.Subject, action: java.security.PrivilegedExceptionAction<any>, acc: java.security.AccessControlContext): any;
				public static doAsPrivileged(subject: javax.security.auth.Subject, action: java.security.PrivilegedAction<any>, acc: java.security.AccessControlContext): any;
				public setReadOnly(): void;
				public static getSubject(acc: java.security.AccessControlContext): javax.security.auth.Subject;
				public toString(): string;
				public getPrivateCredentials(): java.util.Set<any>;
				public getPublicCredentials(c: java.lang.Class<any>): java.util.Set<any>;
				public constructor();
				public getPrivateCredentials(c: java.lang.Class<any>): java.util.Set<any>;
				public static doAs(subject: javax.security.auth.Subject, action: java.security.PrivilegedExceptionAction<any>): any;
				public getPrincipals(): java.util.Set<java.security.Principal>;
				public constructor(readOnly: boolean, principals: java.util.Set<any>, pubCredentials: java.util.Set<any>, privCredentials: java.util.Set<any>);
				public hashCode(): number;
				public isReadOnly(): boolean;
				public getPublicCredentials(): java.util.Set<any>;
				public getPrincipals(c: java.lang.Class<any>): java.util.Set<any>;
				public equals(o: any): boolean;
			}
		}
	}
}

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 combine(param0: androidNative.Array<java.security.ProtectionDomain>, param1: androidNative.Array<java.security.ProtectionDomain>): androidNative.Array<java.security.ProtectionDomain>;
				public constructor(subject: javax.security.auth.Subject);
				public getSubject(): javax.security.auth.Subject;
				public combine(currentDomains: androidNative.Array<java.security.ProtectionDomain>, assignedDomains: androidNative.Array<java.security.ProtectionDomain>): androidNative.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: androidNative.Array<javax.security.auth.callback.Callback>): void;
					});
					public constructor();
					public handle(param0: androidNative.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 constructor(prompt: string, echoOn: boolean);
					public getPrompt(): string;
					public isEchoOn(): boolean;
					public getPassword(): androidNative.Array<string>;
					public clearPassword(): void;
					public setPassword(password: androidNative.Array<string>): void;
				}
			}
		}
	}
}

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(message: string);
					public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor(callback: javax.security.auth.callback.Callback, msg: string);
					public constructor();
					public getCallback(): javax.security.auth.callback.Callback;
					public constructor(cause: java.lang.Throwable);
					public constructor(callback: javax.security.auth.callback.Callback);
					public constructor(message: string, cause: java.lang.Throwable);
				}
			}
		}
	}
}

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(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor();
					public constructor(cause: java.lang.Throwable);
					public constructor(msg: string);
					public constructor(message: string, cause: java.lang.Throwable);
				}
			}
		}
	}
}

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: "CANONICAL";
					public static RFC1779: "RFC1779";
					public static RFC2253: "RFC2253";
					public getName(format: string): string;
					public constructor(name: androidNative.Array<number>);
					public constructor(is: java.io.InputStream);
					public getName(format: string, oidMap: java.util.Map<string,string>): string;
					public implies(subject: javax.security.auth.Subject): boolean;
					public equals(o: any): boolean;
					public equals(param0: any): boolean;
					public toString(): string;
					public constructor(name: string);
					public getName(): string;
					public getEncoded(): androidNative.Array<number>;
					public constructor(name: string, keywordMap: java.util.Map<string,string>);
					public hashCode(): number;
				}
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export module x500 {
				export class X500PrivateCredential extends java.lang.Object implements javax.security.auth.Destroyable {
					public static class: java.lang.Class<javax.security.auth.x500.X500PrivateCredential>;
					public destroy(): void;
					public constructor(cert: java.security.cert.X509Certificate, key: java.security.PrivateKey);
					public constructor(cert: java.security.cert.X509Certificate, key: java.security.PrivateKey, alias: string);
					public getPrivateKey(): java.security.PrivateKey;
					public getAlias(): string;
					public getCertificate(): java.security.cert.X509Certificate;
					public isDestroyed(): boolean;
				}
			}
		}
	}
}

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 equals(other: any): boolean;
				public getEncoded(): androidNative.Array<number>;
				public hashCode(): number;
				public verify(param0: java.security.PublicKey): void;
				public getPublicKey(): java.security.PublicKey;
				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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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(inStream: java.io.InputStream): javax.security.cert.X509Certificate;
				public getSubjectDN(): java.security.Principal;
				public getSigAlgParams(): androidNative.Array<number>;
				public getIssuerDN(): java.security.Principal;
				public constructor();
				public getVersion(): number;
				public static getInstance(certData: androidNative.Array<number>): javax.security.cert.X509Certificate;
				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(source: any);
			public constructor(con: javax.sql.PooledConnection, ex: java.sql.SQLException);
			public constructor(con: javax.sql.PooledConnection);
		}
	}
}

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: androidNative.Array<number>): void;
				setBytes(param0: string, param1: androidNative.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): androidNative.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): androidNative.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: androidNative.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: androidNative.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: 1;
			public static CLOSE_CURSORS_AT_COMMIT: 2;
			public static FETCH_REVERSE: 1001;
			public static FETCH_UNKNOWN: 1002;
			public static CONCUR_READ_ONLY: 1007;
			public static TYPE_SCROLL_SENSITIVE: 1005;
			public static CONCUR_UPDATABLE: 1008;
			public static TYPE_FORWARD_ONLY: 1003;
			public static TYPE_SCROLL_INSENSITIVE: 1004;
			public static FETCH_FORWARD: 1000;
			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 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 setBytes(param0: number, param1: androidNative.Array<number>): void;
			public setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
			public getBytes(param0: number): androidNative.Array<number>;
			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 getString(param0: number): string;
			public setNull(param0: number, param1: number): void;
			public getFetchDirection(): number;
			public updateBytes(param0: number, param1: androidNative.Array<number>): void;
			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 updateBytes(param0: string, param1: androidNative.Array<number>): void;
			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 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 getBytes(param0: string): androidNative.Array<number>;
			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 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 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 setBytes(param0: string, param1: androidNative.Array<number>): void;
			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 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(source: any);
			public constructor(source: javax.sql.RowSet);
		}
	}
}

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(): androidNative.Array<any>;
				getConnection(): java.sql.Connection;
				setMetaData(param0: javax.sql.RowSetMetaData): void;
				getOriginal(): java.sql.ResultSet;
				getOriginalRow(): java.sql.ResultSet;
			});
			public constructor();
			public setMetaData(param0: javax.sql.RowSetMetaData): void;
			public getOriginalRow(): java.sql.ResultSet;
			public getParams(): androidNative.Array<any>;
			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: 2;
			public static columnNullable: 1;
			public static columnNoNulls: 0;
			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 constructor(con: javax.sql.PooledConnection, statement: java.sql.PreparedStatement);
			public getSQLException(): java.sql.SQLException;
			public constructor(source: any);
			public constructor(con: javax.sql.PooledConnection, statement: java.sql.PreparedStatement, exception: java.sql.SQLException);
			public getStatement(): java.sql.PreparedStatement;
		}
	}
}

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: "";
			public static FEATURE_SECURE_PROCESSING: "http://javax.xml.XMLConstants/feature/secure-processing";
			public static NULL_NS_URI: "";
			public static RELAXNG_NS_URI: "http://relaxng.org/ns/structure/1.0";
			public static W3C_XML_SCHEMA_INSTANCE_NS_URI: "http://www.w3.org/2001/XMLSchema-instance";
			public static W3C_XML_SCHEMA_NS_URI: "http://www.w3.org/2001/XMLSchema";
			public static W3C_XPATH_DATATYPE_NS_URI: "http://www.w3.org/2003/11/xpath-datatypes";
			public static XMLNS_ATTRIBUTE: "xmlns";
			public static XMLNS_ATTRIBUTE_NS_URI: "http://www.w3.org/2000/xmlns/";
			public static XML_DTD_NS_URI: "http://www.w3.org/TR/REC-xml";
			public static XML_NS_PREFIX: "xml";
			public static XML_NS_URI: "http://www.w3.org/XML/1998/namespace";
		}
	}
}

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 constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public printStackTrace(s: java.io.PrintWriter): void;
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public printStackTrace(s: java.io.PrintStream): void;
				public constructor();
				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: 4;
				public static AUGUST: 8;
				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: 12;
				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: 0;
				public static FEBRUARY: 2;
				public static FIELD_UNDEFINED: -2147483648;
				public static GDAY: javax.xml.namespace.QName;
				public static GMONTH: javax.xml.namespace.QName;
				public static GMONTHDAY: javax.xml.namespace.QName;
				public static GREATER: 1;
				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: 2;
				public static JANUARY: 1;
				public static JULY: 7;
				public static JUNE: 6;
				public static LESSER: -1;
				public static MARCH: 3;
				public static MAX_TIMEZONE_OFFSET: -840;
				public static MAY: 5;
				public static MINUTES: javax.xml.datatype.DatatypeConstants.Field;
				public static MIN_TIMEZONE_OFFSET: 840;
				public static MONTHS: javax.xml.datatype.DatatypeConstants.Field;
				public static NOVEMBER: 11;
				public static OCTOBER: 10;
				public static SECONDS: javax.xml.datatype.DatatypeConstants.Field;
				public static SEPTEMBER: 9;
				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: "javax.xml.datatype.DatatypeFactory";
				public newDurationDayTime(durationInMilliseconds: number): javax.xml.datatype.Duration;
				public newDurationDayTime(lexicalRepresentation: string): javax.xml.datatype.Duration;
				public newDurationDayTime(isPositive: boolean, day: java.math.BigInteger, hour: java.math.BigInteger, minute: java.math.BigInteger, second: 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 newXMLGregorianCalendarTime(hours: number, minutes: number, seconds: number, milliseconds: number, timezone: number): javax.xml.datatype.XMLGregorianCalendar;
				public newXMLGregorianCalendarTime(hours: number, minutes: number, seconds: number, timezone: number): javax.xml.datatype.XMLGregorianCalendar;
				public newDurationYearMonth(lexicalRepresentation: string): javax.xml.datatype.Duration;
				public constructor();
				public static newInstance(factoryClassName: string, classLoader: java.lang.ClassLoader): javax.xml.datatype.DatatypeFactory;
				public newDurationYearMonth(durationInMilliseconds: number): javax.xml.datatype.Duration;
				public newDuration(isPositive: boolean, years: number, months: number, days: number, hours: number, minutes: number, seconds: number): javax.xml.datatype.Duration;
				public newXMLGregorianCalendar(param0: string): javax.xml.datatype.XMLGregorianCalendar;
				public newXMLGregorianCalendarDate(year: number, month: number, day: number, timezone: number): javax.xml.datatype.XMLGregorianCalendar;
				public static newInstance(): javax.xml.datatype.DatatypeFactory;
				public newDuration(param0: number): javax.xml.datatype.Duration;
				public newDurationYearMonth(isPositive: boolean, year: number, month: 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 newDurationYearMonth(isPositive: boolean, year: java.math.BigInteger, month: java.math.BigInteger): javax.xml.datatype.Duration;
				public newXMLGregorianCalendarTime(hours: number, minutes: number, seconds: number, fractionalSecond: java.math.BigDecimal, timezone: number): javax.xml.datatype.XMLGregorianCalendar;
				public newDurationDayTime(isPositive: boolean, day: number, hour: number, minute: number, second: number): javax.xml.datatype.Duration;
				public newXMLGregorianCalendar(param0: java.util.GregorianCalendar): javax.xml.datatype.XMLGregorianCalendar;
				public newXMLGregorianCalendar(year: number, month: number, day: number, hour: number, minute: number, second: number, millisecond: number, timezone: number): 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 getTimeInMillis(startInstant: java.util.Calendar): number;
				public getXMLSchemaType(): javax.xml.namespace.QName;
				public equals(duration: any): boolean;
				public addTo(param0: java.util.Calendar): void;
				public addTo(date: java.util.Date): void;
				public constructor();
				public subtract(rhs: javax.xml.datatype.Duration): javax.xml.datatype.Duration;
				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 isLongerThan(duration: javax.xml.datatype.Duration): 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 isShorterThan(duration: javax.xml.datatype.Duration): boolean;
				public multiply(factor: number): javax.xml.datatype.Duration;
				public normalizeWith(param0: java.util.Calendar): javax.xml.datatype.Duration;
				public getTimeInMillis(startInstant: java.util.Date): number;
				public getField(param0: javax.xml.datatype.DatatypeConstants.Field): java.lang.Number;
				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 setTime(hour: number, minute: number, second: number, fractional: java.math.BigDecimal): void;
				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 setTime(hour: number, minute: number, second: number, millisecond: 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 clone(): any;
				public getFractionalSecond(): java.math.BigDecimal;
				public setTime(hour: number, minute: number, second: number): void;
				public setYear(param0: 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 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 equals(obj: any): boolean;
				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(qNameAsString: string): javax.xml.namespace.QName;
				public getPrefix(): string;
				public equals(objectToTest: any): boolean;
				public getNamespaceURI(): string;
				public getLocalPart(): string;
				public constructor(namespaceURI: string, localPart: string);
				public constructor(localPart: string);
				public hashCode(): number;
				public constructor(namespaceURI: string, localPart: string, prefix: string);
				public toString(): 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 parse(uri: string): org.w3c.dom.Document;
				public parse(f: java.io.File): org.w3c.dom.Document;
				public constructor();
				public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public reset(): void;
				public parse(is: java.io.InputStream, systemId: string): org.w3c.dom.Document;
				public isNamespaceAware(): boolean;
				public getDOMImplementation(): org.w3c.dom.DOMImplementation;
				public isValidating(): boolean;
				public parse(is: java.io.InputStream): org.w3c.dom.Document;
			}
		}
	}
}

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 isCoalescing(): boolean;
				public isXIncludeAware(): boolean;
				public isIgnoringComments(): boolean;
				public static newInstance(): javax.xml.parsers.DocumentBuilderFactory;
				public getAttribute(param0: string): any;
				public setExpandEntityReferences(expandEntityRef: boolean): void;
				public setCoalescing(coalescing: boolean): void;
				public getSchema(): javax.xml.validation.Schema;
				public getFeature(param0: string): boolean;
				public setXIncludeAware(state: boolean): void;
				public constructor();
				public setNamespaceAware(awareness: boolean): void;
				public isExpandEntityReferences(): boolean;
				public static newInstance(factoryClassName: string, classLoader: java.lang.ClassLoader): javax.xml.parsers.DocumentBuilderFactory;
				public isNamespaceAware(): boolean;
				public setIgnoringComments(ignoreComments: boolean): void;
				public setAttribute(param0: string, param1: any): void;
				public newDocumentBuilder(): javax.xml.parsers.DocumentBuilder;
				public isIgnoringElementContentWhitespace(): boolean;
				public setValidating(validating: boolean): void;
				public setFeature(param0: string, param1: boolean): void;
				public setSchema(schema: javax.xml.validation.Schema): void;
				public setIgnoringElementContentWhitespace(whitespace: 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 constructor(e: java.lang.Exception, msg: string);
				public constructor(cause: java.lang.Throwable);
				public getException(): java.lang.Exception;
				public constructor(e: java.lang.Exception);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public getMessage(): string;
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor();
			}
		}
	}
}

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 parse(uri: string, hb: org.xml.sax.HandlerBase): void;
				public isXIncludeAware(): boolean;
				public parse(is: java.io.InputStream, hb: org.xml.sax.HandlerBase, systemId: string): void;
				public parse(is: org.xml.sax.InputSource, dh: org.xml.sax.helpers.DefaultHandler): void;
				public parse(is: org.xml.sax.InputSource, hb: org.xml.sax.HandlerBase): void;
				public getProperty(param0: string): any;
				public getSchema(): javax.xml.validation.Schema;
				public parse(is: java.io.InputStream, dh: org.xml.sax.helpers.DefaultHandler): void;
				public setProperty(param0: string, param1: any): void;
				public parse(uri: string, dh: org.xml.sax.helpers.DefaultHandler): void;
				public constructor();
				public reset(): void;
				public parse(is: java.io.InputStream, hb: org.xml.sax.HandlerBase): void;
				public parse(f: java.io.File, hb: org.xml.sax.HandlerBase): void;
				public isNamespaceAware(): boolean;
				public parse(is: java.io.InputStream, dh: org.xml.sax.helpers.DefaultHandler, systemId: string): void;
				public getXMLReader(): org.xml.sax.XMLReader;
				public getParser(): org.xml.sax.Parser;
				public parse(f: java.io.File, dh: 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 getSchema(): javax.xml.validation.Schema;
				public getFeature(param0: string): boolean;
				public setXIncludeAware(state: boolean): void;
				public constructor();
				public newSAXParser(): javax.xml.parsers.SAXParser;
				public setNamespaceAware(awareness: boolean): void;
				public isNamespaceAware(): boolean;
				public static newInstance(): javax.xml.parsers.SAXParserFactory;
				public setValidating(validating: boolean): void;
				public setFeature(param0: string, param1: boolean): void;
				public setSchema(schema: javax.xml.validation.Schema): void;
				public isValidating(): boolean;
				public static newInstance(factoryClassName: string, classLoader: java.lang.ClassLoader): javax.xml.parsers.SAXParserFactory;
			}
		}
	}
}

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: "cdata-section-elements";
				public static DOCTYPE_PUBLIC: "doctype-public";
				public static DOCTYPE_SYSTEM: "doctype-system";
				public static ENCODING: "encoding";
				public static INDENT: "indent";
				public static MEDIA_TYPE: "media-type";
				public static METHOD: "method";
				public static OMIT_XML_DECLARATION: "omit-xml-declaration";
				public static STANDALONE: "standalone";
				public static VERSION: "version";
			}
		}
	}
}

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_DISABLE_OUTPUT_ESCAPING: "javax.xml.transform.disable-output-escaping";
				public static PI_ENABLE_OUTPUT_ESCAPING: "javax.xml.transform.enable-output-escaping";
				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(message: string, e: java.lang.Throwable);
				public constructor(e: java.lang.Throwable);
				public constructor(msg: string, e: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, locator: javax.xml.transform.SourceLocator);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public constructor(message: string, locator: javax.xml.transform.SourceLocator, e: java.lang.Throwable);
				public constructor();
			}
		}
	}
}

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 constructor(cause: java.lang.Throwable);
				public setLocator(location: javax.xml.transform.SourceLocator): void;
				public constructor(message: string, cause: java.lang.Throwable);
				public getLocationAsString(): string;
				public printStackTrace(s: java.io.PrintWriter): void;
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public getCause(): java.lang.Throwable;
				public constructor();
				public getLocator(): javax.xml.transform.SourceLocator;
				public constructor(message: string, e: java.lang.Throwable);
				public constructor(e: java.lang.Throwable);
				public getException(): java.lang.Throwable;
				public initCause(cause: java.lang.Throwable): java.lang.Throwable;
				public getMessageAndLocation(): string;
				public constructor(message: string, locator: javax.xml.transform.SourceLocator);
				public printStackTrace(s: java.io.PrintStream): void;
				public constructor(message: string, locator: javax.xml.transform.SourceLocator, e: java.lang.Throwable);
				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 static newInstance(factoryClassName: string, classLoader: java.lang.ClassLoader): javax.xml.transform.TransformerFactory;
				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 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 constructor(e: java.lang.Exception, msg: string);
				public constructor(cause: java.lang.Throwable);
				public getException(): java.lang.Exception;
				public constructor(e: java.lang.Exception);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(msg: string);
				public getMessage(): string;
				public constructor();
			}
		}
	}
}

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: "http://javax.xml.transform.dom.DOMResult/feature";
					public constructor(node: org.w3c.dom.Node, nextSibling: org.w3c.dom.Node);
					public setNextSibling(nextSibling: org.w3c.dom.Node): void;
					public setSystemId(systemId: string): void;
					public constructor();
					public getNextSibling(): org.w3c.dom.Node;
					public setNode(node: org.w3c.dom.Node): void;
					public constructor(node: org.w3c.dom.Node, systemId: string);
					public getNode(): org.w3c.dom.Node;
					public getSystemId(): string;
					public setSystemId(param0: string): void;
					public constructor(node: org.w3c.dom.Node, nextSibling: org.w3c.dom.Node, systemId: string);
					public constructor(node: org.w3c.dom.Node);
				}
			}
		}
	}
}

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: "http://javax.xml.transform.dom.DOMSource/feature";
					public constructor();
					public constructor(node: org.w3c.dom.Node, systemID: string);
					public setSystemId(systemID: string): void;
					public setNode(node: org.w3c.dom.Node): void;
					public getNode(): org.w3c.dom.Node;
					public constructor(n: org.w3c.dom.Node);
					public getSystemId(): string;
					public setSystemId(param0: string): void;
				}
			}
		}
	}
}

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: "http://javax.xml.transform.sax.SAXResult/feature";
					public getLexicalHandler(): org.xml.sax.ext.LexicalHandler;
					public constructor(handler: org.xml.sax.ContentHandler);
					public setLexicalHandler(handler: org.xml.sax.ext.LexicalHandler): void;
					public setSystemId(systemId: string): void;
					public constructor();
					public setHandler(handler: org.xml.sax.ContentHandler): void;
					public getHandler(): org.xml.sax.ContentHandler;
					public getSystemId(): string;
					public setSystemId(param0: string): 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: "http://javax.xml.transform.sax.SAXSource/feature";
					public static sourceToInputSource(source: javax.xml.transform.Source): org.xml.sax.InputSource;
					public getInputSource(): org.xml.sax.InputSource;
					public setInputSource(inputSource: org.xml.sax.InputSource): void;
					public setSystemId(systemId: string): void;
					public constructor(inputSource: org.xml.sax.InputSource);
					public constructor();
					public setXMLReader(reader: org.xml.sax.XMLReader): void;
					public getXMLReader(): org.xml.sax.XMLReader;
					public getSystemId(): string;
					public setSystemId(param0: string): void;
					public constructor(reader: org.xml.sax.XMLReader, inputSource: org.xml.sax.InputSource);
				}
			}
		}
	}
}

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: "http://javax.xml.transform.sax.SAXTransformerFactory/feature";
					public static FEATURE_XMLFILTER: "http://javax.xml.transform.sax.SAXTransformerFactory/feature/xmlfilter";
					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: androidNative.Array<string>, param1: number, param2: number): void;
						ignorableWhitespace(param0: androidNative.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 ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public startDocument(): void;
					public processingInstruction(param0: string, param1: string): void;
					public getTemplates(): javax.xml.transform.Templates;
					public endPrefixMapping(param0: string): void;
					public characters(param0: androidNative.Array<string>, param1: number, param2: number): 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: androidNative.Array<string>, param1: number, param2: number): void;
						ignorableWhitespace(param0: androidNative.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: androidNative.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 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 ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public startDocument(): void;
					public endCDATA(): void;
					public processingInstruction(param0: string, param1: string): void;
					public endPrefixMapping(param0: string): void;
					public characters(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public comment(param0: androidNative.Array<string>, param1: number, param2: number): 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: "http://javax.xml.transform.stream.StreamResult/feature";
					public constructor(outputStream: java.io.OutputStream);
					public setOutputStream(outputStream: java.io.OutputStream): void;
					public setSystemId(f: java.io.File): void;
					public constructor(f: java.io.File);
					public constructor(systemId: string);
					public setSystemId(systemId: string): void;
					public constructor();
					public getOutputStream(): java.io.OutputStream;
					public constructor(writer: java.io.Writer);
					public setWriter(writer: java.io.Writer): void;
					public getSystemId(): string;
					public setSystemId(param0: string): void;
					public getWriter(): java.io.Writer;
				}
			}
		}
	}
}

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: "http://javax.xml.transform.stream.StreamSource/feature";
					public getPublicId(): string;
					public constructor(inputStream: java.io.InputStream);
					public setInputStream(inputStream: java.io.InputStream): void;
					public setPublicId(publicId: string): void;
					public constructor(inputStream: java.io.InputStream, systemId: string);
					public setReader(reader: java.io.Reader): void;
					public setSystemId(f: java.io.File): void;
					public constructor(f: java.io.File);
					public constructor(systemId: string);
					public setSystemId(systemId: string): void;
					public constructor();
					public constructor(reader: java.io.Reader);
					public getReader(): java.io.Reader;
					public constructor(reader: java.io.Reader, systemId: string);
					public getInputStream(): java.io.InputStream;
					public getSystemId(): string;
					public setSystemId(param0: string): 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 static newInstance(schemaLanguage: string, factoryClassName: string, classLoader: java.lang.ClassLoader): javax.xml.validation.SchemaFactory;
				public getProperty(name: string): any;
				public newSchema(schema: java.net.URL): javax.xml.validation.Schema;
				public setFeature(name: string, value: boolean): void;
				public newSchema(schema: javax.xml.transform.Source): javax.xml.validation.Schema;
				public constructor();
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public setResourceResolver(param0: org.w3c.dom.ls.LSResourceResolver): void;
				public getFeature(name: string): boolean;
				public newSchema(): javax.xml.validation.Schema;
				public static newInstance(schemaLanguage: string): javax.xml.validation.SchemaFactory;
				public isSchemaLanguageSupported(param0: string): boolean;
				public setProperty(name: string, object: any): void;
				public newSchema(param0: androidNative.Array<javax.xml.transform.Source>): javax.xml.validation.Schema;
				public getErrorHandler(): org.xml.sax.ErrorHandler;
				public newSchema(schema: java.io.File): javax.xml.validation.Schema;
			}
		}
	}
}

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(source: javax.xml.transform.Source): void;
				public validate(param0: javax.xml.transform.Source, param1: javax.xml.transform.Result): void;
				public getResourceResolver(): org.w3c.dom.ls.LSResourceResolver;
				public getFeature(name: string): boolean;
				public getProperty(name: string): any;
				public setProperty(name: string, object: any): void;
				public setFeature(name: string, value: boolean): 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 characters(param0: androidNative.Array<string>, param1: number, param2: number): void;
				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(name: string): any;
				public ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
				public processingInstruction(param0: string, param1: string): void;
				public setFeature(name: string, value: boolean): void;
				public endDocument(): 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 getFeature(name: string): boolean;
				public setProperty(name: string, object: any): void;
				public startDocument(): 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: "http://java.sun.com/jaxp/xpath/dom";
				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 constructor(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public printStackTrace(s: java.io.PrintWriter): void;
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public getCause(): java.lang.Throwable;
				public printStackTrace(s: java.io.PrintStream): void;
				public constructor();
				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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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: "http://java.sun.com/jaxp/xpath/dom";
				public static DEFAULT_PROPERTY_NAME: "javax.xml.xpath.XPathFactory";
				public static newInstance(uri: string): javax.xml.xpath.XPathFactory;
				public static newInstance(): 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(uri: string, factoryClassName: string, classLoader: 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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor(message: string);
				public constructor();
			}
		}
	}
}

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(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					/** @deprecated */
					public constructor(message: string);
					/** @deprecated */
					public constructor();
					public constructor(s: string);
					public constructor(cause: java.lang.Throwable);
					public constructor(message: string, cause: java.lang.Throwable);
				}
			}
		}
	}
}

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();
						/** @deprecated */
						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();
						/** @deprecated */
						public createSocket(param0: java.net.Socket, param1: string, param2: number, param3: boolean): java.net.Socket;
						/** @deprecated */
						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;
						/** @deprecated */
						public createSocket(): java.net.Socket;
						/** @deprecated */
						public isSecure(param0: java.net.Socket): boolean;
					}
				}
			}
		}
	}
}

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();
						/** @deprecated */
						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;
						/** @deprecated */
						public createSocket(): java.net.Socket;
						/** @deprecated */
						public isSecure(param0: java.net.Socket): boolean;
					}
				}
			}
		}
	}
}

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>;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
						/** @deprecated */
						public verify(host: string, session: javax.net.ssl.SSLSession): boolean;
						/** @deprecated */
						public verify(host: string, cns: androidNative.Array<string>, subjectAlts: androidNative.Array<string>, strictWithSubDomains: boolean): void;
						/** @deprecated */
						public static acceptableCountryWildcard(cn: string): boolean;
						/** @deprecated */
						public static getCNs(cert: java.security.cert.X509Certificate): androidNative.Array<string>;
						/** @deprecated */
						public verify(host: string, ssl: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public static getDNSSubjectAlts(cert: java.security.cert.X509Certificate): androidNative.Array<string>;
						/** @deprecated */
						public constructor();
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						/** @deprecated */
						public verify(param0: string, param1: androidNative.Array<string>, param2: androidNative.Array<string>): void;
						/** @deprecated */
						public verify(host: string, cert: java.security.cert.X509Certificate): void;
						/** @deprecated */
						public static countDots(s: string): number;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
					}
				}
			}
		}
	}
}

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>;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
						/** @deprecated */
						public verify(host: string, session: javax.net.ssl.SSLSession): boolean;
						/** @deprecated */
						public verify(host: string, cns: androidNative.Array<string>, subjectAlts: androidNative.Array<string>, strictWithSubDomains: boolean): void;
						/** @deprecated */
						public constructor();
						/** @deprecated */
						public verify(param0: string, param1: androidNative.Array<string>, param2: androidNative.Array<string>): void;
						/** @deprecated */
						public toString(): string;
						/** @deprecated */
						public verify(host: string, cert: java.security.cert.X509Certificate): void;
						/** @deprecated */
						public verify(host: string, ssl: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public verify(host: string, cns: androidNative.Array<string>, subjectAlts: androidNative.Array<string>): void;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
					}
				}
			}
		}
	}
}

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>;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
						/** @deprecated */
						public verify(host: string, session: javax.net.ssl.SSLSession): boolean;
						/** @deprecated */
						public verify(host: string, cns: androidNative.Array<string>, subjectAlts: androidNative.Array<string>, strictWithSubDomains: boolean): void;
						/** @deprecated */
						public constructor();
						/** @deprecated */
						public verify(param0: string, param1: androidNative.Array<string>, param2: androidNative.Array<string>): void;
						/** @deprecated */
						public toString(): string;
						/** @deprecated */
						public verify(host: string, cert: java.security.cert.X509Certificate): void;
						/** @deprecated */
						public verify(host: string, ssl: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public verify(host: string, cns: androidNative.Array<string>, subjectAlts: androidNative.Array<string>): void;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
					}
				}
			}
		}
	}
}

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: "SSL";
						public static SSLV2: "SSLv2";
						public static STRICT_HOSTNAME_VERIFIER: org.apache.http.conn.ssl.X509HostnameVerifier;
						public static TLS: "TLS";
						/** @deprecated */
						public createSocket(param0: java.net.Socket, param1: string, param2: number, param3: boolean): java.net.Socket;
						/** @deprecated */
						public isSecure(sock: java.net.Socket): boolean;
						/** @deprecated */
						public constructor(keystore: java.security.KeyStore, keystorePassword: string);
						/** @deprecated */
						public getHostnameVerifier(): org.apache.http.conn.ssl.X509HostnameVerifier;
						/** @deprecated */
						public constructor(algorithm: string, keystore: java.security.KeyStore, keystorePassword: string, truststore: java.security.KeyStore, random: java.security.SecureRandom, nameResolver: org.apache.http.conn.scheme.HostNameResolver);
						/** @deprecated */
						public createSocket(socket: java.net.Socket, host: string, port: number, autoClose: boolean): java.net.Socket;
						/** @deprecated */
						public connectSocket(sock: java.net.Socket, host: string, port: number, localAddress: java.net.InetAddress, localPort: number, params: org.apache.http.params.HttpParams): java.net.Socket;
						/** @deprecated */
						public static getSocketFactory(): org.apache.http.conn.ssl.SSLSocketFactory;
						/** @deprecated */
						public constructor(keystore: java.security.KeyStore, keystorePassword: string, truststore: java.security.KeyStore);
						/** @deprecated */
						public constructor(truststore: java.security.KeyStore);
						/** @deprecated */
						public setHostnameVerifier(hostnameVerifier: org.apache.http.conn.ssl.X509HostnameVerifier): void;
						/** @deprecated */
						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;
						/** @deprecated */
						public createSocket(): java.net.Socket;
						/** @deprecated */
						public isSecure(param0: java.net.Socket): boolean;
					}
				}
			}
		}
	}
}

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>;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
						/** @deprecated */
						public verify(host: string, session: javax.net.ssl.SSLSession): boolean;
						/** @deprecated */
						public verify(host: string, cns: androidNative.Array<string>, subjectAlts: androidNative.Array<string>, strictWithSubDomains: boolean): void;
						/** @deprecated */
						public constructor();
						/** @deprecated */
						public verify(param0: string, param1: androidNative.Array<string>, param2: androidNative.Array<string>): void;
						/** @deprecated */
						public toString(): string;
						/** @deprecated */
						public verify(host: string, cert: java.security.cert.X509Certificate): void;
						/** @deprecated */
						public verify(host: string, ssl: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public verify(host: string, cns: androidNative.Array<string>, subjectAlts: androidNative.Array<string>): void;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
					}
				}
			}
		}
	}
}

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: androidNative.Array<string>, param2: androidNative.Array<string>): void;
							verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						});
						public constructor();
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						/** @deprecated */
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						/** @deprecated */
						public verify(param0: string, param1: androidNative.Array<string>, param2: androidNative.Array<string>): void;
						/** @deprecated */
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
					}
				}
			}
		}
	}
}

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 TCP_NODELAY: "http.tcp.nodelay";
					public static MAX_LINE_LENGTH: "http.connection.max-line-length";
					public static SOCKET_BUFFER_SIZE: "http.socket.buffer-size";
					public static STALE_CONNECTION_CHECK: "http.connection.stalecheck";
					public static SO_LINGER: "http.socket.linger";
					public static MAX_HEADER_COUNT: "http.connection.max-header-count";
					public static SO_TIMEOUT: "http.socket.timeout";
					public static CONNECTION_TIMEOUT: "http.connection.timeout";
				}
			}
		}
	}
}

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>;
					/** @deprecated */
					public static getTcpNoDelay(params: org.apache.http.params.HttpParams): boolean;
					/** @deprecated */
					public static getConnectionTimeout(params: org.apache.http.params.HttpParams): number;
					/** @deprecated */
					public static isStaleCheckingEnabled(params: org.apache.http.params.HttpParams): boolean;
					/** @deprecated */
					public static getSocketBufferSize(params: org.apache.http.params.HttpParams): number;
					/** @deprecated */
					public static setSocketBufferSize(params: org.apache.http.params.HttpParams, size: number): void;
					/** @deprecated */
					public static setSoTimeout(params: org.apache.http.params.HttpParams, timeout: number): void;
					/** @deprecated */
					public static setLinger(params: org.apache.http.params.HttpParams, value: number): void;
					/** @deprecated */
					public static setConnectionTimeout(params: org.apache.http.params.HttpParams, timeout: number): void;
					/** @deprecated */
					public static getSoTimeout(params: org.apache.http.params.HttpParams): number;
					/** @deprecated */
					public static getLinger(params: org.apache.http.params.HttpParams): number;
					/** @deprecated */
					public static setTcpNoDelay(params: org.apache.http.params.HttpParams, value: boolean): void;
					/** @deprecated */
					public static setStaleCheckingEnabled(params: org.apache.http.params.HttpParams, value: boolean): void;
				}
			}
		}
	}
}

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();
					/** @deprecated */
					public getBooleanParameter(param0: string, param1: boolean): boolean;
					/** @deprecated */
					public copy(): org.apache.http.params.HttpParams;
					/** @deprecated */
					public setIntParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
					/** @deprecated */
					public setParameter(param0: string, param1: any): org.apache.http.params.HttpParams;
					/** @deprecated */
					public getParameter(param0: string): any;
					/** @deprecated */
					public setBooleanParameter(param0: string, param1: boolean): org.apache.http.params.HttpParams;
					/** @deprecated */
					public isParameterFalse(param0: string): boolean;
					/** @deprecated */
					public getDoubleParameter(param0: string, param1: number): number;
					/** @deprecated */
					public setDoubleParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
					/** @deprecated */
					public setLongParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
					/** @deprecated */
					public removeParameter(param0: string): boolean;
					/** @deprecated */
					public isParameterTrue(param0: string): boolean;
					/** @deprecated */
					public getLongParameter(param0: string, param1: number): number;
					/** @deprecated */
					public getIntParameter(param0: string, param1: number): number;
				}
			}
		}
	}
}

declare module org {
	export module json {
		export class JSONArray extends java.lang.Object {
			public static class: java.lang.Class<org.json.JSONArray>;
			public optDouble(index: number): number;
			public optDouble(index: number, fallback: number): number;
			public constructor(readFrom: org.json.JSONTokener);
			public toJSONObject(names: org.json.JSONArray): org.json.JSONObject;
			public getLong(index: number): number;
			public optJSONArray(index: number): org.json.JSONArray;
			public optBoolean(index: number, fallback: boolean): boolean;
			public put(value: number): org.json.JSONArray;
			public optInt(index: number): number;
			public join(separator: string): string;
			public put(index: number, value: number): org.json.JSONArray;
			public constructor(json: string);
			public optString(index: number, fallback: string): string;
			public put(index: number, value: boolean): org.json.JSONArray;
			public optInt(index: number, fallback: number): number;
			public isNull(index: number): boolean;
			public optLong(index: number, fallback: number): number;
			public toString(indentSpaces: number): string;
			public getJSONArray(index: number): org.json.JSONArray;
			public remove(index: number): any;
			public optBoolean(index: number): boolean;
			public constructor(array: any);
			public optString(index: number): string;
			public put(index: number, value: any): org.json.JSONArray;
			public length(): number;
			public constructor(copyFrom: java.util.Collection<any>);
			public put(value: any): org.json.JSONArray;
			public getBoolean(index: number): boolean;
			public optLong(index: number): number;
			public constructor();
			public opt(index: number): any;
			public put(value: boolean): org.json.JSONArray;
			public toString(): string;
			public getDouble(index: number): number;
			public equals(o: any): boolean;
			public optJSONObject(index: number): org.json.JSONObject;
			public getString(index: number): string;
			public getInt(index: number): number;
			public get(index: number): any;
			public getJSONObject(index: number): org.json.JSONObject;
			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(message: string, cause: java.lang.Throwable);
			public constructor(cause: java.lang.Throwable);
			public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
			public constructor(s: string);
			public constructor();
		}
	}
}

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 toJSONArray(names: org.json.JSONArray): org.json.JSONArray;
			public has(name: string): boolean;
			public optDouble(name: string, fallback: number): number;
			public remove(name: string): any;
			public constructor(readFrom: org.json.JSONTokener);
			public optLong(name: string, fallback: number): number;
			public accumulate(name: string, value: any): org.json.JSONObject;
			public get(name: string): any;
			public static numberToString(number: java.lang.Number): string;
			public constructor(json: string);
			public static wrap(o: any): any;
			public getInt(name: string): number;
			public optDouble(name: string): number;
			public put(name: string, value: number): org.json.JSONObject;
			public getDouble(name: string): number;
			public optBoolean(name: string, fallback: boolean): boolean;
			public opt(name: string): any;
			public toString(indentSpaces: number): string;
			public constructor(copyFrom: java.util.Map<any,any>);
			public keys(): java.util.Iterator<string>;
			public optLong(name: string): number;
			public getJSONObject(name: string): org.json.JSONObject;
			public getBoolean(name: string): boolean;
			public optBoolean(name: string): boolean;
			public length(): number;
			public put(name: string, value: any): org.json.JSONObject;
			public append(name: string, value: any): org.json.JSONObject;
			public optJSONArray(name: string): org.json.JSONArray;
			public constructor();
			public static quote(data: string): string;
			public isNull(name: string): boolean;
			public putOpt(name: string, value: any): org.json.JSONObject;
			public optInt(name: string, fallback: number): number;
			public optString(name: string): string;
			public optInt(name: string): number;
			public getJSONArray(name: string): org.json.JSONArray;
			public toString(): string;
			public constructor(copyFrom: org.json.JSONObject, names: androidNative.Array<string>);
			public getLong(name: string): number;
			public getString(name: string): string;
			public optString(name: string, fallback: string): string;
			public names(): org.json.JSONArray;
			public optJSONObject(name: string): org.json.JSONObject;
			public put(name: string, value: boolean): org.json.JSONObject;
		}
	}
}

declare module org {
	export module json {
		export class JSONStringer extends java.lang.Object {
			public static class: java.lang.Class<org.json.JSONStringer>;
			public value(value: any): org.json.JSONStringer;
			public toString(): string;
			public object(): org.json.JSONStringer;
			public key(name: string): org.json.JSONStringer;
			public array(): org.json.JSONStringer;
			public constructor();
			public value(value: number): org.json.JSONStringer;
			public endArray(): org.json.JSONStringer;
			public endObject(): org.json.JSONStringer;
			public value(value: boolean): 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 nextTo(excluded: string): string;
			public next(length: number): string;
			public next(): string;
			public next(c: string): string;
			public static dehexchar(hex: string): number;
			public more(): boolean;
			public nextClean(): string;
			public toString(): string;
			public back(): void;
			public nextString(quote: string): string;
			public nextValue(): any;
			public skipTo(to: string): string;
			public skipPast(thru: string): void;
			public constructor(in_: string);
			public syntaxError(message: string): org.json.JSONException;
		}
	}
}

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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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: 2;
				public static SEVERITY_FATAL_ERROR: 3;
				public static SEVERITY_WARNING: 1;
				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: 2;
				public static HIERARCHY_REQUEST_ERR: 3;
				public static INDEX_SIZE_ERR: 1;
				public static INUSE_ATTRIBUTE_ERR: 10;
				public static INVALID_ACCESS_ERR: 15;
				public static INVALID_CHARACTER_ERR: 5;
				public static INVALID_MODIFICATION_ERR: 13;
				public static INVALID_STATE_ERR: 11;
				public static NAMESPACE_ERR: 14;
				public static NOT_FOUND_ERR: 8;
				public static NOT_SUPPORTED_ERR: 9;
				public static NO_DATA_ALLOWED_ERR: 6;
				public static NO_MODIFICATION_ALLOWED_ERR: 7;
				public static SYNTAX_ERR: 12;
				public static TYPE_MISMATCH_ERR: 17;
				public static VALIDATION_ERR: 16;
				public static WRONG_DOCUMENT_ERR: 4;
				public code: number;
				public constructor(cause: java.lang.Throwable);
				public constructor(code: number, message: string);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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_POSITION_CONTAINS: 8;
				public static TEXT_NODE: 3;
				public static DOCUMENT_POSITION_PRECEDING: 2;
				public static DOCUMENT_TYPE_NODE: 10;
				public static DOCUMENT_POSITION_FOLLOWING: 4;
				public static ELEMENT_NODE: 1;
				public static DOCUMENT_FRAGMENT_NODE: 11;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
				public static ATTRIBUTE_NODE: 2;
				public static ENTITY_REFERENCE_NODE: 5;
				public static NOTATION_NODE: 12;
				public static DOCUMENT_NODE: 9;
				public static ENTITY_NODE: 6;
				public static CDATA_SECTION_NODE: 4;
				public static PROCESSING_INSTRUCTION_NODE: 7;
				public static DOCUMENT_POSITION_CONTAINED_BY: 16;
				public static DOCUMENT_POSITION_DISCONNECTED: 1;
				public static COMMENT_NODE: 8;
				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: 1;
				public static DERIVATION_LIST: 8;
				public static DERIVATION_UNION: 4;
				public static DERIVATION_EXTENSION: 2;
				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_ADOPTED: 5;
				public static NODE_DELETED: 3;
				public static NODE_IMPORTED: 2;
				public static NODE_RENAMED: 4;
				public static NODE_CLONED: 1;
				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: 1;
					public static MODE_ASYNCHRONOUS: 2;
					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: 81;
					public static SERIALIZE_ERR: 82;
					public code: number;
					public constructor(message: string);
					public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
					public constructor(code: number, message: string);
					public constructor();
					public constructor(cause: java.lang.Throwable);
					public constructor(message: string, cause: java.lang.Throwable);
				}
			}
		}
	}
}

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_APPEND_AS_CHILDREN: 1;
					public static ACTION_REPLACE_CHILDREN: 2;
					public static ACTION_INSERT_AFTER: 4;
					public static ACTION_INSERT_BEFORE: 3;
					public static ACTION_REPLACE: 5;
					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: 1;
					public static FILTER_INTERRUPT: 4;
					public static FILTER_REJECT: 2;
					public static FILTER_SKIP: 3;
					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();
				/** @deprecated */
				public getValue(param0: number): string;
				/** @deprecated */
				public getLength(): number;
				/** @deprecated */
				public getName(param0: number): string;
				/** @deprecated */
				public getType(param0: number): string;
				/** @deprecated */
				public getType(param0: string): string;
				/** @deprecated */
				public getValue(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: androidNative.Array<string>, param1: number, param2: number): void;
					ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
					processingInstruction(param0: string, param1: string): void;
					skippedEntity(param0: string): void;
				});
				public constructor();
				public characters(param0: androidNative.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 ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): 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 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: androidNative.Array<string>, param1: number, param2: number): void;
					ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
					processingInstruction(param0: string, param1: string): void;
				});
				public constructor();
				/** @deprecated */
				public setDocumentLocator(param0: org.xml.sax.Locator): void;
				/** @deprecated */
				public ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
				/** @deprecated */
				public startElement(param0: string, param1: org.xml.sax.AttributeList): void;
				/** @deprecated */
				public endDocument(): void;
				/** @deprecated */
				public processingInstruction(param0: string, param1: string): void;
				/** @deprecated */
				public startDocument(): void;
				/** @deprecated */
				public endElement(param0: string): void;
				/** @deprecated */
				public characters(param0: androidNative.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 resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
				/** @deprecated */
				public setDocumentLocator(param0: org.xml.sax.Locator): void;
				/** @deprecated */
				public characters(ch: androidNative.Array<string>, start: number, length: number): void;
				/** @deprecated */
				public startElement(param0: string, param1: org.xml.sax.AttributeList): void;
				/** @deprecated */
				public characters(param0: androidNative.Array<string>, param1: number, param2: number): void;
				/** @deprecated */
				public setDocumentLocator(locator: org.xml.sax.Locator): void;
				/** @deprecated */
				public unparsedEntityDecl(name: string, publicId: string, systemId: string, notationName: string): void;
				/** @deprecated */
				public processingInstruction(target: string, data: string): void;
				/** @deprecated */
				public processingInstruction(param0: string, param1: string): void;
				/** @deprecated */
				public notationDecl(name: string, publicId: string, systemId: string): void;
				/** @deprecated */
				public endElement(param0: string): void;
				/** @deprecated */
				public startElement(name: string, attributes: org.xml.sax.AttributeList): void;
				public warning(param0: org.xml.sax.SAXParseException): void;
				public error(param0: org.xml.sax.SAXParseException): void;
				public notationDecl(param0: string, param1: string, param2: string): void;
				public unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
				/** @deprecated */
				public resolveEntity(publicId: string, systemId: string): org.xml.sax.InputSource;
				/** @deprecated */
				public ignorableWhitespace(ch: androidNative.Array<string>, start: number, length: number): void;
				/** @deprecated */
				public error(e: org.xml.sax.SAXParseException): void;
				/** @deprecated */
				public fatalError(e: org.xml.sax.SAXParseException): void;
				/** @deprecated */
				public constructor();
				public fatalError(param0: org.xml.sax.SAXParseException): void;
				/** @deprecated */
				public ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
				/** @deprecated */
				public endDocument(): void;
				/** @deprecated */
				public warning(e: org.xml.sax.SAXParseException): void;
				/** @deprecated */
				public startDocument(): void;
				/** @deprecated */
				public endElement(name: string): 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 setEncoding(encoding: string): void;
				public getEncoding(): string;
				public constructor(characterStream: java.io.Reader);
				public setPublicId(publicId: string): void;
				public setCharacterStream(characterStream: java.io.Reader): void;
				public getCharacterStream(): java.io.Reader;
				public getByteStream(): java.io.InputStream;
				public constructor(byteStream: java.io.InputStream);
				public constructor();
				public getPublicId(): string;
				public constructor(systemId: string);
				public getSystemId(): string;
				public setSystemId(systemId: string): void;
				public setByteStream(byteStream: java.io.InputStream): 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();
				/** @deprecated */
				public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
				/** @deprecated */
				public setDocumentHandler(param0: org.xml.sax.DocumentHandler): void;
				/** @deprecated */
				public parse(param0: string): void;
				/** @deprecated */
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				/** @deprecated */
				public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
				/** @deprecated */
				public setLocale(param0: java.util.Locale): void;
				/** @deprecated */
				public parse(param0: org.xml.sax.InputSource): 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 constructor(cause: java.lang.Throwable);
				public getException(): java.lang.Exception;
				public constructor(e: java.lang.Exception);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, e: java.lang.Exception);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getMessage(): string;
				public toString(): string;
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(e: java.lang.Exception);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, e: java.lang.Exception);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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(cause: java.lang.Throwable);
				public constructor(e: java.lang.Exception);
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, e: java.lang.Exception);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
			}
		}
	}
}

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 constructor(cause: java.lang.Throwable);
				public getLineNumber(): number;
				public constructor(message: string, cause: java.lang.Throwable);
				public constructor(message: string, publicId: string, systemId: string, lineNumber: number, columnNumber: number, e: java.lang.Exception);
				public constructor(message: string);
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public constructor();
				public constructor(message: string, locator: org.xml.sax.Locator, e: java.lang.Exception);
				public getPublicId(): string;
				public constructor(e: java.lang.Exception);
				public constructor(message: string, locator: org.xml.sax.Locator);
				public getSystemId(): string;
				public constructor(message: string, e: java.lang.Exception);
				public constructor(message: string, publicId: string, systemId: string, lineNumber: number, columnNumber: number);
				public getColumnNumber(): number;
			}
		}
	}
}

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 removeAttribute(index: number): void;
					public isSpecified(qName: string): boolean;
					public getType(param0: string, param1: string): string;
					public isSpecified(param0: number): boolean;
					public getType(param0: number): string;
					public getLength(): number;
					public isSpecified(uri: string, localName: string): boolean;
					public isSpecified(index: number): boolean;
					public setAttributes(atts: org.xml.sax.Attributes): void;
					public isSpecified(param0: string, param1: string): boolean;
					public constructor();
					public getURI(param0: number): string;
					public getIndex(param0: string): number;
					public getType(uri: string, localName: string): string;
					public getValue(param0: string): string;
					public isDeclared(qName: string): boolean;
					public getIndex(qName: string): number;
					public isDeclared(param0: string): boolean;
					public getValue(param0: string, param1: string): string;
					public constructor(atts: org.xml.sax.Attributes);
					public getType(qName: string): string;
					public getValue(qName: string): string;
					public isDeclared(index: number): boolean;
					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 setSpecified(index: number, value: boolean): void;
					public getValue(uri: string, localName: string): string;
					public getIndex(param0: string, param1: string): number;
					public isDeclared(uri: string, localName: string): boolean;
					public isDeclared(param0: number): boolean;
					public setDeclared(index: number, value: boolean): void;
					public addAttribute(uri: string, localName: string, qName: string, type: string, value: string): void;
				}
			}
		}
	}
}

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 startPrefixMapping(param0: string, param1: string): void;
					public skippedEntity(param0: string): void;
					public startEntity(name: string): void;
					public endDocument(): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public internalEntityDecl(name: string, value: string): void;
					public startDTD(name: string, publicId: string, systemId: string): void;
					public elementDecl(name: string, model: string): void;
					public externalEntityDecl(param0: string, param1: string, param2: string): void;
					public startDTD(param0: string, param1: string, param2: string): void;
					public comment(ch: androidNative.Array<string>, start: number, length: number): void;
					public processingInstruction(param0: string, param1: string): void;
					public externalEntityDecl(name: string, publicId: string, systemId: string): void;
					public fatalError(param0: org.xml.sax.SAXParseException): void;
					public constructor();
					public characters(param0: androidNative.Array<string>, param1: number, param2: number): void;
					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 ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): 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 attributeDecl(eName: string, aName: string, type: string, mode: string, value: string): 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 comment(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public resolveEntity(name: string, publicId: string, baseURI: string, systemId: string): org.xml.sax.InputSource;
					public endEntity(name: string): void;
					public resolveEntity(publicId: string, systemId: string): org.xml.sax.InputSource;
					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 getExternalSubset(name: string, baseURI: string): org.xml.sax.InputSource;
					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: androidNative.Array<string>, param1: number, param2: number): void;
					});
					public constructor();
					public endCDATA(): void;
					public comment(param0: androidNative.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 setXMLVersion(version: string): void;
					public constructor();
					public getXMLVersion(): string;
					public getEncoding(): string;
					public getPublicId(): string;
					public getColumnNumber(): number;
					public getSystemId(): string;
					public constructor(locator: org.xml.sax.Locator);
					public setEncoding(encoding: 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>;
					/** @deprecated */
					public removeAttribute(name: string): void;
					/** @deprecated */
					public getName(i: number): string;
					/** @deprecated */
					public getType(name: string): string;
					/** @deprecated */
					public getValue(name: string): string;
					/** @deprecated */
					public getValue(param0: number): string;
					/** @deprecated */
					public getType(param0: string): string;
					/** @deprecated */
					public setAttributeList(atts: org.xml.sax.AttributeList): void;
					/** @deprecated */
					public getValue(param0: string): string;
					/** @deprecated */
					public clear(): void;
					/** @deprecated */
					public getType(i: number): string;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public addAttribute(name: string, type: string, value: string): void;
					/** @deprecated */
					public getValue(i: number): string;
					/** @deprecated */
					public getType(param0: number): string;
					/** @deprecated */
					public constructor(atts: org.xml.sax.AttributeList);
					/** @deprecated */
					public getLength(): number;
					/** @deprecated */
					public getName(param0: number): string;
				}
			}
		}
	}
}

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 removeAttribute(index: number): void;
					public getType(param0: string, param1: string): string;
					public setValue(index: number, value: string): void;
					public getType(param0: number): string;
					public getLength(): number;
					public setAttributes(atts: org.xml.sax.Attributes): void;
					public constructor();
					public clear(): void;
					public getURI(param0: number): string;
					public getIndex(param0: string): number;
					public getType(uri: string, localName: string): string;
					public getValue(param0: string): string;
					public setType(index: number, type: string): void;
					public getIndex(qName: string): number;
					public getIndex(uri: string, localName: string): number;
					public getValue(index: number): string;
					public setURI(index: number, uri: string): void;
					public getValue(param0: string, param1: string): string;
					public constructor(atts: org.xml.sax.Attributes);
					public getType(qName: string): string;
					public getValue(qName: string): string;
					public getLocalName(param0: number): string;
					public getQName(param0: number): string;
					public getType(index: number): string;
					public getQName(index: number): string;
					public setLocalName(index: number, localName: string): void;
					public getType(param0: string): string;
					public setAttribute(index: number, uri: string, localName: string, qName: string, type: string, value: string): void;
					public getLocalName(index: number): string;
					public setQName(index: number, qName: string): void;
					public getValue(param0: number): string;
					public getValue(uri: string, localName: string): string;
					public getIndex(param0: string, param1: string): number;
					public getURI(index: number): string;
					public addAttribute(uri: string, localName: string, qName: string, type: string, value: 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 skippedEntity(name: string): void;
					public startPrefixMapping(param0: string, param1: string): void;
					public notationDecl(name: string, publicId: string, systemId: string): void;
					public skippedEntity(param0: string): void;
					public endDocument(): void;
					public ignorableWhitespace(ch: androidNative.Array<string>, start: number, length: number): void;
					public warning(e: org.xml.sax.SAXParseException): void;
					public endElement(uri: string, localName: string, qName: string): void;
					public fatalError(e: org.xml.sax.SAXParseException): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public characters(ch: androidNative.Array<string>, start: number, length: number): void;
					public processingInstruction(param0: string, param1: string): void;
					public fatalError(param0: org.xml.sax.SAXParseException): void;
					public constructor();
					public characters(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public endPrefixMapping(prefix: string): void;
					public startElement(uri: string, localName: string, qName: string, attributes: org.xml.sax.Attributes): void;
					public error(e: org.xml.sax.SAXParseException): void;
					public error(param0: org.xml.sax.SAXParseException): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public unparsedEntityDecl(name: string, publicId: string, systemId: string, notationName: string): void;
					public processingInstruction(target: string, data: string): void;
					public ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public startDocument(): void;
					public startPrefixMapping(prefix: string, uri: string): void;
					public resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
					public warning(param0: org.xml.sax.SAXParseException): void;
					public endPrefixMapping(param0: string): void;
					public setDocumentLocator(locator: org.xml.sax.Locator): void;
					public resolveEntity(publicId: string, systemId: string): org.xml.sax.InputSource;
					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 setSystemId(systemId: string): void;
					public constructor();
					public getPublicId(): string;
					public getColumnNumber(): number;
					public setColumnNumber(columnNumber: number): void;
					public getSystemId(): string;
					public constructor(locator: org.xml.sax.Locator);
					public setLineNumber(lineNumber: number): void;
					public setPublicId(publicId: string): 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: "http://www.w3.org/xmlns/2000/";
					public static XMLNS: "http://www.w3.org/XML/1998/namespace";
					public reset(): void;
					public getPrefixes(uri: string): java.util.Enumeration<any>;
					public isNamespaceDeclUris(): boolean;
					public getDeclaredPrefixes(): java.util.Enumeration<any>;
					public pushContext(): void;
					public getURI(prefix: string): string;
					public constructor();
					public getPrefixes(): java.util.Enumeration<any>;
					public declarePrefix(prefix: string, uri: string): boolean;
					public processName(qName: string, parts: androidNative.Array<string>, isAttribute: boolean): androidNative.Array<string>;
					public popContext(): void;
					public setNamespaceDeclUris(value: boolean): void;
					public getPrefix(uri: string): 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 parse(input: org.xml.sax.InputSource): void;
					public endElement(qName: string): void;
					public getContentHandler(): org.xml.sax.ContentHandler;
					public parse(systemId: string): void;
					public setFeature(param0: string, param1: boolean): void;
					public endDocument(): void;
					public ignorableWhitespace(ch: androidNative.Array<string>, start: number, length: number): void;
					public getProperty(name: string): any;
					public setDTDHandler(handler: org.xml.sax.DTDHandler): void;
					public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					public getEntityResolver(): org.xml.sax.EntityResolver;
					public characters(ch: androidNative.Array<string>, start: number, length: number): void;
					public getDTDHandler(): org.xml.sax.DTDHandler;
					/** @deprecated */
					public processingInstruction(param0: string, param1: string): void;
					/** @deprecated */
					public endElement(param0: string): void;
					public constructor();
					/** @deprecated */
					public startElement(param0: string, param1: org.xml.sax.AttributeList): void;
					public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					/** @deprecated */
					public characters(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public setErrorHandler(handler: org.xml.sax.ErrorHandler): void;
					/** @deprecated */
					public endDocument(): void;
					public setContentHandler(param0: org.xml.sax.ContentHandler): void;
					public setProperty(param0: string, param1: any): void;
					public getProperty(param0: string): any;
					public setProperty(name: string, value: any): void;
					public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					public setEntityResolver(resolver: org.xml.sax.EntityResolver): void;
					public constructor(parser: org.xml.sax.Parser);
					public processingInstruction(target: string, data: string): void;
					public getFeature(param0: string): boolean;
					public startDocument(): void;
					public parse(param0: org.xml.sax.InputSource): void;
					public setContentHandler(handler: org.xml.sax.ContentHandler): void;
					/** @deprecated */
					public startDocument(): void;
					/** @deprecated */
					public ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public getFeature(name: string): boolean;
					public setDocumentLocator(locator: org.xml.sax.Locator): void;
					/** @deprecated */
					public setDocumentLocator(param0: org.xml.sax.Locator): void;
					public startElement(qName: string, qAtts: org.xml.sax.AttributeList): void;
					public setFeature(name: string, value: boolean): void;
					public getErrorHandler(): org.xml.sax.ErrorHandler;
				}
			}
		}
	}
}

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>;
					/** @deprecated */
					public static makeParser(className: string): org.xml.sax.Parser;
					/** @deprecated */
					public static makeParser(): 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(input: org.xml.sax.InputSource): void;
					public parse(systemId: string): void;
					public endElement(uri: string, localName: string, qName: string): void;
					public fatalError(e: org.xml.sax.SAXParseException): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public getDTDHandler(): org.xml.sax.DTDHandler;
					public fatalError(param0: org.xml.sax.SAXParseException): void;
					public constructor();
					public setErrorHandler(handler: org.xml.sax.ErrorHandler): void;
					public error(e: org.xml.sax.SAXParseException): void;
					public setParent(param0: org.xml.sax.XMLReader): void;
					public getProperty(param0: string): any;
					public setProperty(name: string, value: any): void;
					public error(param0: org.xml.sax.SAXParseException): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public setEntityResolver(resolver: org.xml.sax.EntityResolver): void;
					public unparsedEntityDecl(name: string, publicId: string, systemId: string, notationName: string): void;
					public processingInstruction(target: string, data: string): void;
					public setParent(parent: org.xml.sax.XMLReader): void;
					public startPrefixMapping(prefix: string, uri: string): void;
					public resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
					public warning(param0: org.xml.sax.SAXParseException): void;
					public getFeature(name: string): boolean;
					public endPrefixMapping(param0: string): void;
					public setFeature(name: string, value: boolean): void;
					public notationDecl(param0: string, param1: string, param2: string): void;
					public getErrorHandler(): org.xml.sax.ErrorHandler;
					public parse(param0: string): void;
					public startElement(uri: string, localName: string, qName: string, atts: org.xml.sax.Attributes): void;
					public skippedEntity(name: string): void;
					public startPrefixMapping(param0: string, param1: string): void;
					public notationDecl(name: string, publicId: string, systemId: string): void;
					public skippedEntity(param0: string): void;
					public getContentHandler(): org.xml.sax.ContentHandler;
					public setFeature(param0: string, param1: boolean): void;
					public getParent(): org.xml.sax.XMLReader;
					public endDocument(): void;
					public ignorableWhitespace(ch: androidNative.Array<string>, start: number, length: number): void;
					public warning(e: org.xml.sax.SAXParseException): void;
					public getProperty(name: string): any;
					public setDTDHandler(handler: org.xml.sax.DTDHandler): void;
					public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					public getEntityResolver(): org.xml.sax.EntityResolver;
					public characters(ch: androidNative.Array<string>, start: number, length: number): void;
					public processingInstruction(param0: string, param1: string): void;
					public characters(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					public endPrefixMapping(prefix: string): void;
					public setContentHandler(param0: org.xml.sax.ContentHandler): void;
					public setProperty(param0: string, param1: any): void;
					public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					public constructor(parent: org.xml.sax.XMLReader);
					public ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public getFeature(param0: string): boolean;
					public startDocument(): void;
					public parse(param0: org.xml.sax.InputSource): void;
					public setContentHandler(handler: org.xml.sax.ContentHandler): void;
					public setDocumentLocator(locator: org.xml.sax.Locator): void;
					public resolveEntity(publicId: string, systemId: string): org.xml.sax.InputSource;
					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 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 startElement(uri: string, localName: string, qName: string, atts: org.xml.sax.Attributes): void;
					public parse(input: org.xml.sax.InputSource): void;
					public skippedEntity(name: string): void;
					public startPrefixMapping(param0: string, param1: string): void;
					public skippedEntity(param0: string): void;
					public parse(systemId: string): void;
					public endDocument(): void;
					public ignorableWhitespace(ch: androidNative.Array<string>, start: number, length: number): void;
					public endElement(uri: string, localName: string, qName: string): void;
					/** @deprecated */
					public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public setDTDHandler(handler: org.xml.sax.DTDHandler): void;
					public characters(ch: androidNative.Array<string>, start: number, length: number): void;
					/** @deprecated */
					public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					public processingInstruction(param0: string, param1: string): void;
					public constructor();
					public characters(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public endPrefixMapping(prefix: string): void;
					public setErrorHandler(handler: org.xml.sax.ErrorHandler): void;
					/** @deprecated */
					public parse(param0: string): void;
					/** @deprecated */
					public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					/** @deprecated */
					public parse(param0: org.xml.sax.InputSource): void;
					/** @deprecated */
					public setDocumentHandler(param0: org.xml.sax.DocumentHandler): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public setEntityResolver(resolver: org.xml.sax.EntityResolver): void;
					public processingInstruction(target: string, data: string): void;
					public ignorableWhitespace(param0: androidNative.Array<string>, param1: number, param2: number): void;
					public startDocument(): void;
					public startPrefixMapping(prefix: string, uri: string): void;
					public endPrefixMapping(param0: string): void;
					public setDocumentLocator(locator: org.xml.sax.Locator): void;
					public constructor(xmlReader: org.xml.sax.XMLReader);
					/** @deprecated */
					public setLocale(param0: java.util.Locale): void;
					public setLocale(locale: java.util.Locale): void;
					public setDocumentHandler(handler: org.xml.sax.DocumentHandler): 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(): org.xml.sax.XMLReader;
					public static createXMLReader(className: string): 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: androidNative.Array<number>): androidNative.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 FEATURE_REPORT_NAMESPACE_ATTRIBUTES: "http://xmlpull.org/v1/doc/features.html#report-namespace-prefixes";
				public static TEXT: 4;
				public static CDSECT: 5;
				public static NO_NAMESPACE: "";
				public static COMMENT: 9;
				public static FEATURE_PROCESS_DOCDECL: "http://xmlpull.org/v1/doc/features.html#process-docdecl";
				public static TYPES: androidNative.Array<string>;
				public static PROCESSING_INSTRUCTION: 8;
				public static END_DOCUMENT: 1;
				public static START_DOCUMENT: 0;
				public static IGNORABLE_WHITESPACE: 7;
				public static START_TAG: 2;
				public static ENTITY_REF: 6;
				public static FEATURE_VALIDATION: "http://xmlpull.org/v1/doc/features.html#validation";
				public static DOCDECL: 10;
				public static END_TAG: 3;
				public static FEATURE_PROCESS_NAMESPACES: "http://xmlpull.org/v1/doc/features.html#process-namespaces";
				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 getAttributeType(param0: number): string;
				public getText(): string;
				public getAttributeValue(param0: number): string;
				public isAttributeDefault(param0: number): boolean;
				public getTextCharacters(param0: androidNative.Array<number>): androidNative.Array<string>;
				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 constructor(s: string);
				public constructor(cause: java.lang.Throwable);
				public getLineNumber(): number;
				public constructor(msg: string, parser: org.xmlpull.v1.XmlPullParser, chain: java.lang.Throwable);
				public constructor(message: string, cause: java.lang.Throwable);
				public printStackTrace(s: java.io.PrintWriter): void;
				public constructor(message: string, cause: java.lang.Throwable, enableSuppression: boolean, writableStackTrace: boolean);
				public getDetail(): java.lang.Throwable;
				public getColumnNumber(): number;
				public printStackTrace(s: java.io.PrintStream): void;
				public constructor();
				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: "org.xmlpull.v1.XmlPullParserFactory";
				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 getFeature(name: string): boolean;
				public setNamespaceAware(awareness: boolean): void;
				public isNamespaceAware(): boolean;
				public setValidating(validating: boolean): void;
				public static newInstance(): org.xmlpull.v1.XmlPullParserFactory;
				public static newInstance(unused: string, unused2: java.lang.Class<any>): org.xmlpull.v1.XmlPullParserFactory;
				public setFeature(name: string, state: 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: androidNative.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 text(param0: androidNative.Array<string>, param1: number, param2: number): org.xmlpull.v1.XmlSerializer;
				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 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: "http://apache.org/xml/features/validation/dynamic";
					public static APACHE_SCHEMA_VALIDATION_FEATURE: "http://apache.org/xml/features/validation/schema";
					public static DECLARATION_HANDLER_PROPERTY: "http://xml.org/sax/properties/declaration-handler";
					public static LEXICAL_HANDLER_PROPERTY: "http://xml.org/sax/properties/lexical-handler";
					public static NAMESPACES_FEATURE: "http://xml.org/sax/features/namespaces";
					public static NAMESPACE_PREFIXES_FEATURE: "http://xml.org/sax/features/namespace-prefixes";
					public static VALIDATION_FEATURE: "http://xml.org/sax/features/validation";
					public contentHandler: org.xml.sax.ContentHandler;
					public errorHandler: org.xml.sax.ErrorHandler;
					public pp: org.xmlpull.v1.XmlPullParser;
					public systemId: string;
					public constructor(pp: org.xmlpull.v1.XmlPullParser);
					public parse(systemId: string): void;
					public getDTDHandler(): org.xml.sax.DTDHandler;
					public parseSubTree(pp: org.xmlpull.v1.XmlPullParser): void;
					public constructor();
					public setErrorHandler(handler: org.xml.sax.ErrorHandler): void;
					public getValue(param0: string): string;
					public getSystemId(): string;
					public getProperty(param0: string): any;
					public getPublicId(): string;
					public getValue(param0: string, param1: string): string;
					public getType(qName: string): string;
					public setProperty(name: string, value: any): void;
					public getQName(param0: number): string;
					public getType(index: number): string;
					public setEntityResolver(resolver: org.xml.sax.EntityResolver): void;
					public getType(param0: string): string;
					public getFeature(name: string): boolean;
					public getLocalName(index: number): string;
					public getValue(param0: number): string;
					public getIndex(param0: string, param1: string): number;
					public setFeature(name: string, value: boolean): void;
					public getErrorHandler(): org.xml.sax.ErrorHandler;
					public parse(param0: string): void;
					public getType(param0: string, param1: string): string;
					public getContentHandler(): org.xml.sax.ContentHandler;
					public getType(param0: number): string;
					public setFeature(param0: string, param1: boolean): void;
					public getLength(): number;
					public getProperty(name: string): any;
					public setDTDHandler(handler: org.xml.sax.DTDHandler): void;
					public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					public getEntityResolver(): org.xml.sax.EntityResolver;
					public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					public getURI(param0: number): string;
					public getIndex(param0: string): number;
					public getType(uri: string, localName: string): string;
					public getColumnNumber(): number;
					public setContentHandler(param0: org.xml.sax.ContentHandler): void;
					public setProperty(param0: string, param1: any): void;
					public getIndex(qName: string): number;
					public getLineNumber(): number;
					public getIndex(uri: string, localName: string): number;
					public getValue(index: number): string;
					public getValue(qName: string): string;
					public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					public getLocalName(param0: number): string;
					public getQName(index: number): string;
					public getFeature(param0: string): boolean;
					public parse(param0: org.xml.sax.InputSource): void;
					public setContentHandler(handler: org.xml.sax.ContentHandler): void;
					public startElement(namespace: string, localName: string, qName: string): void;
					public parse(source: org.xml.sax.InputSource): void;
					public getValue(uri: string, localName: string): string;
					public getURI(index: number): string;
				}
			}
		}
	}
}

//Generics information:
//android.accounts.AccountManagerCallback:1
//android.accounts.AccountManagerFuture:1
//android.adservices.common.AdServicesOutcomeReceiver:2
//android.animation.BidirectionalTypeConverter:2
//android.animation.TypeConverter:2
//android.animation.TypeEvaluator:1
//android.app.FragmentHostCallback:1
//android.app.LoaderManager.LoaderCallbacks:1
//android.app.appsearch.AppSearchBatchResult:2
//android.app.appsearch.AppSearchBatchResult.Builder:2
//android.app.appsearch.AppSearchResult:1
//android.app.appsearch.BatchResultCallback:2
//android.app.appsearch.GenericDocument.Builder: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.health.connect.AggregateRecordsGroupedByDurationResponse:1
//android.health.connect.AggregateRecordsGroupedByPeriodResponse:1
//android.health.connect.AggregateRecordsRequest:1
//android.health.connect.AggregateRecordsRequest.Builder:1
//android.health.connect.AggregateRecordsResponse:1
//android.health.connect.ReadRecordsRequest:1
//android.health.connect.ReadRecordsRequestUsingFilters:1
//android.health.connect.ReadRecordsRequestUsingFilters.Builder:1
//android.health.connect.ReadRecordsRequestUsingIds:1
//android.health.connect.ReadRecordsRequestUsingIds.Builder:1
//android.health.connect.ReadRecordsResponse:1
//android.health.connect.datatypes.AggregationType:1
//android.icu.number.NumberFormatterSettings:1
//android.icu.number.NumberRangeFormatterSettings: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.media.AudioMetadata.Key:1
//android.net.DnsResolver.Callback:1
//android.os.AsyncTask:3
//android.os.OutcomeReceiver:2
//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.view.inspector.InspectionCompanion:1
//android.webkit.ValueCallback:1
//android.widget.AdapterView:1
//android.widget.ArrayAdapter:1
//java.lang.Class:1
//java.lang.ClassValue:1
//java.lang.Comparable:1
//java.lang.Enum:1
//java.lang.InheritableThreadLocal:1
//java.lang.Iterable:1
//java.lang.ThreadLocal:1
//java.lang.invoke.TypeDescriptor.OfField:1
//java.lang.invoke.TypeDescriptor.OfMethod:2
//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.SequencedCollection:1
//java.util.SequencedMap:2
//java.util.SequencedSet:1
//java.util.ServiceLoader:1
//java.util.ServiceLoader.Provider: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.Flow.Processor:2
//java.util.concurrent.Flow.Publisher:1
//java.util.concurrent.Flow.Subscriber: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.SubmissionPublisher: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.random.RandomGeneratorFactory:1
//java.util.stream.BaseStream:2
//java.util.stream.Collector:3
//java.util.stream.Stream:1
//java.util.stream.Stream.Builder:1

