import { Attributes } from 'xml-js';

export declare class Aerolineas extends Complemento<XmlAerolineas> {
    complemento: XmlAerolineas;
    constructor(attributes: XmlAerolineasAttributes);
    OtrosCargos(attributes: XmlAerolineasOtrosCargosAttributes): void;
    Cargo(attributes: XmlAerolineasCargoAttributes): void;
}

declare type AmbitoIne = 'Local' | 'Federal';

export declare interface AnyKey {
    [key: string]: any;
}

declare class Autotransporte {
    private static instance;
    transporte: CPM20Autotransporte;
    constructor(merca?: CPM20AutotransporteAttr);
    reset(): void;
    setAttributes(merca?: CPM20AutotransporteAttr): void;
    static getInstance(merca?: CPM20AutotransporteAttr): Autotransporte;
    setIdentificacionVehicular(idVehicle: CrtPrtIdentificacionVehicularAttr): void;
    setSeguro(seguro: CrtPrtSegurosAttr): void;
    setRemolque(remolque: RemolqueAttr): void;
    getTransporte(): CPM20Autotransporte;
}

export declare interface Carro {
    _attributes: CarroAttr;
    'cartaporte20:Contenedor': CarroContenedor[];
}

export declare interface CarroAttr {
    TipoCarro: string;
    MatriculaCarro: string;
    GuiaCarro: string;
    ToneladasNetasCarro: string;
}

export declare interface CarroContenedor {
    _attributes: CarroContenedorAttr;
}

export declare interface CarroContenedorAttr {
    TipoContenedor: string;
    PesoContenedorVacio: string;
    PesoNetoMercancia: string;
}

export declare class CartaPorte20 extends Complemento<XmlCartaPorte20> {
    complemento: XmlCartaPorte20;
    constructor(attributes?: XmlCartaPorte20Attribute);
    setAttributes(attributes: XmlCartaPorte20Attribute): void;
    setUbicacion(ubicacion: CtaPrt20Ubicacion): void;
    setMercancias(mercancia: CtaPrt20Mercancias): void;
    setFiguraTransporte(ft: CtaPrt20FiguraTransporte): void;
}

export declare class CartaPorte30 extends Complemento<XmlCartaPorte30> {
    complemento: XmlCartaPorte30;
    constructor(attributes?: XmlCartaPorte30Attributes);
    setAttributes(attributes: XmlCartaPorte30Attributes): void;
    setUbicacion(attributes: XmlCP30UbicacionAttributes, domicilio?: XmlCP30DomicilioAttributes): void;
    setMercancias(attributes: XmlCP30MercanciasAttributes): void;
    setMercancia(attributes: XmlCP30MercanciaAttributes): void;
    setFiguraTransporte(attributes: XmlCP30TipoFiguraAttributes, domicilio?: XmlCP30DomicilioAttributes): void;
}

export declare class CartaPorte31 extends Complemento<XmlCartaPorte31> {
    complemento: XmlCartaPorte31;
    constructor(attributes?: XmlCartaPorte31Attributes);
    setAttributes(attributes: XmlCartaPorte31Attributes): void;
    setUbicacion(attributes: XmlCP31UbicacionAttributes, domicilio?: XmlCP31DomicilioAttributes): void;
    setMercancias(attributes: XmlCP31MercanciasAttributes): void;
    setMercancia(attributes: XmlCP31MercanciaAttributes): void;
    setFiguraTransporte(attributes: XmlCP31TipoFiguraAttributes, domicilio?: XmlCP31DomicilioAttributes): void;
}

export declare class Cce11 extends Complemento<XmlCce11> {
    complemento: XmlCce11;
    constructor(attributes: XmlCce11Attributes);
    Emisor(attributes?: XmlCce11EmisorAttributes, domicilio?: XmlCce11DomicilioAttributes): void;
    Receptor(attributes?: XmlCce11ReceptorAttributes, domicilio?: XmlCce11DomicilioAttributes): void;
    Propietario(attributes: XmlCce11PropietarioAttributes): void;
    Destinatario(attributes?: XmlCce11DestinatarioAttributes, domicilio?: XmlCce11DomicilioAttributes): void;
    Mercancias(mercancia: XmlCce11MercanciaAttributes, especificaciones?: XmlCce11DescEspecificaAttributes[]): void;
}

declare type ClaveEntidadIne = 'AGU' | 'BCN' | 'BCS' | 'CAM' | 'CHP' | 'CHH' | 'COA' | 'COL' | 'CR1' | 'CR2' | 'CR3' | 'CR4' | 'CR5' | 'DIF' | 'DUR' | 'GUA' | 'GRO' | 'HID' | 'JAL' | 'MEX' | 'MIC' | 'MOR' | 'NAC' | 'NAY' | 'NLE' | 'OAX' | 'PUE' | 'QUE' | 'ROO' | 'SLP' | 'SIN' | 'SON' | 'TAB' | 'TAM' | 'TLA' | 'VER' | 'YUC' | 'ZAC';

export declare class ComercioExterior20 extends Complemento<XmlCce20> {
    complemento: XmlCce20;
    constructor(attributes: XmlCce20Attributes);
    Emisor(attributes?: XmlCce20EmisorAttributes, domicilio?: XmlCce20DomicilioAttributes): void;
    Receptor(attributes?: XmlCce20ReceptorAttributes, domicilio?: XmlCce20DomicilioAttributes): void;
    Propietario(attributes: XmlCce20PropietarioAttributes): void;
    Destinatario(attributes?: XmlCce20DestinatarioAttributes, domicilio?: XmlCce20DomicilioAttributes): void;
    Mercancias(mercancia: XmlCce20MercanciaAttributes, especificaciones?: XmlCce20DescEspecificaAttributes[]): void;
}

export declare type ComlementType = Cce11 | ComercioExterior20 | ConsumoDeCombustibles11 | CartaPorte30 | CartaPorte31 | Decreto | Destruccion | Detallista | Divisas | Donat | Ecc12 | Gceh | Ieeh | Implocal | LeyendasFisc | Nomina12 | NotariosPublicos | ObrasArte | PagoEnEspecie | Pfic | RegistroFiscal | ServicioParcial | Spei | Tfd | Tpe | ValesDeDespensa | VehiculoUsado | VentaVehiculos | Complemento;

export declare type ComlementTypeConcept = Iedu | HidrocarburosPetroliferos | VentaVehiculos;

declare abstract class Complemento<T = any> {
    complemento: T;
    private xmlns;
    private key;
    private schemaLocation;
    private xmlnskey;
    constructor(config: ConfigComplemento);
    getComplement(): ComplementsReturn<T>;
}

export declare interface ComplementProperties {
    key: string;
    xmlns: string;
    xmlnskey: string;
    schemaLocation: string[];
}

export declare interface ComplementsReturn<T = any> extends ComplementProperties {
    complement: ComplementTypeXml<T>;
}

export declare type ComplementTypeXml<T> = XmlAerolineas | XmlCartaPorte20 | XmlCartaPorte30 | XmlCartaPorte31 | XmlCce11 | XmlCce20 | XmlConsumodecombustibles | XmlDecreto | XmlDestruccion | XmlDetallista | XmlDivisas | XmlDonat | XmlEcc12 | XmlGceh | XmlIeeh | XmlImplocal | XmlLeyendasFiscales | XmlNomina12 | XmlNotariosPublicos | XmlObrasarte | XmlPagoenespecie | XmlPfic | XmlRegistrofiscal | XmlServicioparcial | XmlSpei | XmlTfd | XmlTpe | XmlValesDeDespensa | XmlVehiculousado | XmlVentaVehiculos | T;

declare interface ConfigComplemento {
    xmlns: string;
    key: string;
    xsd: string;
}

export declare class ConsumoDeCombustibles11 extends Complemento<XmlConsumodecombustibles> {
    complemento: XmlConsumodecombustibles;
    constructor(attributes: XmlConsumodecombustiblesAttributes);
    Concepto(concepto: XmlCondComConceptoAttributes, determinados?: XmlCondComDeterminadoAttributes[]): void;
}

export declare interface CP20FTransporte {
    'cartaporte20:TiposFigura': CP20TiposFigura[];
}

export declare interface CP20Mercancia {
    _attributes?: XmlCP20MercanciaAttribute;
    'cartaporte20:Pedimentos': CrtPrt20Pedimentos[];
    'cartaporte20:GuiasIdentificacion': CrtPrt20GuiaIdentificacion[];
    'cartaporte20:CantidadTransporta': CrtPrt20CantidadTransporta[];
    'cartaporte20:DetalleMercancia': CrtPrt20DetalleMercancia[];
}

export declare interface CP20Mercancias {
    _attributes?: XmlCP20MercanciasAttribute;
    'cartaporte20:Mercancia': CP20Mercancia[];
    'cartaporte20:Autotransporte': CPM20Autotransporte[];
    'cartaporte20:TransporteMaritimo': CPM20TMaritimo[];
    'cartaporte20:TransporteAereo': CPMT20Aereo[];
    'cartaporte20:TransporteFerroviario': CPM20TFerroviario[];
}

export declare interface CP20TiposFigura {
    _attributes: CP20TiposFiguraAttr;
    'cartaporte20:PartesTransporte': PartesTransporte[];
    'cartaporte20:Domicilio': CPDomicilio[];
}

export declare interface CP20TiposFiguraAttr {
    TipoFigura: string;
    RFCFigura?: string;
    NumLicencia?: string;
    NombreFigura?: string;
    NumRegIdTribFigura?: string;
    ResidenciaFiscalFigura?: string;
}

export declare interface CP20Ubicacion {
    _attributes?: XmlCP20UbicacionAttribute;
    'cartaporte20:Domicilio'?: CPDomicilio[];
}

export declare interface CP20Ubicaciones {
    'cartaporte20:Ubicacion': CP20Ubicacion[];
}

export declare interface CPArrendatario {
    _attributes?: XmlCPArrendatarioAttribute;
    'cartaporte:Domicilio': CPDomicilio[];
}

export declare interface CPDomicilio {
    _attributes?: CPDomicilioAttribute;
}

export declare interface CPDomicilioAttribute extends Attributes {
    Calle?: string;
    NumeroExterior?: string;
    NumeroInterior?: string;
    Colonia?: string;
    Localidad?: string;
    Referencia?: string;
    Municipio?: string;
    Estado: string;
    Pais: string;
    CodigoPostal: string;
}

export declare interface CPFTOperador {
    _attributes?: CPFTOperadorAttribute;
    'cartaporte:Domicilio': CPDomicilio[];
}

export declare interface CPFTOperadorAttribute {
    RFCOperador?: string;
    NumLicencia?: string;
    NombreOperador?: string;
    NumRegIdTribOperador?: string;
    ResidenciaFiscalOperador?: string;
}

export declare interface CPFTOperadores {
    'cartaporte:Operador': CPFTOperador[];
}

