/**
 * This namespace contains functions for manipulating sets of projects
 */
export declare class Selection {
    /**
     * Computes the set of projects that are not in the input set.
     */
    static difference<T>(first: Iterable<T>, ...rest: ReadonlySet<T>[]): Set<T>;
    /**
     * Computes the set of direct dependencies of the listed projects.
     */
    static directDependenciesOf<T>(input: Iterable<T>, expandFn: (target: T) => ReadonlySet<T>): Set<T>;
    /**
     * Computes the intersection of two or more sets.
     */
    static intersection<T>(first: Iterable<T>, ...rest: ReadonlySet<T>[]): Set<T>;
    /**
     * Computes the union of two or more sets.
     */
    static union<T>(...sets: Iterable<T>[]): Set<T>;
    /**
     * Computes a set that contains all inputs and recursively expanded inputs.
     */
    static recursiveExpand<T>(input: Iterable<T>, expandFn: (target: T) => ReadonlySet<T>): Set<T>;
}
//# sourceMappingURL=Selection.d.ts.map