import { HTMLAttributes } from 'preact/compat';
import { Container, SlotProps } from '@dropins/tools/types/elsie/src/lib';
import { ProductModel } from '../../data/models';
import { OptionsTransformer } from '../../api';
import { ImageNodeRenderProps, ImageProps } from '@dropins/tools/types/elsie/src/components';
/** @deprecated Use OptionsTransformer from @/pdp/api instead */
export type ProductOptionsTransformer = OptionsTransformer;
export interface ProductOptionsProps extends HTMLAttributes {
scope?: string;
hideSelectedValue?: boolean;
onValues?: (optionsUIDs: string[]) => void;
onErrors?: (errors: {
[id: string]: string;
}) => void;
transformer?: ProductOptionsTransformer;
slots?: {
Swatches?: SlotProps<{
data: ProductModel | null;
optionsUIDs: string[];
}>;
SwatchImage?: SlotProps<{
data: ProductModel | null;
optionsUIDs: string[];
imageSwatchContext: ImageNodeRenderProps['imageSwatchContext'];
defaultImageProps: ImageProps;
}>;
};
}
export declare const ProductOptions: Container;
//# sourceMappingURL=ProductOptions.d.ts.map