from typing import Any, Iterator, List, Optional

from .base import RemoteModelProvider

class OpenRouterProvider(RemoteModelProvider):
    api_key: Optional[str]
    model: str

    def __init__(self, api_key: Optional[str] = ..., model: str = ...) -> None: ...
    def is_available(self) -> bool: ...
    def generate(self, prompt: str, **kwargs: Any) -> str: ...
    def generate_iter(self, prompt: str, **kwargs: Any) -> Iterator[str]: ...
    def embed(
        self, text: str, seed: int = ..., **kwargs: Any
    ) -> Optional[List[float]]: ...
    def get_supported_models(self) -> List[str]: ...
    def supports_embeddings(self) -> bool: ...

__all__ = ["OpenRouterProvider"]
