import tiktoken

class TokenCounter:
    def __init__(self):
        self.encodings = {
            "openai": tiktoken.get_encoding("cl100k_base")
            # Add other provider encodings here as needed
        }

    def count_tokens(self, provider, text):
        if provider not in self.encodings:
            raise ValueError(f"Provider '{provider}' not supported. Supported providers: {list(self.encodings.keys())}")
        
        encoding = self.encodings[provider]
        return len(encoding.encode(text))

# Example Usage:
if __name__ == '__main__':
    counter = TokenCounter()
    text = "This is a test sentence."
    provider = "openai"
    token_count = counter.count_tokens(provider, text)
    print(f"Token count for provider '{provider}': {token_count}")