export declare namespace FirmaElectronica {
    /**Firma Digital sobre Documento. */
    class Signature {
        /**Descripcion de la Informacion Firmada y del Metodo de Firma. */
        SignedInfo: SignedInfo;
        /**Valor de la Firma Digital. */
        SignatureValue: string;
        /**Informacion de Claves Publicas y Certificado. */
        KeyInfo: KeyInfo;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Descripcion de la Informacion Firmada y del Metodo de Firma. */
    class SignedInfo {
        /**Algoritmo de Canonicalizacion. */
        CanonicalizationMethod: CanonicalizationMethod;
        /**Algoritmo de Firma. */
        SignatureMethod: SignatureMethod;
        /**Referencia a Elemento Firmado. */
        Reference: Reference;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Algoritmo de Canonicalizacion. */
    class CanonicalizationMethod {
        Algorithm: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Algoritmo de Firma. */
    class SignatureMethod {
        Algorithm: Algorithm;
        ParseFromXMLElement: (Node: Element) => void;
    }
    type Algorithm = 'http://www.w3.org/2000/09/xmldsig#rsa-sha1' | 'http://www.w3.org/2000/09/xmldsig#dsa-sha1';
    /**Referencia a Elemento Firmado. */
    class Reference {
        URI: string;
        /**Opcional. Algoritmo de Transformacion. */
        Transforms: Transforms;
        /**Algoritmo de Digest. */
        DigestMethod: DigestMethod;
        /**Valor de Digest. */
        DigestValue: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Algoritmo de Transformacion. */
    class Transforms {
        /***/
        Transform: Transform;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /***/
    class Transform {
        Algorithm: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Algoritmo de Digest. */
    class DigestMethod {
        Algorithm: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Informacion de Claves Publicas y Certificado. */
    class KeyInfo {
        /***/
        KeyValue: KeyValue;
        /**Informacion del Certificado Publico. */
        X509Data: X509Data;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /***/
    class KeyValue {
        /**Opcional. Informacion de Claves Publicas RSA. */
        RSAKeyValue: RSAKeyValue;
        /**Opcional. Informacion de Claves Publicas DSA. */
        DSAKeyValue: DSAKeyValue;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Informacion de Claves Publicas RSA. */
    class RSAKeyValue {
        /**Modulo Clave RSA. */
        Modulus: string;
        /**Exponente Clave RSA. */
        Exponent: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
    /**Informacion de Claves Publicas DSA. */
    class DSAKeyValue {
        /**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;
    }
    /**Informacion del Certificado Publico. */
    class X509Data {
        /**Certificado Publico. */
        X509Certificate: string;
        ParseFromXMLElement: (Node: Element) => void;
    }
}
