interface SkillDetail {
    rank?: number;
    level: number;
    xp?: number;
}
interface Skill {
    level: number;
}
interface SkillJsonDetail {
    rank?: number;
    level: number;
    xp?: number;
}
interface OsrsAccountJson {
    name?: string;
    main?: {
        combatLevel?: number;
        questPoints?: number;
        skills?: Record<string, SkillJsonDetail>;
    };
    combatLevel?: number;
    questPoints?: number;
    skills: Record<string, SkillJsonDetail>;
    lastManStanding?: BossScore;
    pvpArena?: BossScore;
    soulWarsZeal?: BossScore;
    riftsClosed?: BossScore;
    colosseumGlory?: BossScore;
    collectionsLogged?: BossScore;
    leaguePoints?: BossScore;
    deadmanPoints?: BossScore;
    bosses?: Bosses;
    clues?: Clues;
    bountyHunter?: BountyHunter;
}
interface Skills {
    [skillName: string]: Skill;
}
interface SkillsDetail {
    [skillName: string]: SkillDetail;
}
interface BossScore {
    rank: number;
    score: number;
}
interface Bosses {
    [bossName: string]: BossScore;
}
interface ClueScore {
    rank: number;
    score: number;
}
interface Clues {
    [clueType: string]: ClueScore;
}
interface BountyHunter {
    hunterV2?: BossScore;
    rogueV2?: BossScore;
    hunter?: BossScore;
    rogue?: BossScore;
}
interface OsrsAccountData {
    name: string;
    combatLevel: number;
    questPoints: number;
    skills: Skills;
    skillsDetail?: SkillsDetail;
    bosses?: Bosses;
    clues?: Clues;
    bountyHunter?: BountyHunter;
    lastManStanding?: BossScore;
    pvpArena?: BossScore;
    soulWarsZeal?: BossScore;
    riftsClosed?: BossScore;
    colosseumGlory?: BossScore;
    collectionsLogged?: BossScore;
    leaguePoints?: BossScore;
    deadmanPoints?: BossScore;
}
/**
 * Represents an Old School RuneScape account with various properties and methods to access skills, bosses, clues, and other relevant data.
 * The class is designed to be initialized from a JSON object that may come from an API response or other data source, and provides methods to retrieve specific information about the account.
 * It also includes a method to convert the account data back into a JSON format, which can be useful for saving or transmitting the account information.
 */
declare class OsrsAccount {
    #private;
    constructor(data: OsrsAccountData);
    static fromJson(json: OsrsAccountJson): OsrsAccount;
    get name(): string;
    get combatLevel(): number;
    get questPoints(): number;
    get skills(): Skills;
    get skillsDetail(): SkillsDetail | undefined;
    get bosses(): Bosses | undefined;
    get clues(): Clues | undefined;
    get bountyHunter(): BountyHunter | undefined;
    get lastManStanding(): BossScore | undefined;
    get pvpArena(): BossScore | undefined;
    get soulWarsZeal(): BossScore | undefined;
    get riftsClosed(): BossScore | undefined;
    get colosseumGlory(): BossScore | undefined;
    get collectionsLogged(): BossScore | undefined;
    get leaguePoints(): BossScore | undefined;
    get deadmanPoints(): BossScore | undefined;
    getSkill(skillName: string): Skill | undefined;
    getSkillDetail(skillName: string): SkillDetail | undefined;
    getBossScore(bossName: string): BossScore | undefined;
    getClueScore(clueType: string): ClueScore | undefined;
    toString(): string;
    toJson(): OsrsAccountData;
}
export type { Bosses, BossScore, BountyHunter, Clues, ClueScore, OsrsAccountData, Skill, Skills, SkillsDetail };
export { OsrsAccount };
//# sourceMappingURL=OsrsAccount.d.ts.map