import { NextApiHandlerWithAuth, MiddlewareOptions } from '../types';
import { NextAuthServer } from './auth';
export declare class NextAuthMiddleware {
    private auth;
    constructor(auth: NextAuthServer);
    withAuth(handler: NextApiHandlerWithAuth): NextApiHandlerWithAuth;
    withPermission(permission: string, options?: MiddlewareOptions): (handler: NextApiHandlerWithAuth) => NextApiHandlerWithAuth;
    withAnyPermission(permissions: string[], options?: MiddlewareOptions): (handler: NextApiHandlerWithAuth) => NextApiHandlerWithAuth;
    withAllPermissions(permissions: string[], options?: MiddlewareOptions): (handler: NextApiHandlerWithAuth) => NextApiHandlerWithAuth;
    compose(...middlewares: Array<(handler: NextApiHandlerWithAuth) => NextApiHandlerWithAuth>): (handler: NextApiHandlerWithAuth) => NextApiHandlerWithAuth;
}
//# sourceMappingURL=middleware.d.ts.map