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