import { ArtifactData } from "./ArtifactData";
import { ArtifactSplitSubstat } from "./ArtifactSplitSubstat";
import { StatProperty } from "../StatProperty";
import { JsonObject } from "config_file.js";
import { EnkaClient } from "../../client/EnkaClient";
import { IArtifact } from "../good/GOOD";
import { IGOODComponentResolvable } from "../good/IGOODResolvable";
export interface SubstatsContainer {
    total: StatProperty[];
    split: ArtifactSplitSubstat[];
}
export declare class Artifact implements IGOODComponentResolvable<IArtifact> {
    readonly enka: EnkaClient;
    readonly artifactData: ArtifactData;
    readonly level: number;
    readonly mainstat: StatProperty;
    readonly substats: SubstatsContainer;
    /** The name of character who has this artifact for the GOOD. */
    location: string | null;
    readonly _data: JsonObject;
    constructor(data: JsonObject, enka: EnkaClient);
    /** `lock` is always false since enka.network cannot get the lock state from the game. */
    toGOOD(): IArtifact;
}
