import { CanActivate, ExecutionContext } from '@nestjs/common';
import { Enforcer } from 'casbin';
import { BaseMemberEntity } from '../models/base-member.entity';
import { ReflectableDecorator } from '@nestjs/core';
export declare class CasbinGuard implements CanActivate {
    private readonly cookieMode;
    private readonly enforcer;
    private readonly accessTokenSecret;
    private readonly refreshTokenSecret;
    private readonly enableGlobalGuard;
    private readonly permissionDecorator;
    private readonly permissionChecker;
    constructor(cookieMode: boolean, enforcer: Enforcer, accessTokenSecret: string, refreshTokenSecret: string, enableGlobalGuard: boolean, permissionDecorator: ReflectableDecorator<any>, permissionChecker: ({ enforcer, payload, actions, }: {
        enforcer: Enforcer;
        payload: Pick<BaseMemberEntity, 'id' | 'account'>;
        actions: any;
    }) => Promise<boolean>);
    canActivate(context: ExecutionContext): Promise<boolean>;
}
