import { NextApiRequest, NextApiResponse } from "next";
import OmitCallSignature from "omit-call-signature";
import * as UnifiedApi from "unified-api";
export declare abstract class NextApiTemplate<TDependencies> extends UnifiedApi.ApiTemplate<TDependencies, NextApiRequest> {
}
export declare class NextResponse<TSend> implements UnifiedApi.ApiResponse<TSend> {
    innerRes: NextApiResponse;
    constructor(innerRes: NextApiResponse);
    send(data: TSend | UnifiedApi.ApiErrors.ErrorType): this;
    status(code: number): this;
    error(code: number, message: string): this;
}
export declare function createNextRoute<TArgs extends Array<any>, TReturn, TDependencies, TFetchedDuringAuth, TLocalDependencies extends object = {}>(server: Omit<OmitCallSignature<UnifiedApi.Route<TArgs, TReturn, TDependencies, TFetchedDuringAuth, NextApiRequest, NextResponse<TReturn>, TLocalDependencies>>, "subUrl">, clientHandler?: (...args: any) => Promise<any>): UnifiedApi.Route<TArgs, TReturn, TDependencies, TFetchedDuringAuth, NextApiRequest, NextResponse<TReturn>, TLocalDependencies>;
export declare abstract class NextServerApi<TDependencies> extends UnifiedApi.ServerApi<TDependencies, NextApiRequest, NextResponse<unknown>> {
    protected parseRawResponse(rawRes: any): NextResponse<unknown>;
}
