import { StatusMap } from '../utils';
import type { Context } from '../context';
export declare const handleFile: (response: File | Blob, set?: Context["set"], request?: Request) => Response;
export declare const parseSetCookies: (headers: Headers, setCookie: string[]) => Headers;
export declare const responseToSetHeaders: (response: Response, set?: Context["set"]) => {
    headers: import("../types").HTTPHeaders;
    status?: number | keyof StatusMap;
    redirect?: string;
    cookie?: Record<string, import("../cookies").ElysiaCookie>;
};
interface CreateHandlerParameter {
    mapResponse(response: unknown, set: Context['set'], request?: Request): Response;
    mapCompactResponse(response: unknown, request?: Request): Response;
}
export declare const createStreamHandler: ({ mapResponse, mapCompactResponse }: CreateHandlerParameter) => (generator: Generator | AsyncGenerator | ReadableStream, set?: Context["set"], request?: Request, skipFormat?: boolean) => Promise<Response>;
export declare function streamResponse(response: Response): AsyncGenerator<string, void, unknown>;
export declare const handleSet: (set: Context["set"]) => void;
export declare function mergeHeaders(responseHeaders: Headers, setHeaders: Context['set']['headers']): Headers;
export declare function mergeStatus(responseStatus: number, setStatus: Context['set']['status']): number | undefined;
export declare const createResponseHandler: (handler: CreateHandlerParameter) => (response: Response, set: Context["set"], request?: Request) => any;
export declare function tee<T>(source: AsyncIterable<T>, branches?: number): Promise<AsyncIterableIterator<T>[]>;
export {};
