import type { FdoMenuV4Item } from "@feedmepos/menu/entity";
import type { ItemRules } from "@/types/rule";
import { type ComputedRef } from "vue";
export interface TakeawayItem {
    key: string;
    name: string;
    takeaway?: string | null;
    onUpdate: (id: string | null) => void;
}
export interface ProductTakeawayProps {
    isOverride: boolean;
    isAddon: boolean;
    form: Partial<FdoMenuV4Item>;
    fallback: FdoMenuV4Item | undefined;
    fullCombinations: Record<string, string>;
}
export interface ProductTakeawayEmit {
    <Item extends FdoMenuV4Item, Key extends keyof Item, Value extends Item[Key]>(event: "update:form", key: Key, value: Value): void;
}
export declare function useProductTakeaway(props: ProductTakeawayProps, emit: ProductTakeawayEmit, itemRules: ComputedRef<ItemRules>): {
    hasVariant: ComputedRef<boolean>;
    takeaways: ComputedRef<TakeawayItem[]>;
};
