import { NullableId } from '@feathersjs/feathers'; import { Ref } from 'vue-demi'; type SuccessHandler = (result: Record) => Promise | void>; type ErrorHandler = (error: Error) => Promise; interface UseAuthOptions { api: any; servicePath?: string; skipTokenCheck?: boolean; entityKey?: string; onSuccess?: SuccessHandler; onError?: ErrorHandler; onInitSuccess?: SuccessHandler; onInitError?: ErrorHandler; onLogoutSuccess?: SuccessHandler; onLogoutError?: ErrorHandler; } export interface AuthenticateData { strategy: 'jwt' | 'local'; accessToken?: string; email?: string; password?: string; } export declare function useAuth(options: UseAuthOptions): { userId: Ref; user: import('vue-demi').ComputedRef; error: Ref<{ name: string; message: string; stack?: string | undefined; cause?: unknown; } | null>; isPending: import('vue-demi').ComputedRef; isLogoutPending: import('vue-demi').ComputedRef; isInitDone: Ref; isAuthenticated: Ref; loginRedirect: Ref | null>; getPromise: () => Promise>; isTokenExpired: (jwt: string) => boolean; authenticate: (data?: d) => Promise>; reAuthenticate: () => Promise>; logout: () => Promise; clearError: () => null; }; export {};