import { z } from 'zod/v4';
export declare const actionIoCrystalSchema: z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodString;
    type: z.ZodLiteral<"crystal">;
}, z.core.$strict>;
export declare const actionIoCurrencySchema: z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodEnum<{
        "bingo-point": "bingo-point";
        bit: "bit";
        coin: "coin";
        copper: "copper";
        gem: "gem";
        "forge-second": "forge-second";
        mote: "mote";
        "north-star": "north-star";
        pest: "pest";
        second: "second";
        usd: "usd";
    }>;
    type: z.ZodLiteral<"currency">;
}, z.core.$strict>;
export declare const actionIoItemSchema: z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodString;
    type: z.ZodLiteral<"item">;
}, z.core.$strict>;
export declare const actionIoSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodString;
    type: z.ZodLiteral<"crystal">;
}, z.core.$strict>, z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodEnum<{
        "bingo-point": "bingo-point";
        bit: "bit";
        coin: "coin";
        copper: "copper";
        gem: "gem";
        "forge-second": "forge-second";
        mote: "mote";
        "north-star": "north-star";
        pest: "pest";
        second: "second";
        usd: "usd";
    }>;
    type: z.ZodLiteral<"currency">;
}, z.core.$strict>, z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodString;
    type: z.ZodLiteral<"item">;
}, z.core.$strict>]>;
export declare const npcIdSchema: z.ZodEnum<{
    ADVENTURER: "ADVENTURER";
    ALCHEMIST: "ALCHEMIST";
    BINGO: "BINGO";
    BUBU: "BUBU";
    BULVAR: "BULVAR";
    EINARY: "EINARY";
    ELIZABETH: "ELIZABETH";
    FISHING_MERCHANT: "FISHING_MERCHANT";
    HILDA: "HILDA";
    MARTHOS: "MARTHOS";
    PHILLIP: "PHILLIP";
    PLUMBER_JOE: "PLUMBER_JOE";
    SEYMOUR: "SEYMOUR";
    SKYMART: "SKYMART";
    SMITHMONGER: "SMITHMONGER";
}>;
export declare const actionPlaceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    left: z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, z.core.$strict>;
    right: z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, z.core.$strict>;
    type: z.ZodLiteral<"anvil">;
}, z.core.$strict>, z.ZodObject<{
    type: z.ZodLiteral<"forge">;
}, z.core.$strict>, z.ZodObject<{
    id: z.ZodEnum<{
        ADVENTURER: "ADVENTURER";
        ALCHEMIST: "ALCHEMIST";
        BINGO: "BINGO";
        BUBU: "BUBU";
        BULVAR: "BULVAR";
        EINARY: "EINARY";
        ELIZABETH: "ELIZABETH";
        FISHING_MERCHANT: "FISHING_MERCHANT";
        HILDA: "HILDA";
        MARTHOS: "MARTHOS";
        PHILLIP: "PHILLIP";
        PLUMBER_JOE: "PLUMBER_JOE";
        SEYMOUR: "SEYMOUR";
        SKYMART: "SKYMART";
        SMITHMONGER: "SMITHMONGER";
    }>;
    type: z.ZodLiteral<"npc">;
}, z.core.$strict>, z.ZodObject<{
    type: z.ZodLiteral<"website">;
    url: z.ZodURL;
}, z.core.$strict>, z.ZodObject<{
    grid: z.ZodArray<z.ZodNullable<z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, z.core.$strict>>>;
    type: z.ZodLiteral<"workbench">;
}, z.core.$strict>]>;
/**
 * NOTE: This schema uses uppercase to align 1-to-1 with the Skyblock Items API's requirements format.
 */
