import { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
import { IApiAuthenticationRequest } from '../../../interface/api/authentication-request.interface';
import { IApiAuthorizationDecision } from '../../../interface/class/api/authorization/decision';
import { TApiAuthorizationRuleTransformPayload } from '../../../type/class/api/authorization/rule/transform-payload.type';
/**
 * Extracts an authorization decision from the authentication request metadata stored on the HTTP request.
 * @template E - Entity type
 * @template R - Result payload type
 * @param {IApiAuthenticationRequest} [authenticationRequest] - Request object bound to the route handler.
 * @returns {IApiAuthorizationDecision<E, R> | undefined} Authorization decision if present.
 */
export declare function AuthorizationDecisionResolveFromRequest<E extends IApiBaseEntity, R extends TApiAuthorizationRuleTransformPayload<E> = TApiAuthorizationRuleTransformPayload<E>>(authenticationRequest?: IApiAuthenticationRequest): IApiAuthorizationDecision<E, R> | undefined;
