/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format */ 'use strict'; import type {EventSubscription} from '../vendor/emitter/EventEmitter'; import type {RequestBody} from './convertRequestBody'; import type {NativeResponseType} from './XMLHttpRequest'; type RCTNetworkingEventDefinitions = $ReadOnly<{ didSendNetworkData: [ [ number, // requestId number, // progress number, // total ], ], didReceiveNetworkResponse: [ [ number, // requestId number, // status ?{[string]: string}, // responseHeaders ?string, // responseURL ], ], didReceiveNetworkData: [ [ number, // requestId string, // response ], ], didReceiveNetworkIncrementalData: [ [ number, // requestId string, // responseText number, // progress number, // total ], ], didReceiveNetworkDataProgress: [ [ number, // requestId number, // loaded number, // total ], ], didCompleteNetworkResponse: [ [ number, // requestId string, // error boolean, // timeOutError ], ], }>; declare const RCTNetworking: interface { addListener>( eventType: K, // $FlowFixMe[invalid-computed-prop] listener: (...$ElementType) => mixed, context?: mixed, ): EventSubscription, sendRequest( method: string, trackingName: string, url: string, headers: {...}, data: RequestBody, responseType: NativeResponseType, incrementalUpdates: boolean, timeout: number, callback: (requestId: number) => void, withCredentials: boolean, ): void, abortRequest(requestId: number): void, clearCookies(callback: (result: boolean) => void): void, }; export default RCTNetworking;