// Types
export type {
  OllamaModel,
  OllamaModelDetails,
  OllamaRunningModel,
  OllamaChatMessage,
  OllamaStreamChunk,
  OllamaGenerateChunk,
  OllamaEmbeddingResponse,
  OllamaShowResponse,
  OllamaPullProgress,
  OllamaVersionResponse,
  OllamaClientOptions,
  OllamaChatOptions,
  OllamaGenerateOptions,
  OllamaEmbedOptions,
} from './types.js';

// Config
export { resolveOllamaUrl } from './config.js';

// Client
export { OllamaClient } from './client.js';

// Streaming
export { streamChat, streamGenerate } from './stream.js';

// Embeddings
export { getEmbedding, getEmbeddingVector } from './embed.js';

// Health
export { checkHealth, checkHealthDetailed } from './health.js';

// NDJSON parser
export { parseNdjsonStream } from './ndjson.js';

// Client-side stream consumers
export { consumeSSEStream, consumeNdjsonStream } from './client-parsers.js';

// Format utilities
export { formatBytes, estimateTokens, getModelContextWindow, formatUptime } from './format.js';
