import { Strategy } from 'passport-jwt';
import { UsersService } from '../../users/users.service';
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 usersService;
    constructor(usersService: UsersService);
    validate(payload: {
        sub: string;
        email: string;
    }): Promise<{
        id: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        employeeCode: string;
        email: string;
        password: string;
        isTwoFactorEnabled: boolean;
        twoFactorAuthenticationSecret: string | null;
        role: import("@prisma/client").$Enums.Role;
        position: import("@prisma/client").$Enums.Position;
        status: import("@prisma/client").$Enums.UserStatus;
        officeId: string;
        scopeLevel: import("@prisma/client").$Enums.GeoLevel;
        scopeStateId: string | null;
        scopeDistrictId: string | null;
        scopeTownshipId: string | null;
        lastLoginAt: Date | null;
        passwordChangedAt: Date | null;
        deletedAt: Date | null;
        createdById: string | null;
        updatedById: string | null;
    }>;
}
export {};
