"""Base client implementation for Omni providers."""

import os
import logging
from typing import Dict, List, Optional, Any, Tuple
import aiohttp
import json

logger = logging.getLogger(__name__)

class BaseOmniClient:
    """Base class for provider-specific clients."""
    
    def __init__(
        self,
        api_key: Optional[str] = None,
        model: Optional[str] = None
    ):
        """Initialize base client.
        
        Args:
            api_key: Optional API key
            model: Optional model name
        """
        self.api_key = api_key
        self.model = model
        
    async def run_interleaved(
        self,
        messages: List[Dict[str, Any]],
        system: str,
        max_tokens: Optional[int] = None
    ) -> Dict[str, Any]:
        """Run interleaved chat completion.
        
        Args:
            messages: List of message dicts
            system: System prompt
            max_tokens: Optional max tokens override
            
        Returns:
            Response dict
        """
        raise NotImplementedError
