import type { AlgorithmType, Proof, ProofParameters, VerificationResult, PerformanceMetrics, SecurityLevel, ZKPConfig, BatchProcessingOptions, ThresholdProof, BenchmarkResult, AlgorithmConfig } from '../types/index.js';
export declare class QuantumZKP {
    private static readonly VERSION;
    private static readonly LEARNING_USE;
    private static readonly EDUCATIONAL_LIMITATIONS;
    private static readonly DEFAULT_CONFIG;
    private config;
    constructor(config?: Partial<ZKPConfig>);
    createProof(secret: Buffer | string, algorithm?: AlgorithmType, parameters?: Partial<ProofParameters>): Proof;
    verifyProof(proof: Proof): VerificationResult;
    createThresholdProof(secret: Buffer | string, parties?: number, algorithm?: AlgorithmType): ThresholdProof;
    batchCreateProofs(secrets: (Buffer | string)[], algorithm?: AlgorithmType, options?: BatchProcessingOptions): Proof[];
    getPerformanceMetrics(algorithm: AlgorithmType): PerformanceMetrics;
    getSecurityLevel(algorithm: AlgorithmType): SecurityLevel;
    benchmarkAllAlgorithms(): BenchmarkResult[];
    getAlgorithmConfig(algorithm: AlgorithmType): AlgorithmConfig;
    getVersion(): string;
    private shareSecret;
    private createReconstructionKey;
    getSupportedAlgorithms(): AlgorithmType[];
    isQuantumResistant(algorithm: AlgorithmType): boolean;
}
