/**
 * InkCLI Component (Refactored)
 *
 * Entry point for the Ink-based CLI. Selects between two rendering modes:
 * - AlternateBufferCLI: VirtualizedList with mouse scroll, keyboard scroll, copy mode
 * - StaticCLI: Static pattern with native terminal scrollback and selection
 *
 * The mode is selected via USE_ALTERNATE_BUFFER constant.
 */
import type { TuiAgentBackend } from './agent-backend.js';
import type { StartupInfo } from './state/types.js';
import type { SoundNotificationService } from './utils/soundNotification.js';
interface InkCLIProps {
    agent: TuiAgentBackend;
    initialSessionId: string | null;
    initialPrompt?: string | undefined;
    startupInfo: StartupInfo;
    soundService: SoundNotificationService | null;
    configFilePath: string | null;
    initialBypassPermissions?: boolean;
}
/**
 * Modern CLI interface using React Ink
 *
 * Wraps the CLI with:
 * - ErrorBoundary for graceful error handling
 * - KeypressProvider for unified keyboard input
 * - MouseProvider (only in alternate buffer mode)
 */
export declare function InkCLIRefactored({ agent, initialSessionId, initialPrompt, startupInfo, soundService, configFilePath, initialBypassPermissions, }: InkCLIProps): import("react/jsx-runtime").JSX.Element;
/**
 * Options for starting the Ink CLI
 */
export interface InkCLIOptions {
    /** Update info if a newer version is available */
    updateInfo?: {
        current: string;
        latest: string;
        updateCommand: string;
    } | undefined;
    /** True if installed agents differ from bundled and user should sync */
    needsAgentSync?: boolean | undefined;
    /** Source agent config file path (if available) */
    configFilePath?: string | null | undefined;
    /** If provided, auto-submits this prompt once the UI is ready */
    initialPrompt?: string | undefined;
    /** Start the UI with bypass permissions mode enabled */
    bypassPermissions?: boolean | undefined;
}
/**
 * Start the modern Ink-based CLI
 */
export declare function startInkCliRefactored(agent: TuiAgentBackend, initialSessionId: string | null, options?: InkCLIOptions): Promise<void>;
export {};
//# sourceMappingURL=InkCLIRefactored.d.ts.map