import { z } from 'zod';
export declare const Product: z.ZodObject<{
    id: z.ZodNumber;
    main_category_id: z.ZodNumber;
    type: z.ZodString;
    name: z.ZodString;
    brand: z.ZodString;
    model: z.ZodString;
    image: z.ZodString;
    variant_count: z.ZodNumber;
    is_discontinued: z.ZodBoolean;
    description: z.ZodString;
    sizes: z.ZodArray<z.ZodString, "many">;
    colors: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        value: z.ZodEffects<z.ZodString, string, string>;
    }, "strip", z.ZodTypeAny, {
        value?: string;
        name?: string;
    }, {
        value?: string;
        name?: string;
    }>, "many">;
    techniques: z.ZodArray<z.ZodObject<{
        key: z.ZodEnum<["dtg", "digital", "cut-sew", "uv", "embroidery", "sublimation", "dtfilm"]>;
        display_name: z.ZodString;
        is_default: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
        display_name?: string;
        is_default?: boolean;
    }, {
        key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
        display_name?: string;
        is_default?: boolean;
    }>, "many">;
    placements: z.ZodArray<z.ZodObject<{
        placement: z.ZodString;
        technique: z.ZodEnum<["dtg", "digital", "cut-sew", "uv", "embroidery", "sublimation", "dtfilm"]>;
        print_area_width: z.ZodNumber;
        print_area_height: z.ZodNumber;
        layers: z.ZodArray<z.ZodObject<{
            type: z.ZodString;
            layer_options: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                techniques: z.ZodArray<z.ZodEnum<["dtg", "digital", "cut-sew", "uv", "embroidery", "sublimation", "dtfilm"]>, "many">;
                type: z.ZodString;
                values: z.ZodArray<z.ZodUnknown, "many">;
            }, "strip", z.ZodTypeAny, {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }, {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }>, "many">;
        }, "strip", z.ZodTypeAny, {
            type?: string;
            layer_options?: {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }[];
        }, {
            type?: string;
            layer_options?: {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }[];
        }>, "many">;
        placement_options: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            techniques: z.ZodArray<z.ZodEnum<["dtg", "digital", "cut-sew", "uv", "embroidery", "sublimation", "dtfilm"]>, "many">;
            type: z.ZodString;
            values: z.ZodArray<z.ZodUnknown, "many">;
        }, "strip", z.ZodTypeAny, {
            values?: unknown[];
            type?: string;
            name?: string;
            techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
        }, {
            values?: unknown[];
            type?: string;
            name?: string;
            techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
        }>, "many">;
        conflicting_placements: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        placement_options?: {
            values?: unknown[];
            type?: string;
            name?: string;
            techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
        }[];
        layers?: {
            type?: string;
            layer_options?: {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }[];
        }[];
        placement?: string;
        technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
        print_area_width?: number;
        print_area_height?: number;
        conflicting_placements?: string[];
    }, {
        placement_options?: {
            values?: unknown[];
            type?: string;
            name?: string;
            techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
        }[];
        layers?: {
            type?: string;
            layer_options?: {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }[];
        }[];
        placement?: string;
        technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
        print_area_width?: number;
        print_area_height?: number;
        conflicting_placements?: string[];
    }>, "many">;
    product_options: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        techniques: z.ZodArray<z.ZodEnum<["dtg", "digital", "cut-sew", "uv", "embroidery", "sublimation", "dtfilm"]>, "many">;
        type: z.ZodString;
        values: z.ZodArray<z.ZodUnknown, "many">;
    }, "strip", z.ZodTypeAny, {
        values?: unknown[];
        type?: string;
        name?: string;
        techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
    }, {
        values?: unknown[];
        type?: string;
        name?: string;
        techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
    }>, "many">;
    _links: z.ZodObject<{
        self: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
        variants: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
        categories: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
        product_prices: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
        product_sizes: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
        product_images: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
        availability: z.ZodObject<{
            href: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            href?: string;
        }, {
            href?: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        self?: {
            href?: string;
        };
        variants?: {
            href?: string;
        };
        categories?: {
            href?: string;
        };
        product_prices?: {
            href?: string;
        };
        product_sizes?: {
            href?: string;
        };
        product_images?: {
            href?: string;
        };
        availability?: {
            href?: string;
        };
    }, {
        self?: {
            href?: string;
        };
        variants?: {
            href?: string;
        };
        categories?: {
            href?: string;
        };
        product_prices?: {
            href?: string;
        };
        product_sizes?: {
            href?: string;
        };
        product_images?: {
            href?: string;
        };
        availability?: {
            href?: string;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    type?: string;
    description?: string;
    brand?: string;
    name?: string;
    id?: number;
    _links?: {
        self?: {
            href?: string;
        };
        variants?: {
            href?: string;
        };
        categories?: {
            href?: string;
        };
        product_prices?: {
            href?: string;
        };
        product_sizes?: {
            href?: string;
        };
        product_images?: {
            href?: string;
        };
        availability?: {
            href?: string;
        };
    };
    techniques?: {
        key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
        display_name?: string;
        is_default?: boolean;
    }[];
    placements?: {
        placement_options?: {
            values?: unknown[];
            type?: string;
            name?: string;
            techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
        }[];
        layers?: {
            type?: string;
            layer_options?: {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }[];
        }[];
        placement?: string;
        technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
        print_area_width?: number;
        print_area_height?: number;
        conflicting_placements?: string[];
    }[];
    product_options?: {
        values?: unknown[];
        type?: string;
        name?: string;
        techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
    }[];
    image?: string;
    main_category_id?: number;
    model?: string;
    variant_count?: number;
    is_discontinued?: boolean;
    sizes?: string[];
    colors?: {
        value?: string;
        name?: string;
    }[];
}, {
    type?: string;
    description?: string;
    brand?: string;
    name?: string;
    id?: number;
    _links?: {
        self?: {
            href?: string;
        };
        variants?: {
            href?: string;
        };
        categories?: {
            href?: string;
        };
        product_prices?: {
            href?: string;
        };
        product_sizes?: {
            href?: string;
        };
        product_images?: {
            href?: string;
        };
        availability?: {
            href?: string;
        };
    };
    techniques?: {
        key?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
        display_name?: string;
        is_default?: boolean;
    }[];
    placements?: {
        placement_options?: {
            values?: unknown[];
            type?: string;
            name?: string;
            techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
        }[];
        layers?: {
            type?: string;
            layer_options?: {
                values?: unknown[];
                type?: string;
                name?: string;
                techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
            }[];
        }[];
        placement?: string;
        technique?: "dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm";
        print_area_width?: number;
        print_area_height?: number;
        conflicting_placements?: string[];
    }[];
    product_options?: {
        values?: unknown[];
        type?: string;
        name?: string;
        techniques?: ("dtg" | "digital" | "cut-sew" | "uv" | "embroidery" | "sublimation" | "dtfilm")[];
    }[];
    image?: string;
    main_category_id?: number;
    model?: string;
    variant_count?: number;
    is_discontinued?: boolean;
    sizes?: string[];
    colors?: {
        value?: string;
        name?: string;
    }[];
}>;
export type Product = z.infer<typeof Product>;
