W3Booster SDK 4.6.0
    Preparing search index...

    Interface PoiOffer

    interface PoiOffer {
        cooldown?: TimedProgress;
        cost?: { food?: number; gold: number; lumber: number };
        eligibility?: Readonly<
            Record<
                string,
                {
                    available: boolean;
                    reasons: readonly (
                        | "unavailable"
                        | "gold"
                        | "lumber"
                        | "food"
                        | "prerequisite"
                        | "hero-limit"
                        | "range"
                        | "stock"
                        | "cooldown"
                    )[];
                },
            >,
        >;
        id: string;
        initialAvailability?: TimedProgress;
        kind: "unit"
        | "item"
        | "hero"
        | "service";
        restock?: TimedProgress;
        stock?: { current: number; max?: number };
        stockPoolId?: string;
        typeId: string;
    }
    Index
    cooldown?: TimedProgress
    cost?: { food?: number; gold: number; lumber: number }
    eligibility?: Readonly<
        Record<
            string,
            {
                available: boolean;
                reasons: readonly (
                    | "unavailable"
                    | "gold"
                    | "lumber"
                    | "food"
                    | "prerequisite"
                    | "hero-limit"
                    | "range"
                    | "stock"
                    | "cooldown"
                )[];
            },
        >,
    >

    Stock alone does not establish whether a particular player can buy.

    id: string

    Stable within the owning POI; distinct from the offered Warcraft rawcode.

    initialAvailability?: TimedProgress

    First availability, replenishment and ability cooldown are independent.

    kind: "unit" | "item" | "hero" | "service"
    restock?: TimedProgress
    stock?: { current: number; max?: number }

    Omitted when unreadable. Zero means observed sold out.

    stockPoolId?: string
    typeId: string