import { type ScryptOptions } from 'node:crypto';
export declare const MAX_UINT32: number;
export declare const MAX_UINT24: number;
/**
 * Validates a number to be within a given range.
 */
export declare class RangeValidator {
    /**
     * Validates that a value is a number within the specified range
     *
     * @param label - The label for the value being validated
     * @param value - The value to validate
     * @param range - The min and max range values
     */
    static validate(label: string, value: unknown, range: [number, number]): void;
}
/**
 * Validates a value to be one of the allowed values
 */
export declare class EnumValidator {
    /**
     * Validates that a value is one of the allowed values
     *
     * @param label - The label for the value being validated
     * @param value - The value to validate
     * @param allowedValues - Array of allowed values
     */
    static validate(label: string, value: unknown, allowedValues: any[]): void;
}
/**
 * Async function to generate random bytes
 */
export declare const randomBytesAsync: (arg1: number) => Promise<NonSharedBuffer>;
/**
 * Async version of scrypt.
 */
export declare const scryptAsync: (arg1: string, arg2: Buffer<ArrayBufferLike>, arg3: number, arg4: ScryptOptions) => Promise<Buffer<ArrayBufferLike>>;
