import { UseQueryOptions, Query, QueryClient, UseMutationOptions } from 'react-query'; import { paths } from './apiSchema.generated'; import { RequestParamsType, ResponseContent } from './types'; import { HttpError } from './HttpError'; export type QueryProps = { url: Url; method: Method; fetchOptions?: IdleRequestOptions; options?: UseQueryOptions>; } & RequestParamsType; export declare const useApiQuery: (props: QueryProps) => import("react-query").UseQueryResult, HttpError>; export type MutationProps = { url: Url; method: Method; fetchOptions?: IdleRequestOptions; options?: UseMutationOptions, any, RequestParamsType>; invalidatePrefix?: string; }; export declare const useApiMutation: (props: MutationProps) => { mutate: import("react-query").UseMutateFunction, HttpError, RequestParamsType, unknown>; mutateAsync: import("react-query").UseMutateAsyncFunction, HttpError, RequestParamsType, unknown>; data: undefined; error: null; isError: false; isIdle: true; isLoading: false; isSuccess: false; status: "idle"; reset: () => void; context: unknown; failureCount: number; isPaused: boolean; variables: RequestParamsType; } | { mutate: import("react-query").UseMutateFunction, HttpError, RequestParamsType, unknown>; mutateAsync: import("react-query").UseMutateAsyncFunction, HttpError, RequestParamsType, unknown>; data: undefined; error: null; isError: false; isIdle: false; isLoading: true; isSuccess: false; status: "loading"; reset: () => void; context: unknown; failureCount: number; isPaused: boolean; variables: RequestParamsType; } | { mutate: import("react-query").UseMutateFunction, HttpError, RequestParamsType, unknown>; mutateAsync: import("react-query").UseMutateAsyncFunction, HttpError, RequestParamsType, unknown>; data: undefined; error: HttpError; isError: true; isIdle: false; isLoading: false; isSuccess: false; status: "error"; reset: () => void; context: unknown; failureCount: number; isPaused: boolean; variables: RequestParamsType; } | { mutate: import("react-query").UseMutateFunction, HttpError, RequestParamsType, unknown>; mutateAsync: import("react-query").UseMutateAsyncFunction, HttpError, RequestParamsType, unknown>; data: ResponseContent; error: null; isError: false; isIdle: false; isLoading: false; isSuccess: true; status: "success"; reset: () => void; context: unknown; failureCount: number; isPaused: boolean; variables: RequestParamsType; }; export declare const matchUrlPrefix: (prefix: string) => { predicate: (query: Query) => boolean; }; export declare const invalidateUrlPrefix: (queryClient: QueryClient, prefix: string) => Promise;