import type { Reference, DigestInfo } from '../../services/kyc/iso20022.generated.js';
import { Buffer } from './buffer.js';
/**
 * Builder for Reference structures
 *
 * Creates a Reference containing:
 * - ExternalReference: URL and content type
 * - DigestInfo: Hash algorithm OID and digest
 * - Encryption algorithm OID
 */
export declare class ExternalReferenceBuilder {
    #private;
    /**
     * Create a new ExternalReferenceBuilder
     *
     * @param url - The URL where the document can be accessed
     * @param contentType - MIME type of the document (e.g., 'image/jpeg', 'application/pdf')
     */
    constructor(url: string, contentType: string);
    /**
     * Set the digest algorithm (default: 'sha3-256')
     *
     * @param algorithm - Hash algorithm name (e.g., 'sha256', 'sha3-256')
     * @returns this builder for chaining
     */
    withDigestAlgorithm(algorithm: string): this;
    /**
     * Set the encryption algorithm (default: 'KeetaEncryptedContainerV1')
     *
     * @param algorithm - Encryption algorithm name
     * @returns this builder for chaining
     */
    withEncryptionAlgorithm(algorithm: string): this;
    /**
     * Build the Reference structure
     *
     * @param documentContent - The actual document content to hash
     * @returns The Reference structure
     */
    build(documentContent: Buffer): Reference;
}
export declare function checkHashWithOID(input: Buffer | ArrayBuffer, expected: DigestInfo): Promise<true | Error>;
export declare function checkHashWithOID(input: Buffer | ArrayBuffer, expected: unknown): Promise<true | Error>;
export default ExternalReferenceBuilder;
//# sourceMappingURL=external.d.ts.map