///
import { RequestOptions } from 'https';
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?: RequestOptions;
options?: UseQueryOptions>;
} & RequestParamsType;
export declare const useApiQuery: (props: QueryProps) => import("react-query").UseQueryResult, HttpError>;
export type MutationProps = {
url: Url;
method: Method;
fetchOptions?: RequestOptions;
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;