/**
 * XorIDA Threshold Secret Sharing over GF(2).
 *
 * Proprietary, patent-protected (k,n)-threshold secret sharing construction.
 *
 * All arithmetic is XOR (GF(2)). The generator matrix is constructed from a cyclic
 * index formula using NextOddPrime(n). Any k-of-n shares reconstruct the original
 * message via Gaussian elimination on the restricted generator matrix.
 */
/**
 * Find the smallest odd prime >= n.
 * Used to determine the cyclic group Z_p for generator matrix construction.
 *
 * @param n - Total number of shares
 * @returns Smallest odd prime >= n
 */
export declare function nextOddPrime(n: number): number;
/**
 * Split a padded message into n shares using XorIDA threshold sharing.
 *
 * The message length must be a multiple of b = NextOddPrime(n) - 1.
 * Each share is the same length as the input message.
 *
 * @param paddedMessage - PKCS#7-padded message (length must be multiple of b)
 * @param n - Total number of shares to produce
 * @param k - Threshold: minimum shares needed for reconstruction
 * @returns Array of n shares, each the same length as paddedMessage
 */
export declare function splitXorIDA(paddedMessage: Uint8Array, n: number, k: number): Uint8Array[];
/**
 * Split with externally provided random source arrays (for testing with known vectors).
 * @internal Exported for testing only.
 */
export declare function splitWithRandom(paddedMessage: Uint8Array, n: number, k: number, p: number, b: number, randomArrays?: Uint8Array[]): Uint8Array[];
/**
 * Reconstruct the padded message from k shares via GF(2) Gaussian elimination.
 *
 * @param shares - Array of k share byte arrays
 * @param indices - Original indices (0-based) of the provided shares
 * @param n - Total number of shares that were produced
 * @param k - Threshold used during splitting
 * @returns Reconstructed padded message
 */
export declare function reconstructXorIDA(shares: Uint8Array[], indices: number[], n: number, k: number): Uint8Array;
