/**
 * @author: JP Lew (jp@cto.ai)
 * @date: Tuesday, 30th April 2019 12:07:49 pm
 * @lastModifiedBy: JP Lew (jp@cto.ai)
 * @lastModifiedTime: Friday, 20th September 2019 1:48:16 pm
 * @copyright (c) 2019 CTO.ai
 */
import Command, { flags } from '../../base';
import { Question, Config, Container, Tokens, UserCredentials } from '../../types';
export declare const signinPrompts: Container<Question>;
export default class AccountSignin extends Command {
    static description: string;
    static flags: {
        help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
        interactive: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
        user: flags.IOptionFlag<string | undefined>;
        password: flags.IOptionFlag<string | undefined>;
    };
    logMessages: () => void;
    keycloakSignInFlow: () => Promise<Tokens>;
    createConfigFile: (tokens: Tokens) => Promise<Config>;
    showWelcomeMessage: (config: Config) => Config;
    sendAnalytics: (config: Config) => Config;
    determineQuestions: (prompts: Container<Question>, flags: Partial<UserCredentials>) => () => Question<Record<string, any>>[];
    getRefreshToken: (credentials: Pick<UserCredentials, 'user' | 'password'>) => Promise<Tokens>;
    askQuestions: (questions: Question[]) => Promise<UserCredentials | {}>;
    determineUserCredentials: (flags: Partial<UserCredentials>) => (answers: Partial<UserCredentials>) => Partial<UserCredentials>;
    browserSigninPipeline: (param?: any) => any;
    cliSigninPipeline: (flags: Partial<UserCredentials>) => (param?: any) => any;
    run(): Promise<any>;
}
