import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { P as Product, a as ProductRef } from '../../app-store-B5t8W1GX.js';
import { CustomProductBrand } from '../../product-framework/custom-product-defaults.js';
import 'zustand/middleware';
import 'zustand';

/** Re-read the Zustand store and push product chrome onto `<html>`. */
declare function syncActiveProductThemeFromStore(pathname?: string): void;

declare function useProduct(): {
    product: Product;
    setProduct: (product: Product) => void;
    customProducts: CustomProductBrand[];
    activeCustomIndex: number;
    customProductBrand: CustomProductBrand | null;
    addCustomProduct: (brand: CustomProductBrand) => number;
    updateCustomProduct: (index: number, brand: CustomProductBrand) => void;
    removeCustomProduct: (index: number) => void;
    setActiveCustomIndex: (index: number) => void;
    setCustomProducts: (products: CustomProductBrand[]) => void;
    productBrandColors: Partial<Record<Product, string>>;
    setProductBrandColor: (product: Product, color: string | null) => void;
    hiddenProducts: ProductRef[];
    hideProduct: (ref: ProductRef) => void;
    showProduct: (ref: ProductRef) => void;
    startupProduct: ProductRef | null;
    setStartupProduct: (ref: ProductRef | null) => void;
};
declare function ProductProvider({ children }: {
    children: React.ReactNode;
}): react_jsx_runtime.JSX.Element;

export { Product, ProductProvider, syncActiveProductThemeFromStore, useProduct };
