import { FirmaElectronica } from './firma_electronica';
export declare namespace BoletaElectronica {
    /**Envio de Boletas Electronicas. */
    class EnvioBOLETA {
        version: string;
        /**Conjunto de Boletas enviadas. */
        SetDTE: SetDTE;
        /***/
        Signature: FirmaElectronica.Signature;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Conjunto de Boletas enviadas. */
    class SetDTE {
        ID: string;
        /**Resumen de Informacion Enviada. */
        Caratula: Caratula;
        /**Boletas Electronicas Enviadas. */
        DTE: DTE[];
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Resumen de Informacion Enviada. */
    class Caratula {
        version: string;
        /**RUT Emisor de las Boletas. */
        RutEmisor: string;
        /**RUT que envia las Boletas. */
        RutEnvia: string;
        /**RUT al que se le envian las Boletas. */
        RutReceptor: string;
        /**Fecha de Resolucion que Autoriza la Emision de Boletas (AAAA-MM-DD). */
        FchResol: Date;
        /**Numero de Resolucion que Autoriza la Emision de Boletas. */
        NroResol: number;
        /**Fecha y Hora de la Firma del Archivo de Envio. */
        TmstFirmaEnv: Date;
        /**Subtotales de Boletas Enviadas. */
        SubTotDTE: SubTotDTE[];
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Subtotales de Boletas Enviadas. */
    class SubTotDTE {
        /**Tipo de Boleta Enviada. */
        TpoDTE: DTEType;
        /**Numero de Boletas Enviadas. */
        NroDTE: number;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Tipos de Documentos Tributarios Electronicos. */
    enum DTEType {
        BoletaElectronica = 39,
        BoletaExentaElectronica = 41,
        BoletaFisica = 35,
    }
    /**Boletas Electronicas Enviadas. */
    class DTE {
        version: string;
        /**Informacion Tributaria de la Boleta. */
        Documento: Documento;
        /***/
        Signature: FirmaElectronica.Signature;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Informacion Tributaria de la Boleta. */
    class Documento {
        ID: string;
        /**Identificacion y Totales del Documento. */
        Encabezado: DocumentoEncabezado;
        /**Detalle de Itemes del Documento. */
        Detalle: DocumentoDetalle[];
        /**Opcional. Subtotales Informativos. */
        SubTotInfo: DocumentoSubTotInfo[];
        /**Opcional. Descuentos y/o Recargos que afectan al total del Documento. */
        DscRcgGlobal: DocumentoDscRcgGlobal[];
        /**Opcional. Identificacion de otros documentos Referenciados por Documento. */
        Referencia: DocumentoReferencia[];
        /**Timbre Electronico de la Boleta. */
        TED: DocumentoTED;
        /**Fecha y Hora en que se Firmo Digitalmente el Documento AAAA-MM-DDTHH:MI:SS. */
        TmstFirma: Date;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Identificacion y Totales del Documento. */
    class DocumentoEncabezado {
        /**Identificacion del DTE. */
        IdDoc: DocumentoIdDoc;
        /**Datos del Emisor. */
        Emisor: DocumentoEmisor;
        /**Datos del Receptor. */
        Receptor: DocumentoReceptor;
        /**Montos Totales del DTE. */
        Totales: DocumentoTotales;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Identificacion del DTE. */
    class DocumentoIdDoc {
        /**Tipo de Boleta. */
        TipoDTE: DTEType;
        /**Folio del Documento Electronico. */
        Folio: number;
        /**Fecha Emision Contable del DTE (AAAA-MM-DD). */
        FchEmis: Date;
        /**Indica el Tipo de Transaccion. */
        IndServicio: DocumentoIndServicio;
        /**Opcional. Indica el Uso de Montos Netos en Detalle. */
        IndMntNeto: DocumentoIndMntNeto;
        /**Opcional. Periodo de Facturacion - Desde (AAAA-MM-DD). */
        PeriodoDesde: Date;
        /**Opcional. Periodo Facturacion - Hasta (AAAA-MM-DD). */
        PeriodoHasta: Date;
        /**Opcional. Fecha de Vencimiento del Pago (AAAA-MM-DD). */
        FchVenc: Date;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /***/
    enum DocumentoIndServicio {
        BoletadeServiciosPeriodicos = 1,
        BoletadeServiciosPeriodicosDomiciliarios = 2,
        BoletadeVentasyServicio = 3,
        BoletadeEspectáculoemitidaporcuentadeTerceros = 4,
    }
    /***/
    enum DocumentoIndMntNeto {
        MontodeLineasdeDetalleCorrespondeaValoresNetos = 2,
    }
    /**Datos del Emisor. */
    class DocumentoEmisor {
        /**RUT del Emisor del DTE. */
        RUTEmisor: string;
        /**Opcional. Nombre o Razon Social del Emisor. */
        RznSocEmisor: string;
        /**Opcional. Giro del Emisor que Corresponde a la Transaccion. */
        GiroEmisor: string;
        /**Opcional. Codigo de Sucursal Entregado por el SII. */
        CdgSIISucur: number;
        /**Opcional. Direccion de Origen o Emision. */
        DirOrigen: string;
        /**Opcional. Comuna de Origen. */
        CmnaOrigen: string;
        /**Opcional. Ciudad de Origen. */
        CiudadOrigen: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Datos del Receptor. */
    class DocumentoReceptor {
        /**RUT del Receptor del DTE. */
        RUTRecep: string;
        /**Opcional. Codigo Interno del Receptor. */
        CdgIntRecep: string;
        /**Opcional. Nombre o Razon Social del Receptor. */
        RznSocRecep: string;
        /**Opcional. Telefono o E-mail de Contacto del Receptor. */
        Contacto: string;
        /**Opcional. Direccion en la Cual se Envian los Productos o se Prestan los Servicios. */
        DirRecep: string;
        /**Opcional. Comuna de Recepcion. */
        CmnaRecep: string;
        /**Opcional. Ciudad de Recepcion. */
        CiudadRecep: string;
        /**Opcional. Direccion Postal. */
        DirPostal: string;
        /**Opcional. Comuna Postal. */
        CmnaPostal: string;
        /**Opcional. Ciudad Postal. */
        CiudadPostal: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Montos Totales del DTE. */
    class DocumentoTotales {
        /**Opcional. Monto Neto. */
        MntNeto: number;
        /**Opcional. Monto Exento. */
        MntExe: number;
        /**Opcional. Monto de IVA. */
        IVA: number;
        /**Monto Total. */
        MntTotal: number;
        /**Opcional. Monto No Facturable - Corresponde a Bienes o Servicios Facturados Previamente. */
        MontoNF: number;
        /**Opcional. Total de Ventas o Servicios del Periodo. */
        TotalPeriodo: number;
        /**Opcional. Saldo Anterior - Puede ser Negativo o Positivo. */
        SaldoAnterior: number;
        /**Opcional. Valor a Pagar Total del Documento. */
        VlrPagar: number;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Detalle de Itemes del Documento. */
    class DocumentoDetalle {
        /**Numero Secuencial de Linea. */
        NroLinDet: number;
        /**Opcional. Codificacion del Item. */
        CdgItem: DocumentoCdgItem[];
        /**Opcional. Indicador de Exencion/Facturacion. */
        IndExe: DocumentoIndExe;
        /**Opcional. Indica si el ítem es :
    01: TICKET
    02: VALOR SERVICIO. */
        ItemEspectaculo: DocumentoItemEspectaculo;
        /**Opcional. Rut de la Empresa Mandante de la Boleta. */
        RUTMandante: string;
        /**Nombre del Item. */
        NmbItem: string;
        /**Opcional. Informacion de la entrada. */
        InfoTicket: DocumentoInfoTicket;
        /**Opcional. Descripcion del Item. */
        DscItem: string;
        /**Opcional. Cantidad del Item. */
        QtyItem: number;
        /**Opcional. Unidad de Medida. */
        UnmdItem: string;
        /**Opcional. Precio Unitario del Item en Pesos. */
        PrcItem: number;
        /**Opcional. Porcentaje de Descuento. */
        DescuentoPct: number;
        /**Opcional. Monto de Descuento. */
        DescuentoMonto: number;
        /**Opcional. Porcentaje de Recargo. */
        RecargoPct: number;
        /**Opcional. Monto de Recargo. */
        RecargoMonto: number;
        /**Monto por Linea de Detalle. Corresponde al Monto Bruto, a menos que IndMntNeto Indique lo Contrario . */
        MontoItem: number;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /***/
    enum DocumentoIndExe {
        ProductooServicioesExentooNoAfecto = 1,
        ElProductooServicioNOESFacturable = 2,
        N_6 = 6,
    }
    /***/
    enum DocumentoItemEspectaculo {
        ProductooServicioesExentooNoAfecto = 1,
        ElProductooServicioNOESFacturable = 2,
    }
    /**Codificacion del Item. */
    class DocumentoCdgItem {
        /**Tipo de Codificacion. */
        TpoCodigo: string;
        /**Valor del Codigo de Item, para la Codificacion Particular. */
        VlrCodigo: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Informacion de la entrada. */
    class DocumentoInfoTicket {
        /**Corresponde a la numeración única para el evento.. */
        FolioTicket: number;
        /**Corresponde a la fecha y hora de generación del ticket
    (AAAA-MM-DDThh:mm:ss). */
        FchGenera: Date;
        /**Nombre del Espectáculo. */
        NmbEvento: string;
        /**Tipo de ticket, Por ejemplo: Adulto, Niño, etc. */
        TpoTiket: string;
        /**Código asociado al Evento. */
        CdgEvento: string;
        /**Fecha y hora de realización del evento AAAA-MM-DDThh:mm:ss). */
        FchEvento: Date;
        /**Dirección o identificación del recinto donde se realizará el  Espectáculo. */
        LugarEvento: string;
        /**Sector/Sección de la ubicación en el evento. */
        UbicEvento: string;
        /**Opcional. Fila correspondiente a la Ubicación en el evento. */
        FilaUbicEvento: string;
        /**Opcional. N° de Asiento correspondiente a la Ubicación en el evento. */
        AsntoUbicEvento: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Subtotales Informativos. */
    class DocumentoSubTotInfo {
        /**Número de Subtotal . */
        NroSTI: number;
        /**Opcional. Glosa. */
        GlosaSTI: string;
        /**Ubicación para Impresión . */
        OrdenSTI: number;
        /**Opcional. Valor Neto del Subtotal. */
        SubTotNetoSTI: number;
        /**Opcional. Valor del IVA del Subtotal. */
        SubTotIVASTI: number;
        /**Opcional. Valor de los Impuestos adicionales o específicos del Subtotal. */
        SubTotAdicSTI: number;
        /**Opcional. Valor no Afecto o Exento del Subtotal. */
        SubTotExeSTI: number;
        /**Opcional. Valor de la línea de subtotal. */
        ValSubtotSTI: number;
        /**Opcional. TABLA de  Líneas de Detalle que se agrupan en el Subtotal. */
        LineasDeta: number[];
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Descuentos y/o Recargos que afectan al total del Documento. */
    class DocumentoDscRcgGlobal {
        /**Numero Secuencial de Linea. */
        NroLinDR: number;
        /**Tipo de Movimiento. */
        TpoMov: DocumentoTpoMov;
        /**Opcional. Descripcion del Descuento o Recargo. */
        GlosaDR: string;
        /**Unidad en que se Expresa el Valor. */
        TpoValor: DocumentoTpoValor;
        /**Valor del Descuento o Recargo. */
        ValorDR: number;
        /**Opcional. Indica si el Descuento o Recargo Afecta a Itemes Exentos o No Facturables. */
        IndExeDR: DocumentoIndExeDR;
        ParseFromXMLElement: (Node: Element) => void;
    }
    type DocumentoTpoMov = 'D' | 'R';
    type DocumentoTpoValor = '%' | '$';
    /***/
    enum DocumentoIndExeDR {
        AfectaaProductosExentosoNoAfectos = 1,
        AfectaaProductosNoFacturables = 2,
    }
    /**Identificacion de otros documentos Referenciados por Documento. */
    class DocumentoReferencia {
        /**Numero Secuencial de Linea de Referencia. */
        NroLinRef: number;
        /**Opcional. Codigo Interno del Tipo de Referencia. */
        CodRef: string;
        /**Opcional. Razon Explicita por la que se Referencia el Documento. */
        RazonRef: string;
        /**Opcional. Código del Vendedor establecido por la Empresa. Puede estar asociado a INTERNET. */
        CodVndor: string;
        /**Opcional. Código de la caja establecido por la Empresa. */
        CodCaja: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Timbre Electronico de la Boleta. */
    class DocumentoTED {
        version: string;
        /**Datos Basicos de Documento. */
        DD: DocumentoDD;
        /**Valor de Firma Digital  sobre DD. */
        FRMT: DocumentoFRMT;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Datos Basicos de Documento. */
    class DocumentoDD {
        /**RUT Emisor. */
        RE: string;
        /**Tipo DTE. */
        TD: DTEType;
        /**Folio DTE. */
        F: number;
        /**Fecha Emision DTE en Formato AAAA-MM-DD. */
        FE: Date;
        /**RUT Receptor. */
        RR: string;
        /**Razon Sociall Receptor. */
        RSR: string;
        /**Monto Total DTE. */
        MNT: number;
        /**Descripcion Primer Item de Detalle. */
        IT1: string;
        /**Codigo Autorizacion Folios. */
        CAF: DocumentoCAF;
        /**TimeStamp de Generacion del Timbre. */
        TSTED: Date;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Codigo Autorizacion Folios. */
    class DocumentoCAF {
        version: string;
        /**Datos de Autorizacion de Folios. */
        DA: DocumentoDA;
        /**Firma Digital (RSA) del SII Sobre DA. */
        FRMA: DocumentoFRMA;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Datos de Autorizacion de Folios. */
    class DocumentoDA {
        /**RUT Emisor. */
        RE: string;
        /**Razon Social Emisor. */
        RS: string;
        /**Tipo DTE. */
        TD: DTEType;
        /**Rango Autorizado de Folios. */
        RNG: DocumentoRNG;
        /**Fecha Autorizacion en Formato AAAA-MM-DD. */
        FA: Date;
        /**Opcional. Clave Publica RSA del Solicitante. */
        RSAPK: DocumentoRSAPK;
        /**Opcional. Clave Publica DSA del Solicitante. */
        DSAPK: DocumentoDSAPK;
        /**Identificador de Llave. */
        IDK: number;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Rango Autorizado de Folios. */
    class DocumentoRNG {
        /**Folio Inicial (Desde). */
        D: number;
        /**Folio Final (Hasta). */
        H: number;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Clave Publica RSA del Solicitante. */
    class DocumentoRSAPK {
        /**Modulo RSA. */
        M: string;
        /**Exponente RSA. */
        E: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Clave Publica DSA del Solicitante. */
    class DocumentoDSAPK {
        /**Modulo Primo. */
        P: string;
        /**Entero Divisor de P - 1. */
        Q: string;
        /**Entero f(P, Q). */
        G: string;
        /**G**X mod P. */
        Y: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Firma Digital (RSA) del SII Sobre DA. */
    class DocumentoFRMA {
        algoritmo: string;
        /**Opcional. */
        valor: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Valor de Firma Digital  sobre DD. */
    class DocumentoFRMT {
        algoritmo: Documentoalgoritmo;
        /**Opcional. */
        valor: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    type Documentoalgoritmo = 'SHA1withRSA' | 'SHA1withDSA';
}