export declare interface CPM20Autotransporte {
    _attributes?: CPM20AutotransporteAttr;
    'cartaporte20:IdentificacionVehicular': CrtPrtIdentificacionVehicular[];
    'cartaporte20:Seguros': CrtPrtSeguros[];
    'cartaporte20:Remolques': Remolques;
}

export declare interface CPM20AutotransporteAttr {
    PermSCT: string;
    NumPermisoSCT: string;
}

export declare interface CPM20TFerroviario {
    _attributes?: XmlCPM20TFerroviarioAttribute;
    'cartaporte20:DerechosDePaso': DerechosDePaso[];
    'cartaporte20:Carro': Carro[];
}

export declare interface CPM20TMaritimo {
    _attributes?: XmlCPM20TMaritimoAttribute;
    'cartaporte20:Contenedor': CPMTMaritimoCont[];
}

export declare interface CPMAFederal {
    _attributes?: XmlCPMAFederalAttribute;
    'cartaporte:IdentificacionVehicular': CPMAFIVehicular[];
    'cartaporte:Remolques': CPMAFRemolques;
}

export declare interface CPMAFIVehicular {
    _attributes?: XmlCPMAFIVehicularAttribute;
}

export declare interface CPMAFRemolque {
    _attributes?: XmlCPMAFRemolqueAttribute;
}

export declare interface CPMAFRemolques {
    'cartaporte:Remolque': CPMAFRemolque[];
}

export declare interface CPMCTransporta {
    _attributes?: CPMCTransportaAttribute;
}

export declare interface CPMCTransportaAttribute {
    Cantidad: string;
    IDOrigen: string;
    IDDestino: string;
    CvesTransporte?: string;
}

export declare interface CPMDMercancia {
    _attributes?: CPMDMercanciaAttribute;
}

export declare interface CPMDMercanciaAttribute {
    UnidadPeso: string;
    PesoBruto: string;
    PesoNeto: string;
    PesoTara: string;
    NumPiezas?: string;
}

export declare interface CPMT20Aereo {
    _attributes?: XmlCPM20TAereoAttribute;
}

export declare interface CPMTMaritimoCont {
    _attributes?: XmlCPMTMaritimoConAttribute;
}

export declare interface CPNotificado {
    _attributes?: XmlCPNotificadoAttribute;
    'cartaporte:Domicilio': CPDomicilio[];
}

export declare interface CPPropietario {
    _attributes?: XmlCPPropietarioAttribute;
    'cartaporte:Domicilio': CPDomicilio[];
}

export declare interface CPUDestino {
    _attributes?: XmlCPUDestinoAttribute;
}

export declare interface CPUOrigen {
    _attributes?: XmlCPUOrigenAttribute;
}

export declare interface CrtPrt20CantidadTransporta {
    _attributes: CrtPrt20CantidadTransportaAttr;
}

export declare interface CrtPrt20CantidadTransportaAttr {
    Cantidad: string;
    IDOrigen: string;
    IDDestino: string;
    CvesTransporte?: string;
}

export declare interface CrtPrt20DetalleMercancia {
    _attributes: CrtPrt20DetalleMercanciaAttr;
}

export declare interface CrtPrt20DetalleMercanciaAttr {
    UnidadPesoMerc: string;
    PesoBruto: string;
    PesoNeto: string;
    PesoTara: string;
    NumPiezas?: string;
}

export declare interface CrtPrt20GuiaIdAttr {
    NumeroGuiaIdentificacion: string;
    DescripGuiaIdentificacion: string;
    PesoGuiaIdentificacion: string;
}

export declare interface CrtPrt20GuiaIdentificacion {
    _attributes: CrtPrt20GuiaIdAttr;
}

export declare interface CrtPrt20Pedimentos {
    _attributes: CrtPrt20PedimentosAttr;
}

export declare interface CrtPrt20PedimentosAttr {
    Pedimento: string;
}

export declare interface CrtPrtIdentificacionVehicular {
    _attributes: CrtPrtIdentificacionVehicularAttr;
}

export declare interface CrtPrtIdentificacionVehicularAttr {
    ConfigVehicular: string;
    PlacaVM: string;
    AnioModeloVM: string;
}

export declare interface CrtPrtSeguros {
    _attributes: CrtPrtSegurosAttr;
}

export declare interface CrtPrtSegurosAttr {
    AseguraRespCivil: string;
    PolizaRespCivil: string;
    AseguraMedAmbiente?: string;
    PolizaMedAmbiente?: string;
    AseguraCarga?: string;
    PolizaCarga?: string;
    PrimaSeguro?: string;
}

export declare class CtaPrt20FiguraTransporte {
    private fTransporte;
    constructor(attributes?: CP20TiposFiguraAttr);
    setAttributes(attributes: CP20TiposFiguraAttr): void;
    setPartesTransporte(pt: PartesTransporteAttr): void;
    setDomicilio(domicilio: CPDomicilioAttribute): void;
    getFiguraTransporte(): CP20TiposFigura;
}

export declare class CtaPrt20Mercancias {
    private mercancias;
    constructor(attributes?: XmlCP20MercanciasAttribute);
    setAttributes(attributes: XmlCP20MercanciasAttribute): void;
    setMercancia(merca: XmlCP20MercanciaAttribute): Mercancia;
    setAutotransporte(auto: CPM20AutotransporteAttr): Autotransporte;
    setTransporteMaritimo(maritimo: XmlCPM20TMaritimoAttribute): TransporteMaritimo;
    setTransporteAereo(aereo: XmlCPM20TAereoAttribute): void;
    setTransporteFerroviario(ferroviario: XmlCPM20TFerroviarioAttribute): TransporteFerroviario;
    getMercancias(): CP20Mercancias;
}

export declare class CtaPrt20Ubicacion {
    private ubicacion;
    constructor(attributes?: XmlCP20UbicacionAttribute);
    setAttributes(attributes: XmlCP20UbicacionAttribute): void;
    setDomicilio(domicilio: CPDomicilioAttribute): void;
    getUbicacion(): CP20Ubicacion;
}

export declare class Decreto extends Complemento<XmlDecreto> {
    complemento: XmlDecreto;
    constructor(attributes: XmlDecretoAttributes);
    RenovVehicular(attributes: XmlDecretoRenovAttributes): void;
    SustitVehicular(attributes: XmlDecretoSustitAttributes): void;
}

export declare interface DerechosDePaso {
    _attributes: DerechosDePasoAttr;
}

export declare interface DerechosDePasoAttr {
    TipoDerechoDePaso: string;
    KilometrajePagado: string;
}

export declare class Destruccion extends Complemento<XmlDestruccion> {
    complemento: XmlDestruccion;
    constructor(attributes: XmlDestruccionAttributes);
    InformacionAduanera(attributes: XmlDestruccionInfoAduaneraAttributes): void;
    VehiculoDestruido(attributes: XmlVehiculoDestruidoAttributes): void;
}

export declare class Detallista extends Complemento<XmlDetallista> {
    complemento: XmlDetallista;
    constructor(attributes: XmlDetallistaAttributes);
}

export declare class Divisas extends Complemento<XmlDivisas> {
    complemento: XmlDivisas;
    constructor(attributes: XmlDivisasAttributes);
}

export declare class Donat extends Complemento<XmlDonat> {
    complemento: XmlDonat;
    constructor(attributes: XmlDonatAttributes);
}

declare interface DR {
    BaseDR: string;
    ImpuestoDR: string;
    TipoFactorDR: string;
    TasaOCuotaDR?: string;
    ImporteDR?: string;
}

export declare class Ecc12 extends Complemento<XmlEcc12> {
    complemento: XmlEcc12;
    constructor(attributes: XmlEcc12Attributes);
    Concepto(concepto: XmlEcc12ConceptoAttributes, traslados?: XmlEcc12TrasladoAttributes[]): void;
}

export declare class Gceh extends Complemento<XmlGceh> {
    complemento: XmlGceh;
    private currentErogacion;
    constructor(attributes: XmlGcehAttributes);
    erogacion(attributes: XmlGcehErogacionAttributes): Gceh;
    documentoRelacionado(attributes: XmlGcehDocRelacionadoAttributes): Gceh;
    actividad(attributes: XmlGcehActividadAttributes): Gceh;
    centroCostos(attributes: XmlGcehCentroCostoAttributes): Gceh;
}

export declare class HidrocarburosPetroliferos extends Complemento<XmlHidrocarburosPetroliferos> {
    complemento: XmlHidrocarburosPetroliferos;
    constructor(attributes: XmlHidrocarburosPetroliferosAttributes);
}

export declare class Iedu extends Complemento<XmlIedu> {
    complemento: XmlIedu;
    constructor(attributes: XmlIeduAttribute);
}

export declare class Ieeh extends Complemento<XmlIeeh> {
    complemento: XmlIeeh;
    constructor(attributes: XmlIeehAttributes);
    docRelacionado(attributes: XmlIeehDocRelacionadoAttributes): void;
}

export declare class Implocal extends Complemento<XmlImplocal> {
    complemento: XmlImplocal;
    constructor(attributes: XmlImplocalAttributes);
    retenciones(attributes: XmlImplocalRetencionAttributes): void;
    traslados(attributes: XmlImplocalTrasladoAttributes): void;
}

export declare class Ine extends Complemento<XmlIne> {
    complemento: XmlIne;
    constructor(attributes: XmlIneAttribute);
    Entidad(attributes: XmlIneEntidadAttribute): void;
    Contabilidad(attributes: XmlIneContabilidadAttribute): void;
}

export declare class LeyendasFisc extends Complemento<XmlLeyendasFiscales> {
    complemento: XmlLeyendasFiscales;
    constructor(attributes?: XmlLeyendasFiscalesAttributes);
    leyenda(attributes: XmlLeyendaAttributes): void;
}

declare class Mercancia {
    private static instance;
    mercancia: CP20Mercancia;
    constructor(merca?: XmlCP20MercanciaAttribute);
    reset(): void;
    setAttributes(merca?: XmlCP20MercanciaAttribute): void;
    static getInstance(merca?: XmlCP20MercanciaAttribute): Mercancia;
    setPedimentos(pedimiento: CrtPrt20PedimentosAttr): void;
    setGuiaIdentificacion(guideID: CrtPrt20GuiaIdAttr): void;
    setCantidadTransporta(ct: CrtPrt20CantidadTransportaAttr): void;
    setDetalleMercancia(detalle: CrtPrt20DetalleMercanciaAttr): void;
    getMercancia(): CP20Mercancia;
}

