import { SDKAuthenticationService, SDKAuthenticationSessionService, SDKLoginDTO, SDKRegisterDTO } from '@serene-dev/la-nest-library';
import { Repository } from 'typeorm';
import { AuthEntity } from '../entities/authentication.entity';
import { TokenService, TokenSessionService } from 'src/services/token.service';
import { AuthSessionEntity } from '../entities/authentication-session.entity';
export declare class AuthenticationSessionService extends SDKAuthenticationSessionService {
    protected readonly repository: Repository<AuthSessionEntity>;
    constructor(repository: Repository<AuthSessionEntity>);
}
export declare class AuthService extends SDKAuthenticationService<AuthEntity> {
    readonly repository: Repository<AuthEntity>;
    readonly tokenService: TokenService;
    authenticationSessionService: AuthenticationSessionService;
    tokenSessionService: TokenSessionService;
    constructor(repository: Repository<AuthEntity>, tokenService: TokenService, authenticationSessionService: AuthenticationSessionService, tokenSessionService: TokenSessionService);
    getWhere(where: Partial<AuthEntity> | Partial<AuthEntity>[]): Promise<AuthEntity[]>;
    register(body: SDKRegisterDTO): Promise<AuthEntity>;
    generateToken(auth: AuthEntity): Promise<{
        token: string;
    }>;
    login(body: SDKLoginDTO): Promise<AuthEntity>;
}
