import { Command } from "commander";
import { z } from "zod";
import { CliApiClient } from "../apiClient.js";
import { LoginResult } from "../utilities/session.js";
export declare const LoginCommandOptions: z.ZodObject<{
    logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "log", "warn", "error", "none"]>>;
    skipTelemetry: z.ZodDefault<z.ZodBoolean>;
    profile: z.ZodDefault<z.ZodString>;
} & {
    apiUrl: z.ZodString;
    browser: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    logLevel: "error" | "log" | "debug" | "info" | "warn" | "none";
    apiUrl: string;
    browser: boolean;
    skipTelemetry: boolean;
    profile: string;
}, {
    apiUrl: string;
    logLevel?: "error" | "log" | "debug" | "info" | "warn" | "none" | undefined;
    browser?: boolean | undefined;
    skipTelemetry?: boolean | undefined;
    profile?: string | undefined;
}>;
export type LoginCommandOptions = z.infer<typeof LoginCommandOptions>;
export declare function configureLoginCommand(program: Command): Command;
export declare function loginCommand(options: unknown): Promise<LoginResult | undefined>;
export type LoginOptions = {
    defaultApiUrl?: string;
    embedded?: boolean;
    profile?: string;
    silent?: boolean;
    browser?: boolean;
};
export declare function login(options?: LoginOptions): Promise<LoginResult>;
export declare function getPersonalAccessToken(apiClient: CliApiClient, authorizationCode: string): Promise<{
    token: string;
    obfuscatedToken: string;
}>;
