# IBM Confidential
# PID 5900-BAF
# Copyright StreamSets Inc., an IBM Company 2026

"""Interface for classes that can be generated by the Python Generator."""

from abc import ABC, abstractmethod


class CodeGeneratable(ABC):
    """Interface that indicates a class has the _as_init() function."""

    @abstractmethod
    def _as_init(self, masked: bool = True) -> str:
        """Returns a string on how to instantiate the auth object.

        Args:
            masked: Whether to mask sensitive credentials. Defaults to True.
        """
        pass
