import { type FdoGroupOverriderV4, type FdoMenuV4, type FdoMenuV4Group, type FdoMenuV4Scheduler } from "@feedmepos/menu/entity";
import { useDialog } from "@feedmepos/ui-library";
import { useMenuLoader } from "@/helper/menu";
import { useMenuStore } from "@/stores/menu";
export default class SchedulerManager {
    private scheduler;
    private menuStore;
    private updateMenu;
    private dialog;
    constructor(scheduler: FdoMenuV4Scheduler | undefined, menuStore: ReturnType<typeof useMenuStore>, updateMenu: ReturnType<typeof useMenuLoader>["updateMenu"], dialog: ReturnType<typeof useDialog>);
    create(): Promise<void>;
    updateOrOverride(): Promise<void>;
    update(): Promise<void>;
    delete(): void;
    getSchedulerGroup(groupId: string): FdoGroupOverriderV4 | null;
    overrideSchedulerGroups(groups: FdoMenuV4Group[]): null | undefined;
    injectSchedulerToMenu(): FdoMenuV4 | null;
    linkProduct(): Promise<void>;
    unlinkProduct(removedIds: string[]): Promise<void>;
    private updateScheduler;
    private overrideScheduler;
    private promptDialog;
    private getItemAvailable;
    private updateItemAvailable;
    private getAvailableItemForLink;
}
