import * as Types from "../../../__generated__/types.js";
import * as gm from "graphql-modules";
export namespace ExchangeRatesModule {
  interface DefinedFields {
    Query: 'exchangeRates';
    ExchangeRates: 'aud' | 'cad' | 'eur' | 'gbp' | 'ils' | 'jpy' | 'sek' | 'usd' | 'eth' | 'grt' | 'usdc' | 'date';
    ConversionRate: 'from' | 'to' | 'rate';
    FinancialCharge: 'exchangeRates';
    ConversionCharge: 'eventRate' | 'officialRate';
    CommonTransaction: 'debitExchangeRates' | 'eventExchangeRates' | 'cryptoExchangeRate';
    ConversionTransaction: 'debitExchangeRates' | 'eventExchangeRates' | 'cryptoExchangeRate';
    Transaction: 'debitExchangeRates' | 'eventExchangeRates' | 'cryptoExchangeRate';
  };
  
  export type Query = Pick<Types.Query, DefinedFields['Query']>;
  export type ExchangeRates = Pick<Types.ExchangeRates, DefinedFields['ExchangeRates']>;
  export type TimelessDate = Types.TimelessDate;
  export type ConversionRate = Pick<Types.ConversionRate, DefinedFields['ConversionRate']>;
  export type Currency = Types.Currency;
  export type FinancialCharge = Types.FinancialCharge;
  export type ConversionCharge = Types.ConversionCharge;
  export type Transaction = Types.Transaction;
  export type CommonTransaction = Types.CommonTransaction;
  export type ConversionTransaction = Types.ConversionTransaction;
  
  export type QueryResolvers = Pick<Types.QueryResolvers, DefinedFields['Query']>;
  export type ExchangeRatesResolvers = Pick<Types.ExchangeRatesResolvers, DefinedFields['ExchangeRates']>;
  export type ConversionRateResolvers = Pick<Types.ConversionRateResolvers, DefinedFields['ConversionRate']>;
  export type FinancialChargeResolvers = Pick<Types.FinancialChargeResolvers, DefinedFields['FinancialCharge']>;
  export type ConversionChargeResolvers = Pick<Types.ConversionChargeResolvers, DefinedFields['ConversionCharge']>;
  export type CommonTransactionResolvers = Pick<Types.CommonTransactionResolvers, DefinedFields['CommonTransaction']>;
  export type ConversionTransactionResolvers = Pick<Types.ConversionTransactionResolvers, DefinedFields['ConversionTransaction']>;
  export type TransactionResolvers = Pick<Types.TransactionResolvers, DefinedFields['Transaction']>;
  
  export interface Resolvers {
    Query?: QueryResolvers;
    ExchangeRates?: ExchangeRatesResolvers;
    ConversionRate?: ConversionRateResolvers;
    FinancialCharge?: FinancialChargeResolvers;
    ConversionCharge?: ConversionChargeResolvers;
    CommonTransaction?: CommonTransactionResolvers;
    ConversionTransaction?: ConversionTransactionResolvers;
  };
  
  export interface MiddlewareMap {
    '*'?: {
      '*'?: gm.Middleware[];
    };
    Query?: {
      '*'?: gm.Middleware[];
      exchangeRates?: gm.Middleware[];
    };
    ExchangeRates?: {
      '*'?: gm.Middleware[];
      aud?: gm.Middleware[];
      cad?: gm.Middleware[];
      eur?: gm.Middleware[];
      gbp?: gm.Middleware[];
      ils?: gm.Middleware[];
      jpy?: gm.Middleware[];
      sek?: gm.Middleware[];
      usd?: gm.Middleware[];
      eth?: gm.Middleware[];
      grt?: gm.Middleware[];
      usdc?: gm.Middleware[];
      date?: gm.Middleware[];
    };
    ConversionRate?: {
      '*'?: gm.Middleware[];
      from?: gm.Middleware[];
      to?: gm.Middleware[];
      rate?: gm.Middleware[];
    };
    FinancialCharge?: {
      '*'?: gm.Middleware[];
      exchangeRates?: gm.Middleware[];
    };
    ConversionCharge?: {
      '*'?: gm.Middleware[];
      eventRate?: gm.Middleware[];
      officialRate?: gm.Middleware[];
    };
    CommonTransaction?: {
      '*'?: gm.Middleware[];
      debitExchangeRates?: gm.Middleware[];
      eventExchangeRates?: gm.Middleware[];
      cryptoExchangeRate?: gm.Middleware[];
    };
    ConversionTransaction?: {
      '*'?: gm.Middleware[];
      debitExchangeRates?: gm.Middleware[];
      eventExchangeRates?: gm.Middleware[];
      cryptoExchangeRate?: gm.Middleware[];
    };
  };
}