import { GemVersion } from './gem-version';
declare const OPS: {
    '=': (v: any, r: any) => boolean;
    '!=': (v: any, r: any) => boolean;
    '>': (v: any, r: any) => boolean;
    '<': (v: any, r: any) => boolean;
    '>=': (v: any, r: any) => boolean;
    '<=': (v: any, r: any) => boolean;
    '~>': (v: any, r: any) => boolean;
};
type OP = keyof typeof OPS;
type RequirementParts = GemVersion | string | Array<RequirementParts>;
export declare class GemRequirement {
    requirements: Array<[OP, GemVersion]>;
    static create(input: GemRequirement | RequirementParts): GemRequirement;
    static default(): GemRequirement;
    static parse(obj: string | GemVersion): [string, GemVersion];
    constructor(...requirements: RequirementParts[]);
    asList(): string[];
    isPrerelease(): boolean;
    satisfiedBy(version: GemVersion): boolean;
    toString(): string;
}
export {};
