// @ts-nocheck

import type { InContextSdkMethod } from '@graphql-mesh/types';

export namespace PayperTypes {
  export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
  ID: { input: string; output: string; }
  /** The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. */
  String: { input: string; output: string; }
  Boolean: { input: boolean; output: boolean; }
  /** The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. */
  Int: { input: number; output: number; }
  /** The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point). */
  Float: { input: number; output: number; }
  ObjMap: { input: unknown; output: unknown; }
};

export type Query = {
  getExpensesRaw?: Maybe<getExpensesResponse>;
  getExpenses?: Maybe<getExpensesResponse>;
};


export type QuerygetExpensesRawArgs = {
  input?: InputMaybe<getExpensesRequest_Input>;
};


export type QuerygetExpensesArgs = {
  input?: InputMaybe<getExpensesRequest_Input>;
};

export type getExpensesResponse = {
  description: Scalars['String']['output'];
  /** An array of JSON of the search */
  expenses?: Maybe<Array<Maybe<Expense>>>;
  /** The next available page */
  next_page?: Maybe<Scalars['String']['output']>;
  result: Scalars['Int']['output'];
  /** The total size of the query */
  total_entries?: Maybe<Scalars['Int']['output']>;
  /** The total pages of the query */
  total_pages?: Maybe<Scalars['String']['output']>;
};

/** A Single Expense */
export type Expense = {
  created_at: Scalars['String']['output'];
  currency_symbol?: Maybe<query_getExpensesRaw_expenses_items_currency_symbol>;
  document_date?: Maybe<Scalars['String']['output']>;
  document_id?: Maybe<Scalars['String']['output']>;
  document_type?: Maybe<Scalars['String']['output']>;
  file_name: Scalars['String']['output'];
  file_url: Scalars['String']['output'];
  foreign_total_for_payment?: Maybe<Scalars['Float']['output']>;
  original_file_name?: Maybe<Scalars['String']['output']>;
  provider: Scalars['String']['output'];
  provider_business_num: Scalars['String']['output'];
  recognized_vat_payment: Scalars['Float']['output'];
  remarks?: Maybe<Scalars['String']['output']>;
  status_classification: Scalars['String']['output'];
  system_id: Scalars['Int']['output'];
  total_for_payment: Scalars['Float']['output'];
  total_for_vat: Scalars['Float']['output'];
  updated_at: Scalars['String']['output'];
  vat_payment: Scalars['Float']['output'];
};

export type query_getExpensesRaw_expenses_items_currency_symbol =
  | 'EUR'
  | 'USD'
  | 'ILS';

export type getExpensesRequest_Input = {
  api_user?: InputMaybe<Scalars['String']['input']>;
  query_options?: InputMaybe<queryInput_getExpensesRaw_input_query_options_Input>;
};

export type queryInput_getExpensesRaw_input_query_options_Input = {
  updated_from?: InputMaybe<Scalars['String']['input']>;
  updated_to?: InputMaybe<Scalars['String']['input']>;
  created_from?: InputMaybe<Scalars['String']['input']>;
  created_to?: InputMaybe<Scalars['String']['input']>;
  document_date_from?: InputMaybe<Scalars['String']['input']>;
  document_date_to?: InputMaybe<Scalars['String']['input']>;
  document_id?: InputMaybe<Scalars['String']['input']>;
  /** default: -100000000 */
  system_id?: InputMaybe<Scalars['Int']['input']>;
  order?: InputMaybe<document_date_const>;
  /** default: 1 */
  page?: InputMaybe<Scalars['Int']['input']>;
  /** default: 50 */
  per_page?: InputMaybe<Scalars['Int']['input']>;
};

export type document_date_const =
  | 'document_date';

export type HTTPMethod =
  | 'GET'
  | 'HEAD'
  | 'POST'
  | 'PUT'
  | 'DELETE'
  | 'CONNECT'
  | 'OPTIONS'
  | 'TRACE'
  | 'PATCH';

  export type QuerySdk = {
      
  getExpensesRaw: InContextSdkMethod<Query['getExpensesRaw'], QuerygetExpensesRawArgs, BaseMeshContext>,
  
  getExpenses: InContextSdkMethod<Query['getExpenses'], QuerygetExpensesArgs, BaseMeshContext>
  };

  export type MutationSdk = {
    
  };

  export type SubscriptionSdk = {
    
  };

  export type Context = {
      ["Payper"]: { Query: QuerySdk, Mutation: MutationSdk, Subscription: SubscriptionSdk },
      
    };
}
