// src/provider/canonical.ts
export interface TextBlock { readonly text: string; }

export interface ToolCall {
  readonly id: string;
  readonly name: string;
  readonly input: unknown;
}

export interface ToolResult {
  readonly toolCallId: string;
  readonly content: string;
  readonly isError: boolean;
  readonly toolName?: string;
  readonly toolInput?: Record<string, unknown>;
}

export interface TokenUsage {
  readonly inputTokens: number;
  readonly outputTokens: number;
  readonly cacheHitInputTokens: number;
  readonly cacheCreationInputTokens: number;
}

export type StopReason =
  | "end_turn"
  | "tool_use"
  | "max_tokens"
  | "stop_sequence"
  | "other";