export declare class Nomina12 extends Complemento<XmlNomina12> {
    complemento: XmlNomina12;
    constructor(attributes: XmlNomina12Attributes);
    Emisor(attributes?: XmlNominaEmisorAttributes, entidadSNCF?: XmlNominaEntidadSNCFAttributes): void;
    Receptor(attributes: XmlNominaReceptorAttributes): void;
    SubContratacion(attributes: XmlNominaSubContratacionAttributes): void;
    Percepciones(attributes: XmlNominaPercepcionesAttributes): void;
    Percepcion(attributes: XmlNominaPercepcionAttributes): void;
    JubilacionPensionRetiro(attributes: XmlNominaJubilacionAttributes): void;
    SeparacionIndemnizacion(attributes: XmlNominaSeparacionAttributes): void;
    Deducciones(attributes?: XmlNominaDeduccionesAttributes): void;
    Deduccion(attributes: XmlNominaDeduccionAttributes): void;
    OtroPago(attributes: XmlNominaOtroPagoAttributes, subsidio?: XmlNominaSubsidioAttributes, compensacion?: XmlNominaCompensacionAttributes): void;
    Incapacidad(attributes: XmlNominaIncapacidadAttributes): void;
}

export declare class NotariosPublicos extends Complemento<XmlNotariosPublicos> {
    complemento: XmlNotariosPublicos;
    constructor(attributes?: XmlNotariosPublicosAttributes);
    DescInmueble(attributes: XmlNPDescInmuebleAttributes): void;
    DatosOperacion(attributes: XmlNPDatosOperacionAttributes): void;
    DatosNotario(attributes: XmlNPDatosNotarioAttributes): void;
    DatosEnajenante(attributes: XmlNPDatosEnajenanteAttributes, persona?: XmlNPDatosPersonaAttributes): void;
    EnajenanteCopSC(attributes: XmlNPDatosPersonaCopSCAttributes): void;
    DatosAdquiriente(attributes: XmlNPDatosAdquirienteAttributes, persona?: XmlNPDatosPersonaAttributes): void;
    AdquirienteCopSC(attributes: XmlNPDatosPersonaCopSCAttributes): void;
}

export declare class ObrasArte extends Complemento<XmlObrasarte> {
    complemento: XmlObrasarte;
    constructor(attributes: XmlObrasarteAttributes);
}

export declare class Pago20 {
    private static instance;
    private pago;
    constructor(data?: XmlPago20Attributes);
    static getInstance(data?: XmlPago20Attributes): Pago20;
    setAttribute(data: XmlPago20Attributes): void;
    doctoRelacionado(documents: Pago20Relacionado): void;
    setImpuestosP(impuestos: Pago20ImpuestosP): void;
    getPago(): XmlPago20;
}

export declare class Pago20ImpuestosP {
    private impuesto;
    constructor();
    setRetencionesP(data: XmlPagoRetencionPAttributes): void;
    setTrasladosP(data: XmlPagoTranladoPAttributes): void;
    getImpuestosP(): XmlPago20ImpuestoP;
}

export declare class Pago20Relacionado {
    private doctoRelacionado;
    private static instance;
    static getInstance(): Pago20Relacionado;
    setRelacion({ doc, retencionDR, trasladoDR, }: {
        doc: XmlDoctoRelAttributes;
        retencionDR?: XmlRetencionDRAttributes[];
        trasladoDR?: XmlTrasladoDRAttributes[];
    }): void;
    getRelation(): XmlDoctoRelacionado;
}

export declare class PagoEnEspecie extends Complemento<XmlPagoenespecie> {
    complemento: XmlPagoenespecie;
    constructor(attributes: XmlPagoenespecieAttributes);
}

export declare class Pagos20 extends Complemento<XmlPagos20> {
    complemento: XmlPagos20;
    constructor(attributes?: XmlPagos20Attributes);
    setTotales(total: XmlPagos20TotalesAttributes): void;
    setPago(pago: Pago20): void;
}

export declare interface PartesTransporte {
    _attributes: PartesTransporteAttr;
}

export declare interface PartesTransporteAttr {
    ParteTransporte: string;
}

export declare class Pfic extends Complemento<XmlPfic> {
    complemento: XmlPfic;
    constructor(attributes: XmlPficAttributes);
}

export declare class RegistroFiscal extends Complemento<XmlRegistrofiscal> {
    complemento: XmlRegistrofiscal;
    constructor(attributes: XmlRegistrofiscalAttributes);
}

export declare interface Remolque {
    _attributes: RemolqueAttr;
}

export declare interface RemolqueAttr {
    SubTipoRem: string;
    Placa: string;
}

export declare interface Remolques {
    'cartaporte20:Remolque': Remolque[];
}

export declare class ServicioParcial extends Complemento<XmlServicioparcial> {
    complemento: XmlServicioparcial;
    constructor(attributes: XmlServicioparcialAttributes);
    inmueble(attributes: XmlServicioparcialInmuebleAttributes): void;
}

declare interface ShareAttributeU {
    NumRegIdTrib?: string;
    ResidenciaFiscal?: string;
    NumEstacion?: string;
    NombreEstacion?: string;
    NavegacionTrafico?: string;
}

export declare class Spei extends Complemento<XmlSpei> {
    complemento: XmlSpei;
    private currentTercero;
    constructor();
    tercero(attributes: XmlSpeiTerceroAttributes): Spei;
    ordenante(attributes: XmlSpeiOrdenanteAttributes): Spei;
    beneficiario(attributes: XmlSpeiBeneficiarioAttributes): Spei;
}

export declare enum SubProductoHYP {
    SP16 = "SP16",
    SP17 = "SP17",
    SP18 = "SP18",
    SP19 = "SP19",
    SP20 = "SP20",
    SP21 = "SP21",
    SP22 = "SP22",
    SP23 = "SP23",
    SP24 = "SP24",
    SP25 = "SP25",
    SP26 = "SP26",
    SP27 = "SP27",
    SP28 = "SP28",
    SP29 = "SP29",
    SP30 = "SP30",
    SP31 = "SP31",
    SP32 = "SP32",
    SP33 = "SP33",
    SP34 = "SP34",
    SP35 = "SP35",
    SP36 = "SP36",
    SP37 = "SP37",
    SP38 = "SP38",
    SP39 = "SP39",
    SP40 = "SP40",
    SP41 = "SP41",
    SP42 = "SP42",
    SP43 = "SP43",
    SP44 = "SP44",
    SP45 = "SP45",
    SP46 = "SP46",
    SP47 = "SP47",
    SP48 = "SP48"
}

export declare const SubProductoHYPList: {
    value: string;
    label: string;
}[];

export declare class Tfd extends Complemento<XmlTfd> {
    complemento: XmlTfd;
    constructor(attributes: XmlTfdAttributes);
}

declare type TipoComiteIne = 'Ejecutivo Nacional' | 'Ejecutivo Estatal' | 'Directivo Estatal';

export declare enum TipoPermiso {
    PER01 = "PER01",
    PER02 = "PER02",
    PER03 = "PER03",
    PER04 = "PER04",
    PER05 = "PER05",
    PER06 = "PER06",
    PER07 = "PER07",
    PER08 = "PER08",
    PER09 = "PER09",
    PER10 = "PER10",
    PER11 = "PER11"
}

export declare const TipoPermisoList: {
    value: string;
    label: string;
}[];

declare type TipoProcesoIne = 'Ordinario' | 'Precampaña' | 'Campaña';

export declare class Tpe extends Complemento<XmlTpe> {
    complemento: XmlTpe;
    constructor(attributes: XmlTpeAttributes);
    datosTransito(attributes: XmlTpeDatosTransitoAttributes): void;
}

declare class TransporteFerroviario {
    private static instance;
    tFerroviario: CPM20TFerroviario;
    constructor(attr?: XmlCPM20TFerroviarioAttribute);
    reset(): void;
    setAttributes(attr?: XmlCPM20TFerroviarioAttribute): void;
    static getInstance(attr?: XmlCPM20TFerroviarioAttribute): TransporteFerroviario;
    setDerechosDePaso(ddp: DerechosDePasoAttr): void;
    setCarro(data: {
        carro: CarroAttr;
        contenedores?: CarroContenedorAttr[];
    }): void;
    getTransporteFerroviario(): CPM20TFerroviario;
}

declare class TransporteMaritimo {
    private static instance;
    tMaritimo: CPM20TMaritimo;
    constructor(merca?: XmlCPM20TMaritimoAttribute);
    reset(): void;
    setAttributes(merca?: XmlCPM20TMaritimoAttribute): void;
    static getInstance(merca?: XmlCPM20TMaritimoAttribute): TransporteMaritimo;
    setContenedor(contenedor: XmlCPMTMaritimoConAttribute): void;
    getTMaritimo(): CPM20TMaritimo;
}

export declare class ValesDeDespensa extends Complemento<XmlValesDeDespensa> {
    complemento: XmlValesDeDespensa;
    constructor(attributes: XmlValesDeDespensaAttributes);
    concepto(attributes: XmlValesConceptoAttributes): void;
}

export declare class VehiculoUsado extends Complemento<XmlVehiculousado> {
    complemento: XmlVehiculousado;
    constructor(attributes: XmlVehiculousadoAttributes);
    informacionAduanera(attributes: XmlVehiculoInfoAduaneraAttributes): void;
}

export declare class VentaVehiculos extends Complemento<XmlVentaVehiculos> {
    complemento: XmlVentaVehiculos;
    constructor(attributes: XmlVentaVehiculosAttributes);
    InformacionAduanera(attributes: XmlVentaVehiculosInfoAduaneraAttributes): void;
}

declare interface XmlAerolineas {
    _attributes: XmlAerolineasAttributes;
    'aerolineas:OtrosCargos': XmlAerolineasOtrosCargos;
}

declare interface XmlAerolineasAttributes {
    Version: string;
    TUA: string;
}

declare interface XmlAerolineasCargo {
    _attributes?: XmlAerolineasCargoAttributes;
}

declare interface XmlAerolineasCargoAttributes {
    CodigoCargo: string;
    Importe: string;
}

declare interface XmlAerolineasOtrosCargos {
    _attributes?: XmlAerolineasOtrosCargosAttributes;
    'aerolineas:Cargo': XmlAerolineasCargo[];
}

declare interface XmlAerolineasOtrosCargosAttributes {
    TotalCargos: string;
}

export declare interface XmlCartaPorte20 {
    _attributes?: XmlCartaPorte20Attribute;
    'cartaporte20:Ubicaciones': CP20Ubicaciones;
    'cartaporte20:Mercancias': CP20Mercancias;
    'cartaporte20:FiguraTransporte': CP20FTransporte;
}

export declare interface XmlCartaPorte20Attribute {
    Version: string;
    TranspInternac: string;
    EntradaSalidaMerc?: string;
    PaisOrigenDestino?: string;
    ViaEntradaSalida?: string;
    TotalDistRec?: string;
}

export declare interface XmlCartaPorte30 {
    _attributes: XmlCartaPorte30Attributes;
    'cartaporte30:Ubicaciones'?: XmlCP30Ubicaciones;
    'cartaporte30:Mercancias'?: XmlCP30Mercancias;
    'cartaporte30:FiguraTransporte'?: XmlCP30FiguraTransporte;
}

export declare interface XmlCartaPorte30Attributes {
    Version: string;
    TranspInternac: string;
    EntradaSalidaMerc?: string;
    PaisOrigenDestino?: string;
    ViaEntradaSalida?: string;
    TotalDistRec?: string;
    IdCCP?: string;
}

