from io import BytesIO, StringIO
from pathlib import Path

class ExtendedPredictiveModelContent:
    extended_predictive_model_yaml: StringIO
    external_model_json: StringIO | None
    external_model_pmml: StringIO | None
    attached_images: dict[str, BytesIO]
    def __init__(self, extended_predictive_model_yaml: StringIO, external_model_json: StringIO | None = None, external_model_pmml: StringIO | None = None, attached_images: dict[str, BytesIO] = {}) -> None: ...
    def save_to_directory(self, directory: Path, pmml_filename: str | None = None) -> None: ...
    def save_to_tar(self) -> BytesIO: ...
    def save_to_zip(self, pmml_filename: str | None = None) -> BytesIO: ...
    @classmethod
    def load_from_directory(cls, directory: Path) -> ExtendedPredictiveModelContent: ...
    @classmethod
    def load_from_tar(cls, tar_content: BytesIO) -> ExtendedPredictiveModelContent: ...
    @classmethod
    def load_from_zip(cls, zip_content: BytesIO) -> ExtendedPredictiveModelContent: ...
