/**
 * @module errors
 * Named error class hierarchy for @private.me/crypto.
 *
 * Provides structured error types for XorIDA threshold sharing,
 * HMAC integrity verification, PKCS#7 padding, and TLV serialization.
 */
/** Base error class for all crypto operations. */
export declare class CryptoError extends Error {
    readonly code: string;
    readonly subCode?: string;
    readonly docUrl?: string;
    constructor(code: string, message: string, docUrl?: string);
}
/** Error thrown during XorIDA split or reconstruction operations. */
export declare class CryptoSplitError extends CryptoError {
    constructor(code: string, message: string);
}
/** Error thrown when HMAC integrity verification fails. */
export declare class CryptoIntegrityError extends CryptoError {
    constructor(code: string, message: string);
}
/** Error thrown for PKCS#7 padding issues. */
export declare class CryptoPaddingError extends CryptoError {
    constructor(code: string, message: string);
}
/** Error thrown during TLV serialization or deserialization. */
export declare class CryptoSerializationError extends CryptoError {
    constructor(code: string, message: string);
}
/** Human-readable messages for each error code. */
export declare const ERROR_MESSAGES: Record<string, string>;
/**
 * Detailed descriptions for each error code.
 * Maps error codes to comprehensive explanations including cause and resolution.
 */
export declare const ERROR_DETAILS: Record<string, string>;
/**
 * Convert an unknown error into a CryptoError.
 *
 * @param error - The unknown error to convert
 * @returns A CryptoError instance
 */
export declare function toCryptoError(error: unknown): CryptoError;
/**
 * Type guard to check if an error is a CryptoError.
 *
 * @param error - The value to check
 * @returns true if the value is a CryptoError instance
 */
export declare function isCryptoError(error: unknown): error is CryptoError;