export declare interface XmlCartaPorte31 {
    _attributes: XmlCartaPorte31Attributes;
    'cartaporte31:Ubicaciones'?: XmlCP31Ubicaciones;
    'cartaporte31:Mercancias'?: XmlCP31Mercancias;
    'cartaporte31:FiguraTransporte'?: XmlCP31FiguraTransporte;
}

export declare interface XmlCartaPorte31Attributes {
    Version: string;
    TranspInternac: string;
    EntradaSalidaMerc?: string;
    PaisOrigenDestino?: string;
    ViaEntradaSalida?: string;
    TotalDistRec?: string;
    IdCCP?: string;
}

export declare interface XmlCce11 {
    _attributes: XmlCce11Attributes;
    'cce11:Emisor'?: XmlCce11Emisor;
    'cce11:Propietario'?: XmlCce11Propietario[];
    'cce11:Receptor'?: XmlCce11Receptor;
    'cce11:Destinatario'?: XmlCce11Destinatario[];
    'cce11:Mercancias'?: XmlCce11Mercancias;
}

export declare interface XmlCce11Attributes {
    Version: string;
    MotivoTraslado?: string;
    TipoOperacion: string;
    ClaveDePedimento?: string;
    CertificadoOrigen?: string;
    NumCertificadoOrigen?: string;
    NumeroExportadorConfiable?: string;
    Incoterm?: string;
    Subdivision?: string;
    Observaciones?: string;
    TipoCambioUSD?: string;
    TotalUSD?: string;
}

export declare interface XmlCce11DescEspecifica {
    _attributes: XmlCce11DescEspecificaAttributes;
}

export declare interface XmlCce11DescEspecificaAttributes {
    Marca: string;
    Modelo?: string;
    SubModelo?: string;
    NumeroSerie?: string;
}

export declare interface XmlCce11Destinatario {
    _attributes?: XmlCce11DestinatarioAttributes;
    'cce11:Domicilio'?: XmlCce11Domicilio;
}

export declare interface XmlCce11DestinatarioAttributes {
    NumRegIdTrib?: string;
    Nombre?: string;
}

export declare interface XmlCce11Domicilio {
    _attributes: XmlCce11DomicilioAttributes;
}

export declare interface XmlCce11DomicilioAttributes {
    Calle?: string;
    NumeroExterior?: string;
    NumeroInterior?: string;
    Colonia?: string;
    Localidad?: string;
    Referencia?: string;
    Municipio?: string;
    Estado: string;
    Pais: string;
    CodigoPostal: string;
}

export declare interface XmlCce11Emisor {
    _attributes?: XmlCce11EmisorAttributes;
    'cce11:Domicilio'?: XmlCce11Domicilio;
}

export declare interface XmlCce11EmisorAttributes {
    Curp?: string;
}

export declare interface XmlCce11Mercancia {
    _attributes: XmlCce11MercanciaAttributes;
    'cce11:DescripcionesEspecificas'?: XmlCce11DescEspecifica[];
}

export declare interface XmlCce11MercanciaAttributes {
    NoIdentificacion: string;
    FraccionArancelaria?: string;
    CantidadAduana?: string;
    UnidadAduana?: string;
    ValorUnitarioAduana?: string;
    ValorDolares: string;
}

export declare interface XmlCce11Mercancias {
    'cce11:Mercancia': XmlCce11Mercancia[];
}

export declare interface XmlCce11Propietario {
    _attributes: XmlCce11PropietarioAttributes;
}

export declare interface XmlCce11PropietarioAttributes {
    NumRegIdTrib: string;
    ResidenciaFiscal: string;
}

export declare interface XmlCce11Receptor {
    _attributes?: XmlCce11ReceptorAttributes;
    'cce11:Domicilio'?: XmlCce11Domicilio;
}

export declare interface XmlCce11ReceptorAttributes {
    NumRegIdTrib?: string;
}

export declare interface XmlCce20 {
    _attributes: XmlCce20Attributes;
    'cce20:Emisor'?: XmlCce20Emisor;
    'cce20:Propietario'?: XmlCce20Propietario[];
    'cce20:Receptor'?: XmlCce20Receptor;
    'cce20:Destinatario'?: XmlCce20Destinatario[];
    'cce20:Mercancias'?: XmlCce20Mercancias;
}

export declare interface XmlCce20Attributes {
    Version: string;
    MotivoTraslado?: string;
    TipoOperacion: string;
    ClaveDePedimento?: string;
    CertificadoOrigen?: string;
    NumCertificadoOrigen?: string;
    NumeroExportadorConfiable?: string;
    Incoterm?: string;
    Subdivision?: string;
    Observaciones?: string;
    TipoCambioUSD?: string;
    TotalUSD?: string;
}

export declare interface XmlCce20DescEspecifica {
    _attributes: XmlCce20DescEspecificaAttributes;
}

export declare interface XmlCce20DescEspecificaAttributes {
    Marca: string;
    Modelo?: string;
    SubModelo?: string;
    NumeroSerie?: string;
}

export declare interface XmlCce20Destinatario {
    _attributes?: XmlCce20DestinatarioAttributes;
    'cce20:Domicilio'?: XmlCce20Domicilio;
}

export declare interface XmlCce20DestinatarioAttributes {
    NumRegIdTrib?: string;
    Nombre?: string;
}

export declare interface XmlCce20Domicilio {
    _attributes: XmlCce20DomicilioAttributes;
}

export declare interface XmlCce20DomicilioAttributes {
    Calle?: string;
    NumeroExterior?: string;
    NumeroInterior?: string;
    Colonia?: string;
    Localidad?: string;
    Referencia?: string;
    Municipio?: string;
    Estado: string;
    Pais: string;
    CodigoPostal: string;
}

export declare interface XmlCce20Emisor {
    _attributes?: XmlCce20EmisorAttributes;
    'cce20:Domicilio'?: XmlCce20Domicilio;
}

export declare interface XmlCce20EmisorAttributes {
    Curp?: string;
}

export declare interface XmlCce20Mercancia {
    _attributes: XmlCce20MercanciaAttributes;
    'cce20:DescripcionesEspecificas'?: XmlCce20DescEspecifica[];
}

export declare interface XmlCce20MercanciaAttributes {
    NoIdentificacion: string;
    FraccionArancelaria?: string;
    CantidadAduana?: string;
    UnidadAduana?: string;
    ValorUnitarioAduana?: string;
    ValorDolares: string;
}

export declare interface XmlCce20Mercancias {
    'cce20:Mercancia': XmlCce20Mercancia[];
}

export declare interface XmlCce20Propietario {
    _attributes: XmlCce20PropietarioAttributes;
}

export declare interface XmlCce20PropietarioAttributes {
    NumRegIdTrib: string;
    ResidenciaFiscal: string;
}

export declare interface XmlCce20Receptor {
    _attributes?: XmlCce20ReceptorAttributes;
    'cce20:Domicilio'?: XmlCce20Domicilio;
}

export declare interface XmlCce20ReceptorAttributes {
    NumRegIdTrib?: string;
}

export declare interface XmlComplements extends AnyKey {
    'aerolineas:Aerolineas'?: XmlAerolineas;
    'cartaporte20:CartaPorte'?: XmlCartaPorte20;
    'cartaporte30:CartaPorte'?: XmlCartaPorte30;
    'cartaporte31:CartaPorte'?: XmlCartaPorte31;
    'cce11:ComercioExterior'?: XmlCce11;
    'cce20:ComercioExterior'?: XmlCce20;
    'consumodecombustibles11:ConsumoDeCombustibles'?: XmlConsumodecombustibles;
    'decreto:renovacionysustitucionvehiculos'?: XmlDecreto;
    'destruccion:certificadodedestruccion'?: XmlDestruccion;
    'detallista:detallista'?: XmlDetallista;
    'divisas:Divisas'?: XmlDivisas;
    'donat:Donatarias'?: XmlDonat;
    'ecc12:EstadoDeCuentaCombustible'?: XmlEcc12;
    'gceh:GastosHidrocarburos'?: XmlGceh;
    'ieeh:IngresosHidrocarburos'?: XmlIeeh;
    'implocal:ImpuestosLocales'?: XmlImplocal;
    'ine:INE'?: XmlIne;
    'leyendasFisc:LeyendasFiscales'?: XmlLeyendasFiscales;
    'nomina12:Nomina'?: XmlNomina12;
    'notariospublicos:NotariosPublicos'?: XmlNotariosPublicos;
    'obrasarte:obrasarteantiguedades'?: XmlObrasarte;
    'pago20:Pagos'?: XmlPagos20;
    'pagoenespecie:PagoEnEspecie'?: XmlPagoenespecie;
    'pfic:PFintegranteCoordinado'?: XmlPfic;
    'registrofiscal:CFDIRegistroFiscal'?: XmlRegistrofiscal;
    'servicioparcial:parcialesconstruccion'?: XmlServicioparcial;
    'spei:Complemento_SPEI'?: XmlSpei;
    'tfd:TimbreFiscalDigital'?: XmlTfd;
    'tpe:TuristaPasajeroExtranjero'?: XmlTpe;
    'valesdedespensa:ValesDeDespensa'?: XmlValesDeDespensa;
    'vehiculousado:VehiculoUsado'?: XmlVehiculousado;
}

export declare interface XmlComplementsAttributes extends AnyKey {
    'xmlns:cfdi'?: string;
    'xmlns:aerolineas'?: string;
    'xmlns:cartaporte20'?: string;
    'xmlns:cartaporte30'?: string;
    'xmlns:cartaporte31'?: string;
    'xmlns:cce11'?: string;
    'xmlns:cce20'?: string;
    'xmlns:consumodecombustibles11'?: string;
    'xmlns:decreto'?: string;
    'xmlns:destruccion'?: string;
    'xmlns:detallista'?: string;
    'xmlns:divisas'?: string;
    'xmlns:donat'?: string;
    'xmlns:ecc12'?: string;
    'xmlns:gceh'?: string;
    'xmlns:ieeh'?: string;
    'xmlns:implocal'?: string;
    'xmlns:ine'?: string;
    'xmlns:leyendasFisc'?: string;
    'xmlns:nomina12'?: string;
    'xmlns:notariospublicos'?: string;
    'xmlns:obrasarte'?: string;
    'xmlns:pago20'?: string;
    'xmlns:pagoenespecie'?: string;
    'xmlns:pfic'?: string;
    'xmlns:registrofiscal'?: string;
    'xmlns:servicioparcial'?: string;
    'xmlns:spei'?: string;
    'xmlns:tfd'?: string;
    'xmlns:tpe'?: string;
    'xmlns:valesdedespensa'?: string;
    'xmlns:vehiculousado'?: string;
    'xmlns:hidrocarburospetroliferos'?: string;
    'xmlns:iedu'?: string;
    'xmlns:ventavehiculos'?: string;
}

