/**
 * Login flow module
 *
 * Provides the complete interactive login experience using @clack/prompts.
 * This flow handles:
 * - Intro message
 * - Sequential email/password collection
 * - Spinner during authentication
 * - Note display for organization info
 * - Outro message on success
 */
/**
 * Result of successful authentication callback
 */
export type AuthenticateResult = {
    success: true;
    userEmail: string;
    organizations: Array<string>;
    isAdmin: boolean;
    refreshToken: string;
    idToken: string;
} | {
    success: false;
    error: string;
    hint?: string | null;
};
/**
 * Callbacks for the login flow
 */
export type LoginFlowCallbacks = {
    onAuthenticate: (args: {
        email: string;
        password: string;
    }) => Promise<AuthenticateResult>;
};
/**
 * Result of the login flow
 */
export type LoginFlowResult = {
    email: string;
    refreshToken: string;
    idToken: string;
    organizations: Array<string>;
    isAdmin: boolean;
    statusMessage: string;
} | null;
/**
 * Execute the interactive login flow
 *
 * This function handles the complete login UX:
 * 1. Collects email and password
 * 2. Shows spinner while authenticating
 * 3. Displays organization info in a note (if available)
 *
 * @param args - Flow configuration
 * @param args.callbacks - Callback functions for authentication
 *
 * @returns Credentials on success, null on failure or cancellation
 */
export declare const loginFlow: (args: {
    callbacks: LoginFlowCallbacks;
}) => Promise<LoginFlowResult>;
//# sourceMappingURL=login.d.ts.map