import { ReferenceId } from '../types/content-reference';

/**
 * Content-based reference ID generator using SHA-256 (HCS-1 style)
 *
 * Generates deterministic reference IDs based on content hashing.
 * Same content always produces the same reference ID.
 */
export declare class ReferenceIdGenerator {
    /**
     * Generate a content-based reference ID using SHA-256 hashing
     *
     * @param content The content to generate a reference ID for
     * @returns Deterministic reference ID based on content hash
     */
    static generateId(content: Buffer): ReferenceId;
    /**
     * Validate that a string is a properly formatted reference ID
     *
     * @param id The ID to validate
     * @returns true if the ID is valid format
     */
    static isValidReferenceId(id: string): id is ReferenceId;
    /**
     * Extract reference ID from ref:// format
     *
     * @param input Input string that may contain a reference ID
     * @returns Extracted reference ID or null if not found
     */
    static extractReferenceId(input: string): ReferenceId | null;
    /**
     * Format a reference ID in the standard ref:// format
     *
     * @param referenceId The reference ID to format
     * @returns Formatted reference string
     */
    static formatReference(referenceId: ReferenceId): string;
    /**
     * Generate a test reference ID (for testing purposes only)
     *
     * @param testSeed A test seed to generate a fake but valid ID format
     * @returns A valid format reference ID for testing
     */
    static generateTestId(testSeed: string): ReferenceId;
}
