import type { FdoPublicSetting } from "@feedmepos/core/entity";
export type PublicSettingApi = FdoPublicSetting & {
    aiSettings: {
        remy: {
            enable: boolean;
        };
    };
};
interface AppState {
    loadingQueue: LoadingQueue[];
    publicSetting: PublicSettingApi;
}
interface LoadingQueue {
    id: string;
    isGlobal: boolean;
}
export declare const useAppStore: import("pinia").StoreDefinition<"portal-app-store", AppState, {}, {
    addLoadingQueues(queues: LoadingQueue[]): void;
    clearLoadingQueue(): void;
    resolveQueues(queueIds: string[]): void;
    promise<F extends (...args: any[]) => any>(callback: F, isGlobal?: boolean): Promise<ReturnType<F>>;
    getPublicSetting(): Promise<{
        delivery: {
            feedMe: {
                operatingHours?: {
                    0: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    2: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    1: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    3: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    4: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    5: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    6: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                } | null | undefined;
                maxDistance: number;
                enable: boolean;
                areas: {
                    polygon: number[][];
                }[];
            };
        };
        assets: {
            groups: {
                key: "portal" | "pos";
                assets: {
                    type: "image" | "lottie";
                    key: "activeMascotDark" | "activeMascotLight" | "inactiveMascotDark" | "inactiveMascotLight" | "odsMascot" | "advertisement";
                    path: string;
                    files: {
                        responsive?: {
                            mobile?: string | null | undefined;
                            tablet?: string | null | undefined;
                            desktop?: string | null | undefined;
                        } | null | undefined;
                        url: string;
                        createdAt: string;
                        config: {
                            useWhen: {
                                end: string;
                                start: string;
                            };
                            recurring: boolean;
                        };
                        lastUpdate: string;
                    }[];
                }[];
            }[];
        };
        sms: {
            firebase: boolean;
        };
        aiSettings: {
            remy: {
                enable: boolean;
            };
        };
    }>;
    updatePublicSetting(setting: Partial<FdoPublicSetting>): Promise<{
        delivery: {
            feedMe: {
                operatingHours?: {
                    0: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    2: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    1: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    3: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    4: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    5: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                    6: {
                        hours: {
                            end: string;
                            start: string;
                        }[];
                        enable: boolean;
                    };
                } | null | undefined;
                maxDistance: number;
                enable: boolean;
                areas: {
                    polygon: number[][];
                }[];
            };
        };
        assets: {
            groups: {
                key: "portal" | "pos";
                assets: {
                    type: "image" | "lottie";
                    key: "activeMascotDark" | "activeMascotLight" | "inactiveMascotDark" | "inactiveMascotLight" | "odsMascot" | "advertisement";
                    path: string;
                    files: {
                        responsive?: {
                            mobile?: string | null | undefined;
                            tablet?: string | null | undefined;
                            desktop?: string | null | undefined;
                        } | null | undefined;
                        url: string;
                        createdAt: string;
                        config: {
                            useWhen: {
                                end: string;
                                start: string;
                            };
                            recurring: boolean;
                        };
                        lastUpdate: string;
                    }[];
                }[];
            }[];
        };
        sms: {
            firebase: boolean;
        };
        aiSettings: {
            remy: {
                enable: boolean;
            };
        };
    }>;
}>;
export {};
