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

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

from dataclasses import dataclass, field
from typing import Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe"


@dataclass
class NfeDistDfeInteresse:
    class Meta:
        name = "nfeDistDFeInteresse"
        namespace = (
            "http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe"
        )

    nfeDadosMsg: Optional["NfeDistDfeInteresse.NfeDadosMsg"] = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )

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


@dataclass
class NfeDistDfeInteresseResponse:
    class Meta:
        name = "nfeDistDFeInteresseResponse"
        namespace = (
            "http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe"
        )

    nfeDistDFeInteresseResult: Optional[
        "NfeDistDfeInteresseResponse.NfeDistDfeInteresseResult"
    ] = field(
        default=None,
        metadata={
            "type": "Element",
        },
    )

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


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

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

    @dataclass
    class Body:
        nfeDistDFeInteresse: Optional[NfeDistDfeInteresse] = field(
            default=None,
            metadata={
                "type": "Element",
                "namespace": "http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe",
            },
        )


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

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

    @dataclass
    class Body:
        nfeDistDFeInteresseResponse: Optional[NfeDistDfeInteresseResponse] = (
            field(
                default=None,
                metadata={
                    "type": "Element",
                    "namespace": "http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe",
                },
            )
        )
        fault: Optional[
            "NfeDistribuicaoDfeSoapNfeDistDfeInteresseOutput.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": "",
                },
            )


class NfeDistribuicaoDfeSoapNfeDistDfeInteresse:
    style = "document"
    location = "https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx"
    transport = "http://schemas.xmlsoap.org/soap/http"
    soapAction = "http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe/nfeDistDFeInteresse"
    input = NfeDistribuicaoDfeSoapNfeDistDfeInteresseInput
    output = NfeDistribuicaoDfeSoapNfeDistDfeInteresseOutput
