///
import * as stream from 'stream';
import * as send from 'koa-send';
import { IResult, TResultType } from '../types/IResult';
import { IContext } from '../types/IContext';
export default class Result implements IResult {
constructor({ type, data, status }: IResult);
type: TResultType | string;
data: T;
status: number;
static done(): Result;
static send(data: string | Buffer, status?: number): Result;
static json(data: {
[key: string]: any;
}): Result;
static jsonp(data: {
[key: string]: any;
}, callbackField?: string): Result;
static view(viewPath: string, locals?: {
[key: string]: any;
}): Result;
static stream(data: stream.Readable, fileName?: string): Result;
static download(filePath: string, opts?: send.SendOptions): Result;
static redirect(url: string, alt?: string): Result;
static finish(ctx: IContext, result: Result): any;
}