import { z } from 'zod';
export declare const actionIoItemSchema: z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodString;
    type: z.ZodLiteral<"item">;
}, "strict", z.ZodTypeAny, {
    amount: number;
    id: string;
    type: "item";
}, {
    amount: number;
    id: string;
    type: "item";
}>;
export declare const actionIoCurrencySchema: z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodEnum<["bit", "coin", "gem", "north-star", "pest", "second", "usd"]>;
    type: z.ZodLiteral<"currency">;
}, "strict", z.ZodTypeAny, {
    amount: number;
    id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
    type: "currency";
}, {
    amount: number;
    id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
    type: "currency";
}>;
export declare const actionIoSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodEnum<["bit", "coin", "gem", "north-star", "pest", "second", "usd"]>;
    type: z.ZodLiteral<"currency">;
}, "strict", z.ZodTypeAny, {
    amount: number;
    id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
    type: "currency";
}, {
    amount: number;
    id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
    type: "currency";
}>, z.ZodObject<{
    amount: z.ZodNumber;
    id: z.ZodString;
    type: z.ZodLiteral<"item">;
}, "strict", z.ZodTypeAny, {
    amount: number;
    id: string;
    type: "item";
}, {
    amount: number;
    id: string;
    type: "item";
}>]>;
export declare const actionPlaceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    left: z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, "strict", z.ZodTypeAny, {
        amount: number;
        id: string;
        type: "item";
    }, {
        amount: number;
        id: string;
        type: "item";
    }>;
    right: z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, "strict", z.ZodTypeAny, {
        amount: number;
        id: string;
        type: "item";
    }, {
        amount: number;
        id: string;
        type: "item";
    }>;
    type: z.ZodLiteral<"anvil">;
}, "strict", z.ZodTypeAny, {
    type: "anvil";
    left: {
        amount: number;
        id: string;
        type: "item";
    };
    right: {
        amount: number;
        id: string;
        type: "item";
    };
}, {
    type: "anvil";
    left: {
        amount: number;
        id: string;
        type: "item";
    };
    right: {
        amount: number;
        id: string;
        type: "item";
    };
}>, z.ZodObject<{
    id: z.ZodString;
    type: z.ZodLiteral<"npc">;
}, "strict", z.ZodTypeAny, {
    id: string;
    type: "npc";
}, {
    id: string;
    type: "npc";
}>, z.ZodObject<{
    type: z.ZodLiteral<"website">;
    url: z.ZodString;
}, "strict", z.ZodTypeAny, {
    type: "website";
    url: string;
}, {
    type: "website";
    url: string;
}>, z.ZodObject<{
    grid: z.ZodArray<z.ZodNullable<z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, "strict", z.ZodTypeAny, {
        amount: number;
        id: string;
        type: "item";
    }, {
        amount: number;
        id: string;
        type: "item";
    }>>, "many">;
    type: z.ZodLiteral<"workbench">;
}, "strict", z.ZodTypeAny, {
    type: "workbench";
    grid: ({
        amount: number;
        id: string;
        type: "item";
    } | null)[];
}, {
    type: "workbench";
    grid: ({
        amount: number;
        id: string;
        type: "item";
    } | null)[];
}>]>;
export declare const actionSchema: z.ZodObject<{
    inputs: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodEnum<["bit", "coin", "gem", "north-star", "pest", "second", "usd"]>;
        type: z.ZodLiteral<"currency">;
    }, "strict", z.ZodTypeAny, {
        amount: number;
        id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
        type: "currency";
    }, {
        amount: number;
        id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
        type: "currency";
    }>, z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, "strict", z.ZodTypeAny, {
        amount: number;
        id: string;
        type: "item";
    }, {
        amount: number;
        id: string;
        type: "item";
    }>]>, "many">;
    outputs: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodEnum<["bit", "coin", "gem", "north-star", "pest", "second", "usd"]>;
        type: z.ZodLiteral<"currency">;
    }, "strict", z.ZodTypeAny, {
        amount: number;
        id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
        type: "currency";
    }, {
        amount: number;
        id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
        type: "currency";
    }>, z.ZodObject<{
        amount: z.ZodNumber;
        id: z.ZodString;
        type: z.ZodLiteral<"item">;
    }, "strict", z.ZodTypeAny, {
        amount: number;
        id: string;
        type: "item";
    }, {
        amount: number;
        id: string;
        type: "item";
    }>]>, "many">;
    place: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        left: z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"item">;
        }, "strict", z.ZodTypeAny, {
            amount: number;
            id: string;
            type: "item";
        }, {
            amount: number;
            id: string;
            type: "item";
        }>;
        right: z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"item">;
        }, "strict", z.ZodTypeAny, {
            amount: number;
            id: string;
            type: "item";
        }, {
            amount: number;
            id: string;
            type: "item";
        }>;
        type: z.ZodLiteral<"anvil">;
    }, "strict", z.ZodTypeAny, {
        type: "anvil";
        left: {
            amount: number;
            id: string;
            type: "item";
        };
        right: {
            amount: number;
            id: string;
            type: "item";
        };
    }, {
        type: "anvil";
        left: {
            amount: number;
            id: string;
            type: "item";
        };
        right: {
            amount: number;
            id: string;
            type: "item";
        };
    }>, z.ZodObject<{
        id: z.ZodString;
        type: z.ZodLiteral<"npc">;
    }, "strict", z.ZodTypeAny, {
        id: string;
        type: "npc";
    }, {
        id: string;
        type: "npc";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"website">;
        url: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        type: "website";
        url: string;
    }, {
        type: "website";
        url: string;
    }>, z.ZodObject<{
        grid: z.ZodArray<z.ZodNullable<z.ZodObject<{
            amount: z.ZodNumber;
            id: z.ZodString;
            type: z.ZodLiteral<"item">;
        }, "strict", z.ZodTypeAny, {
            amount: number;
            id: string;
            type: "item";
        }, {
            amount: number;
            id: string;
            type: "item";
        }>>, "many">;
        type: z.ZodLiteral<"workbench">;
    }, "strict", z.ZodTypeAny, {
        type: "workbench";
        grid: ({
            amount: number;
            id: string;
            type: "item";
        } | null)[];
    }, {
        type: "workbench";
        grid: ({
            amount: number;
            id: string;
            type: "item";
        } | null)[];
    }>]>, "many">;
}, "strict", z.ZodTypeAny, {
    inputs: ({
        amount: number;
        id: string;
        type: "item";
    } | {
        amount: number;
        id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
        type: "currency";
    })[];
    outputs: ({
        amount: number;
        id: string;
        type: "item";
    } | {
        amount: number;
        id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
        type: "currency";
    })[];
    place: ({
        type: "anvil";
        left: {
            amount: number;
            id: string;
            type: "item";
        };
        right: {
            amount: number;
            id: string;
            type: "item";
        };
    } | {
        id: string;
        type: "npc";
    } | {
        type: "website";
        url: string;
    } | {
        type: "workbench";
        grid: ({
            amount: number;
            id: string;
            type: "item";
        } | null)[];
    })[];
}, {
    inputs: ({
        amount: number;
        id: string;
        type: "item";
    } | {
        amount: number;
        id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
        type: "currency";
    })[];
    outputs: ({
        amount: number;
        id: string;
        type: "item";
    } | {
        amount: number;
        id: "bit" | "coin" | "gem" | "north-star" | "pest" | "second" | "usd";
        type: "currency";
    })[];
    place: ({
        type: "anvil";
        left: {
            amount: number;
            id: string;
            type: "item";
        };
        right: {
            amount: number;
            id: string;
            type: "item";
        };
    } | {
        id: string;
        type: "npc";
    } | {
        type: "website";
        url: string;
    } | {
        type: "workbench";
        grid: ({
            amount: number;
            id: string;
            type: "item";
        } | null)[];
    })[];
}>;
