/**
 * Provenance Chain
 *
 * Hash chain implementation for provenance records.
 * Each record links to the previous via hash for tamper detection.
 *
 * @packageDocumentation
 */
import type { ProvenanceRecord, ChainVerificationResult, TamperDetectionResult } from './types.js';
/**
 * ProvenanceChain class for managing hash-linked records
 */
export declare class ProvenanceChain {
    /**
     * Verify the integrity of a chain of provenance records
     *
     * @param chain - Array of provenance records ordered by chain position
     * @returns Verification result
     */
    verify(chain: ProvenanceRecord[]): Promise<ChainVerificationResult>;
    /**
     * Detect tampering in a chain of provenance records
     *
     * @param chain - Array of provenance records to check
     * @returns Tamper detection result
     */
    detectTampering(chain: ProvenanceRecord[]): Promise<TamperDetectionResult>;
    /**
     * Calculate the expected hash for a provenance record
     *
     * @param record - Provenance record
     * @returns Expected hash
     */
    calculateHash(record: ProvenanceRecord): Promise<string>;
    /**
     * Get the last hash in a chain
     *
     * @param chain - Array of provenance records
     * @returns Last hash or empty string if chain is empty
     */
    getLastHash(chain: ProvenanceRecord[]): string;
    /**
     * Get the next chain position
     *
     * @param chain - Array of provenance records
     * @returns Next chain position
     */
    getNextPosition(chain: ProvenanceRecord[]): number;
}
/**
 * Create a new ProvenanceChain instance
 */
export declare function createProvenanceChain(): ProvenanceChain;
//# sourceMappingURL=chain.d.ts.map