/**
 * Generate a "bucketingNumber" which is a hash based on the ticket, entityId, and seed
 * Designed to be consistent with consistent inputs.
 * @param {string} bucketingId
 * @param {string} entityId
 * @param {hashing.Seed} seed
 * @return {number} between 0 and 9999 representing the bucketing number for the ticket
 * @private
 */
export function bucketingNumber(bucketingId: string, entityId: string, seed: hashing.Seed): number;
/**
 * Decide if this ticket should be withheld from a given "entity" (layer, experiment, variation, etc)
 * based on the entity holdback property.
 * @param {string} bucketingId
 * @param {{id: string, holdback: (number|undefined)}} entity
 * @return {boolean} if the ticket should be held back
 */
export function isHoldback(bucketingId: string, entity: {
    id: string;
    holdback: (number | undefined);
}): boolean;
/**
 * Choose a weight for a ticket from an array of possible weights based on the entity
 * @param {string} bucketingId
 * @param {string} parentId
 * @param {WeightDistribution[]} candidates
 * @return {string} id of the chosen candidate
 */
export function chooseWeightedCandidate(bucketingId: string, parentId: string, candidates: WeightDistribution[]): string;
export const TOTAL_POINTS: 10000;
