import { type PropType } from "vue";
import { FdoMenuCookingGuide } from "@feedmepos/menu/entity";
import { type CategorizedItem } from "@/helper/menu";
declare function showModal(value: FdoMenuCookingGuide | undefined): void;
declare function hideModal(): void;
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    categorizedItems: {
        type: PropType<CategorizedItem[]>;
        required: true;
    };
    canApplyItems: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    showModal: typeof showModal;
    hideModal: typeof hideModal;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    onSave: (value: z.infer<z.ZodObject<{
        _id: z.ZodString;
        name: z.ZodString;
        steps: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            instruction: z.ZodString;
            variables: z.ZodRecord<z.ZodString, z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id: string;
            instruction: string;
            variables: Record<string, string>;
        }, {
            id: string;
            instruction: string;
            variables: Record<string, string>;
        }>, "many">;
        bindings: z.ZodArray<z.ZodObject<{
            productId: z.ZodString;
            combinationKey: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            overrides: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                variables: z.ZodRecord<z.ZodString, z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id: string;
                variables: Record<string, string>;
            }, {
                id: string;
                variables: Record<string, string>;
            }>, "many">;
        }, "strip", z.ZodTypeAny, {
            combinationKey?: string | null | undefined;
            productId: string;
            overrides: {
                id: string;
                variables: Record<string, string>;
            }[];
        }, {
            combinationKey?: string | null | undefined;
            productId: string;
            overrides: {
                id: string;
                variables: Record<string, string>;
            }[];
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        name: string;
        _id: string;
        bindings: {
            combinationKey?: string | null | undefined;
            productId: string;
            overrides: {
                id: string;
                variables: Record<string, string>;
            }[];
        }[];
        steps: {
            id: string;
            instruction: string;
            variables: Record<string, string>;
        }[];
    }, {
        name: string;
        _id: string;
        bindings: {
            combinationKey?: string | null | undefined;
            productId: string;
            overrides: {
                id: string;
                variables: Record<string, string>;
            }[];
        }[];
        steps: {
            id: string;
            instruction: string;
            variables: Record<string, string>;
        }[];
    }>>) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    categorizedItems: {
        type: PropType<CategorizedItem[]>;
        required: true;
    };
    canApplyItems: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onOnSave?: ((value: z.infer<z.ZodObject<{
        _id: z.ZodString;
        name: z.ZodString;
        steps: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            instruction: z.ZodString;
            variables: z.ZodRecord<z.ZodString, z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id: string;
            instruction: string;
            variables: Record<string, string>;
        }, {
            id: string;
            instruction: string;
            variables: Record<string, string>;
        }>, "many">;
        bindings: z.ZodArray<z.ZodObject<{
            productId: z.ZodString;
            combinationKey: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            overrides: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                variables: z.ZodRecord<z.ZodString, z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id: string;
                variables: Record<string, string>;
            }, {
                id: string;
                variables: Record<string, string>;
            }>, "many">;
        }, "strip", z.ZodTypeAny, {
            combinationKey?: string | null | undefined;
            productId: string;
            overrides: {
                id: string;
                variables: Record<string, string>;
            }[];
        }, {
            combinationKey?: string | null | undefined;
            productId: string;
            overrides: {
                id: string;
                variables: Record<string, string>;
            }[];
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        name: string;
        _id: string;
        bindings: {
            combinationKey?: string | null | undefined;
            productId: string;
            overrides: {
                id: string;
                variables: Record<string, string>;
            }[];
        }[];
        steps: {
            id: string;
            instruction: string;
            variables: Record<string, string>;
        }[];
    }, {
        name: string;
        _id: string;
        bindings: {
            combinationKey?: string | null | undefined;
            productId: string;
            overrides: {
                id: string;
                variables: Record<string, string>;
            }[];
        }[];
        steps: {
            id: string;
            instruction: string;
            variables: Record<string, string>;
        }[];
    }>>) => any) | undefined;
}>, {
    canApplyItems: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