export declare interface XmlComplementsConcepts extends AnyKey {
    'hidrocarburospetroliferos:HidroYPetro'?: XmlHidrocarburosPetroliferos;
    'iedu:instEducativas'?: XmlIedu;
    'ventavehiculos:VentaVehiculos'?: XmlVentaVehiculos;
}

export declare interface XmlCondComConcepto {
    _attributes: XmlCondComConceptoAttributes;
    'consumodecombustibles11:Determinados'?: XmlCondComDeterminados;
}

export declare interface XmlCondComConceptoAttributes {
    identificador: string;
    fecha: string;
    rfc: string;
    claveEstacion: string;
    cantidad: string;
    nombreCombustible: string;
    folioOperacion: string;
    valorUnitario: string;
    importe: string;
}

export declare interface XmlCondComConceptos {
    'consumodecombustibles11:ConceptoConsumoDeCombustibles': XmlCondComConcepto[];
}

export declare interface XmlCondComDeterminado {
    _attributes: XmlCondComDeterminadoAttributes;
}

export declare interface XmlCondComDeterminadoAttributes {
    impuesto: string;
    tasa: string;
    importe: string;
}

export declare interface XmlCondComDeterminados {
    'consumodecombustibles11:Determinado': XmlCondComDeterminado[];
}

export declare interface XmlConsumodecombustibles {
    _attributes: XmlConsumodecombustiblesAttributes;
    'consumodecombustibles11:Conceptos'?: XmlCondComConceptos;
}

export declare interface XmlConsumodecombustiblesAttributes {
    version: string;
    tipoOperacion: string;
    numeroDeCuenta: string;
    subTotal?: string;
    total: string;
}

export declare interface XmlCP20MercanciaAttribute {
    BienesTransp: string;
    ClaveSTCC?: string;
    Descripcion: string;
    Cantidad: string;
    ClaveUnidad: string;
    Unidad?: string;
    Dimensiones?: string;
    MaterialPeligroso?: string;
    CveMaterialPeligroso?: string;
    Embalaje?: string;
    DescripEmbalaje?: string;
    PesoEnKg: string;
    ValorMercancia?: string;
    Moneda?: string;
    FraccionArancelaria?: string;
    UUIDComercioExt?: string;
}

export declare interface XmlCP20MercanciasAttribute {
    PesoBrutoTotal: string;
    UnidadPeso: string;
    PesoNetoTotal?: string;
    NumTotalMercancias: string;
    CargoPorTasacion?: string;
}

export declare interface XmlCP20UbicacionAttribute {
    TipoUbicacion: string;
    IDUbicacion?: string;
    RFCRemitenteDestinatario: string;
    NombreRemitenteDestinatario?: string;
    NumRegIdTrib?: string;
    ResidenciaFiscal?: string;
    NumEstacion?: string;
    NavegacionTrafico?: string;
    FechaHoraSalidaLlegada: string;
    TipoEstacion?: string;
    DistanciaRecorrida?: string;
}

export declare interface XmlCP30Domicilio {
    _attributes: XmlCP30DomicilioAttributes;
}

export declare interface XmlCP30DomicilioAttributes {
    Calle?: string;
    NumeroExterior?: string;
    NumeroInterior?: string;
    Colonia?: string;
    Localidad?: string;
    Referencia?: string;
    Municipio?: string;
    Estado: string;
    Pais: string;
    CodigoPostal: string;
}

export declare interface XmlCP30FiguraTransporte {
    'cartaporte30:TiposFigura': XmlCP30TipoFigura[];
}

export declare interface XmlCP30Mercancia {
    _attributes: XmlCP30MercanciaAttributes;
}

export declare interface XmlCP30MercanciaAttributes {
    BienesTransp: string;
    Descripcion: string;
    Cantidad: string;
    ClaveUnidad: string;
    Unidad?: string;
    PesoEnKg: string;
    MaterialPeligroso?: string;
    CveMaterialPeligroso?: string;
    ValorMercancia?: string;
    Moneda?: string;
    FraccionArancelaria?: string;
}

export declare interface XmlCP30Mercancias {
    _attributes: XmlCP30MercanciasAttributes;
    'cartaporte30:Mercancia'?: XmlCP30Mercancia[];
    'cartaporte30:Autotransporte'?: any;
    'cartaporte30:TransporteMaritimo'?: any;
    'cartaporte30:TransporteAereo'?: any;
    'cartaporte30:TransporteFerroviario'?: any;
}

export declare interface XmlCP30MercanciasAttributes {
    PesoBrutoTotal: string;
    UnidadPeso: string;
    PesoNetoTotal?: string;
    NumTotalMercancias: string;
}

export declare interface XmlCP30TipoFigura {
    _attributes: XmlCP30TipoFiguraAttributes;
    'cartaporte30:Domicilio'?: XmlCP30Domicilio;
}

export declare interface XmlCP30TipoFiguraAttributes {
    TipoFigura: string;
    RFCFigura?: string;
    NumLicencia?: string;
    NombreFigura?: string;
}

export declare interface XmlCP30Ubicacion {
    _attributes: XmlCP30UbicacionAttributes;
    'cartaporte30:Domicilio'?: XmlCP30Domicilio;
}

export declare interface XmlCP30UbicacionAttributes {
    TipoUbicacion: string;
    IDUbicacion?: string;
    RFCRemitenteDestinatario: string;
    NombreRemitenteDestinatario?: string;
    FechaHoraSalidaLlegada: string;
    DistanciaRecorrida?: string;
}

export declare interface XmlCP30Ubicaciones {
    'cartaporte30:Ubicacion': XmlCP30Ubicacion[];
}

export declare interface XmlCP31Domicilio {
    _attributes: XmlCP31DomicilioAttributes;
}

export declare interface XmlCP31DomicilioAttributes {
    Calle?: string;
    NumeroExterior?: string;
    NumeroInterior?: string;
    Colonia?: string;
    Localidad?: string;
    Referencia?: string;
    Municipio?: string;
    Estado: string;
    Pais: string;
    CodigoPostal: string;
}

export declare interface XmlCP31FiguraTransporte {
    'cartaporte31:TiposFigura': XmlCP31TipoFigura[];
}

export declare interface XmlCP31Mercancia {
    _attributes: XmlCP31MercanciaAttributes;
}

export declare interface XmlCP31MercanciaAttributes {
    BienesTransp: string;
    Descripcion: string;
    Cantidad: string;
    ClaveUnidad: string;
    Unidad?: string;
    PesoEnKg: string;
    MaterialPeligroso?: string;
    CveMaterialPeligroso?: string;
    ValorMercancia?: string;
    Moneda?: string;
    FraccionArancelaria?: string;
}

export declare interface XmlCP31Mercancias {
    _attributes: XmlCP31MercanciasAttributes;
    'cartaporte31:Mercancia'?: XmlCP31Mercancia[];
    'cartaporte31:Autotransporte'?: any;
    'cartaporte31:TransporteMaritimo'?: any;
    'cartaporte31:TransporteAereo'?: any;
    'cartaporte31:TransporteFerroviario'?: any;
}

export declare interface XmlCP31MercanciasAttributes {
    PesoBrutoTotal: string;
    UnidadPeso: string;
    PesoNetoTotal?: string;
    NumTotalMercancias: string;
}

export declare interface XmlCP31TipoFigura {
    _attributes: XmlCP31TipoFiguraAttributes;
    'cartaporte31:Domicilio'?: XmlCP31Domicilio;
}

export declare interface XmlCP31TipoFiguraAttributes {
    TipoFigura: string;
    RFCFigura?: string;
    NumLicencia?: string;
    NombreFigura?: string;
}

export declare interface XmlCP31Ubicacion {
    _attributes: XmlCP31UbicacionAttributes;
    'cartaporte31:Domicilio'?: XmlCP31Domicilio;
}

export declare interface XmlCP31UbicacionAttributes {
    TipoUbicacion: string;
    IDUbicacion?: string;
    RFCRemitenteDestinatario: string;
    NombreRemitenteDestinatario?: string;
    FechaHoraSalidaLlegada: string;
    DistanciaRecorrida?: string;
}

export declare interface XmlCP31Ubicaciones {
    'cartaporte31:Ubicacion': XmlCP31Ubicacion[];
}

export declare interface XmlCPArrendatarioAttribute {
    RFCArrendatario?: string;
    NombreArrendatario?: string;
    NumRegIdTribArrendatario?: string;
    ResidenciaFiscalArrendatario?: string;
}

export declare interface XmlCPFTransporteAttribute extends Attributes {
    CveTransporte: string;
}

export declare interface XmlCPM20TAereoAttribute extends Attributes {
    PermSCT: string;
    NumPermisoSCT: string;
    MatriculaAeronave?: string;
    NombreAseg?: string;
    NumPolizaSeguro?: string;
    NumeroGuia: string;
    LugarContrato?: string;
    CodigoTransportista: string;
    RFCEmbarcador?: string;
    NumRegIdTribEmbarc?: string;
    ResidenciaFiscalEmbarc?: string;
    NombreEmbarcador?: string;
}

export declare interface XmlCPM20TFerroviarioAttribute {
    TipoDeServicio: string;
    NombreAseg?: string;
    NumPolizaSeguro?: string;
    Concesionario?: string;
}

export declare interface XmlCPM20TMaritimoAttribute extends Attributes {
    PermSCT?: string;
    NumPermisoSCT?: string;
    NombreAseg?: string;
    NumPolizaSeguro?: string;
    TipoEmbarcacion: string;
    Matricula: string;
    NumeroOMI: string;
    AnioEmbarcacion?: string;
    NombreEmbarc?: string;
    NacionalidadEmbarc: string;
    UnidadesDeArqBruto: string;
    TipoCarga: string;
    NumCertITC: string;
    Eslora?: string;
    Manga?: string;
    Calado?: string;
    LineaNaviera?: string;
    NombreAgenteNaviero: string;
    NumAutorizacionNaviero: string;
    NumViaje?: string;
    NumConocEmbarc?: string;
}

export declare interface XmlCPMAFederalAttribute {
    PermSCT: string;
    NumPermisoSCT: string;
    NombreAseg: string;
    NumPolizaSeguro: string;
}

export declare interface XmlCPMAFIVehicularAttribute {
    ConfigVehicular: string;
    PlacaVM: string;
    AnioModeloVM: string;
}

export declare interface XmlCPMAFRemolqueAttribute {
    SubTipoRem: string;
    Placa: string;
}

export declare interface XmlCPMTMaritimoConAttribute extends Attributes {
    MatriculaContenedor: string;
    TipoContenedor: string;
    NumPrecinto?: string;
}

export declare interface XmlCPNotificadoAttribute extends Attributes {
    RFCNotificado?: string;
    NombreNotificado?: string;
    NumRegIdTribNotificado?: string;
    ResidenciaFiscalNotificado?: string;
}

export declare interface XmlCPPropietarioAttribute extends Attributes {
    RFCPropietario?: string;
    NombrePropietario?: string;
    NumRegIdTribPropietario?: string;
    ResidenciaFiscalPropietario?: string;
}

