import { type PhcNode } from './types.ts';
/**
 * Phc formatter is used to serialize a hash to a phc string and
 * deserialize it back to a PHC object.
 */
export declare class PhcFormatter<Params extends Record<string, string | number> = Record<string, string | number>> {
    /**
     * Serialize salt and hash with predefined options into a PHC string
     *
     * @param salt - The salt buffer
     * @param hash - The hash buffer
     * @param options - Serialization options including id, params, and version
     * @return The serialized PHC string
     */
    /**
     * Serialize salt and hash with predefined options.
     */
    serialize(salt: Buffer, hash: Buffer, options: {
        id: string;
        params?: Params;
        version?: number | string;
    }): string;
    /**
     * Deserialize a PHC string to an object
     *
     * @param phcString - The PHC string to deserialize
     * @return The deserialized PHC node object
     */
    deserialize(phcString: string): PhcNode<Params>;
}
