///
import { Context, Provider } from '@loopback/core';
import { Strategy } from 'passport';
import * as AzureADAuthStrategy from 'passport-azure-ad';
import * as FacebookStrategy from 'passport-facebook';
import * as GoogleStrategy from 'passport-google-oauth20';
import * as PassportBearer from 'passport-http-bearer';
import * as InstagramStrategy from 'passport-instagram';
import * as PassportLocal from 'passport-local';
import * as Auth0Strategy from 'passport-auth0';
import { AuthenticationMetadata, IAuthUser } from '../types';
import { LocalPasswordStrategyFactory } from './passport/passport-local';
import { Otp } from './passport/passport-otp';
import { Oauth2ResourceOwnerPassword } from './passport/passport-resource-owner-password';
import { VerifyFunction } from './types';
export type VerifierType = LocalPasswordStrategyFactory | VerifyFunction.LocalPasswordFn | undefined;
export declare class AuthStrategyProvider implements Provider {
private readonly metadata;
private readonly ctx;
constructor(metadata: AuthenticationMetadata, ctx: Context);
processLocalFactory(verifier: VerifierType): Promise;
processBearerFactory(verifier: VerifierType): Promise>>;
processResourceOwnerFactory(verifier: VerifierType): Promise;
processGoogleFactory(verifier: VerifierType): Promise;
processAzureFactory(verifier: VerifierType): Promise;
processKeycloakFactory(verifier: VerifierType): Promise;
processInstagramFactory(verifier: VerifierType): Promise;
processAppleFactory(verifier: VerifierType): Promise;
processFacebookFactory(verifier: VerifierType): Promise;
processCognitoFactory(verifier: VerifierType): any;
processOtpAuthFactory(verifier: VerifierType): Promise;
processAuth0Factory(verifier: VerifierType): Promise;
processSamlFactory(verifier: VerifierType): Promise;
value(): Promise;
}