export declare interface XmlCPUDestinoAttribute extends ShareAttributeU {
    IDDestino?: string;
    RFCDestinatario?: string;
    NombreDestinatario?: string;
    FechaHoraProgLlegada: string;
}

export declare interface XmlCPUOrigenAttribute extends ShareAttributeU {
    IDOrigen?: string;
    RFCRemitente?: string;
    NombreRemitente?: string;
    FechaHoraSalida: string;
}

export declare interface XmlDecreto {
    _attributes: XmlDecretoAttributes;
    'decreto:DecretoRenovVehiculos'?: XmlDecretoRenov;
    'decreto:DecretoSustitVehiculos'?: XmlDecretoSustit;
}

export declare interface XmlDecretoAttributes {
    Version: string;
    TipoDeDecreto: string;
}

export declare interface XmlDecretoRenov {
    _attributes: XmlDecretoRenovAttributes;
}

export declare interface XmlDecretoRenovAttributes {
    VehEnaj: string;
    TipooClaseVehEnaj: string;
    MarcaVehEnaj: string;
    ModeloVehEnaj: string;
    NumPlacasVehEnaj: string;
    FechaRegVehEnaj: string;
    VehNuevo: string;
    TipooClaseVehNuevo: string;
    MarcaVehNuevo: string;
    ModeloVehNuevo: string;
    AnioModeloVehNuevo: string;
    PrecioVehNuevo: string;
    MontoDesc: string;
    FechaFact: string;
    NumCertAgworke?: string;
}

export declare interface XmlDecretoSustit {
    _attributes: XmlDecretoSustitAttributes;
}

export declare interface XmlDecretoSustitAttributes {
    VehUsadoEnaj: string;
    TipooClaseVehUsadoEnaj: string;
    MarcaVehUsadoEnaj: string;
    ModeloVehUsadoEnaj: string;
    NumPlacasVehUsadoEnaj: string;
    FechaRegVehUsadoEnaj: string;
    VehNuevo: string;
    TipooClaseVehNuevo: string;
    MarcaVehNuevo: string;
    ModeloVehNuevo: string;
    AnioModeloVehNuevo: string;
    PrecioVehSustituido: string;
    MontoDesc: string;
    FechaFact: string;
    NumCertDeposVehUsadoEnaj?: string;
}

export declare interface XmlDestruccion {
    _attributes: XmlDestruccionAttributes;
    'destruccion:InformacionAduanera'?: XmlDestruccionInfoAduanera;
    'destruccion:VehiculoDestruido'?: XmlVehiculoDestruido;
}

export declare interface XmlDestruccionAttributes {
    Version: string;
    Serie: string;
    NumFolDesVeh: string;
}

export declare interface XmlDestruccionInfoAduanera {
    _attributes: XmlDestruccionInfoAduaneraAttributes;
}

export declare interface XmlDestruccionInfoAduaneraAttributes {
    NumPedImp: string;
    Fecha: string;
    Aduana: string;
}

export declare interface XmlDetallista {
    _attributes: XmlDetallistaAttributes;
    'detallista:orderIdentification'?: any;
    'detallista:buyer'?: any;
    'detallista:seller'?: any;
    'detallista:totalAmount'?: any;
    'detallista:TotalAllowanceCharge'?: any;
}

export declare interface XmlDetallistaAttributes {
    type?: string;
    contentVersion?: string;
    documentStructureVersion: string;
    documentStatus?: string;
}

export declare interface XmlDivisas {
    _attributes: XmlDivisasAttributes;
}

export declare interface XmlDivisasAttributes {
    version: string;
    tipoOperacion: string;
}

declare interface XmlDoctoRelacionado {
    _attributes?: XmlDoctoRelAttributes;
    'pago20:ImpuestosDR'?: XmlImpuestosDR;
}

declare interface XmlDoctoRelAttributes {
    IdDocumento: string;
    Serie?: string;
    Folio?: string;
    MonedaDR: string;
    EquivalenciaDR?: string;
    NumParcialidad: string;
    ImpSaldoAnt: string;
    ImpPagado: string;
    ImpSaldoInsoluto: string;
    ObjetoImpDR: string;
}

export declare interface XmlDonat {
    _attributes: XmlDonatAttributes;
}

export declare interface XmlDonatAttributes {
    version: string;
    noAutorizacion: string;
    fechaAutorizacion: string;
    leyenda: string;
}

export declare interface XmlEcc12 {
    _attributes: XmlEcc12Attributes;
    'ecc12:Conceptos'?: XmlEcc12Conceptos;
}

export declare interface XmlEcc12Attributes {
    Version: string;
    TipoOperacion: string;
    NumeroDeCuenta: string;
    SubTotal: string;
    Total: string;
}

export declare interface XmlEcc12Concepto {
    _attributes: XmlEcc12ConceptoAttributes;
    'ecc12:Traslados'?: XmlEcc12Traslados;
}

export declare interface XmlEcc12ConceptoAttributes {
    Identificador: string;
    Fecha: string;
    Rfc: string;
    ClaveEstacion: string;
    Cantidad: string;
    TipoCombustible: string;
    Unidad?: string;
    NombreCombustible: string;
    FolioOperacion: string;
    ValorUnitario: string;
    Importe: string;
}

export declare interface XmlEcc12Conceptos {
    'ecc12:ConceptoEstadoDeCuentaCombustible': XmlEcc12Concepto[];
}

export declare interface XmlEcc12Traslado {
    _attributes: XmlEcc12TrasladoAttributes;
}

export declare interface XmlEcc12TrasladoAttributes {
    Impuesto: string;
    TasaOCuota: string;
    Importe: string;
}

export declare interface XmlEcc12Traslados {
    'ecc12:Traslado': XmlEcc12Traslado[];
}

export declare interface XmlGceh {
    _attributes: XmlGcehAttributes;
    'gceh:Erogacion'?: XmlGcehErogacion[];
}

export declare interface XmlGcehActividad {
    _attributes: XmlGcehActividadAttributes;
    'gceh:SubActividades'?: XmlGcehSubActividad[];
}

export declare interface XmlGcehActividadAttributes {
    ActividadRelacionada?: string;
}

export declare interface XmlGcehAttributes {
    Version: string;
    NumeroContrato: string;
    AreaContractual?: string;
}

export declare interface XmlGcehCentroCosto {
    _attributes: XmlGcehCentroCostoAttributes;
    'gceh:Yacimientos'?: XmlGcehYacimiento[];
}

export declare interface XmlGcehCentroCostoAttributes {
    Campo?: string;
}

export declare interface XmlGcehDocRelacionado {
    _attributes: XmlGcehDocRelacionadoAttributes;
}

export declare interface XmlGcehDocRelacionadoAttributes {
    FolioFiscalVinculado: string;
    FechaFolioFiscalVinculado: string;
    Mes: string;
    MontoTotalIVA16?: string;
    MontoTotalIVA0?: string;
}

export declare interface XmlGcehErogacion {
    _attributes: XmlGcehErogacionAttributes;
    'gceh:DocumentoRelacionado'?: XmlGcehDocRelacionado[];
    'gceh:Actividades'?: XmlGcehActividad[];
    'gceh:CentroCostos'?: XmlGcehCentroCosto[];
}

export declare interface XmlGcehErogacionAttributes {
    TipoErogacion: string;
    MontocuErogacion: string;
    Porcentaje: string;
}

export declare interface XmlGcehPozo {
    _attributes: XmlGcehPozoAttributes;
}

export declare interface XmlGcehPozoAttributes {
    NombreDelPozo?: string;
}

export declare interface XmlGcehSubActividad {
    _attributes: XmlGcehSubActividadAttributes;
    'gceh:Tareas'?: XmlGcehTarea[];
}

export declare interface XmlGcehSubActividadAttributes {
    SubActividadRelacionada?: string;
}

export declare interface XmlGcehTarea {
    _attributes: XmlGcehTareaAttributes;
}

export declare interface XmlGcehTareaAttributes {
    TareaRelacionada?: string;
}

export declare interface XmlGcehYacimiento {
    _attributes: XmlGcehYacimientoAttributes;
    'gceh:Pozos'?: XmlGcehPozo[];
}

export declare interface XmlGcehYacimientoAttributes {
    NombreDelYacimiento?: string;
}

export declare interface XmlHidrocarburosPetroliferos {
    _attributes?: XmlHidrocarburosPetroliferosAttributes;
}

export declare interface XmlHidrocarburosPetroliferosAttributes {
    Version: string;
    TipoPermiso: TipoPermiso | string;
    NumeroPermiso: string;
    ClaveHYP: string;
    SubProductoHYP: SubProductoHYP | string;
}

export declare interface XmlIedu {
    _attributes?: XmlIeduAttribute;
}

export declare interface XmlIeduAttribute {
    version: string;
    nombreAlumno: string;
    CURP: string;
    nivelEducativo: string;
    autRVOE: string;
    rfcPago: string;
}

export declare interface XmlIeeh {
    _attributes: XmlIeehAttributes;
    'ieeh:DocumentoRelacionado'?: XmlIeehDocRelacionado[];
}

export declare interface XmlIeehAttributes {
    Version: string;
    NumeroContrato: string;
    ContraprestacionPagadaOperador: string;
    Porcentaje: string;
}

export declare interface XmlIeehDocRelacionado {
    _attributes: XmlIeehDocRelacionadoAttributes;
}

export declare interface XmlIeehDocRelacionadoAttributes {
    FolioFiscalVinculado: string;
    FechaFolioFiscalVinculado: string;
    Mes: string;
}

export declare interface XmlImplocal {
    _attributes: XmlImplocalAttributes;
    'implocal:RetencionesLocales'?: XmlImplocalRetencion[];
    'implocal:TrasladosLocales'?: XmlImplocalTraslado[];
}

export declare interface XmlImplocalAttributes {
    version: string;
    TotaldeRetenciones: string;
    TotaldeTraslados: string;
}

export declare interface XmlImplocalRetencion {
    _attributes: XmlImplocalRetencionAttributes;
}

export declare interface XmlImplocalRetencionAttributes {
    ImpLocRetenido: string;
    TasadeRetencion: string;
    Importe: string;
}

export declare interface XmlImplocalTraslado {
    _attributes: XmlImplocalTrasladoAttributes;
}

export declare interface XmlImplocalTrasladoAttributes {
    ImpLocTrasladado: string;
    TasadeTraslado: string;
    Importe: string;
}

declare interface XmlImpuestosDR {
    'pago20:RetencionesDR': {
        'pago20:RetencionDR': XmlRetencionDR[];
    };
    'pago20:TrasladosDR': {
        'pago20:TrasladoDR': XmlTrasladoDR[];
    };
}

declare interface XmlIne {
    _attributes: XmlIneAttribute;
    'ine:Entidad'?: XmlIneEntidad;
}

declare interface XmlIneAttribute {
    Version: string;
    TipoProceso: TipoProcesoIne;
    TipoComite?: TipoComiteIne;
    IdContabilidad?: string;
}

