export { LlmRouter } from './router.js';
export type { TelemetryEntry } from './router.js';

export {
  DEFAULT_PROVIDERS,
  PAID_PROVIDERS,
  createLocalOllamaProvider,
  getAvailableProviders,
} from './registry.js';
export { classifyPrompt } from './classifier.js';
export { HealthTracker } from './health.js';
export { selectCandidates, pickNext, excludeCandidate, createRoundRobinState } from './selector.js';
export type { SelectionCandidate } from './selector.js';
export { sendChatCompletion } from './client.js';

export type {
  ModelConfig,
  ProviderConfig,
  PromptCategory,
  ClassificationResult,
  HealthSnapshot,
  RequestRecord,
  RouterConfig,
  ChatMessage,
  ChatCompletionRequest,
  ChatCompletionChoice,
  ChatCompletionUsage,
  ChatCompletionResponse,
  RouteResult,
  RoutePlan,
} from './types.js';
