///
import { Constructor, Getter, Provider, Setter } from '@loopback/context';
import { Request, Response } from '@loopback/rest';
import { Strategy } from 'passport';
import { AuthenticateFn, IAuthUser, AuthenticationMetadata, EntityWithIdentifier } from '../types';
export declare class AuthenticateActionProvider implements Provider> {
readonly getStrategy: Getter;
private readonly getMetadata;
readonly setCurrentUser: Setter;
authUserModel?: Constructor | undefined;
constructor(getStrategy: Getter, getMetadata: Getter, setCurrentUser: Setter, authUserModel?: Constructor | undefined);
value(): AuthenticateFn;
action(request: Request, response?: Response): Promise;
}