vue-bag-admin
Version:
Unified entry package for the Vue Bag Admin runtime ecosystem.
34 lines (33 loc) • 1.26 kB
TypeScript
import { type ComputedRef } from 'vue';
import type { PermissionRequirement } from '../../core/index';
export declare const canAccess: (requirement: PermissionRequirement, userStore?: import("pinia").Store<"user", {
token: string;
username: string;
user: Record<string, unknown> | null;
roles: string[];
permissions: string[];
profileLoaded: boolean;
}, {
isAuthenticated: (state: {
token: string;
username: string;
user: Record<string, unknown> | null;
roles: string[];
permissions: string[];
profileLoaded: boolean;
} & import("pinia").PiniaCustomStateProperties<{
token: string;
username: string;
user: Record<string, unknown> | null;
roles: string[];
permissions: string[];
profileLoaded: boolean;
}>) => boolean;
}, {
login(payload: import("..").LoginPayload): Promise<void>;
logout(): void;
fetchProfile(): Promise<void>;
hasRole(roles?: string[], mode?: import("../../core/index").AccessMode): boolean;
hasPermission(perms?: string[], mode?: import("../../core/index").AccessMode): boolean;
}>) => boolean;
export declare const useAccess: (requirement: PermissionRequirement) => ComputedRef<boolean>;