import { type InvalidateOptions, type InvalidateQueryFilters, type QueryClient } from "@tanstack/vue-query";
import { type Cause, Effect, type Exit } from "effect-app";
import { type Req } from "effect-app/client";
import type { ClientForOptions, RequestHandler, RequestHandlerWithInput } from "effect-app/client/clientFor";
import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
import { type ComputedRef } from "vue";
export declare const getQueryKey: (h: {
id: string;
options?: ClientForOptions;
}) => string[];
export declare function mutationResultToVue(mutationResult: AsyncResult.AsyncResult): Res;
export interface Res {
readonly loading: boolean;
readonly data: A | undefined;
readonly error: Cause.Cause | undefined;
}
export declare function make(self: Effect.Effect): readonly [import("vue").ShallowRef, AsyncResult.AsyncResult>, ComputedRef, Effect.Effect | AsyncResult.Success, never, R>];
export interface MutationOptionsBase {
/**
* By default we invalidate one level of the query key, e.g $project/$configuration.get, we invalidate $project.
* This can be overridden by providing a function that returns an array of filters and options.
*/
queryInvalidation?: (defaultKey: string[], name: string, input?: unknown, output?: Exit.Exit) => {
filters?: InvalidateQueryFilters | undefined;
options?: InvalidateOptions | undefined;
}[];
}
/** @deprecated prefer more basic @see MutationOptionsBase and separate useMutation from Command.fn */
export interface MutationOptions extends MutationOptionsBase {
/**
* Map the handler; cache invalidation is already done in this handler.
* This is useful for e.g navigating, as you know caches have already updated.
*
* @deprecated use `Command.fn` instead of `useMutation*` with `mapHandler` option.
*/
mapHandler?: (handler: Effect.Effect, input: I) => Effect.Effect;
}
export declare const asResult: {
(handler: Effect.Effect): readonly [ComputedRef>, Effect.Effect, never, R>];
(handler: (...args: Args) => Effect.Effect): readonly [ComputedRef>, (...args: Args) => Effect.Effect, never, R>];
};
export declare const invalidateQueries: (queryClient: QueryClient, self: {
id: string;
options?: ClientForOptions;
}, options?: MutationOptionsBase["queryInvalidation"]) => (self: Effect.Effect, input?: unknown) => Effect.Effect;
export declare const makeMutation: () => {
(self: RequestHandlerWithInput, options?: MutationOptionsBase): ((i: I) => Effect.Effect) & {
readonly id: Id;
};
(self: RequestHandler, options?: MutationOptionsBase): Effect.Effect & {
readonly id: Id;
};
};
export declare const useMakeMutation: () => {
(self: RequestHandlerWithInput, options?: MutationOptionsBase): ((i: I) => Effect.Effect) & {
readonly id: Id;
};
(self: RequestHandler, options?: MutationOptionsBase): Effect.Effect & {
readonly id: Id;
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbXV0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUFFLEtBQUssc0JBQXNCLEVBQUUsS0FBSyxXQUFXLEVBQWtCLE1BQU0scUJBQXFCLENBQUE7QUFDM0gsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBVSxNQUFNLFlBQVksQ0FBQTtBQUNsRSxPQUFPLEVBQWdCLEtBQUssR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDMUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFFNUcsT0FBTyxLQUFLLFdBQVcsTUFBTSx3Q0FBd0MsQ0FBQTtBQUNyRSxPQUFPLEVBQVksS0FBSyxXQUFXLEVBQWMsTUFBTSxLQUFLLENBQUE7QUFFNUQsZUFBTyxNQUFNLFdBQVcsTUFBTztJQUFFLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQTtDQUFFLGFBUXhFLENBQUE7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDdEMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUM1QyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQW9CWDtBQUVELE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkIsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUE7SUFDekIsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFBO0lBQzVCLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUE7Q0FDM0M7QUFF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