import React from 'react'; import type { OperationVariables, useBackgroundQuery as apolloUseBackgroundQuery, useReadQuery as apolloUseReadQuery } from '@apollo/client'; import type { TypedDocumentNode } from '@graphql-typed-document-node/core'; import type { DocumentNode } from 'graphql'; export type { TypedDocumentNode }; /** * @NOTE * The types QueryOperationResult, MutationOperationResult, SubscriptionOperationResult, and SuspenseQueryOperationResult * are overridden in packages/web/src/apollo/typeOverride.ts. This was originally so that you could bring your own gql client. * * The default (empty) types are defined in packages/web/src/global.web-auto-imports.ts * * Do not import types for hooks directly from Apollo here, unless it is an Apollo specific hook. */ type DefaultUseQueryType = (query: DocumentNode | TypedDocumentNode, options?: GraphQLQueryHookOptions) => QueryOperationResult; type DefaultUseMutationType = (mutation: DocumentNode | TypedDocumentNode, options?: GraphQLMutationHookOptions) => MutationOperationResult; type DefaultUseSubscriptionType = (subscription: DocumentNode | TypedDocumentNode, options?: GraphQLSubscriptionHookOptions) => SubscriptionOperationResult; type DefaultUseSuspenseType = (query: DocumentNode | TypedDocumentNode, options?: GraphQLSuspenseQueryHookOptions) => SuspenseQueryOperationResult; export interface GraphQLHooks { useQuery: TuseQuery; useMutation: TuseMutation; useSubscription: TuseSubscription; useSuspenseQuery: TuseSuspenseQuery; useBackgroundQuery: typeof apolloUseBackgroundQuery; useReadQuery: typeof apolloUseReadQuery; } export declare const GraphQLHooksContext: React.Context>; interface GraphQlHooksProviderProps extends GraphQLHooks { children: React.ReactNode; } /** * GraphQLHooksProvider stores standard `useQuery` and `useMutation` hooks for Redwood * that can be mapped to your GraphQL library of choice's own `useQuery` * and `useMutation` implementation. * * @todo Let the user pass in the additional type for options. */ export declare const GraphQLHooksProvider: ({ useQuery, useMutation, useSubscription, useSuspenseQuery, useBackgroundQuery, useReadQuery, children, }: GraphQlHooksProviderProps) => React.JSX.Element; export declare function useQuery(query: DocumentNode | TypedDocumentNode, options?: GraphQLQueryHookOptions): QueryOperationResult; export declare function useMutation(mutation: DocumentNode | TypedDocumentNode, options?: GraphQLMutationHookOptions): MutationOperationResult; export declare function useSubscription(query: DocumentNode | TypedDocumentNode, options?: GraphQLSubscriptionHookOptions): SubscriptionOperationResult; export declare function useSuspenseQuery(query: DocumentNode | TypedDocumentNode, options?: GraphQLSuspenseQueryHookOptions): SuspenseQueryOperationResult; export declare const useBackgroundQuery: typeof apolloUseBackgroundQuery; export declare const useReadQuery: typeof apolloUseReadQuery; //# sourceMappingURL=GraphQLHooksProvider.d.ts.map