import STWItem from './STWItem';
import type { STWProfileSchematicData } from '../../../resources/httpResponses';
import type { STWItemRarity, STWItemTier, STWSchematicEvoType, STWSchematicMeleeSubType, STWSchematicRangedSubType, STWSchematicTrapSubType, STWSchematicType } from '../../../resources/structs';
import type Client from '../../Client';
/**
 * Represents a Save The World profile's schematic
 */
declare class STWSchematic extends STWItem {
    /**
     * The schematic's type (ranged, melee, or trap)
     */
    type: STWSchematicType;
    /**
     * The schematic's subtype (specific type of ranged/melee weapon or trap)
     */
    subType?: STWSchematicRangedSubType | STWSchematicMeleeSubType | STWSchematicTrapSubType;
    /**
     * The schematic's name
     */
    name?: string;
    /**
     * The schematic's tier
     */
    tier?: STWItemTier;
    /**
     * The schematic's evolution type
     */
    evoType?: STWSchematicEvoType;
    /**
     * The schematic's rarity
     */
    rarity?: STWItemRarity;
    /**
     * The schematic's level
     */
    level: number;
    /**
     * The schematic's max level bonus
     */
    maxLevelBonus: number;
    /**
     * The schematic's xp
     */
    xp: number;
    /**
     * Whether the schematic is marked as seen
     */
    isSeen: boolean;
    /**
     * Whether the schematic is marked as favorite
     */
    isFavorite: boolean;
    /**
     * Whether the schematic is marked as refundable
     */
    isRefundable: boolean;
    /**
     * The schematic's perks
     */
    alterations: string[];
    /**
     * The original rarities of the schematic's perks, before any upgrades
     */
    alterationBaseRarities: string[];
    constructor(client: Client, id: string, data: STWProfileSchematicData);
    /**
     * The schematic's power level.
     * Depends on the tier, level, and rarity value
     */
    get powerLevel(): number;
}
export default STWSchematic;
