import gql from 'graphql-tag';
import * as React from 'react';
import * as ApolloReactCommon from '@apollo/react-common';
import * as ApolloReactComponents from '@apollo/react-components';
import * as ApolloReactHoc from '@apollo/react-hoc';
export type Maybe<T> = T | null;
export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
  ID: string,
  String: string,
  Boolean: boolean,
  Int: number,
  Float: number,
};

export type MyType = {
   __typename?: 'MyType',
  f?: Maybe<Scalars['String']>,
};

export type Query = {
   __typename?: 'Query',
  f?: Maybe<Scalars['String']>,
};

export type MyQueryQueryVariables = {};


export type MyQueryQuery = (
  { __typename?: 'Query' }
  & Pick<Query, 'f'>
);


export const MyQueryDocument = gql`
    query MyQuery {
  f
}
    `;
export type MyQueryComponentProps = Omit<ApolloReactComponents.QueryComponentOptions<MyQueryQuery, MyQueryQueryVariables>, 'query'>;

    export const MyQueryComponent = (props: MyQueryComponentProps) => (
      <ApolloReactComponents.Query<MyQueryQuery, MyQueryQueryVariables> query={MyQueryDocument} {...props} />
    );
    
export type MyQueryProps<TChildProps = {}> = ApolloReactHoc.DataProps<MyQueryQuery, MyQueryQueryVariables> & TChildProps;
export function withMyQuery<TProps, TChildProps = {}>(operationOptions?: ApolloReactHoc.OperationOption<
  TProps,
  MyQueryQuery,
  MyQueryQueryVariables,
  MyQueryProps<TChildProps>>) {
    return ApolloReactHoc.withQuery<TProps, MyQueryQuery, MyQueryQueryVariables, MyQueryProps<TChildProps>>(MyQueryDocument, {
      alias: 'myQuery',
      ...operationOptions
    });
};
export type MyQueryQueryResult = ApolloReactCommon.QueryResult<MyQueryQuery, MyQueryQueryVariables>;