/**
 * Multi-line text input utility for CLI.
 *
 * Provides inline TTY text input without opening external editors.
 * Handles paste safely, supports cursor navigation, and provides
 * clear visual feedback.
 *
 * Usage:
 * ```typescript
 * const text = await multiLineInput({
 *   message: 'Enter description:',
 *   default: 'Existing content...',
 * });
 * ```
 */
/**
 * Options for multiLineInput
 */
export interface MultiLineInputOptions {
    /** Prompt message displayed above the input area */
    message: string;
    /** Default/initial content to populate the input with */
    default?: string;
    /** Hint text shown below the input area (e.g., key bindings) */
    hint?: string;
    /** Whether input is required (empty not allowed) */
    required?: boolean;
    /** Validation function - returns true if valid, or error message */
    validate?: (value: string) => boolean | string;
}
/**
 * Result of multiLineInput
 */
export interface MultiLineInputResult {
    /** The entered text */
    value: string;
    /** Whether input was cancelled (Ctrl+C) */
    cancelled: boolean;
}
/**
 * Collect multi-line input from the user with an inline TTY editor.
 *
 * Features:
 * - Arrow key navigation
 * - Backspace/delete
 * - Copy-paste handling (escapes special characters)
 * - Ctrl+D to finish, Ctrl+C to cancel
 * - Pre-populated content support
 * - Real-time visual feedback
 *
 * @param options Input options
 * @returns The entered text and cancellation status
 */
export declare function multiLineInput(options: MultiLineInputOptions): Promise<MultiLineInputResult>;
/**
 * Convenience wrapper that returns just the value string.
 * Throws if cancelled.
 */
export declare function promptMultiLine(options: MultiLineInputOptions): Promise<string>;
/**
 * Integration with FlagResolver - creates a prompt-compatible function
 */
export declare function createMultiLinePrompt(message: string, defaultValue?: string, hint?: string): () => Promise<string>;
