import { z } from 'zod';
/**
 * /v2/guild/upgrades definition.
 */
export declare const GuildUpgradesInfoDTO: z.ZodArray<z.ZodIntersection<z.ZodObject<{
    /** The upgrade id. */
    id: z.ZodNumber;
    /** The name of the upgrade. */
    name: z.ZodString;
    /** The guild upgrade description. */
    description: z.ZodString;
    /** A URL pointing to an icon for the upgrade. */
    icon: z.ZodString;
    /** The time it takes to build the upgrade. */
    build_time: z.ZodNumber;
    /** The prerequisite level the guild must be at to build the upgrade. */
    required_level: z.ZodNumber;
    /** The amount of guild experience that will be awarded upon building the upgrade. */
    experience: z.ZodNumber;
    /** An array of upgrade IDs that must be completed before this can be built. */
    prerequisites: z.ZodArray<z.ZodNumber>;
    /** An array of objects describing the upgrade's cost. */
    costs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        /** The type of cost. */
        type: z.ZodLiteral<"Item">;
        /** The id of the item, if applicable, can be resoled against v2/items. */
        item_id: z.ZodOptional<z.ZodNumber>;
        /** The name of the cost. */
        name: z.ZodString;
        /** The amount needed. */
        count: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        /** The type of cost. */
        type: z.ZodLiteral<"Collectible">;
        /** The id of the item, if applicable, can be resoled against v2/items. */
        item_id: z.ZodOptional<z.ZodNumber>;
        /** The name of the cost. */
        name: z.ZodString;
        /** The amount needed. */
        count: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        /** The type of cost. */
        type: z.ZodLiteral<"Currency">;
        /** The name of the cost. */
        name: z.ZodString;
        /** The amount needed. */
        count: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        /** The type of cost. */
        type: z.ZodLiteral<"Coins">;
        /** The amount needed. */
        count: z.ZodNumber;
    }, z.core.$strict>], "type">>;
}, z.core.$strict>, z.ZodDiscriminatedUnion<[z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"AccumulatingCurrency">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"Boost">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"Claimable">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"Consumable">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"Decoration">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"GuildHall">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"GuildHallExpedition">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"Hub">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"Queue">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"Unlock">;
}, z.core.$strict>, z.ZodObject<{
    /** The upgrade type. */
    type: z.ZodLiteral<"BankBag">;
    /** The maximum item slots of the guild bank tab. */
    bag_max_items: z.ZodOptional<z.ZodNumber>;
    /** The maximum amount of coins that can be stored in the bank tab. */
    bag_max_coins: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>], "type">>>;
