import { Strategy } from 'passport-jwt';
import { ConfigService } from '@nestjs/config';
import { Repository } from 'typeorm';
import { UsersService } from '../../users/users.service';
import { RevokedToken } from '../entities/revoked-token.entity';
declare const JwtStrategy_base: new (...args: [opt: import("passport-jwt").StrategyOptionsWithRequest] | [opt: import("passport-jwt").StrategyOptionsWithoutRequest]) => Strategy & {
    validate(...args: any[]): unknown;
};
export declare class JwtStrategy extends JwtStrategy_base {
    private readonly configService;
    private readonly usersService;
    private readonly revokedTokensRepository;
    constructor(configService: ConfigService, usersService: UsersService, revokedTokensRepository: Repository<RevokedToken>);
    validate(payload: {
        sub: string;
        email: string;
        role?: string;
        source: string;
        iat?: number;
        jti?: string;
        exp?: number;
    }): Promise<{
        id: string;
        email: string;
        role: import("../../users/entities/user.entity").UserRole;
        source: string;
        jti: string | undefined;
        exp: number | undefined;
    }>;
}
export {};
