import React from 'react';
import type { ControlPlaneSessionStore, ControlPlaneSessionStoreSnapshot } from '../state/control-plane-session-store.js';
import type { ControlPlaneSlashCommandHint } from '../../client-shared/api/types.js';
import type { PromptInputKey } from './PromptInput.js';
type ComposerPanelProps = {
    store: ControlPlaneSessionStore;
    snapshot: ControlPlaneSessionStoreSnapshot;
    keyboardDisabled?: boolean;
    localSlashCommandHints?: ControlPlaneSlashCommandHint[];
    onLocalSlashCommand?: (command: string) => boolean;
    onSpecialKey?: (input: string, key: PromptInputKey, draft: string) => boolean;
};
/**
 * Owns the terminal composer interaction boundary.
 *
 * Prompt drafts, history, completions, and picker input are TUI-local state.
 * Keeping them here prevents each keystroke from invalidating the transcript,
 * markdown renderer, diff review panel, and other expensive session surfaces.
 * Domain behavior still belongs to the control-plane API/store.
 */
export declare const ComposerPanel: React.NamedExoticComponent<ComposerPanelProps>;
export declare function shouldDisablePromptInputSubmit({ keyboardDisabled, pickerVisible, submitDisabled, }: {
    keyboardDisabled: boolean;
    pickerVisible: boolean;
    submitDisabled: boolean;
}): boolean;
export {};
//# sourceMappingURL=ComposerPanel.d.ts.map