import { z } from 'zod';
export declare const publicProductVariantSchema: z.ZodObject<{
    id: z.ZodString;
    title: z.ZodString;
    sku: z.ZodNullable<z.ZodString>;
    priceCents: z.ZodNumber;
    stockQuantity: z.ZodNullable<z.ZodNumber>;
    soldOut: z.ZodBoolean;
}, z.core.$strip>;
export declare const publicProductSchema: z.ZodObject<{
    id: z.ZodString;
    contentEntryId: z.ZodNullable<z.ZodString>;
    title: z.ZodString;
    slug: z.ZodString;
    path: z.ZodNullable<z.ZodString>;
    status: z.ZodEnum<{
        draft: "draft";
        active: "active";
    }>;
    priceCents: z.ZodNumber;
    currency: z.ZodString;
    productType: z.ZodEnum<{
        physical: "physical";
        digital: "digital";
    }>;
    requiresShipping: z.ZodBoolean;
    hasVariants: z.ZodBoolean;
    trackInventory: z.ZodBoolean;
    soldOut: z.ZodBoolean;
    category: z.ZodNullable<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        slug: z.ZodString;
    }, z.core.$strip>>;
    summary: z.ZodNullable<z.ZodString>;
    badges: z.ZodArray<z.ZodString>;
    ctaLabel: z.ZodNullable<z.ZodString>;
    body: z.ZodNullable<z.ZodUnknown>;
    gallery: z.ZodArray<z.ZodObject<{
        url: z.ZodString;
        alt: z.ZodNullable<z.ZodString>;
    }, z.core.$strip>>;
    variants: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        sku: z.ZodNullable<z.ZodString>;
        priceCents: z.ZodNumber;
        stockQuantity: z.ZodNullable<z.ZodNumber>;
        soldOut: z.ZodBoolean;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type PublicProduct = z.infer<typeof publicProductSchema>;
export type PublicProductVariant = z.infer<typeof publicProductVariantSchema>;
export declare const publicProductsResponseSchema: z.ZodObject<{
    products: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        contentEntryId: z.ZodNullable<z.ZodString>;
        title: z.ZodString;
        slug: z.ZodString;
        path: z.ZodNullable<z.ZodString>;
        status: z.ZodEnum<{
            draft: "draft";
            active: "active";
        }>;
        priceCents: z.ZodNumber;
        currency: z.ZodString;
        productType: z.ZodEnum<{
            physical: "physical";
            digital: "digital";
        }>;
        requiresShipping: z.ZodBoolean;
        hasVariants: z.ZodBoolean;
        trackInventory: z.ZodBoolean;
        soldOut: z.ZodBoolean;
        category: z.ZodNullable<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            slug: z.ZodString;
        }, z.core.$strip>>;
        summary: z.ZodNullable<z.ZodString>;
        badges: z.ZodArray<z.ZodString>;
        ctaLabel: z.ZodNullable<z.ZodString>;
        body: z.ZodNullable<z.ZodUnknown>;
        gallery: z.ZodArray<z.ZodObject<{
            url: z.ZodString;
            alt: z.ZodNullable<z.ZodString>;
        }, z.core.$strip>>;
        variants: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            title: z.ZodString;
            sku: z.ZodNullable<z.ZodString>;
            priceCents: z.ZodNumber;
            stockQuantity: z.ZodNullable<z.ZodNumber>;
            soldOut: z.ZodBoolean;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
