/**
 * Shamir Secret Sharing Test Vectors
 *
 * This module provides comprehensive test vectors for verifying the correctness
 * of Shamir Secret Sharing implementations. Vectors include:
 * - Edge cases (threshold=1, threshold=n, max shares)
 * - Known-answer tests from academic papers
 * - Interoperability tests with reference implementations
 * - NIST-style structured test vectors
 *
 * @module security/crypto/shamir/test-vectors
 */
import { TestVector } from './types';
/**
 * NIST-style test vectors with known inputs and expected outputs.
 * These vectors are designed for deterministic testing.
 *
 * Format follows NIST CAVP (Cryptographic Algorithm Validation Program) style.
 */
export declare const NIST_STYLE_VECTORS: TestVector[];
/**
 * Edge case test vectors for boundary conditions.
 */
export declare const EDGE_CASE_VECTORS: TestVector[];
/**
 * Test vectors based on academic papers and reference implementations.
 */
export declare const ACADEMIC_VECTORS: TestVector[];
/**
 * Test vectors for GF(2^8) field operations.
 * These verify the correctness of the underlying field arithmetic.
 */
export interface GF256TestVector {
    operation: 'add' | 'sub' | 'mul' | 'div' | 'inv' | 'pow';
    inputs: number[];
    expected: number;
    description: string;
}
export declare const GF256_OPERATION_VECTORS: GF256TestVector[];
/**
 * Test vectors for polynomial evaluation in GF(2^8).
 */
export interface PolynomialTestVector {
    coefficients: number[];
    x: number;
    expected: number;
    description: string;
}
export declare const POLYNOMIAL_VECTORS: PolynomialTestVector[];
/**
 * Test vectors for Lagrange interpolation at x=0.
 */
export interface LagrangeTestVector {
    points: Array<{
        x: number;
        y: number;
    }>;
    expectedF0: number;
    description: string;
}
export declare const LAGRANGE_VECTORS: LagrangeTestVector[];
/**
 * Verify a GF(2^8) operation test vector.
 */
export declare function verifyGF256Vector(vector: GF256TestVector): {
    passed: boolean;
    actual: number;
};
/**
 * Verify a polynomial evaluation test vector.
 */
export declare function verifyPolynomialVector(vector: PolynomialTestVector): {
    passed: boolean;
    actual: number;
};
/**
 * Run all test vectors and return comprehensive results.
 */
export declare function runAllTestVectors(): {
    passed: boolean;
    summary: {
        totalVectors: number;
        passedVectors: number;
        failedVectors: number;
    };
    categories: Array<{
        name: string;
        passed: boolean;
        details: unknown;
    }>;
};
/**
 * Generate deterministic shares for a known secret using fixed random seed.
 * Used for generating reproducible test vectors.
 *
 * @param secret - The secret bytes
 * @param threshold - Minimum shares for reconstruction
 * @param totalShares - Total shares to generate
 * @param seed - Seed for deterministic coefficient generation
 */
export declare function generateDeterministicShares(secret: Uint8Array, threshold: number, totalShares: number, seed: number): Array<{
    index: number;
    value: Uint8Array;
}>;
/**
 * Export all test vector collections.
 */
export declare const ALL_TEST_VECTORS: {
    nistStyle: TestVector[];
    edgeCases: TestVector[];
    academic: TestVector[];
    gf256Operations: GF256TestVector[];
    polynomials: PolynomialTestVector[];
    lagrange: LagrangeTestVector[];
};
//# sourceMappingURL=test-vectors.d.ts.map