import { UseMutationOptions, UseMutationResult, UseQueryResult } from 'react-query'; import { UseQueryOptions } from 'react-query/types/react/types'; import { AxiosError } from 'axios'; import { Session } from './model'; import { ApiContext, ApiError, RequestBody, RequestQuery } from '../../api'; import { User } from '../users'; export interface GetSessionQuery extends RequestQuery { auto_refresh?: boolean; } export declare function getSession(api: ApiContext, id: string, query?: GetSessionQuery): Promise; export declare function useSession(id?: string, query?: GetSessionQuery, options?: Omit, 'queryKey' | 'queryFn'>): UseQueryResult; export declare function useActiveSession(): UseQueryResult; export declare function useActiveSessionUser(): User | undefined; export declare function useDoesActiveSessionUserHasVerifiedEmail(): boolean; export interface SignInBody extends RequestBody { email: string; password: string; } export declare function signIn(api: ApiContext, body: SignInBody): Promise; export declare function useSignIn(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function useSignOut(): () => void;