import type { ToolContentBlock } from './tool-response.js'; import type { createErrorToolResponse } from './tool-response.js'; export declare const STEP_STARTING = 0; export declare const STEP_VALIDATING = 1; export declare const STEP_BUILDING_PROMPT = 2; export declare const STEP_CALLING_MODEL = 3; export declare const STEP_VALIDATING_RESPONSE = 4; export declare const STEP_FINALIZING = 5; export declare const DEFAULT_PROGRESS_CONTEXT = "request"; type ProgressToken = string | number; interface ProgressNotificationParams { progressToken: ProgressToken; progress: number; total?: number; message?: string; } export interface ProgressPayload { current: number; total?: number; message?: string; } export interface ProgressExtra { _meta?: { progressToken?: unknown; }; signal?: AbortSignal; sendNotification: (notification: { method: 'notifications/progress'; params: ProgressNotificationParams; }) => Promise; } export declare function getOrCreateProgressReporter(extra: ProgressExtra): (payload: ProgressPayload) => Promise; export declare function normalizeProgressContext(context: string | undefined): string; export declare function createFailureStatusMessage(outcome: 'failed' | 'cancelled', errorMessage: string): string; export declare function extractValidationMessage(validationError: ReturnType): string; export declare function sendSingleStepProgress(extra: ProgressExtra, toolName: string, context: string, current: 0 | 1, state: 'starting' | 'completed' | 'failed' | 'cancelled'): Promise; export interface TaskStatusReporter { updateStatus: (message: string) => Promise; storeResult?: (status: 'completed' | 'failed', result: { isError?: boolean; content: ToolContentBlock[]; }) => Promise; storeCancelledResult?: (result: { isError?: boolean; content: ToolContentBlock[]; }) => Promise; reportCancellation?: (message: string) => Promise; } export declare class RunReporter { private readonly toolName; private readonly reportProgress; private readonly statusReporter; private progressContext; private lastStatusMessage; constructor(toolName: string, reportProgress: (payload: ProgressPayload) => Promise, statusReporter: TaskStatusReporter, progressContext: string); updateStatus(message: string): Promise; storeResultSafely(status: 'completed' | 'failed', result: { isError?: boolean; content: ToolContentBlock[]; }, onLog: (level: string, data: unknown) => Promise): Promise; storeCancelledResultSafely(result: { isError?: boolean; content: ToolContentBlock[]; }, onLog: (level: string, data: unknown) => Promise): Promise; reportCancellation(message: string): Promise; reportStep(step: number, message: string): Promise; reportCompletion(outcome: string): Promise; reportSchemaRetry(retryCount: number, maxRetries: number): Promise; updateContext(newContext: string): void; } export {};