import { AuthConfig, UserInfo } from '../types'; export declare const useAuthStore: import('pinia').SetupStoreDefinition<"mint-auth", { token: import('vue').Ref; tokenExpires: import('vue').Ref; username: import('vue').Ref; userInfo: import('vue').Ref<{ id: number; username: string; shortname: string | null; email: string | null; role: string; roleObj?: { id?: number | undefined; slug: string; name?: string | undefined; color?: string | undefined; permissions?: (readonly string[] | null) | undefined; project_scope?: "all" | "assigned" | string | undefined; plugin_access?: (readonly string[] | "all" | null) | undefined; } | null | undefined; isActive: boolean; } | null, UserInfo | { id: number; username: string; shortname: string | null; email: string | null; role: string; roleObj?: { id?: number | undefined; slug: string; name?: string | undefined; color?: string | undefined; permissions?: (readonly string[] | null) | undefined; project_scope?: "all" | "assigned" | string | undefined; plugin_access?: (readonly string[] | "all" | null) | undefined; } | null | undefined; isActive: boolean; } | null>; authConfig: import('vue').Ref<{ authRequired: boolean; passkeyEnabled: boolean; passkeyRegistered: boolean; registrationEnabled: boolean; databaseMode: string; experimentVisibilityMode?: "open" | "restricted" | undefined; }, AuthConfig | { authRequired: boolean; passkeyEnabled: boolean; passkeyRegistered: boolean; registrationEnabled: boolean; databaseMode: string; experimentVisibilityMode?: "open" | "restricted" | undefined; }>; isInitialized: import('vue').Ref; isLoading: import('vue').Ref; error: import('vue').Ref; isAuthenticated: import('vue').ComputedRef; needsAuth: import('vue').ComputedRef; isAdmin: import('vue').ComputedRef; userType: import('vue').ComputedRef<"admin" | "user">; permissions: import('vue').ComputedRef; canAccessAdmin: import('vue').ComputedRef; canRegister: import('vue').ComputedRef; initialize: () => void; setToken: (accessToken: string, expiresIn: number) => void; clearToken: () => void; setAuthConfig: (config: AuthConfig) => void; setUsername: (name: string) => void; setUserInfo: (info: UserInfo) => void; setError: (message: string | null) => void; setLoading: (loading: boolean) => void; hasPermission: (...perms: string[]) => boolean; hasAnyPermission: (...perms: string[]) => boolean; canAccessPlugin: (pluginName: string) => boolean; logout: () => void; }>;