import { OperationVariables, QueryResult } from '@apollo/client';
import { Query } from '@apollo/client/react/components';
import { QueryFunctionOptions } from '@apollo/client/react';

import { IUserData } from 'typings';
import Authentication from 'store/authentication';

export const MeQuery = Query;

export interface IMeQueryProps
  extends Omit<QueryFunctionOptions<IUserData, OperationVariables>, 'query'> {
  authentication: Authentication;
  children: (result: QueryResult) => React.ReactNode;
}
