import { Repository } from 'typeorm';
import { NestAuthUser } from '../../user/entities/user.entity';
import { NestAuthUserAccess } from '../../user/entities/user-access.entity';
import { NestAuthPlatformAccess } from '../../user/entities/platform-access.entity';
import { NestAuthSession } from '../../session/entities/session.entity';
import { JwtService } from '../../core/services/jwt.service';
import { AuthConfigService } from '../../core/services/auth-config.service';
import { UserService } from '../../user/services/user.service';
import { TenantService } from '../../tenant/services/tenant.service';
import { MfaService } from './mfa.service';
import { SessionManagerService } from '../../session/services/session-manager.service';
import { JWTTokenPayload, SessionPayload } from '../../core/interfaces/token-payload.interface';
import { AuthResponseDto, AuthTokensResponseDto } from '../dto/responses/auth.response.dto';
export declare class SessionTokenService {
    private readonly userRepository;
    private readonly jwtService;
    private readonly authConfigService;
    private readonly userService;
    private readonly tenantService;
    private readonly mfaService;
    private readonly sessionManager;
    constructor(userRepository: Repository<NestAuthUser>, jwtService: JwtService, authConfigService: AuthConfigService, userService: UserService, tenantService: TenantService, mfaService: MfaService, sessionManager: SessionManagerService);
    private getRefreshHashSecret;
    getUserWithRoles(userId: string, relations?: string[]): Promise<NestAuthUser>;
    getUserWithAccess(userId: string, tenantId: string, isPlatformAccess?: boolean): Promise<{
        user: NestAuthUser;
        userAccess?: NestAuthUserAccess;
        platformAccess?: NestAuthPlatformAccess;
    }>;
    generateTokensPayload(session: SessionPayload, otherPayload?: Partial<JWTTokenPayload>): Promise<JWTTokenPayload>;
    generateTokensFromSession(session: NestAuthSession): Promise<AuthTokensResponseDto>;
    generateAuthResponse(user: NestAuthUser, session: any, tokens: {
        accessToken: string;
        refreshToken: string;
    }, isRequiresMfa: boolean, trustToken?: string): Promise<AuthResponseDto>;
}
//# sourceMappingURL=session-token.service.d.ts.map