interface Requirement {
    description: string;
    type: RequirementType;
}
declare class LevelRequirement implements Requirement {
    type: RequirementType;
    skillName: string;
    level: number;
    boostable: boolean;
    constructor(skillName: string, level: number, boostable?: boolean);
    get description(): string;
}
declare enum RequirementType {
    SlayerLevel = "SlayerLevel",
    Level = "Level",
    CombatLevel = "CombatLevel",
    Quest = "Quest",
    QuestPoint = "QuestPoint",
    Item = "Item",
    Location = "Location",
    SlayerUnlock = "SlayerUnlock"
}
declare class SlayerUnlockRequirement implements Requirement {
    type: RequirementType;
    name: string;
    constructor(name: string);
    get description(): string;
}
declare class SlayerLevelRequirement implements Requirement {
    type: RequirementType;
    level: number;
    constructor(level: number);
    get description(): string;
}
declare class CombatLevelRequirement implements Requirement {
    type: RequirementType;
    level: number;
    constructor(level: number);
    get description(): string;
}
declare class QuestRequirement implements Requirement {
    type: RequirementType;
    questName: string;
    constructor(questName: string);
    get description(): string;
}
declare class QuestPointRequirement implements Requirement {
    type: RequirementType;
    amount: number;
    constructor(amount: number);
    get description(): string;
}
declare class ItemRequirement implements Requirement {
    type: RequirementType;
    itemName: string;
    constructor(itemName: string);
    get description(): string;
}
declare class LocationRequirement implements Requirement {
    type: RequirementType;
    locationName: string;
    constructor(locationName: string);
    get description(): string;
}
export { CombatLevelRequirement, QuestPointRequirement, ItemRequirement, LevelRequirement, LocationRequirement, QuestRequirement, Requirement, RequirementType, SlayerLevelRequirement, SlayerUnlockRequirement, };
