import express from 'express';
import { EndResult, JSONResult, RedirectResult, RenderResult, SendFileResult, SendResult, SendStatusResult, RenderResultCallback, SendFileResultCallback } from './results';
interface Context {
    req: express.Request;
    res: express.Response;
    inject<S>(key: string): S;
}
export declare class BaseController {
    context?: Context;
    end<D>(data: D, encoding?: string, status?: number): EndResult<D>;
    json<D>(data: D, status?: number): JSONResult<D>;
    redirect(location: string, status?: number): RedirectResult;
    render<D>(view: string, locals?: D, callback?: RenderResultCallback, status?: number): RenderResult<D>;
    sendFile(filePath: string, options?: any, callback?: SendFileResultCallback, status?: number): SendFileResult;
    send<D>(data: D, status?: number): SendResult<D>;
    sendStatus(status: number): SendStatusResult;
}
export {};
//# sourceMappingURL=BaseController.d.ts.map