import type { EdenRequestOptions } from '@aydee-app/eden' import type { DehydratedState, QueryClient, StoreOrVal } from '@tanstack/svelte-query' import type { AnyElysia, MaybePromise } from 'elysia' /** * Options to customize the behavior of the query or fetch. */ export type EdenQueryRequestOptions = /** * Use svelte-query's internal AbortSignals instead of allowing user provided signals. */ Omit, 'signal'> & { /** * Opt out or into aborting request on unmount */ abortOnUnmount?: boolean /** * Overrides for svelte-query hooks. */ overrides?: EdenQueryOverrides /** * SSR option... */ dehydrated?: boolean | DehydratedState } export type EdenQueryOverrides = { createMutation?: Partial } export type CreateMutationOverride = { onSuccess: (options: CreateMutationOverrideOnSuccessOptions) => MaybePromise } export type CreateMutationOverrideOnSuccessOptions = { originalFn: () => StoreOrVal queryClient: QueryClient meta: Record }