/**
 * RunAgentPromptPlaygroundUseCase
 *
 * Streams a chat completion against the configured executor for an
 * agent type. The user can supply an inline `promptBody` to test an
 * unsaved override; otherwise the resolver falls back to the bundled
 * prompt for the requested slot (or the slot's stored override when
 * one already exists).
 *
 * Operates on an isolated transcript — does NOT touch agent_runs,
 * agent_messages, or supervisor_decisions tables (FR-40, NFR-18).
 */
import type { IAgentExecutorProvider } from '../../ports/output/agents/agent-executor-provider.interface.js';
import type { IAgentPromptResolver } from '../../ports/output/agents/agent-prompt-resolver.interface.js';
export interface PlaygroundChatMessage {
    role: 'user' | 'assistant' | 'system';
    content: string;
}
export interface RunAgentPromptPlaygroundInput {
    agentType: string;
    promptId: string;
    /** Optional inline override body — used to preview an unsaved edit. */
    promptBody?: string;
    /** Conversation transcript, oldest first; the latest user turn is the prompt to send. */
    messages: PlaygroundChatMessage[];
    /** Optional model id passed straight through to the executor. */
    modelId?: string;
}
export interface PlaygroundStreamEvent {
    type: 'system' | 'delta' | 'done' | 'error';
    content: string;
}
export declare class RunAgentPromptPlaygroundUseCase {
    private readonly executorProvider;
    private readonly promptResolver;
    constructor(executorProvider: IAgentExecutorProvider, promptResolver: IAgentPromptResolver);
    execute(input: RunAgentPromptPlaygroundInput): AsyncIterable<PlaygroundStreamEvent>;
}
//# sourceMappingURL=run-agent-prompt-playground.use-case.d.ts.map