import { ExecutionContext } from '@nestjs/common';
import type { Request } from 'express';
import type { Enforcer } from 'casbin';
import type { AuthTokenPayloadBase } from '../typings/auth-token-payload';
import type { CasbinAuthorizationDecision, CasbinPermissionCheckerParams, CasbinPermissionCheckerResult, CasbinPermissionCheckerSyncResult } from '../typings/casbin-permission';
type InjectedRequest = Request & {
    enforcer?: Enforcer | null;
    payload?: AuthTokenPayloadBase;
    casbinPermissionChecker?: (options: CasbinPermissionCheckerParams) => CasbinPermissionCheckerResult | CasbinPermissionCheckerSyncResult;
    casbinDecision?: CasbinAuthorizationDecision;
};
export declare const getRequestFromContext: (context: ExecutionContext) => InjectedRequest;
export {};
