/**
 * Build-time options for sizing the hash table.
 *
 * @typedef {object} HashTableBuildOptions
 * @property {number} [capacity] Power-of-two table size override.
 * @property {number} [maxLoadFactor] Maximum load factor before resizing.
 */
/**
 * Packed table payload ready for WebGL texture upload.
 *
 * @typedef {object} HashTableBuildResult
 * @property {Uint32Array} table Hash table slots that contain keys.
 * @property {number} capacity Table capacity (number of slots).
 * @property {number} size Number of stored keys.
 */
/**
 * 32-bit integer hash for u32 keys. Keep in sync with GLSL hash32.
 *
 * @param {number} value
 * @returns {number}
 */
export function hash32(value: number): number;
/**
 * Build a hash table for set membership checks.
 *
 * @param {Iterable<number>} keys
 * @param {HashTableBuildOptions} [options]
 * @returns {HashTableBuildResult}
 */
export function buildHashTableSet(keys: Iterable<number>, options?: HashTableBuildOptions): HashTableBuildResult;
/**
 * Computes a 2D texture layout for a power-of-two hash table capacity.
 *
 * The returned dimensions satisfy `width * height === capacity`.
 *
 * @param {number} capacity
 * @param {number} maxTextureSize
 * @returns {{ width: number, height: number }}
 */
export function computeHashTextureDimensions(capacity: number, maxTextureSize: number): {
    width: number;
    height: number;
};
/** Sentinel key that marks an empty hash slot. */
export const HASH_EMPTY_KEY: 4294967295;
/** Default maximum load factor for table sizing. */
export const DEFAULT_MAX_LOAD_FACTOR: 0.6;
/**
 * Build-time options for sizing the hash table.
 */
export type HashTableBuildOptions = {
    /**
     * Power-of-two table size override.
     */
    capacity?: number;
    /**
     * Maximum load factor before resizing.
     */
    maxLoadFactor?: number;
};
/**
 * Packed table payload ready for WebGL texture upload.
 */
export type HashTableBuildResult = {
    /**
     * Hash table slots that contain keys.
     */
    table: Uint32Array;
    /**
     * Table capacity (number of slots).
     */
    capacity: number;
    /**
     * Number of stored keys.
     */
    size: number;
};
//# sourceMappingURL=hashTable.d.ts.map