export declare const actionRequirementSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    collection: z.ZodEnum<{
        GEMSTONE: "GEMSTONE";
    }>;
    tier: z.ZodInt;
    type: z.ZodLiteral<"COLLECTION">;
}, z.core.$strict>, z.ZodObject<{
    level: z.ZodInt;
    skill: z.ZodEnum<{
        MINING: "MINING";
    }>;
    type: z.ZodLiteral<"SKILL">;
}, z.core.$strict>, z.ZodObject<{
    tier: z.ZodInt;
    type: z.ZodLiteral<"HEART_OF_THE_MOUNTAIN">;
}, z.core.$strict>]>;
export declare const actionSchema: z.ZodObject<{
    inputs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"crystal">;
    }, z.core.$strict>, z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodEnum<{
            "bingo-point": "bingo-point";
            bit: "bit";
            coin: "coin";
            copper: "copper";
            gem: "gem";
            "forge-second": "forge-second";
            mote: "mote";
            "north-star": "north-star";
            pest: "pest";
            second: "second";
            usd: "usd";
        }>;
        type: z.ZodLiteral<"currency">;
    }, z.core.$strict>, z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, z.core.$strict>]>>;
    outputs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"crystal">;
    }, z.core.$strict>, z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodEnum<{
            "bingo-point": "bingo-point";
            bit: "bit";
            coin: "coin";
            copper: "copper";
            gem: "gem";
            "forge-second": "forge-second";
            mote: "mote";
            "north-star": "north-star";
            pest: "pest";
            second: "second";
            usd: "usd";
        }>;
        type: z.ZodLiteral<"currency">;
    }, z.core.$strict>, z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, z.core.$strict>]>>;
    place: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        left: z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"item">;
        }, z.core.$strict>;
        right: z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"item">;
        }, z.core.$strict>;
        type: z.ZodLiteral<"anvil">;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"forge">;
    }, z.core.$strict>, z.ZodObject<{
        id: z.ZodEnum<{
            ADVENTURER: "ADVENTURER";
            ALCHEMIST: "ALCHEMIST";
            BINGO: "BINGO";
            BUBU: "BUBU";
            BULVAR: "BULVAR";
            EINARY: "EINARY";
            ELIZABETH: "ELIZABETH";
            FISHING_MERCHANT: "FISHING_MERCHANT";
            HILDA: "HILDA";
            MARTHOS: "MARTHOS";
            PHILLIP: "PHILLIP";
            PLUMBER_JOE: "PLUMBER_JOE";
            SEYMOUR: "SEYMOUR";
            SKYMART: "SKYMART";
            SMITHMONGER: "SMITHMONGER";
        }>;
        type: z.ZodLiteral<"npc">;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"website">;
        url: z.ZodURL;
    }, z.core.$strict>, z.ZodObject<{
        grid: z.ZodArray<z.ZodNullable<z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"item">;
        }, z.core.$strict>>>;
        type: z.ZodLiteral<"workbench">;
    }, z.core.$strict>]>>;
    requirements: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        collection: z.ZodEnum<{
            GEMSTONE: "GEMSTONE";
        }>;
        tier: z.ZodInt;
        type: z.ZodLiteral<"COLLECTION">;
    }, z.core.$strict>, z.ZodObject<{
        level: z.ZodInt;
        skill: z.ZodEnum<{
            MINING: "MINING";
        }>;
        type: z.ZodLiteral<"SKILL">;
    }, z.core.$strict>, z.ZodObject<{
        tier: z.ZodInt;
        type: z.ZodLiteral<"HEART_OF_THE_MOUNTAIN">;
    }, z.core.$strict>]>>>;
}, z.core.$strict>;
export declare const actionDefinitionSchema: z.ZodObject<{
    $schema: z.ZodOptional<z.ZodString>;
    actions: z.ZodArray<z.ZodObject<{
        inputs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"crystal">;
        }, z.core.$strict>, z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodEnum<{
                "bingo-point": "bingo-point";
                bit: "bit";
                coin: "coin";
                copper: "copper";
                gem: "gem";
                "forge-second": "forge-second";
                mote: "mote";
                "north-star": "north-star";
                pest: "pest";
                second: "second";
                usd: "usd";
            }>;
            type: z.ZodLiteral<"currency">;
        }, z.core.$strict>, z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"item">;
        }, z.core.$strict>]>>;
        outputs: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"crystal">;
        }, z.core.$strict>, z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodEnum<{
                "bingo-point": "bingo-point";
                bit: "bit";
                coin: "coin";
                copper: "copper";
                gem: "gem";
                "forge-second": "forge-second";
                mote: "mote";
                "north-star": "north-star";
                pest: "pest";
                second: "second";
                usd: "usd";
            }>;
            type: z.ZodLiteral<"currency">;
        }, z.core.$strict>, z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"item">;
        }, z.core.$strict>]>>;
        place: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            left: z.ZodObject<{
                amount: z.ZodNumber;
                id: z.ZodString;
                type: z.ZodLiteral<"item">;
            }, z.core.$strict>;
            right: z.ZodObject<{
                amount: z.ZodNumber;
                id: z.ZodString;
                type: z.ZodLiteral<"item">;
            }, z.core.$strict>;
            type: z.ZodLiteral<"anvil">;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"forge">;
        }, z.core.$strict>, z.ZodObject<{
            id: z.ZodEnum<{
                ADVENTURER: "ADVENTURER";
                ALCHEMIST: "ALCHEMIST";
                BINGO: "BINGO";
                BUBU: "BUBU";
                BULVAR: "BULVAR";
                EINARY: "EINARY";
                ELIZABETH: "ELIZABETH";
                FISHING_MERCHANT: "FISHING_MERCHANT";
                HILDA: "HILDA";
                MARTHOS: "MARTHOS";
                PHILLIP: "PHILLIP";
                PLUMBER_JOE: "PLUMBER_JOE";
                SEYMOUR: "SEYMOUR";
                SKYMART: "SKYMART";
                SMITHMONGER: "SMITHMONGER";
            }>;
            type: z.ZodLiteral<"npc">;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"website">;
            url: z.ZodURL;
        }, z.core.$strict>, z.ZodObject<{
            grid: z.ZodArray<z.ZodNullable<z.ZodObject<{
                amount: z.ZodNumber;
                id: z.ZodString;
                type: z.ZodLiteral<"item">;
            }, z.core.$strict>>>;
            type: z.ZodLiteral<"workbench">;
        }, z.core.$strict>]>>;
        requirements: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            collection: z.ZodEnum<{
                GEMSTONE: "GEMSTONE";
            }>;
            tier: z.ZodInt;
            type: z.ZodLiteral<"COLLECTION">;
        }, z.core.$strict>, z.ZodObject<{
            level: z.ZodInt;
            skill: z.ZodEnum<{
                MINING: "MINING";
            }>;
            type: z.ZodLiteral<"SKILL">;
        }, z.core.$strict>, z.ZodObject<{
            tier: z.ZodInt;
            type: z.ZodLiteral<"HEART_OF_THE_MOUNTAIN">;
        }, z.core.$strict>]>>>;
    }, z.core.$strict>>;
}, z.core.$strict>;
