import React from 'react';
import type { TItem, T_VIEW_Item } from './product-search.type';
import { type TProductSearchItemBase } from '../product-search-item/product-search-item-base';
import { Product } from './product-search-item-class';
export type TChildComponentType = '선택상품' | '필수조합상품' | '필수비조합상품' | '단일상품' | 'Unknown';
export declare class ProductItem extends Product {
    #private;
    constructor(data: TItem, searchId: string);
    get opitonalProductRender(): import("@emotion/react/jsx-dev-runtime").JSX.Element | null;
    get children(): import("@emotion/react/jsx-dev-runtime").JSX.Element | null;
    render({ label, ...props }: TProductSearchItemBase & {
        label: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined | null;
    }): import("@emotion/react/jsx-dev-runtime").JSX.Element;
}
export interface T_ProductSearchItem extends TItem, T_VIEW_Item {
    searchId: string;
}
declare const ProductSearchItem: {
    ({ setOpen, children, searchId, ...props }: React.PropsWithChildren<T_ProductSearchItem>): import("@emotion/react/jsx-dev-runtime").JSX.Element;
    Slot: React.FC<SlotProps>;
};
export interface SlotProps extends React.HTMLAttributes<HTMLDivElement> {
    children?: React.ReactNode;
    name: 'label';
}
export { ProductSearchItem };
