///
import { Readable } from "stream";
import { RequestContext } from "./base/context";
import { ExpressHandler } from "./base/handler";
import { ResponseInterface } from "./base/response-wrapper";
export declare type AvailableResponseType = string | Buffer | Readable;
export declare class DownloadHandler extends ExpressHandler> {
protected mimeType: string;
protected instanceContext(req: any, res: any): DownloadRequestContext;
setMimeType(mime: string): void;
}
export declare class DownloadRequestContext extends RequestContext {
protected createResponseWrapper(): DownloadWrapper;
}
export declare class DownloadWrapper extends ResponseInterface {
protected responseContent: AvailableResponseType;
protected asyncResolve(ret: AvailableResponseType): void;
protected _send(): void;
}