@ozmos/viper-vue
Version:
Vue plugin for Viper
420 lines • 23.9 kB
TypeScript
import { type QueryClient, useMutation, useQuery } from "@tanstack/vue-query";
import { type ComputedRef, type MaybeRef, type MaybeRefOrGetter, type Ref } from "vue";
type BaseBindings = string[];
type BaseProps = Record<string, {
result: unknown;
bindings: BaseBindings;
}>;
type BaseActions = Record<string, {
args: unknown;
result: unknown;
bindings: BaseBindings;
}>;
type BaseParams = Record<string, string>;
interface BasePageType {
props: BaseProps;
actions: BaseActions;
params: BaseParams;
}
interface BasePage extends BasePageType {
hashes: Record<string, string>;
title?: string | null;
}
interface PageInit {
formatTitle?: (title: string) => string;
queryClient: QueryClient;
}
type HeaderFunction = () => Promise<Record<string, string>>;
type BindOptions<T extends {
bindings: BaseBindings;
}> = T["bindings"]["length"] extends 0 ? {
bind?: never;
} : {
bind: {
[K in T["bindings"][number]]: MaybeRef<string | number | null> | ComputedRef<string | number | null>;
};
};
type QueryOptions<T> = Partial<Parameters<typeof useQuery<T>>[0]>;
type QueryStringOptions = {
qs?: Record<string, MaybeRefOrGetter<string | number | unknown[] | null>>;
};
type MutationOptions<TResult, TArgs> = Parameters<typeof useMutation<TResult, unknown, TArgs>>[0];
type UseQueryParams<T extends {
bindings: BaseBindings;
result: unknown;
}> = T["bindings"]["length"] extends 0 ? [
options?: QueryOptions<T["result"]> & BindOptions<T> & QueryStringOptions
] : [
options: QueryOptions<T["result"]> & BindOptions<T> & QueryStringOptions
];
type UseMutationParams<T extends {
bindings: BaseBindings;
result: unknown;
args: unknown;
}> = T["bindings"]["length"] extends 0 ? [options?: MutationOptions<T["result"], T["args"]> & BindOptions<T>] : [options: MutationOptions<T["result"], T["args"]> & BindOptions<T>];
type UseFormParams<T extends {
bindings: BaseBindings;
result: unknown;
args: unknown;
}> = T["bindings"]["length"] extends 0 ? [
options?: MutationOptions<T["result"], T["args"]> & {
state: T["args"];
} & BindOptions<T>
] : [
options: MutationOptions<T["result"], T["args"]> & {
state: T["args"];
} & BindOptions<T>
];
type UseFormDataParams<T extends {
bindings: BaseBindings;
result: unknown;
args: unknown;
}> = T["bindings"]["length"] extends 0 ? [
options?: MutationOptions<T["result"], T["args"]> & {
state: T["args"];
files: string[];
} & BindOptions<T>
] : [
options: MutationOptions<T["result"], T["args"]> & {
state: T["args"];
files: string[];
} & BindOptions<T>
];
export declare class Page {
params: Ref<Record<string, string>, Record<string, string>>;
formatTitle: (title: string) => string;
props: Record<string, unknown>;
actions: {};
hashes: Record<string, string>;
queryClient: QueryClient;
headerFunctions: HeaderFunction[];
constructor(config: PageInit);
mergeHeaders(func: HeaderFunction): () => void;
getHeaders(): Promise<Record<string, string>>;
updateFromPageJson(json: BasePage): void;
setPageTitle(title: string): void;
}
export declare function usePage<P extends BasePageType>(): {
setPageTitle: (title: string) => void;
params: Ref<P["params"]>;
useQuery<K extends keyof P["props"]>(key: K, ...args: UseQueryParams<P["props"][K]>): {
data: Ref<P["props"][K]["result"]>;
error: Ref<Error, Error>;
isError: Ref<true, true>;
isPending: Ref<false, false>;
isLoading: Ref<false, false>;
isLoadingError: Ref<false, false>;
isRefetchError: Ref<true, true>;
isSuccess: Ref<false, false>;
isPlaceholderData: Ref<false, false>;
status: Ref<"error", "error">;
dataUpdatedAt: Ref<number, number>;
errorUpdatedAt: Ref<number, number>;
failureCount: Ref<number, number>;
failureReason: Ref<Error | null, Error | null>;
errorUpdateCount: Ref<number, number>;
isFetched: Ref<boolean, boolean>;
isFetchedAfterMount: Ref<boolean, boolean>;
isFetching: Ref<boolean, boolean>;
isInitialLoading: Ref<boolean, boolean>;
isPaused: Ref<boolean, boolean>;
isRefetching: Ref<boolean, boolean>;
isStale: Ref<boolean, boolean>;
refetch: (options?: import("@tanstack/vue-query").RefetchOptions) => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
fetchStatus: Ref<import("@tanstack/vue-query").FetchStatus, import("@tanstack/vue-query").FetchStatus>;
promise: Ref<Promise<P["props"][K]["result"]>, Promise<P["props"][K]["result"]>>;
suspense: () => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
} | {
data: Ref<P["props"][K]["result"]>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<false, false>;
isLoading: Ref<false, false>;
isLoadingError: Ref<false, false>;
isRefetchError: Ref<false, false>;
isSuccess: Ref<true, true>;
isPlaceholderData: Ref<false, false>;
status: Ref<"success", "success">;
dataUpdatedAt: Ref<number, number>;
errorUpdatedAt: Ref<number, number>;
failureCount: Ref<number, number>;
failureReason: Ref<Error | null, Error | null>;
errorUpdateCount: Ref<number, number>;
isFetched: Ref<boolean, boolean>;
isFetchedAfterMount: Ref<boolean, boolean>;
isFetching: Ref<boolean, boolean>;
isInitialLoading: Ref<boolean, boolean>;
isPaused: Ref<boolean, boolean>;
isRefetching: Ref<boolean, boolean>;
isStale: Ref<boolean, boolean>;
refetch: (options?: import("@tanstack/vue-query").RefetchOptions) => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
fetchStatus: Ref<import("@tanstack/vue-query").FetchStatus, import("@tanstack/vue-query").FetchStatus>;
promise: Ref<Promise<P["props"][K]["result"]>, Promise<P["props"][K]["result"]>>;
suspense: () => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
} | {
data: Ref<P["props"][K]["result"]>;
error: Ref<Error, Error>;
isError: Ref<true, true>;
isPending: Ref<false, false>;
isLoading: Ref<false, false>;
isLoadingError: Ref<true, true>;
isRefetchError: Ref<false, false>;
isSuccess: Ref<false, false>;
isPlaceholderData: Ref<false, false>;
status: Ref<"error", "error">;
dataUpdatedAt: Ref<number, number>;
errorUpdatedAt: Ref<number, number>;
failureCount: Ref<number, number>;
failureReason: Ref<Error | null, Error | null>;
errorUpdateCount: Ref<number, number>;
isFetched: Ref<boolean, boolean>;
isFetchedAfterMount: Ref<boolean, boolean>;
isFetching: Ref<boolean, boolean>;
isInitialLoading: Ref<boolean, boolean>;
isPaused: Ref<boolean, boolean>;
isRefetching: Ref<boolean, boolean>;
isStale: Ref<boolean, boolean>;
refetch: (options?: import("@tanstack/vue-query").RefetchOptions) => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
fetchStatus: Ref<import("@tanstack/vue-query").FetchStatus, import("@tanstack/vue-query").FetchStatus>;
promise: Ref<Promise<P["props"][K]["result"]>, Promise<P["props"][K]["result"]>>;
suspense: () => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
} | {
data: Ref<P["props"][K]["result"]>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<true, true>;
isLoading: Ref<true, true>;
isLoadingError: Ref<false, false>;
isRefetchError: Ref<false, false>;
isSuccess: Ref<false, false>;
isPlaceholderData: Ref<false, false>;
status: Ref<"pending", "pending">;
dataUpdatedAt: Ref<number, number>;
errorUpdatedAt: Ref<number, number>;
failureCount: Ref<number, number>;
failureReason: Ref<Error | null, Error | null>;
errorUpdateCount: Ref<number, number>;
isFetched: Ref<boolean, boolean>;
isFetchedAfterMount: Ref<boolean, boolean>;
isFetching: Ref<boolean, boolean>;
isInitialLoading: Ref<boolean, boolean>;
isPaused: Ref<boolean, boolean>;
isRefetching: Ref<boolean, boolean>;
isStale: Ref<boolean, boolean>;
refetch: (options?: import("@tanstack/vue-query").RefetchOptions) => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
fetchStatus: Ref<import("@tanstack/vue-query").FetchStatus, import("@tanstack/vue-query").FetchStatus>;
promise: Ref<Promise<P["props"][K]["result"]>, Promise<P["props"][K]["result"]>>;
suspense: () => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
} | {
data: Ref<P["props"][K]["result"]>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<true, true>;
isLoadingError: Ref<false, false>;
isRefetchError: Ref<false, false>;
isSuccess: Ref<false, false>;
isPlaceholderData: Ref<false, false>;
status: Ref<"pending", "pending">;
dataUpdatedAt: Ref<number, number>;
errorUpdatedAt: Ref<number, number>;
failureCount: Ref<number, number>;
failureReason: Ref<Error | null, Error | null>;
errorUpdateCount: Ref<number, number>;
isFetched: Ref<boolean, boolean>;
isFetchedAfterMount: Ref<boolean, boolean>;
isFetching: Ref<boolean, boolean>;
isLoading: Ref<boolean, boolean>;
isInitialLoading: Ref<boolean, boolean>;
isPaused: Ref<boolean, boolean>;
isRefetching: Ref<boolean, boolean>;
isStale: Ref<boolean, boolean>;
refetch: (options?: import("@tanstack/vue-query").RefetchOptions) => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
fetchStatus: Ref<import("@tanstack/vue-query").FetchStatus, import("@tanstack/vue-query").FetchStatus>;
promise: Ref<Promise<P["props"][K]["result"]>, Promise<P["props"][K]["result"]>>;
suspense: () => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
} | {
data: Ref<P["props"][K]["result"]>;
isError: Ref<false, false>;
error: Ref<null, null>;
isPending: Ref<false, false>;
isLoading: Ref<false, false>;
isLoadingError: Ref<false, false>;
isRefetchError: Ref<false, false>;
isSuccess: Ref<true, true>;
isPlaceholderData: Ref<true, true>;
status: Ref<"success", "success">;
dataUpdatedAt: Ref<number, number>;
errorUpdatedAt: Ref<number, number>;
failureCount: Ref<number, number>;
failureReason: Ref<Error | null, Error | null>;
errorUpdateCount: Ref<number, number>;
isFetched: Ref<boolean, boolean>;
isFetchedAfterMount: Ref<boolean, boolean>;
isFetching: Ref<boolean, boolean>;
isInitialLoading: Ref<boolean, boolean>;
isPaused: Ref<boolean, boolean>;
isRefetching: Ref<boolean, boolean>;
isStale: Ref<boolean, boolean>;
refetch: (options?: import("@tanstack/vue-query").RefetchOptions) => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
fetchStatus: Ref<import("@tanstack/vue-query").FetchStatus, import("@tanstack/vue-query").FetchStatus>;
promise: Ref<Promise<P["props"][K]["result"]>, Promise<P["props"][K]["result"]>>;
suspense: () => Promise<import("@tanstack/vue-query").QueryObserverResult<P["props"][K]["result"], Error>>;
};
useMutation<K extends keyof P["actions"]>(key: K, ...args: UseMutationParams<P["actions"][K]>): import("@tanstack/vue-query").UseMutationReturnType<P["actions"][K]["result"], unknown, P["actions"][K]["args"], unknown, Omit<import("@tanstack/vue-query").MutationObserverIdleResult<P["actions"][K]["result"], unknown, P["actions"][K]["args"], unknown>, "mutate" | "reset"> | Omit<import("@tanstack/vue-query").MutationObserverLoadingResult<P["actions"][K]["result"], unknown, P["actions"][K]["args"], unknown>, "mutate" | "reset"> | Omit<import("@tanstack/vue-query").MutationObserverErrorResult<P["actions"][K]["result"], unknown, P["actions"][K]["args"], unknown>, "mutate" | "reset"> | Omit<import("@tanstack/vue-query").MutationObserverSuccessResult<P["actions"][K]["result"], unknown, P["actions"][K]["args"], unknown>, "mutate" | "reset">>;
useForm<K extends keyof P["actions"]>(key: K, ...args: UseFormParams<P["actions"][K]>): {
mutate(override?: Partial<P["actions"][K]["args"]>): void;
mutateAsync(override?: Partial<P["actions"][K]["args"]>): Promise<P["actions"][K]["result"]>;
reset: () => void;
errors: Ref<Record<string, string>, Record<string, string>>;
state: [P["actions"][K]["args"]] extends [Ref<any, any>] ? import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, P["actions"][K]["args"]> : Ref<import("vue").UnwrapRef<P["actions"][K]["args"]>, P["actions"][K]["args"] | import("vue").UnwrapRef<P["actions"][K]["args"]>>;
data: Ref<undefined, undefined>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<false, false>;
isSuccess: Ref<false, false>;
status: Ref<"idle", "idle">;
failureCount: Ref<number, number>;
failureReason: Ref<unknown, unknown>;
isPaused: Ref<boolean, boolean>;
variables: Ref<undefined, undefined>;
isIdle: Ref<true, true>;
context: Ref<unknown, unknown>;
submittedAt: Ref<number, number>;
} | {
mutate(override?: Partial<P["actions"][K]["args"]>): void;
mutateAsync(override?: Partial<P["actions"][K]["args"]>): Promise<P["actions"][K]["result"]>;
reset: () => void;
errors: Ref<Record<string, string>, Record<string, string>>;
state: [P["actions"][K]["args"]] extends [Ref<any, any>] ? import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, P["actions"][K]["args"]> : Ref<import("vue").UnwrapRef<P["actions"][K]["args"]>, P["actions"][K]["args"] | import("vue").UnwrapRef<P["actions"][K]["args"]>>;
data: Ref<undefined, undefined>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<true, true>;
isSuccess: Ref<false, false>;
status: Ref<"pending", "pending">;
failureCount: Ref<number, number>;
failureReason: Ref<unknown, unknown>;
isPaused: Ref<boolean, boolean>;
variables: import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, [P["actions"][K]["args"]] extends [Ref<any, any>] ? P["actions"][K]["args"] : Ref<P["actions"][K]["args"], P["actions"][K]["args"]>>;
isIdle: Ref<false, false>;
context: Ref<unknown, unknown>;
submittedAt: Ref<number, number>;
} | {
mutate(override?: Partial<P["actions"][K]["args"]>): void;
mutateAsync(override?: Partial<P["actions"][K]["args"]>): Promise<P["actions"][K]["result"]>;
reset: () => void;
errors: Ref<Record<string, string>, Record<string, string>>;
state: [P["actions"][K]["args"]] extends [Ref<any, any>] ? import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, P["actions"][K]["args"]> : Ref<import("vue").UnwrapRef<P["actions"][K]["args"]>, P["actions"][K]["args"] | import("vue").UnwrapRef<P["actions"][K]["args"]>>;
data: Ref<undefined, undefined>;
error: Ref<unknown, unknown>;
isError: Ref<true, true>;
isPending: Ref<false, false>;
isSuccess: Ref<false, false>;
status: Ref<"error", "error">;
failureCount: Ref<number, number>;
failureReason: Ref<unknown, unknown>;
isPaused: Ref<boolean, boolean>;
variables: import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, [P["actions"][K]["args"]] extends [Ref<any, any>] ? P["actions"][K]["args"] : Ref<P["actions"][K]["args"], P["actions"][K]["args"]>>;
isIdle: Ref<false, false>;
context: Ref<unknown, unknown>;
submittedAt: Ref<number, number>;
} | {
mutate(override?: Partial<P["actions"][K]["args"]>): void;
mutateAsync(override?: Partial<P["actions"][K]["args"]>): Promise<P["actions"][K]["result"]>;
reset: () => void;
errors: Ref<Record<string, string>, Record<string, string>>;
state: [P["actions"][K]["args"]] extends [Ref<any, any>] ? import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, P["actions"][K]["args"]> : Ref<import("vue").UnwrapRef<P["actions"][K]["args"]>, P["actions"][K]["args"] | import("vue").UnwrapRef<P["actions"][K]["args"]>>;
data: import("@vue/shared").IfAny<P["actions"][K]["result"], Ref<P["actions"][K]["result"], P["actions"][K]["result"]>, [P["actions"][K]["result"]] extends [Ref<any, any>] ? P["actions"][K]["result"] : Ref<P["actions"][K]["result"], P["actions"][K]["result"]>>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<false, false>;
isSuccess: Ref<true, true>;
status: Ref<"success", "success">;
failureCount: Ref<number, number>;
failureReason: Ref<unknown, unknown>;
isPaused: Ref<boolean, boolean>;
variables: import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, [P["actions"][K]["args"]] extends [Ref<any, any>] ? P["actions"][K]["args"] : Ref<P["actions"][K]["args"], P["actions"][K]["args"]>>;
isIdle: Ref<false, false>;
context: Ref<unknown, unknown>;
submittedAt: Ref<number, number>;
};
useFormData<K extends keyof P["actions"]>(key: K, ...args: UseFormDataParams<P["actions"][K]>): {
mutate(override?: Partial<P["actions"][K]["args"]>): void;
mutateAsync(override?: Partial<P["actions"][K]["args"]>): Promise<P["actions"][K]["result"]>;
reset: () => void;
errors: Ref<Record<string, string>, Record<string, string>>;
state: [P["actions"][K]["args"]] extends [Ref<any, any>] ? import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, P["actions"][K]["args"]> : Ref<import("vue").UnwrapRef<P["actions"][K]["args"]>, P["actions"][K]["args"] | import("vue").UnwrapRef<P["actions"][K]["args"]>>;
data: Ref<undefined, undefined>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<false, false>;
isSuccess: Ref<false, false>;
status: Ref<"idle", "idle">;
failureCount: Ref<number, number>;
failureReason: Ref<unknown, unknown>;
isPaused: Ref<boolean, boolean>;
variables: Ref<undefined, undefined>;
isIdle: Ref<true, true>;
context: Ref<unknown, unknown>;
submittedAt: Ref<number, number>;
} | {
mutate(override?: Partial<P["actions"][K]["args"]>): void;
mutateAsync(override?: Partial<P["actions"][K]["args"]>): Promise<P["actions"][K]["result"]>;
reset: () => void;
errors: Ref<Record<string, string>, Record<string, string>>;
state: [P["actions"][K]["args"]] extends [Ref<any, any>] ? import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, P["actions"][K]["args"]> : Ref<import("vue").UnwrapRef<P["actions"][K]["args"]>, P["actions"][K]["args"] | import("vue").UnwrapRef<P["actions"][K]["args"]>>;
data: Ref<undefined, undefined>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<true, true>;
isSuccess: Ref<false, false>;
status: Ref<"pending", "pending">;
failureCount: Ref<number, number>;
failureReason: Ref<unknown, unknown>;
isPaused: Ref<boolean, boolean>;
variables: import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, [P["actions"][K]["args"]] extends [Ref<any, any>] ? P["actions"][K]["args"] : Ref<P["actions"][K]["args"], P["actions"][K]["args"]>>;
isIdle: Ref<false, false>;
context: Ref<unknown, unknown>;
submittedAt: Ref<number, number>;
} | {
mutate(override?: Partial<P["actions"][K]["args"]>): void;
mutateAsync(override?: Partial<P["actions"][K]["args"]>): Promise<P["actions"][K]["result"]>;
reset: () => void;
errors: Ref<Record<string, string>, Record<string, string>>;
state: [P["actions"][K]["args"]] extends [Ref<any, any>] ? import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, P["actions"][K]["args"]> : Ref<import("vue").UnwrapRef<P["actions"][K]["args"]>, P["actions"][K]["args"] | import("vue").UnwrapRef<P["actions"][K]["args"]>>;
data: Ref<undefined, undefined>;
error: Ref<unknown, unknown>;
isError: Ref<true, true>;
isPending: Ref<false, false>;
isSuccess: Ref<false, false>;
status: Ref<"error", "error">;
failureCount: Ref<number, number>;
failureReason: Ref<unknown, unknown>;
isPaused: Ref<boolean, boolean>;
variables: import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, [P["actions"][K]["args"]] extends [Ref<any, any>] ? P["actions"][K]["args"] : Ref<P["actions"][K]["args"], P["actions"][K]["args"]>>;
isIdle: Ref<false, false>;
context: Ref<unknown, unknown>;
submittedAt: Ref<number, number>;
} | {
mutate(override?: Partial<P["actions"][K]["args"]>): void;
mutateAsync(override?: Partial<P["actions"][K]["args"]>): Promise<P["actions"][K]["result"]>;
reset: () => void;
errors: Ref<Record<string, string>, Record<string, string>>;
state: [P["actions"][K]["args"]] extends [Ref<any, any>] ? import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, P["actions"][K]["args"]> : Ref<import("vue").UnwrapRef<P["actions"][K]["args"]>, P["actions"][K]["args"] | import("vue").UnwrapRef<P["actions"][K]["args"]>>;
data: import("@vue/shared").IfAny<P["actions"][K]["result"], Ref<P["actions"][K]["result"], P["actions"][K]["result"]>, [P["actions"][K]["result"]] extends [Ref<any, any>] ? P["actions"][K]["result"] : Ref<P["actions"][K]["result"], P["actions"][K]["result"]>>;
error: Ref<null, null>;
isError: Ref<false, false>;
isPending: Ref<false, false>;
isSuccess: Ref<true, true>;
status: Ref<"success", "success">;
failureCount: Ref<number, number>;
failureReason: Ref<unknown, unknown>;
isPaused: Ref<boolean, boolean>;
variables: import("@vue/shared").IfAny<P["actions"][K]["args"], Ref<P["actions"][K]["args"], P["actions"][K]["args"]>, [P["actions"][K]["args"]] extends [Ref<any, any>] ? P["actions"][K]["args"] : Ref<P["actions"][K]["args"], P["actions"][K]["args"]>>;
isIdle: Ref<false, false>;
context: Ref<unknown, unknown>;
submittedAt: Ref<number, number>;
};
};
export {};
//# sourceMappingURL=page.d.ts.map