import IMemory from 'modloader64_api/IMemory';
import { JSONTemplate } from 'modloader64_api/JSONTemplate';
import { ILogger } from 'modloader64_api/IModLoaderAPI';
import * as Z64API from '../../API/imports';
export declare class Inventory extends JSONTemplate implements Z64API.MM.IInventory {
    private emulator;
    private instance;
    private inventory_addr;
    private inventory_ammo_addr;
    private inventory_upgrades_addr;
    private log;
    jsonFields: string[];
    constructor(emu: IMemory, log: ILogger);
    get FIELD_OCARINA(): Z64API.Z64.Ocarina;
    set FIELD_OCARINA(item: Z64API.Z64.Ocarina);
    get FIELD_HEROES_BOW(): boolean;
    set FIELD_HEROES_BOW(bow: boolean);
    get FIELD_FIRE_ARROW(): boolean;
    set FIELD_FIRE_ARROW(bool: boolean);
    get FIELD_ICE_ARROW(): boolean;
    set FIELD_ICE_ARROW(bool: boolean);
    get FIELD_LIGHT_ARROW(): boolean;
    set FIELD_LIGHT_ARROW(lightA: boolean);
    get FIELD_BOMB(): boolean;
    set FIELD_BOMB(bool: boolean);
    get FIELD_BOMBCHU(): boolean;
    set FIELD_BOMBCHU(bool: boolean);
    get FIELD_DEKU_STICKS(): boolean;
    set FIELD_DEKU_STICKS(bool: boolean);
    get FIELD_DEKU_NUT(): boolean;
    set FIELD_DEKU_NUT(bool: boolean);
    get FIELD_MAGIC_BEAN(): boolean;
    set FIELD_MAGIC_BEAN(bool: boolean);
    get FIELD_POWDER_KEG(): boolean;
    set FIELD_POWDER_KEG(bool: boolean);
    get FIELD_PICTOGRAPH_BOX(): boolean;
    set FIELD_PICTOGRAPH_BOX(bool: boolean);
    get FIELD_LENS_OF_TRUTH(): boolean;
    set FIELD_LENS_OF_TRUTH(bool: boolean);
    get FIELD_HOOKSHOT(): boolean;
    set FIELD_HOOKSHOT(bool: boolean);
    get FIELD_GREAT_FAIRYS_SWORD(): boolean;
    set FIELD_GREAT_FAIRYS_SWORD(bool: boolean);
    get FIELD_MASK_POSTMAN(): boolean;
    set FIELD_MASK_POSTMAN(bool: boolean);
    get FIELD_MASK_ALL_NIGHT(): boolean;
    set FIELD_MASK_ALL_NIGHT(bool: boolean);
    get FIELD_MASK_BLAST(): boolean;
    set FIELD_MASK_BLAST(bool: boolean);
    get FIELD_MASK_STONE(): boolean;
    set FIELD_MASK_STONE(bool: boolean);
    get FIELD_MASK_GREAT_FAIRY(): boolean;
    set FIELD_MASK_GREAT_FAIRY(bool: boolean);
    get FIELD_MASK_DEKU(): boolean;
    set FIELD_MASK_DEKU(bool: boolean);
    get FIELD_MASK_KEATON(): boolean;
    set FIELD_MASK_KEATON(bool: boolean);
    get FIELD_MASK_BREMEN(): boolean;
    set FIELD_MASK_BREMEN(bool: boolean);
    get FIELD_MASK_BUNNY_HOOD(): boolean;
    set FIELD_MASK_BUNNY_HOOD(bool: boolean);
    get FIELD_MASK_DON_GERO(): boolean;
    set FIELD_MASK_DON_GERO(bool: boolean);
    get FIELD_MASK_OF_SCENTS(): boolean;
    set FIELD_MASK_OF_SCENTS(bool: boolean);
    get FIELD_MASK_GORON(): boolean;
    set FIELD_MASK_GORON(bool: boolean);
    get FIELD_MASK_ROMANI(): boolean;
    set FIELD_MASK_ROMANI(bool: boolean);
    get FIELD_MASK_CIRCUS_LEADER(): boolean;
    set FIELD_MASK_CIRCUS_LEADER(bool: boolean);
    get FIELD_MASK_KAFEI(): boolean;
    set FIELD_MASK_KAFEI(bool: boolean);
    get FIELD_MASK_COUPLES(): boolean;
    set FIELD_MASK_COUPLES(bool: boolean);
    get FIELD_MASK_OF_TRUTH(): boolean;
    set FIELD_MASK_OF_TRUTH(bool: boolean);
    get FIELD_MASK_ZORA(): boolean;
    set FIELD_MASK_ZORA(bool: boolean);
    get FIELD_MASK_KAMERO(): boolean;
    set FIELD_MASK_KAMERO(bool: boolean);
    get FIELD_MASK_GIBDO(): boolean;
    set FIELD_MASK_GIBDO(bool: boolean);
    get FIELD_MASK_GARO(): boolean;
    set FIELD_MASK_GARO(bool: boolean);
    get FIELD_MASK_CAPTAIN(): boolean;
    set FIELD_MASK_CAPTAIN(bool: boolean);
    get FIELD_MASK_GIANT(): boolean;
    set FIELD_MASK_GIANT(bool: boolean);
    get FIELD_MASK_FIERCE_DEITY(): boolean;
    set FIELD_MASK_FIERCE_DEITY(bool: boolean);
    isChildTradeFinished(): boolean;
    isAdultTradeFinished(): boolean;
    set bombBag(bb: Z64API.Z64.AmmoUpgrade);
    get bombBag(): Z64API.Z64.AmmoUpgrade;
    set dekuSticksCapacity(bb: Z64API.Z64.AmmoUpgrade);
    get dekuSticksCapacity(): Z64API.Z64.AmmoUpgrade;
    set dekuNutsCapacity(bb: Z64API.Z64.AmmoUpgrade);
    get dekuNutsCapacity(): Z64API.Z64.AmmoUpgrade;
    get quiver(): Z64API.Z64.AmmoUpgrade;
    set quiver(q: Z64API.Z64.AmmoUpgrade);
    get wallet(): Z64API.Z64.Wallet;
    set wallet(w: Z64API.Z64.Wallet);
    getMaxRupeeCount(): number;
    get dekuSticksCount(): number;
    set dekuSticksCount(count: number);
    get bombsCount(): number;
    set bombsCount(count: number);
    get bombchuCount(): number;
    set bombchuCount(count: number);
    get powderKegCount(): number;
    set powderKegCount(count: number);
    get magicBeansCount(): number;
    set magicBeansCount(count: number);
    get arrows(): number;
    set arrows(count: number);
    get dekuNutsCount(): number;
    set dekuNutsCount(count: number);
    get photoCount(): number;
    set photoCount(count: number);
    get FIELD_BOTTLE1(): Z64API.MM.InventoryItem;
    set FIELD_BOTTLE1(content: Z64API.MM.InventoryItem);
    get FIELD_BOTTLE2(): Z64API.MM.InventoryItem;
    set FIELD_BOTTLE2(content: Z64API.MM.InventoryItem);
    get FIELD_BOTTLE3(): Z64API.MM.InventoryItem;
    set FIELD_BOTTLE3(content: Z64API.MM.InventoryItem);
    get FIELD_BOTTLE4(): Z64API.MM.InventoryItem;
    set FIELD_BOTTLE4(content: Z64API.MM.InventoryItem);
    get FIELD_BOTTLE5(): Z64API.MM.InventoryItem;
    set FIELD_BOTTLE5(content: Z64API.MM.InventoryItem);
    get FIELD_BOTTLE6(): Z64API.MM.InventoryItem;
    set FIELD_BOTTLE6(content: Z64API.MM.InventoryItem);
    hasBottle(): boolean;
    getBottleCount(): number;
    getBottledItems(): Z64API.MM.InventoryItem[];
    get FIELD_QUEST_ITEM_1(): Z64API.MM.InventoryItem;
    set FIELD_QUEST_ITEM_1(item: Z64API.MM.InventoryItem);
    get FIELD_QUEST_ITEM_2(): Z64API.MM.InventoryItem;
    set FIELD_QUEST_ITEM_2(item: Z64API.MM.InventoryItem);
    get FIELD_QUEST_ITEM_3(): Z64API.MM.InventoryItem;
    set FIELD_QUEST_ITEM_3(item: Z64API.MM.InventoryItem);
    isEvt1TradeFinished(): boolean;
    isEvt2TradeFinished(): boolean;
    isEvt3TradeFinished(): boolean;
    getItemInSlot(slotId: number): Z64API.MM.InventoryItem;
    getSlotForItem(item: Z64API.MM.InventoryItem): number;
    getSlotsForItem(item: Z64API.MM.InventoryItem): number[];
    hasItem(item: Z64API.MM.InventoryItem): boolean;
    getAmmoForItem(item: Z64API.MM.InventoryItem): number;
    hasAmmo(item: Z64API.MM.InventoryItem): boolean;
    getAmmoForSlot(slotId: number): number;
    setAmmoInSlot(slot: number, amount: number): void;
    setItemInSlot(item: Z64API.MM.InventoryItem, slot: number): void;
    giveItem(item: Z64API.MM.InventoryItem, desiredSlot: Z64API.MM.InventorySlots): void;
    removeItem(item: Z64API.MM.InventoryItem): void;
    getEmptySlots(): number[];
}
//# sourceMappingURL=Inventory.d.ts.map