import { Ability } from '@casl/ability';
import { Scopes } from '@vivocha/scopes';
import { Logger } from 'debuggo';
import { NextFunction, Request, RequestHandler, Response } from 'express';
export interface APIRequest extends Request {
    scopes?: Scopes;
    ability?: Ability;
    logger: Logger;
}
export interface APIResponse extends Response {
    logger: Logger;
}
export interface APIRequestHandler extends RequestHandler {
    (req: APIRequest, res: APIResponse, next?: NextFunction): any;
}
export declare type Method = 'get' | 'put' | 'post' | 'delete' | 'options' | 'head' | 'patch';
