export declare class NamedList<T> {
    UniqueField: keyof T;
    Name: string;
    Items: T[];
    constructor(listName: string, uniqueField?: keyof T);
    Add(item: T): void;
    Remove(item: T): void;
    Contains(item: T): boolean;
    GetRandomItem(): T | undefined;
    HasItems(): boolean;
    HasItem(value: T[keyof T], propertyName?: keyof T): boolean;
    GetItem(predicate: (item: T) => boolean): T | undefined;
    FindBy(value: T[keyof T], propertyName?: keyof T): T | undefined;
    Find(value: T): T | undefined;
    OrderBy(orderField?: keyof T): T[];
    Reset(): void;
}
