/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import type { ExtensionSetting } from './extensionSettings.js';
/**
 * Filters settings that don't have values in the existing values record.
 *
 * @param settings - Array of extension settings to check
 * @param existingValues - Record of existing setting values keyed by envVar
 * @returns Array of settings that are missing values (undefined or empty string)
 */
export declare function getMissingSettings(settings: ExtensionSetting[], existingValues: Record<string, string | undefined>): ExtensionSetting[];
/**
 * Formats a user-friendly prompt text for a setting.
 *
 * @param setting - The extension setting to create a prompt for
 * @returns Formatted prompt string
 */
export declare function formatSettingPrompt(setting: ExtensionSetting): string;
/**
 * Prompts the user for any missing extension settings.
 *
 * If all settings already have values, returns the existing values immediately.
 * If any settings are missing, prompts the user for each one.
 * If the user enters an empty string for any prompt, cancels and returns null.
 *
 * @param settings - Array of extension settings that may need values
 * @param existingValues - Record of existing setting values keyed by envVar
 * @returns Promise resolving to complete settings record, or null if cancelled
 */
export declare function maybePromptForSettings(settings: ExtensionSetting[], existingValues: Record<string, string | undefined>): Promise<Record<string, string> | null>;
