import Range = require("../classes/range");
import SemVer = require("../classes/semver");
import semver = require("../index");

/**
 * Return the highest version in the list that satisfies the range, or null if none of them do.
 */
declare function maxSatisfying<T extends string | SemVer>(
    versions: ReadonlyArray<T>,
    range: string | Range,
    optionsOrLoose?: boolean | semver.RangeOptions,
): T | null;

export = maxSatisfying;
