import { NpcDrop } from './NpcDrop';
import { NpcProduct } from './NpcProduct';
/**
 * Represents a non-player character (NPC) in the game.
 * @property {number} id - Unique identifier for the NPC.
 * @property {string} name - Name of the NPC.
 * @property {string} examine - Description of the NPC.
 * @property {boolean} members - Indicates if the NPC is a members-only NPC.
 * @property {number} combatLevel - Combat level of the NPC.
 * @property {string} officialWikiUrl - URL to the official wiki page for the NPC.
 * @property {string} [iconUrl] - Optional URL for the NPC's icon.
 * @property {number} hitpoints - Hitpoints of the NPC.
 * @property {boolean} aggressive - Indicates if the NPC is aggressive.
 * @property {string} attackType - The type of attack the NPC uses (e.g., "melee", "ranged", "magic").
 * @property {string[]} attackStyles - The primary attack style of the NPC (e.g., "melee", "ranged", "magic").
 * @property {number} maxHit - The maximum hit the NPC can deal.
 * @property {number} attackSpeed - The attack speed of the NPC in ticks.
 * @property {number} respawnTime - The time in seconds before the NPC respawns after being killed.
 * @property {string[]} location - Locations where the NPC can be found.
 * @property {NpcDrop[]} drops - List of items that the NPC can drop upon death.
 * @property {string[]} weaknesses - List of weaknesses of the NPC (e.g., "slash", "stab", "crush").
 * @property {string[]} [products] - List of products/services the NPC offers (e.g., runes, house teleport, etc.).
 * @property {string[]} [dialogue] - List of notable dialogue lines or dialogue options.
 * @property {string[]} [changes] - List of notable changes/updates to the NPC.
 */
export declare class Npc {
    id: number;
    name: string;
    examine: string;
    members: boolean;
    combatLevel: number;
    officialWikiUrl: string;
    iconUrl?: string;
    hitpoints: number;
    aggressive: boolean;
    attackable: boolean;
    canPoison: boolean;
    poisonous: boolean;
    canCannon: boolean;
    canThrall: boolean;
    canVenom: boolean;
    attackStyles: string[];
    maxHit: number;
    attackSpeed: number;
    respawnTime: number;
    locations: string[];
    drops: NpcDrop[];
    weaknesses: string[];
    products?: NpcProduct[];
    dialogue?: string[];
    changes?: string[];
    trivia?: string[];
    constructor(id: number, name: string, examine: string, members: boolean, combatLevel: number, officialWikiUrl: string, hitpoints: number, aggressive: boolean, attackable: boolean, canPoison: boolean, poisonous: boolean, canCannon: boolean, canThrall: boolean, canVenom: boolean, attackStyles: string[], maxHit: number, attackSpeed: number, respawnTime: number, locations: string[], drops: NpcDrop[], weaknesses: string[], iconUrl?: string, products?: NpcProduct[], dialogue?: string[], changes?: string[], trivia?: string[]);
    static createBasicNpc(name: string): Npc;
}
//# sourceMappingURL=Npc.d.ts.map