import { GraphQLClient, Cluster, Contact, Customer } from '@propeller-commerce/propeller-sdk-v2'; export interface ClusterInfoProps { /** The authenticated user (Contact or Customer). Resolved from PropellerProvider when omitted. */ user?: Contact | Customer | null; /** * Pre-fetched cluster object to display. * When provided the component skips internal fetching. */ cluster?: Cluster; /** * Cluster ID to fetch data for when no `cluster` prop is provided. * Requires `graphqlClient` to be set. */ clusterId?: number; /** * Initialised Propeller SDK GraphQL client. * Required when `clusterId` is provided for internal data fetching. */ graphqlClient?: GraphQLClient; /** * Called once the cluster data is loaded — either immediately (when * `cluster` prop is supplied) or after the internal fetch completes. * Use this to hydrate sibling components (configurator, price, gallery, etc.). */ onClusterLoaded?: (cluster: Cluster) => void; /** Show the cluster name. Defaults to true. */ showTitle?: boolean; /** Show the cluster SKU. Defaults to true. */ showSku?: boolean; /** Language code used to resolve localised names. Defaults to 'NL'. */ language?: string; /** Extra CSS class applied to the root element. */ className?: string; /** * Tax zone to use for price calculation. */ taxZone?: string; /** * Image search filter passed to ProductService.getProduct(). * Controls how many image items are returned. * Example: { page: 1, offset: 20 } */ imageSearchFilters?: any; /** * Image variant transformation filter passed to ProductService.getProduct(). * Controls image size/format variants returned with the product. * Example: imageVariantFiltersLarge from @/data/defaults * Defaults to { transformations: [] } when omitted. */ imageVariantFilters?: any; /** * Config object providing imageSearchFiltersGrid and imageVariantFiltersSmall. */ configuration?: any; /** * Attribute codes/names to look up and display as badge overlays on the product image. * Each code is resolved against `product.attributes.items[].attributeDescription.code` * (or `.name`). Attributes with no matching value are silently omitted. * Example: ['new', 'sale'] */ imageLabels?: string[]; /** * Attribute codes/names to look up and display as extra text rows below the product name. * Resolved the same way as `imageLabels`. * Example: ['brand', 'color'] */ textLabels?: string[]; } declare const _default: import('vue').DefineComponent & Readonly<{}>, { showSku: boolean; showTitle: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>; export default _default;