import { ICoreInjector } from '@tsdi/core';
import { IConfiguration } from '@mvx/mvc';
import { IStrategy } from './IStrategy';
import { IStrategyOption, IAuthenticator } from './IAuthenticator';
/**
 * PassportBuildService
 *
 * @export
 * @abstract
 * @class PassportBuildService
 */
export declare abstract class PassportBuildService {
    protected injector: ICoreInjector;
    private builder;
    abstract build(passport: IAuthenticator, configuration: IConfiguration): Promise<void>;
    createStrategy(option: IStrategyOption): Promise<IStrategy>;
    static ρAnn(): any;
}
/**
 * register passport strategy in configuare.
 *
 * @export
 * @class ConfigurePassportBuildService
 * @extends {PassportBuildService}
 */
export declare class ConfigurePassportBuildService extends PassportBuildService {
    build(passport: IAuthenticator, configuration: IConfiguration): Promise<void>;
    static ρAnn(): any;
}
