import type { SharedObject } from 'expo-modules-core'; export type NativeHeadersType = [string, string][]; export declare class NativeRequest extends SharedObject { public start( url: string, requestInit: NativeRequestInit, requestBody: Uint8Array | null ): Promise; public cancel(): void; } export interface NativeRequestInit { credentials?: RequestCredentials; // same-origin is not supported headers?: NativeHeadersType; method?: string; redirect?: RequestRedirect; } export type NativeResponseEvents = { didReceiveResponseData(data: Uint8Array): void; didComplete(): void; didFailWithError(error: string): void; readyForJSFinalization(): void; }; export declare class NativeResponse extends SharedObject { get bodyUsed(): boolean; get _rawHeaders(): NativeHeadersType; get status(): number; get statusText(): string; get url(): string; get redirected(): boolean; startStreaming(): Promise | null>; cancelStreaming(reason: string): void; arrayBuffer(): Promise; text(): Promise; }