declare interface XmlIneContabilidad {
    _attributes?: XmlIneContabilidadAttribute;
}

declare interface XmlIneContabilidadAttribute {
    IdContabilidad: string;
}

declare interface XmlIneEntidad {
    _attributes?: XmlIneEntidadAttribute;
    'ine:Contabilidad'?: XmlIneContabilidad;
}

declare interface XmlIneEntidadAttribute {
    ClaveEntidad: ClaveEntidadIne;
    Ambito?: AmbitoIne;
}

export declare interface XmlLeyenda {
    _attributes: XmlLeyendaAttributes;
}

export declare interface XmlLeyendaAttributes {
    disposicionFiscal?: string;
    norma?: string;
    textoLeyenda: string;
}

export declare interface XmlLeyendasFiscales {
    _attributes: XmlLeyendasFiscalesAttributes;
    'leyendasFisc:Leyenda'?: XmlLeyenda[];
}

export declare interface XmlLeyendasFiscalesAttributes {
    version: string;
}

export declare interface XmlNomina12 {
    _attributes: XmlNomina12Attributes;
    'nomina12:Emisor'?: XmlNominaEmisor;
    'nomina12:Receptor'?: XmlNominaReceptor;
    'nomina12:Percepciones'?: XmlNominaPercepciones;
    'nomina12:Deducciones'?: XmlNominaDeducciones;
    'nomina12:OtrosPagos'?: XmlNominaOtrosPagos;
    'nomina12:Incapacidades'?: XmlNominaIncapacidades;
}

export declare interface XmlNomina12Attributes {
    Version: string;
    TipoNomina: string;
    FechaPago: string;
    FechaInicialPago: string;
    FechaFinalPago: string;
    NumDiasPagados: string;
    TotalPercepciones?: string;
    TotalDeducciones?: string;
    TotalOtrosPagos?: string;
}

export declare interface XmlNominaAcciones {
    _attributes: XmlNominaAccionesAttributes;
}

export declare interface XmlNominaAccionesAttributes {
    ValorMercado: string;
    PrecioAlOtorgarse: string;
}

export declare interface XmlNominaCompensacion {
    _attributes: XmlNominaCompensacionAttributes;
}

export declare interface XmlNominaCompensacionAttributes {
    SaldoAFavor: string;
    Año: string;
    RemanenteSalFav: string;
}

export declare interface XmlNominaDeduccion {
    _attributes: XmlNominaDeduccionAttributes;
}

export declare interface XmlNominaDeduccionAttributes {
    TipoDeduccion: string;
    Clave: string;
    Concepto: string;
    Importe: string;
}

export declare interface XmlNominaDeducciones {
    _attributes?: XmlNominaDeduccionesAttributes;
    'nomina12:Deduccion'?: XmlNominaDeduccion[];
}

export declare interface XmlNominaDeduccionesAttributes {
    TotalOtrasDeducciones?: string;
    TotalImpuestosRetenidos?: string;
}

export declare interface XmlNominaEmisor {
    _attributes?: XmlNominaEmisorAttributes;
    'nomina12:EntidadSNCF'?: XmlNominaEntidadSNCF;
}

export declare interface XmlNominaEmisorAttributes {
    Curp?: string;
    RegistroPatronal?: string;
    RfcPatronOrigen?: string;
}

export declare interface XmlNominaEntidadSNCF {
    _attributes: XmlNominaEntidadSNCFAttributes;
}

export declare interface XmlNominaEntidadSNCFAttributes {
    OrigenRecurso: string;
    MontoRecursoPropio?: string;
}

export declare interface XmlNominaHorasExtra {
    _attributes: XmlNominaHorasExtraAttributes;
}

export declare interface XmlNominaHorasExtraAttributes {
    Dias: string;
    TipoHoras: string;
    HorasExtra: string;
    ImportePagado: string;
}

export declare interface XmlNominaIncapacidad {
    _attributes: XmlNominaIncapacidadAttributes;
}

export declare interface XmlNominaIncapacidadAttributes {
    DiasIncapacidad: string;
    TipoIncapacidad: string;
    ImporteMonetario?: string;
}

export declare interface XmlNominaIncapacidades {
    'nomina12:Incapacidad': XmlNominaIncapacidad[];
}

export declare interface XmlNominaJubilacion {
    _attributes: XmlNominaJubilacionAttributes;
}

export declare interface XmlNominaJubilacionAttributes {
    TotalUnaExhibicion?: string;
    TotalParcialidad?: string;
    MontoDiario?: string;
    IngresoAcumulable: string;
    IngresoNoAcumulable: string;
}

export declare interface XmlNominaOtroPago {
    _attributes: XmlNominaOtroPagoAttributes;
    'nomina12:SubsidioAlEmpleo'?: XmlNominaSubsidio;
    'nomina12:CompensacionSaldosAFavor'?: XmlNominaCompensacion;
}

export declare interface XmlNominaOtroPagoAttributes {
    TipoOtroPago: string;
    Clave: string;
    Concepto: string;
    Importe: string;
}

export declare interface XmlNominaOtrosPagos {
    'nomina12:OtroPago': XmlNominaOtroPago[];
}

export declare interface XmlNominaPercepcion {
    _attributes: XmlNominaPercepcionAttributes;
    'nomina12:AccionesOTitulos'?: XmlNominaAcciones;
    'nomina12:HorasExtra'?: XmlNominaHorasExtra[];
}

export declare interface XmlNominaPercepcionAttributes {
    TipoPercepcion: string;
    Clave: string;
    Concepto: string;
    ImporteGravado: string;
    ImporteExento: string;
}

export declare interface XmlNominaPercepciones {
    _attributes: XmlNominaPercepcionesAttributes;
    'nomina12:Percepcion'?: XmlNominaPercepcion[];
    'nomina12:JubilacionPensionRetiro'?: XmlNominaJubilacion;
    'nomina12:SeparacionIndemnizacion'?: XmlNominaSeparacion;
}

export declare interface XmlNominaPercepcionesAttributes {
    TotalSueldos?: string;
    TotalSeparacionIndemnizacion?: string;
    TotalJubilacionPensionRetiro?: string;
    TotalGravado: string;
    TotalExento: string;
}

export declare interface XmlNominaReceptor {
    _attributes: XmlNominaReceptorAttributes;
    'nomina12:SubContratacion'?: XmlNominaSubContratacion[];
}

export declare interface XmlNominaReceptorAttributes {
    Curp: string;
    NumSeguridadSocial?: string;
    FechaInicioRelLaboral?: string;
    Antigüedad?: string;
    TipoContrato: string;
    Sindicalizado?: string;
    TipoJornada?: string;
    TipoRegimen: string;
    NumEmpleado: string;
    Departamento?: string;
    Puesto?: string;
    RiesgoPuesto?: string;
    PeriodicidadPago: string;
    Banco?: string;
    CuentaBancaria?: string;
    SalarioBaseCotApor?: string;
    SalarioDiarioIntegrado?: string;
    ClaveEntFed: string;
}

export declare interface XmlNominaSeparacion {
    _attributes: XmlNominaSeparacionAttributes;
}

export declare interface XmlNominaSeparacionAttributes {
    TotalPagado: string;
    NumAñosServicio: string;
    UltimoSueldoMensOrd: string;
    IngresoAcumulable: string;
    IngresoNoAcumulable: string;
}

export declare interface XmlNominaSubContratacion {
    _attributes: XmlNominaSubContratacionAttributes;
}

export declare interface XmlNominaSubContratacionAttributes {
    RfcLabora: string;
    PorcentajeTiempo: string;
}

export declare interface XmlNominaSubsidio {
    _attributes: XmlNominaSubsidioAttributes;
}

export declare interface XmlNominaSubsidioAttributes {
    SubsidioCausado: string;
}

export declare interface XmlNotariosPublicos {
    _attributes: XmlNotariosPublicosAttributes;
    'notariospublicos:DescInmuebles'?: XmlNPDescInmuebles;
    'notariospublicos:DatosOperacion'?: XmlNPDatosOperacion;
    'notariospublicos:DatosNotario'?: XmlNPDatosNotario;
    'notariospublicos:DatosEnajenante'?: XmlNPDatosEnajenante;
    'notariospublicos:DatosAdquiriente'?: XmlNPDatosAdquiriente;
}

export declare interface XmlNotariosPublicosAttributes {
    Version: string;
}

export declare interface XmlNPDatosAdquiriente {
    _attributes: XmlNPDatosAdquirienteAttributes;
    'notariospublicos:DatosUnAdquiriente'?: XmlNPDatosPersona;
    'notariospublicos:DatosAdquirientesCopSC'?: XmlNPDatosPersonasCopSC;
}

export declare interface XmlNPDatosAdquirienteAttributes {
    CoproSocConyugalE: string;
}

export declare interface XmlNPDatosEnajenante {
    _attributes: XmlNPDatosEnajenanteAttributes;
    'notariospublicos:DatosUnEnajenante'?: XmlNPDatosPersona;
    'notariospublicos:DatosEnajenantesCopSC'?: XmlNPDatosPersonasCopSC;
}

export declare interface XmlNPDatosEnajenanteAttributes {
    CoproSocConyugalE: string;
}

export declare interface XmlNPDatosNotario {
    _attributes: XmlNPDatosNotarioAttributes;
}

export declare interface XmlNPDatosNotarioAttributes {
    CURP: string;
    NumNotaria: string;
    EntidadFederativa: string;
    Adscripcion?: string;
}

export declare interface XmlNPDatosOperacion {
    _attributes: XmlNPDatosOperacionAttributes;
}

export declare interface XmlNPDatosOperacionAttributes {
    NumInstrumentoNotarial: string;
    FechaInstNotarial: string;
    MontoOperacion: string;
    Subtotal: string;
    IVA: string;
}

export declare interface XmlNPDatosPersona {
    _attributes: XmlNPDatosPersonaAttributes;
}

export declare interface XmlNPDatosPersonaAttributes {
    Nombre: string;
    ApellidoPaterno?: string;
    ApellidoMaterno?: string;
    RFC: string;
    CURP?: string;
}

export declare interface XmlNPDatosPersonaCopSC {
    _attributes: XmlNPDatosPersonaCopSCAttributes;
}

export declare interface XmlNPDatosPersonaCopSCAttributes {
    Nombre: string;
    ApellidoPaterno?: string;
    ApellidoMaterno?: string;
    RFC: string;
    CURP?: string;
    Porcentaje: string;
}

export declare interface XmlNPDatosPersonasCopSC {
    'notariospublicos:DatosEnajenanteCopSC'?: XmlNPDatosPersonaCopSC[];
    'notariospublicos:DatosAdquirienteCopSC'?: XmlNPDatosPersonaCopSC[];
}

export declare interface XmlNPDescInmueble {
    _attributes: XmlNPDescInmuebleAttributes;
}

