import { EApiAuthorizationMode } from '../../../../enum/class/authorization';
import { IApiBaseEntity } from '../../../api-base-entity.interface';
import { IApiAuthorizationPolicy } from './policy/interface';
import { IApiAuthorizationPrincipal } from './principal';
export interface IApiAuthorizationEngineEvaluateOptions<E extends IApiBaseEntity, R> {
    action: string;
    mode: EApiAuthorizationMode;
    permissions: ReadonlyArray<string>;
    policy: IApiAuthorizationPolicy<E, R>;
    principal: IApiAuthorizationPrincipal;
    resource?: E;
    resourceType: string;
}
