interface CustomerInfo {
    isUserInfoLoaded: boolean;
    getUserRoles: string[];
    getUserLotusRoles: string[];
    hasRole: (role: string) => boolean;
    hasLotusRole: (role: string) => boolean;
}
export declare function setCustomerInfoStore(store: CustomerInfo): void;
export interface MenuPermission {
    menuKey: string;
    requiredRoles: string[];
    requiredLotusRoles?: string[];
}
export declare const usePermissionsStore: import("pinia").StoreDefinition<"permissions", {
    menuPermissions: MenuPermission[];
}, {
    hasMenuPermission: (state: {
        menuPermissions: {
            menuKey: string;
            requiredRoles: string[];
            requiredLotusRoles?: string[];
        }[];
    } & import("pinia").PiniaCustomStateProperties<{
        menuPermissions: MenuPermission[];
    }>) => (menuKey: string) => boolean;
    getAvailableMenus: (state: {
        menuPermissions: {
            menuKey: string;
            requiredRoles: string[];
            requiredLotusRoles?: string[];
        }[];
    } & import("pinia").PiniaCustomStateProperties<{
        menuPermissions: MenuPermission[];
    }>) => {
        menuKey: string;
        requiredRoles: string[];
        requiredLotusRoles?: string[];
    }[];
    hasAnyRole: () => (roles: string[]) => boolean;
    hasAnyLotusRole: () => (roles: string[]) => boolean;
}, {
    addMenuPermission(permission: MenuPermission): void;
    removeMenuPermission(menuKey: string): void;
    updateMenuPermission(menuKey: string, permission: Partial<MenuPermission>): void;
}>;
export {};
//# sourceMappingURL=permissions.d.ts.map