import { UseMutationOptions, UseMutationResult, UseQueryResult } from 'react-query'; import { UseQueryOptions } from 'react-query/types/react/types'; import { AxiosError } from 'axios'; import { Post } from './model'; import { ApiContext, ApiError, ListRequestQuery, PaginatedList, RequestBody, RequestQuery } from '../../api'; export type GetPostQuery = RequestQuery; export declare function getPost(api: ApiContext, id: string, query?: GetPostQuery): Promise; export declare function usePost(id?: string, query?: GetPostQuery, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export type PostList = PaginatedList<'posts', Post>; export interface GetPostsQuery extends ListRequestQuery { wallet?: string; } export declare function getPosts(api: ApiContext, query?: GetPostQuery): Promise; export interface UsePostsOptions { onCreated?: (post: Post) => unknown; onUpdated?: (post: Post) => unknown; } export declare function usePosts(query?: GetPostsQuery, options?: UsePostsOptions): UseQueryResult; export interface PostBody extends RequestBody { user?: string; author?: string; wallet?: string; } export declare function putPost(api: ApiContext, id: string, body: PostBody): Promise; export type PutPostVariables = PostBody & { id: string; }; export declare function usePutPost(options?: Omit, 'mutationFn'>): UseMutationResult;