/**
 * Command execution service
 * Handles command parsing and execution
 */
import type { CommandResult } from '../interactive-commands/command-parser.js';
import type { StyledMessageType, StyledData } from '../state/types.js';
import type { TuiAgentBackend } from '../agent-backend.js';
/**
 * Styled output for command execution
 */
export interface StyledOutput {
    styledType: StyledMessageType;
    styledData: StyledData;
    fallbackText: string;
}
/**
 * Result of command execution
 */
export interface CommandExecutionResult {
    type: 'handled' | 'output' | 'styled' | 'sendMessage';
    output?: string;
    styled?: StyledOutput;
    /** Message text to send through normal streaming flow (for prompt commands) */
    messageToSend?: string;
}
/**
 * Check if a result is a styled output
 */
export declare function isStyledOutput(result: unknown): result is StyledOutput;
/**
 * Marker object for commands that want to send a message through the normal stream flow
 */
export interface SendMessageMarker {
    __sendMessage: true;
    text: string;
}
/**
 * Create a send message marker (used by prompt commands)
 */
export declare function createSendMessageMarker(text: string): SendMessageMarker;
/**
 * Check if a result is a send message marker
 */
export declare function isSendMessageMarker(result: unknown): result is SendMessageMarker;
/**
 * Service for executing commands
 */
export declare class CommandService {
    /**
     * Parses input and determines if it's a command or prompt
     */
    parseInput(input: string): CommandResult;
    /**
     * Executes a command and returns the result
     */
    executeCommand(command: string, args: string[], agent: TuiAgentBackend, sessionId?: string, configFilePath?: string | null): Promise<CommandExecutionResult>;
}
//# sourceMappingURL=CommandService.d.ts.map