import { type ServiceFactoryConfig } from '@wix/services-definitions'; import { type Signal, type ReadOnlySignal } from '@wix/services-definitions/core-services/signals'; import { productsV3 } from '@wix/stores'; export interface ModifierValue { modifierName: string; choiceValue?: string; freeTextValue?: string; } export interface ProductModifiersServiceAPI { modifiers: ReadOnlySignal; selectedModifiers: Signal>; hasModifiers: ReadOnlySignal; isLoading: Signal; error: Signal; setModifierChoice: (modifierName: string, choiceValue: string) => void; setModifierFreeText: (modifierName: string, freeTextValue: string) => void; clearModifier: (modifierName: string) => void; clearAllModifiers: () => void; getModifierValue: (modifierName: string) => ModifierValue | null; isModifierRequired: (modifierName: string) => boolean; hasRequiredModifiers: () => boolean; areAllRequiredModifiersFilled: () => boolean; } export declare const ProductModifiersServiceDefinition: string & { __api: ProductModifiersServiceAPI; __config: {}; isServiceDefinition?: boolean; } & ProductModifiersServiceAPI; export declare const ProductModifiersService: import("@wix/services-definitions").ServiceFactory; export declare function createProductModifiersServiceConfig(product: productsV3.V3Product): ServiceFactoryConfig;