import { type ComputedRef, type Ref } from "vue";
import { FdoRuleGroup } from "@feedmepos/custom-attributes";
import type { FdoMenuV4Category, FdoMenuV4Item } from "@feedmepos/menu/entity";
interface UseItemAttributesOptions {
    menuItems?: ComputedRef<FdoMenuV4Item[]> | Ref<FdoMenuV4Item[]>;
    categories?: ComputedRef<FdoMenuV4Category[]> | Ref<FdoMenuV4Category[]>;
}
export declare function useRestaurantAttributes(): {
    restaurantAttributes: ComputedRef<{
        type: "string" | "number" | "date";
        key: string;
        entity: "item" | "restaurant";
        values?: string[] | undefined;
    }[]>;
};
interface FilterableAttribute {
    label: string;
    value: string;
    options?: Array<{
        label: string;
        value: string;
    }>;
}
export declare function getRestaurantAttributeOptions(): FilterableAttribute[];
export declare function getProductAttributeOptions(): FilterableAttribute[];
export declare function useItemAttributes(options?: UseItemAttributesOptions): {
    itemAttributes: ComputedRef<{
        type: "string" | "number" | "date";
        key: string;
        entity: "item" | "restaurant";
        values?: string[] | undefined;
    }[]>;
    convertCategoryIdToName: (ruleGroup: FdoRuleGroup) => FdoRuleGroup;
    convertCategoryNameToId: (ruleGroup: FdoRuleGroup) => FdoRuleGroup;
};
export {};
