import { UseMutationOptions, UseMutationResult, UseQueryResult } from 'react-query'; import { UseQueryOptions } from 'react-query/types/react/types'; import { AxiosError } from 'axios'; import { User } from './model'; import { ApiContext, ApiError, PaginatedList, RequestBody, RequestQuery } from '../../api'; export declare function getUser(api: ApiContext, id: string): Promise; export declare function useUser(id?: string, options?: Omit, 'queryKey' | 'queryFn'>): UseQueryResult; export declare function useActiveUser(): UseQueryResult; export interface GetUsersQuery extends RequestQuery { first_name?: string; last_name?: string; verified_email?: boolean; verified_phone?: boolean; } export type UserList = PaginatedList<'users', User>; export declare function getUsers(api: ApiContext, query?: GetUsersQuery): Promise; export declare function useUsers(query?: GetUsersQuery, options?: Omit, 'queryKey' | 'queryFn'>): UseQueryResult; export interface UserBody extends RequestBody { email?: string | null; gender?: string | null; first_name?: string | null; last_name?: string | null; pseudo?: string | null; phone?: string | null; birthday?: string | null; address?: string | null; country?: string | null; locale?: string | null; verified_email?: boolean; } export interface PostUserBody extends UserBody { password?: string | null; referrer?: string | null; } export interface PostUserQuery extends RequestQuery { create_session?: boolean; } export declare function postUser(api: ApiContext, body: PostUserBody, query?: PostUserQuery): Promise; export declare function usePostUser(query?: PostUserQuery, options?: Omit, 'mutationFn'>): UseMutationResult; export interface PostUserVerifyEmailBody extends RequestBody { token: string; } export declare function postUserVerifyEmail(api: ApiContext, body: PostUserVerifyEmailBody): Promise; export declare function usePostUserVerifyEmail(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function postUserArtifacts(api: ApiContext, id: string): Promise; export declare function usePostUserArtifacts(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function putUser(api: ApiContext, id: string, body: UserBody): Promise; export type PutUserVariables = UserBody & { id: string; }; export declare function usePutUser(options?: Omit, 'mutationFn'>): UseMutationResult; export type PostUserPictureBody = { picture: File; }; export declare function postUserPicture(api: ApiContext, id: string, body: PostUserPictureBody): Promise; export type PostUserPictureVariables = PostUserPictureBody & { id: string; }; export declare function usePostUserPicture(options?: Omit, 'mutationFn'>): UseMutationResult; export interface PostUserPasswordResetRequestBody extends RequestBody { email: string; } export declare function postUserPasswordResetRequest(api: ApiContext, body: PostUserPasswordResetRequestBody): Promise; export declare function usePostUserPasswordResetRequest(options?: Omit, 'mutationFn'>): UseMutationResult; export interface PostUserResetPasswordBody extends RequestBody { token: string; password: string; } export declare function postUserResetPassword(api: ApiContext, body: PostUserResetPasswordBody): Promise; export declare function usePostUserResetPassword(options?: Omit, 'mutationFn'>): UseMutationResult;