import type { AssistantCloudAPI } from "./AssistantCloudAPI.js";
import type { SamplingCallData } from "./instrumentMcpSampling.js";
import { AssistantStream } from "assistant-stream";
type AssistantCloudRunsStreamBody = {
    thread_id: string;
    assistant_id: "system/thread_title";
    messages: readonly unknown[];
};
type ReportToolCall = {
    tool_name: string;
    tool_call_id: string;
    tool_args?: string;
    tool_result?: string;
    tool_source?: "mcp" | "frontend" | "backend";
    start_ms?: number;
    end_ms?: number;
    sampling_calls?: SamplingCallData[];
};
export type AssistantCloudRunReport = {
    thread_id: string;
    status: "completed" | "incomplete" | "error";
    total_steps?: number;
    tool_calls?: ReportToolCall[];
    steps?: {
        input_tokens?: number;
        output_tokens?: number;
        reasoning_tokens?: number;
        cached_input_tokens?: number;
        tool_calls?: ReportToolCall[];
        start_ms?: number;
        end_ms?: number;
    }[];
    input_tokens?: number;
    output_tokens?: number;
    reasoning_tokens?: number;
    cached_input_tokens?: number;
    model_id?: string;
    provider_type?: string;
    duration_ms?: number;
    output_text?: string;
    metadata?: Record<string, unknown>;
};
export declare class AssistantCloudRuns {
    private cloud;
    constructor(cloud: AssistantCloudAPI);
    __internal_getAssistantOptions(assistantId: string): {
        api: string;
        headers: () => Promise<{
            Accept: string;
        }>;
        body: {
            assistant_id: string;
            response_format: string;
            thread_id: string;
        };
    };
    stream(body: AssistantCloudRunsStreamBody): Promise<AssistantStream>;
    report(body: AssistantCloudRunReport): Promise<{
        run_id: string;
    }>;
}
export {};
//# sourceMappingURL=AssistantCloudRuns.d.ts.map