///
import { Response } from '@loopback/rest';
import { ILogger } from '@loopx/core';
import { AuthClientRepository } from '@loopx/user-core';
import { AuthCodeGeneratorFn } from '../../providers';
import { AuthPages } from '../../types';
import { AuthUser } from './models/auth-user.model';
import { ClientAuthRequest } from './models/client-auth-request.dto';
export declare class KeycloakLoginController {
authClientRepository: AuthClientRepository;
logger: ILogger;
private readonly getAuthCode;
private readonly authPages;
constructor(authClientRepository: AuthClientRepository, logger: ILogger, getAuthCode: AuthCodeGeneratorFn, authPages: AuthPages);
postLoginViaKeycloak(clientCreds?: ClientAuthRequest): Promise;
loginViaKeycloak(clientId?: string, //NOSONAR
clientSecret?: string): Promise;
keycloakCallback(code: string, state: string, response: Response, user: AuthUser | undefined): Promise;
}