//#region src/services/prompt/types.d.ts
/**
* Prompt request and response types
*/
/**
* Chat message format (OpenAI-compatible)
*/
interface ChatMessage {
  role: "system" | "user" | "assistant";
  content: string;
}
/**
* Prompt request configuration
* Supports both single-turn (prompt) and multi-turn (messages) modes
*/
interface PromptRequest {
  prompt?: string;
  system?: string;
  messages?: ChatMessage[];
  model?: string;
  temperature?: number;
  maxTokens?: number;
  stream?: boolean;
  abortSignal?: AbortSignal;
}
/**
* Prompt response
*/
interface PromptResponse {
  content: string;
  model: string;
  provider: string;
  usage?: {
    promptTokens: number;
    completionTokens: number;
    totalTokens: number;
  };
  finishReason?: string;
}
/**
* Error thrown when a model is not supported
*/
declare class ModelNotSupportedError extends Error {
  constructor(model: string, availableModels: string[]);
}
/**
* Error thrown when all providers fail
*/
declare class AllProvidersFailedError extends Error {
  readonly errors: Array<{
    provider: string;
    error: Error;
  }>;
  constructor(model: string, errors: Array<{
    provider: string;
    error: Error;
  }>);
}
//#endregion
export { PromptResponse as a, PromptRequest as i, ChatMessage as n, ModelNotSupportedError as r, AllProvidersFailedError as t };