/**
 * Generic function to prompt user for a choice from a list of options
 */
export declare function promptForChoice<T extends string>(question: string, choices: Array<{
    label: string;
    value: T;
}>, defaultChoice?: T): Promise<T>;
/**
 * Generic function to prompt user for a file/directory path with validation
 */
export declare function promptForPath(question: string, options?: {
    required?: boolean;
    mustExist?: boolean;
    mustBeDirectory?: boolean;
    mustBeFile?: boolean;
}): Promise<string>;
export declare const cliOutput: (message: string) => boolean;
export declare const startSpinner: (message: string) => void;
export declare const stopSpinner: () => void;
export declare const getTenantFromToken: (accessToken: string) => string;
export declare const promptForBrowserPermission: () => Promise<boolean>;
export declare const promptForScopeSelection: (providedScopes?: string[]) => Promise<string[]>;
/**
 * Masks a tenant name according to the specified format:
 * - Shows letters before the dash
 * - Shows 3 letters after the dash
 * - Shows the last word after the last dot
 * - Masks everything else with "xxx"
 *
 * Example: "dev-sfhjdfhdgfghhjdfhf.us.auth0.com" becomes "dev-sfh***com"
 *
 * @param tenantName The tenant name to mask
 * @returns The masked tenant name or the original if it doesn't match the expected format
 */
export declare function maskTenantName(tenantName: string | undefined | null): string;
