"""This file was generated by xsdata, v25.4, on 2025-04-15 20:53:13

Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from typing import Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe"


@dataclass
class MdfeCabecMsg:
    class Meta:
        name = "mdfeCabecMsg"
        namespace = (
            "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe"
        )

    cUF: Optional[str] = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    versaoDados: Optional[str] = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )
    any_attributes: dict[str, str] = field(
        default_factory=dict,
        metadata={
            "type": "Attributes",
            "namespace": "##any",
        },
    )


@dataclass
class MdfeDadosMsg:
    class Meta:
        name = "mdfeDadosMsg"
        namespace = (
            "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe"
        )

    content: list[object] = field(
        default_factory=list,
        metadata={
            "type": "Wildcard",
            "namespace": "##any",
            "mixed": True,
        },
    )


@dataclass
class MdfeDistDfeInteresseResult:
    class Meta:
        name = "mdfeDistDFeInteresseResult"
        namespace = (
            "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe"
        )

    content: list[object] = field(
        default_factory=list,
        metadata={
            "type": "Wildcard",
            "namespace": "##any",
            "mixed": True,
        },
    )


@dataclass
class MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseInput:
    class Meta:
        name = "Envelope"
        namespace = "http://schemas.xmlsoap.org/soap/envelope/"

    body: Optional[
        "MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseInput.Body"
    ] = field(
        default=None,
        metadata={
            "name": "Body",
            "type": "Element",
        },
    )
    header: Optional[
        "MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseInput.Header"
    ] = field(
        default=None,
        metadata={
            "name": "Header",
            "type": "Element",
        },
    )

    @dataclass
    class Body:
        mdfeDadosMsg: Optional[MdfeDadosMsg] = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe",
            },
        )

    @dataclass
    class Header:
        mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe",
            },
        )


@dataclass
class MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput:
    class Meta:
        name = "Envelope"
        namespace = "http://schemas.xmlsoap.org/soap/envelope/"

    body: Optional[
        "MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput.Body"
    ] = field(
        default=None,
        metadata={
            "name": "Body",
            "type": "Element",
        },
    )
    header: Optional[
        "MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput.Header"
    ] = field(
        default=None,
        metadata={
            "name": "Header",
            "type": "Element",
        },
    )

    @dataclass
    class Body:
        mdfeDistDFeInteresseResult: Optional[MdfeDistDfeInteresseResult] = (
            field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe",
                },
            )
        )
        fault: Optional[
            "MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput.Body.Fault"
        ] = field(
            default=None,
            metadata={
                "name": "Fault",
                "type": "Element",
            },
        )

        @dataclass
        class Fault:
            faultcode: Optional[str] = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "",
                },
            )
            faultstring: Optional[str] = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "",
                },
            )
            faultactor: Optional[str] = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "",
                },
            )
            detail: Optional[str] = field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "",
                },
            )

    @dataclass
    class Header:
        mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe",
            },
        )


class MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresse:
    style = "document"
    location = "https://mdfe.svrs.rs.gov.br/ws/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx"
    transport = "http://schemas.xmlsoap.org/soap/http"
    soapAction = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe/mdfeDistDFeInteresse"
    input = MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseInput
    output = MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput
