/**
 * Result of a hybrid Ed25519 + Dilithium3 signing operation
 */
export interface HybridSignatureResult {
    /** Classical Ed25519 signature (base64) */
    classicalSignature: string;
    /** PQ Dilithium3 signature (base64) */
    pqSignature: string;
    /** Combined signature format (base64 of: 4-byte classical-length + classical + pq) */
    combinedSignature: string;
    /** Classical Ed25519 public key (base64, SPKI format) */
    classicalPublicKey: string;
    /** PQ Dilithium3 public key (base64, raw) */
    pqPublicKey: string;
    /** Combined public key (base64 of: 4-byte classical-length + classical + pq) */
    combinedPublicKey: string;
    algorithm: 'hybrid-ed25519-dilithium3';
    signedAt: string;
}
/**
 * Result of a hybrid signature verification
 */
export interface HybridVerifyResult {
    valid: boolean;
    classicalValid: boolean;
    pqValid: boolean;
    verifiedAt: string;
    error?: string;
}
/**
 * Initialize the hybrid signing subsystem.
 *
 * Generates and caches an Ed25519 key pair (WebCrypto) and a Dilithium3 key
 * pair (@noble/post-quantum via DilithiumService). Must be called before
 * {@link signHybrid} or {@link verifyHybrid}.
 */
export declare function initializeHybridSigning(): Promise<void>;
/**
 * Sign data with both Ed25519 (WebCrypto) and Dilithium3 (noble via DilithiumService).
 *
 * Produces individual signatures and a combined signature that concatenates both
 * using a length-prefixed format.
 *
 * @param data - The string data to sign
 * @returns Hybrid signature result with individual and combined signatures/keys
 * @throws Error if {@link initializeHybridSigning} has not been called
 */
export declare function signHybrid(data: string): Promise<HybridSignatureResult>;
/**
 * Verify a hybrid Ed25519 + Dilithium3 signature.
 *
 * Splits the combined signature and combined public key, then verifies each
 * independently. Both MUST be valid for the overall result to be valid.
 *
 * @param data - The original string data that was signed
 * @param combinedSignature - Base64 encoded combined signature (length-prefixed)
 * @param combinedPublicKey - Base64 encoded combined public key (length-prefixed)
 * @returns Verification result with individual and overall validity
 */
export declare function verifyHybrid(data: string, combinedSignature: string, combinedPublicKey: string): Promise<HybridVerifyResult>;
/**
 * Check whether the given algorithm string identifies the hybrid Ed25519 + Dilithium3 scheme.
 *
 * @param algorithm - Algorithm identifier to test
 * @returns true if the algorithm is 'hybrid-ed25519-dilithium3'
 */
export declare function isHybridAlgorithm(algorithm: string): boolean;
//# sourceMappingURL=hybrid-signing.d.ts.map