export interface WeightedItem<Item> {
    readonly content: Item;
    readonly weight?: number;
}
export declare class WeightedItemFeeder<Item> {
    private totalWeight;
    private normalizedWeightedItems;
    constructor(...weightedItems: WeightedItem<Item>[]);
    get size(): number;
    addItem(item: Item, weight?: number): void;
    addWeightedItem(weightedItem: WeightedItem<Item>): void;
    getItem(): Item | undefined;
    private updateTotalWeight;
}
export declare function normalizeWeight(value: number): number;
