import * as Types from "../../../__generated__/types.js";
import * as gm from "graphql-modules";
export namespace GreenInvoiceModule {
  interface DefinedFields {
    Query: 'greenInvoiceClient';
    Mutation: 'syncGreenInvoiceDocuments';
    GreenInvoiceClient: 'country' | 'emails' | 'greenInvoiceId' | 'businessId' | 'name' | 'phone' | 'taxId' | 'self' | 'address' | 'city' | 'zip' | 'fax' | 'mobile' | 'add';
    IssuedDocumentInfo: 'originalDocument';
    ClientIntegrations: 'greenInvoiceInfo';
  };
  
  export type Query = Pick<Types.Query, DefinedFields['Query']>;
  export type GreenInvoiceClient = Pick<Types.GreenInvoiceClient, DefinedFields['GreenInvoiceClient']>;
  export type UUID = Types.Uuid;
  export type Mutation = Pick<Types.Mutation, DefinedFields['Mutation']>;
  export type Document = Types.Document;
  export type IssuedDocumentInfo = Types.IssuedDocumentInfo;
  export type DocumentDraft = Types.DocumentDraft;
  export type ClientIntegrations = Types.ClientIntegrations;
  export type Country = Types.Country;
  
  export type QueryResolvers = Pick<Types.QueryResolvers, DefinedFields['Query']>;
  export type MutationResolvers = Pick<Types.MutationResolvers, DefinedFields['Mutation']>;
  export type GreenInvoiceClientResolvers = Pick<Types.GreenInvoiceClientResolvers, DefinedFields['GreenInvoiceClient']>;
  export type IssuedDocumentInfoResolvers = Pick<Types.IssuedDocumentInfoResolvers, DefinedFields['IssuedDocumentInfo']>;
  export type ClientIntegrationsResolvers = Pick<Types.ClientIntegrationsResolvers, DefinedFields['ClientIntegrations']>;
  
  export interface Resolvers {
    Query?: QueryResolvers;
    Mutation?: MutationResolvers;
    GreenInvoiceClient?: GreenInvoiceClientResolvers;
    IssuedDocumentInfo?: IssuedDocumentInfoResolvers;
    ClientIntegrations?: ClientIntegrationsResolvers;
  };
  
  export interface MiddlewareMap {
    '*'?: {
      '*'?: gm.Middleware[];
    };
    Query?: {
      '*'?: gm.Middleware[];
      greenInvoiceClient?: gm.Middleware[];
    };
    Mutation?: {
      '*'?: gm.Middleware[];
      syncGreenInvoiceDocuments?: gm.Middleware[];
    };
    IssuedDocumentInfo?: {
      '*'?: gm.Middleware[];
      originalDocument?: gm.Middleware[];
    };
    ClientIntegrations?: {
      '*'?: gm.Middleware[];
      greenInvoiceInfo?: gm.Middleware[];
    };
    GreenInvoiceClient?: {
      '*'?: gm.Middleware[];
      country?: gm.Middleware[];
      emails?: gm.Middleware[];
      greenInvoiceId?: gm.Middleware[];
      businessId?: gm.Middleware[];
      name?: gm.Middleware[];
      phone?: gm.Middleware[];
      taxId?: gm.Middleware[];
      self?: gm.Middleware[];
      address?: gm.Middleware[];
      city?: gm.Middleware[];
      zip?: gm.Middleware[];
      fax?: gm.Middleware[];
      mobile?: gm.Middleware[];
      add?: gm.Middleware[];
    };
  };
}