import type { RBACInstance } from '../types';
import { Request, Response, NextFunction } from 'express';
import { BaseMiddlewareOptions } from './types';
export interface ExpressOptions<P = unknown> extends BaseMiddlewareOptions<P> {
    getRole?: (req: Request) => string;
    getParams?: (req: Request) => P;
    onDenied?: (req: Request, res: Response, next: NextFunction) => void;
}
export declare const createExpressMiddleware: <P>(rbac: RBACInstance<P>) => (operation: string | RegExp, options?: ExpressOptions<P>) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
export default createExpressMiddleware;
