import type { Ref } from 'vue'; import type { CommonUseAuthReturn, SecondarySignInOptions, SignOutOptions, SignUpOptions } from '../../types.js'; import type { SessionData } from '#auth'; interface Credentials extends Record { username?: string; email?: string; password?: string; } export interface SignInFunc> { (credentials: Credentials, signInOptions?: SecondarySignInOptions, paramsOptions?: Record, headersOptions?: Record): Promise; } export interface SignUpFunc> { (credentials: Credentials, signUpOptions?: SignUpOptions): Promise; } export interface SignOutFunc { (options?: SignOutOptions): Promise; } /** * Returns an extended version of CommonUseAuthReturn with local-provider specific data * * @remarks * The returned value of `refreshToken` will always be `null` if `refresh.isEnabled` is `false` */ interface UseAuthReturn extends CommonUseAuthReturn { signUp: SignUpFunc; token: Readonly>; refreshToken: Readonly>; } export declare function useAuth(): UseAuthReturn; export {};