import { Stream } from "stream"; import { Config, HttpConfig } from "./Config"; import { KyofuucObject } from "../helper"; export declare const ResponseType: { TEXT: string; JSON: string; STREAM: string; BUFFER: string; RAW_TEXT: string; RAW_JSON: string; NOCONTENT: string; ARRAY_BUFFER: string; }; export type ResponseTransformer = (data: Stream | any[] | string) => { data: T; contentType?: string; }; export interface Response { data?: any; key?: string; url?: string; body?: string; request?: any; status: number; statusText: string; config: HttpConfig; __cached__?: boolean; __cached_expires_at__?: Date; redirectsResponses?: Response[]; headers?: KyofuucObject; } export declare function textResponseTransformer(data: Stream | any[] | string): { data: string | any[] | Stream; }; export declare function rawTextResponseTransformer(data: Stream | any[] | string): { data: string | any[] | Stream; }; export declare function jsonResponseTransformer(data: Stream | any[] | string): { data: any; }; export declare function rawJsonResponseTransformer(data: Stream | any[] | string): { data: any; }; export declare function streamResponseTransformer(data: Stream | any[] | string): { data: string | any[] | Stream; }; export declare function bufferResponseTransformer(data: Stream | any[] | string): { data: Buffer; }; export declare function arrayBufferResponseTransformer(data: Stream | any[] | string): { data: string | any[] | Stream; }; export declare function noContentResponseTransformer(_: Stream | any[] | string): { data: string; }; export declare const ResponseProcessor: { _RegisteredTransformers: KyofuucObject>; register(type: string, transformer: ResponseTransformer): void; unregister(type: string): void; transform(type: string, data: any): { data: any; contentType?: string; }; }; export declare function transformResponseData(config: Config, response: Partial, res: any, onSuccess: (result: Response) => void, onError: (error: Error) => void): void;