///
import { RequestContext, Response } from '@loopback/rest';
import { ILogger, SuccessResponse } from '@loopx/core';
import { AuthClientRepository, UserRepository, UserTenantRepository } from '@loopx/user-core';
import { RefreshTokenRequest } from '../../models';
import { LoginActivityRepository, RefreshTokenRepository, RevokedTokenRepository } from '../../repositories';
import { ActorId, IUserActivity } from '../../types';
export declare class LogoutController {
private readonly ctx;
private readonly res;
private readonly revokedTokens;
refreshTokenRepo: RefreshTokenRepository;
userRepo: UserRepository;
authClientRepo: AuthClientRepository;
logger: ILogger;
private readonly actorKey;
userTenantRepo: UserTenantRepository;
private readonly loginActivityRepo;
private readonly userActivity?;
constructor(ctx: RequestContext, res: Response, revokedTokens: RevokedTokenRepository, refreshTokenRepo: RefreshTokenRepository, userRepo: UserRepository, authClientRepo: AuthClientRepository, logger: ILogger, actorKey: ActorId, userTenantRepo: UserTenantRepository, loginActivityRepo: LoginActivityRepository, userActivity?: IUserActivity | undefined);
logout(auth: string, req: RefreshTokenRequest, returnTo?: string): Promise;
logoutRedirect(state: string): Promise;
private markUserActivity;
}