/**
 * @file 小程序环境发送 HTTP 请求（类 Web Fetch 接口）
 * @desc 适合简单的、请求体 & 响应体基于文本的接口调用
 */
import Headers, { HeadersInit } from './headers';
export type Request = {
    url: string;
    method?: 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'CONNECT';
    headers?: Headers;
    body?: string;
};
/** 请求的性能信息 */
export type Profile = {
    /** 同 https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/fetchStart */
    fetchStart: number;
    /** 同 https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/connectStart */
    connectStart?: number;
    /** 同 https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/connectEnd */
    connectEnd?: number;
    /** 同 https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/responseEnd */
    responseEnd: number;
};
export type ResponseInit = {
    status: number;
    headers: Headers;
    _profile?: Profile;
};
export declare class Response {
    private _body;
    get ok(): boolean;
    status: number;
    get statusText(): string;
    headers: Headers;
    /** [私货] 本次请求的性能相关信息；注意：这个信息可能没有，比如在微信开发者工具中运行时 */
    _profile?: Profile;
    constructor(_body: string, init: ResponseInit);
    json(): Promise<any>;
}
export { Headers };
export type { HeadersInit };
export type Fetch = (request: Request) => Promise<Response>;
export declare function fetch(request: Request): Promise<Response>;
