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 { Player } from '../players'; import { Composition } from './model'; export declare function getComposition(api: ApiContext, id: string): Promise; export declare function useComposition(id?: string, options?: Omit, 'queryKey' | 'queryFn'>): UseQueryResult; export interface GetCompositionsQuery extends ListRequestQuery { match?: string; wallet?: string; is_valid?: boolean; is_active?: boolean; } export type CompositionList = PaginatedList<'compositions', Composition>; export declare function mergeCompositionInList(composition: Composition, compositionList?: CompositionList): CompositionList; export declare function removeCompositionFromList(id: string, compositionList?: CompositionList): CompositionList; export declare function getCompositions(api: ApiContext, query?: GetCompositionsQuery): Promise; export declare function useCompositions(query?: GetCompositionsQuery, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export declare function useActiveWalletCompositions(query?: GetCompositionsQuery, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export interface CompositionPositionBody { id: string; player: Player | string | null; } export interface CompositionBody extends RequestBody { match?: string | null; wallet?: string | null; setting?: string | null; positions?: string | null; is_active?: boolean; } export declare function postComposition(api: ApiContext, body: CompositionBody): Promise; export declare function usePostComposition(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function usePostActiveWalletComposition(query?: Omit, options?: Omit, 'mutationFn'>): UseMutationResult; export declare function putComposition(api: ApiContext, id: string, body: CompositionBody): Promise; export type UsePutCompositionVariables = CompositionBody & { id: string; }; export declare function usePutComposition(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function usePutActiveWalletComposition(query?: Omit, options?: Omit, 'mutationFn'>): UseMutationResult; export declare function deleteComposition(api: ApiContext, id: string): Promise; export declare function useDeleteComposition(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function useDeleteActiveWalletComposition(query?: Omit, options?: Omit, 'mutationFn'>): UseMutationResult;