import { EventBus } from '@nestjs/cqrs';
import { Observable } from 'rxjs';
import { IAuthDefinitions, IAuthResponse, IAuthUserEntityForResponse } from '../definitions';
import { AuthRepository } from '../repositories';
import { TokenService } from '../services';
export interface IGetUserByApiKeyActionOptions {
    apiKey: string;
}
export declare class GetUserByApiKeyAction {
    readonly authDefinitions: IAuthDefinitions;
    protected readonly authRepository: AuthRepository;
    protected readonly tokenService: TokenService;
    protected readonly jwtService: TokenService;
    protected readonly eventBus: EventBus;
    constructor(authDefinitions: IAuthDefinitions, authRepository: AuthRepository, tokenService: TokenService, jwtService: TokenService, eventBus: EventBus);
    handle<T extends IAuthUserEntityForResponse>({ apiKey, }: IGetUserByApiKeyActionOptions): Observable<IAuthResponse<T> | undefined>;
}
