import { Context } from 'koa';
import { ValidationResult } from './ValidationResult';
import { AuthenticateOption } from '../IAuthenticator';
/**
 * Authenticate `user`, with optional `info`.
 *
 * Strategies should return this action to successfully authenticate a
 * user.  `user` should be an object supplied by the application after it
 * has been given an opportunity to verify credentials.  `info` is an
 * optional argument containing additional user information.  This is
 * useful for third-party authentication strategies to pass profile
 * details.
 *
 * @param {Object} user
 * @param {Object} info
 * @api public
 */
export declare class SuccessResult extends ValidationResult {
    private options;
    private user;
    private info;
    constructor(options: AuthenticateOption, user: object, info: {
        type: string;
        message: string;
    });
    action(ctx: Context, callback?: Function): Promise<void>;
    static ρAnn(): any;
}
