import { UseMutationOptions, UseMutationResult, UseQueryResult } from 'react-query'; import { AxiosError } from 'axios'; import { UseQueryOptions } from 'react-query/types/react/types'; import { ApiContext, ApiError, ListRequestQuery, PaginatedList, RequestBody } from '../../api'; import { Player, PlayerPosition } from './model'; export declare function getPlayer(api: ApiContext, id: string): Promise; export declare function usePlayer(id?: string, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export type PlayerList = PaginatedList<'players', Player>; export interface GetPlayersQuery extends ListRequestQuery { club?: string; league?: string; wallet?: string; match?: string; composition?: string; position?: PlayerPosition[] | PlayerPosition; search?: string; } export declare function getPlayers(api: ApiContext, query?: GetPlayersQuery): Promise; export declare function usePlayers(query?: GetPlayersQuery, options?: Omit, 'queryKey' | 'queryFn'>): UseQueryResult; export interface PlayerBody extends RequestBody { first_name?: string | null; last_name?: string | null; description?: string | null; club?: string | null; position?: string | null; side?: string | null; number?: number; } export declare function postPlayer(api: ApiContext, body: PlayerBody): Promise; export declare function usePostPlayer(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function putPlayer(api: ApiContext, id: string, body: PlayerBody): Promise; export type PutPlayerVariables = PlayerBody & { id: string; }; export declare function usePutPlayer(options?: Omit, 'mutationFn'>): UseMutationResult; export interface PostPlayerBulkBody extends RequestBody { bulk: File; } export type PostPlayerBulkResponse = { created: number; }; export declare function postPlayerBulk(api: ApiContext, body: PostPlayerBulkBody): Promise; export declare function usePostPlayerBulk(options?: Omit, 'mutationFn'>): UseMutationResult;