import { CanActivate, ExecutionContext, Type } from '@nestjs/common'; import { Strategy } from "../common"; /** * If you want to create custom Guard, extend AbstractAuthGuard. * the Strategy will be injected by nestjs module * you have to add @Injectable decorator on AuthGuard extends AbstractAuthGuard */ export declare abstract class AbstractAuthGuard implements CanActivate { protected readonly strategy: Strategy; constructor(strategy: Strategy); canActivate(context: ExecutionContext): Promise; } /** * @param token this is a marking as a target for Dependency Injection (DI). * In nestjs module, you have to provide this token with Strategy * @returns MixInGuard extends AbstractAuthGuard */ export declare const AuthGuard: (token: S) => Type;