import { IUser } from "@models/user"; import { GetSessionFunc, SecondarySignInOptions, SessionLastRefreshedAt, SessionStatus, SignInFunc, SignOutFunc, } from "@sidebase/nuxt-auth/dist/runtime/types"; import { ComputedRef, Ref } from "vue"; declare module "#auth" { interface SessionData { token?: string; user?: IUser; } } declare module "@sidebase/nuxt-auth/dist/runtime/types" { interface SessionData { token?: string; user?: IUser; } declare const signIn: SignInFunc<Credentials, any>; declare const signOut: SignOutFunc; declare const getSession: GetSessionFunc<SessionData | null | void>; declare const signUp: ( credentials: Credentials, signInOptions?: SecondarySignInOptions, ) => Promise<any>; type WrappedSessionData<SessionData> = Ref<SessionData | null | undefined>; export interface CommonUseAuthReturn< SignIn, SignOut, GetSession, SessionData, > { data: Readonly<WrappedSessionData<SessionData>>; lastRefreshedAt: Readonly<Ref<SessionLastRefreshedAt>>; status: ComputedRef<SessionStatus>; signIn: SignIn; signOut: SignOut; getSession: GetSession; } interface UseAuthReturn extends CommonUseAuthReturn< typeof signIn, typeof signOut, typeof getSession, SessionData > { signUp: typeof signUp; token: Readonly<Ref<string | null>>; } export declare const useAuth: () => UseAuthReturn; } export {};