import { UseMutationOptions, UseMutationResult, UseQueryResult } from 'react-query'; import { UseQueryOptions } from 'react-query/types/react/types'; import { AxiosError } from 'axios'; import { ApiContext, ApiError, ListRequestQuery, PaginatedList, RequestBody } from '../../api'; import { Match, MatchStatus } from './model'; export declare function getMatch(api: ApiContext, id: string): Promise; export declare function useMatch(id?: string, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export type MatchList = PaginatedList<'matches', Match>; export interface GetMatchesQuery extends ListRequestQuery { status?: MatchStatus; spotlight?: boolean; tournament?: string; search?: string; } export declare function getMatches(api: ApiContext, query?: GetMatchesQuery): Promise; export declare function useMatches(query?: GetMatchesQuery, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export declare function useSpotlightMatches(query?: Omit, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export interface MatchBody extends RequestBody { title?: string | null; description?: string | null; beginning?: string | null; end?: string | null; is_public?: boolean; status?: MatchStatus | null; } export declare function postMatch(api: ApiContext, body: MatchBody): Promise; export declare function usePostMatch(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function putMatch(api: ApiContext, id: string, body: MatchBody): Promise; export type PutMatchVariables = MatchBody & { id: string; }; export declare function usePutMatch(options?: Omit, 'mutationFn'>): UseMutationResult; export interface PostMatchIconBody extends RequestBody { icon: File; } export declare function postMatchIcon(api: ApiContext, id: string, body: PostMatchIconBody): Promise; export type PostMatchIconVariables = PostMatchIconBody & { id: string; }; export declare function usePostMatchIcon(options?: Omit, 'mutationFn'>): UseMutationResult;