export declare interface XmlNPDescInmuebleAttributes {
    TipoInmueble: string;
    Calle: string;
    NoExterior?: string;
    NoInterior?: string;
    Colonia?: string;
    Localidad?: string;
    Referencia?: string;
    Municipio: string;
    Estado: string;
    Pais: string;
    CodigoPostal: string;
}

export declare interface XmlNPDescInmuebles {
    'notariospublicos:DescInmueble': XmlNPDescInmueble[];
}

export declare interface XmlnsComplementsLinks extends AnyKey {
    aerolineas?: string;
    cartaporte20?: string;
    cartaporte30?: string;
    cartaporte31?: string;
    cce11?: string;
    cce20?: string;
    consumodecombustibles11?: string;
    decreto?: string;
    destruccion?: string;
    detallista?: string;
    divisas?: string;
    donat?: string;
    ecc12?: string;
    gceh?: string;
    ieeh?: string;
    implocal?: string;
    ine?: string;
    leyendasFisc?: string;
    nomina12?: string;
    notariospublicos?: string;
    obrasarte?: string;
    pago20?: string;
    pagoenespecie?: string;
    pfic?: string;
    registrofiscal?: string;
    servicioparcial?: string;
    spei?: string;
    tfd?: string;
    tpe?: string;
    valesdedespensa?: string;
    vehiculousado?: string;
    hidrocarburospetroliferos?: string;
    iedu?: string;
    ventavehiculos?: string;
}

export declare interface XmlObrasarte {
    _attributes: XmlObrasarteAttributes;
}

export declare interface XmlObrasarteAttributes {
    Version: string;
    TipoBien: string;
    OtrosTipoBien?: string;
    TituloAdquirido: string;
    OtrosTituloAdquirido?: string;
    Subtotal?: string;
    IVA?: string;
    FechaAdquisicion: string;
    CaracterísticasDeObraoPieza: string;
}

declare interface XmlPago20 {
    _attributes?: XmlPago20Attributes;
    'pago20:DoctoRelacionado': XmlDoctoRelacionado[];
    'pago20:ImpuestosP': XmlPago20ImpuestoP[];
}

declare interface XmlPago20Attributes {
    FechaPago: string;
    FormaDePagoP: string;
    MonedaP: string;
    TipoCambioP?: string;
    Monto: string;
    NumOperacion?: string;
    RfcEmisorCtaOrd?: string;
    NomBancoOrdExt?: string;
    CtaOrdenante?: string;
    RfcEmisorCtaBen?: string;
    CtaBeneficiario?: string;
    TipoCadPago?: string;
    CertPago?: string;
    CadPago?: string;
    SelloPago?: string;
}

declare interface XmlPago20ImpuestoP {
    'pago20:RetencionesP': XmlPagoRetenciones;
    'pago20:TrasladosP': XmlPagoTranlados;
}

export declare interface XmlPagoenespecie {
    _attributes: XmlPagoenespecieAttributes;
}

export declare interface XmlPagoenespecieAttributes {
    Version: string;
    CvePIC: string;
    FolioSolDon: string;
    PzaArtNombre: string;
    PzaArtTecn: string;
    PzaArtAProd: string;
    PzaArtDim: string;
}

declare interface XmlPagoRetenciones {
    'pago20:RetencionP': XmlPagoRetencionP[];
}

declare interface XmlPagoRetencionP {
    _attributes?: XmlPagoRetencionPAttributes;
}

declare interface XmlPagoRetencionPAttributes {
    ImpuestoP: string;
    ImporteP: string;
}

declare interface XmlPagos20 {
    _attributes: XmlPagos20Attributes;
    'pago20:Totales': XmlPagos20Totales[];
    'pago20:Pago': XmlPago20[];
}

declare interface XmlPagos20Attributes {
    Version?: string;
}

declare interface XmlPagos20Totales {
    _attributes?: XmlPagos20TotalesAttributes;
}

declare interface XmlPagos20TotalesAttributes {
    TotalRetencionesIVA?: string;
    TotalRetencionesISR?: string;
    TotalRetencionesIEPS?: string;
    TotalTrasladosBaseIVA16?: string;
    TotalTrasladosImpuestoIVA16?: string;
    TotalTrasladosBaseIVA8?: string;
    TotalTrasladosImpuestoIVA8?: string;
    TotalTrasladosBaseIVA0?: string;
    TotalTrasladosImpuestoIVA0?: string;
    TotalTrasladosBaseIVAExento?: string;
    MontoTotalPagos?: string;
}

declare interface XmlPagoTranladoP {
    _attributes?: XmlPagoTranladoPAttributes;
}

declare interface XmlPagoTranladoPAttributes {
    BaseP: string;
    ImpuestoP: string;
    TipoFactorP: string;
    TasaOCuotaP?: string;
    ImporteP?: string;
}

declare interface XmlPagoTranlados {
    'pago20:TrasladoP': XmlPagoTranladoP[];
}

export declare interface XmlPfic {
    _attributes: XmlPficAttributes;
}

export declare interface XmlPficAttributes {
    version: string;
    ClaveVehicular: string;
    Placa: string;
    RFCPF?: string;
}

export declare interface XmlRegistrofiscal {
    _attributes: XmlRegistrofiscalAttributes;
}

export declare interface XmlRegistrofiscalAttributes {
    Version: string;
    Folio: string;
}

declare interface XmlRetencionDR {
    _attributes: XmlRetencionDRAttributes;
}

declare interface XmlRetencionDRAttributes extends DR {
    TasaOCuotaDR: string;
    ImporteDR: string;
}

export declare interface XmlServicioparcial {
    _attributes: XmlServicioparcialAttributes;
    'servicioparcial:Inmueble'?: XmlServicioparcialInmueble;
}

export declare interface XmlServicioparcialAttributes {
    Version: string;
    NumPerLicoAut: string;
}

export declare interface XmlServicioparcialInmueble {
    _attributes: XmlServicioparcialInmuebleAttributes;
}

export declare interface XmlServicioparcialInmuebleAttributes {
    Calle: string;
    NoExterior?: string;
    NoInterior?: string;
    Colonia?: string;
    Localidad?: string;
    Referencia?: string;
    Municipio: string;
    Estado: string;
    CodigoPostal: string;
}

export declare interface XmlSpei {
    'spei:SPEI_Tercero'?: XmlSpeiTercero[];
}

export declare interface XmlSpeiBeneficiario {
    _attributes: XmlSpeiBeneficiarioAttributes;
}

export declare interface XmlSpeiBeneficiarioAttributes {
    BancoReceptor: string;
    Nombre: string;
    TipoCuenta: string;
    Cuenta: string;
    RFC: string;
    Concepto: string;
    IVA?: string;
    MontoPago: string;
}

export declare interface XmlSpeiOrdenante {
    _attributes: XmlSpeiOrdenanteAttributes;
}

export declare interface XmlSpeiOrdenanteAttributes {
    BancoEmisor: string;
    Nombre: string;
    TipoCuenta: string;
    Cuenta: string;
    RFC: string;
}

export declare interface XmlSpeiTercero {
    _attributes: XmlSpeiTerceroAttributes;
    'spei:Ordenante'?: XmlSpeiOrdenante;
    'spei:Beneficiario'?: XmlSpeiBeneficiario;
}

export declare interface XmlSpeiTerceroAttributes {
    FechaOperacion: string;
    Hora: string;
    ClaveSPEI: string;
    sello: string;
    numeroCertificado: string;
}

export declare interface XmlTfd {
    _attributes: XmlTfdAttributes;
}

export declare interface XmlTfdAttributes {
    Version: string;
    UUID: string;
    FechaTimbrado: string;
    RfcProvCertif: string;
    Leyenda?: string;
    SelloCFD: string;
    NoCertificadoSAT: string;
    SelloSAT?: string;
}

export declare interface XmlTpe {
    _attributes: XmlTpeAttributes;
    'tpe:datosTransito'?: XmlTpeDatosTransito[];
}

export declare interface XmlTpeAttributes {
    version: string;
    fechadeTransito: string;
    tipoTransito: string;
}

export declare interface XmlTpeDatosTransito {
    _attributes: XmlTpeDatosTransitoAttributes;
}

export declare interface XmlTpeDatosTransitoAttributes {
    Via: string;
    TipoId: string;
    NumeroId: string;
    Nacionalidad: string;
    EmpresaTransporte: string;
    IdTransporte?: string;
}

declare interface XmlTrasladoDR {
    _attributes: XmlTrasladoDRAttributes;
}

declare interface XmlTrasladoDRAttributes extends DR {
}

export declare interface XmlValesConcepto {
    _attributes: XmlValesConceptoAttributes;
}

export declare interface XmlValesConceptoAttributes {
    identificador: string;
    fecha: string;
    rfc: string;
    curp: string;
    nombre: string;
    numSeguridadSocial?: string;
    importe: string;
}

export declare interface XmlValesConceptos {
    'valesdedespensa:Concepto': XmlValesConcepto[];
}

export declare interface XmlValesDeDespensa {
    _attributes: XmlValesDeDespensaAttributes;
    'valesdedespensa:Conceptos'?: XmlValesConceptos;
}

export declare interface XmlValesDeDespensaAttributes {
    version: string;
    tipoOperacion: string;
    registroPatronal?: string;
    numeroDeCuenta: string;
    total: string;
}

export declare interface XmlVehiculoDestruido {
    _attributes: XmlVehiculoDestruidoAttributes;
}

export declare interface XmlVehiculoDestruidoAttributes {
    Marca: string;
    TipooClase: string;
    Año: string;
    Modelo: string;
    NIV?: string;
    NumSerie?: string;
    NumPlacas: string;
    NumMotor?: string;
    NumFolTarjCir: string;
}

export declare interface XmlVehiculoInfoAduanera {
    _attributes: XmlVehiculoInfoAduaneraAttributes;
}

export declare interface XmlVehiculoInfoAduaneraAttributes {
    numero: string;
    fecha: string;
    aduana?: string;
}

export declare interface XmlVehiculousado {
    _attributes: XmlVehiculousadoAttributes;
    'vehiculousado:InformacionAduanera'?: XmlVehiculoInfoAduanera;
}

export declare interface XmlVehiculousadoAttributes {
    Version: string;
    montoAdquisicion: string;
    montoEnajenacion: string;
    claveVehicular: string;
    marca: string;
    tipo: string;
    modelo: string;
    numeroMotor?: string;
    numeroSerie?: string;
    NIV: string;
    valor: string;
}

export declare interface XmlVentaVehiculos {
    _attributes: XmlVentaVehiculosAttributes;
    'ventavehiculos:InformacionAduanera'?: XmlVentaVehiculosInfoAduanera[];
}

export declare interface XmlVentaVehiculosAttributes {
    version: string;
    ClaveVehicular: string;
    Niv?: string;
}

export declare interface XmlVentaVehiculosInfoAduanera {
    _attributes: XmlVentaVehiculosInfoAduaneraAttributes;
}

export declare interface XmlVentaVehiculosInfoAduaneraAttributes {
    numero: string;
    fecha: string;
    aduana?: string;
}

export { }
