import { S as PHDocument, i as Action, x as PHBaseState } from "./index-BWXRiGBX.js";

//#region document-models/account-transactions/v1/gen/schema/types.d.ts
type Maybe<T> = T | null | undefined;
type InputMaybe<T> = T | null | undefined;
type Exact<T extends {
  [key: string]: unknown;
}> = { [K in keyof T]: T[K] };
type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
type MakeEmpty<T extends {
  [key: string]: unknown;
}, K extends keyof T> = { [_ in K]?: never };
type Incremental<T> = T | { [P in keyof T]?: P extends " $fragmentName" | "__typename" ? T[P] : never };
/** All built-in and custom scalars, mapped to their actual values */
type Scalars = {
  ID: {
    input: string;
    output: string;
  };
  String: {
    input: string;
    output: string;
  };
  Boolean: {
    input: boolean;
    output: boolean;
  };
  Int: {
    input: number;
    output: number;
  };
  Float: {
    input: number;
    output: number;
  };
  Address: {
    input: `${string}:0x${string}`;
    output: `${string}:0x${string}`;
  };
  Amount: {
    input: {
      unit?: string;
      value?: number;
    };
    output: {
      unit?: string;
      value?: number;
    };
  };
  Amount_Crypto: {
    input: {
      unit: string;
      value: string;
    };
    output: {
      unit: string;
      value: string;
    };
  };
  Amount_Currency: {
    input: {
      unit: string;
      value: string;
    };
    output: {
      unit: string;
      value: string;
    };
  };
  Amount_Fiat: {
    input: {
      unit: string;
      value: number;
    };
    output: {
      unit: string;
      value: number;
    };
  };
  Amount_Money: {
    input: number;
    output: number;
  };
  Amount_Percentage: {
    input: number;
    output: number;
  };
  Amount_Tokens: {
    input: number;
    output: number;
  };
  Attachment: {
    input: string;
    output: string;
  };
  Currency: {
    input: string;
    output: string;
  };
  Date: {
    input: string;
    output: string;
  };
  DateTime: {
    input: string;
    output: string;
  };
  EmailAddress: {
    input: string;
    output: string;
  };
  EthereumAddress: {
    input: string;
    output: string;
  };
  OID: {
    input: string;
    output: string;
  };
  OLabel: {
    input: string;
    output: string;
  };
  PHID: {
    input: string;
    output: string;
  };
  URL: {
    input: string;
    output: string;
  };
  Unknown: {
    input: unknown;
    output: unknown;
  };
  Upload: {
    input: File;
    output: File;
  };
};
type Account = {
  KycAmlStatus: Maybe<Scalars["String"]["output"]>;
  account: Scalars["String"]["output"];
  accountTransactionsId: Maybe<Scalars["PHID"]["output"]>;
  budgetPath: Maybe<Scalars["String"]["output"]>;
  chain: Maybe<Array<Scalars["String"]["output"]>>;
  id: Scalars["OID"]["output"];
  name: Scalars["String"]["output"];
  owners: Maybe<Array<Scalars["String"]["output"]>>;
  type: Maybe<Scalars["String"]["output"]>;
};
type AccountTransactionsState = {
  account: Account;
  budgets: Array<Budget>;
  transactions: Array<TransactionEntry>;
};
type AddBudgetInput = {
  id: Scalars["OID"]["input"];
  name?: InputMaybe<Scalars["OLabel"]["input"]>;
};
type AddTransactionInput = {
  accountingPeriod: Scalars["String"]["input"];
  amount: Scalars["Amount_Currency"]["input"];
  blockNumber?: InputMaybe<Scalars["Int"]["input"]>;
  budget?: InputMaybe<Scalars["OID"]["input"]>;
  counterParty?: InputMaybe<Scalars["EthereumAddress"]["input"]>;
  datetime: Scalars["DateTime"]["input"];
  direction: TransactionDirectionInput;
  id: Scalars["ID"]["input"];
  token: Scalars["Currency"]["input"];
  txHash: Scalars["String"]["input"];
  uniqueId?: InputMaybe<Scalars["String"]["input"]>;
};
type Budget = {
  id: Scalars["OID"]["output"];
  name: Maybe<Scalars["OLabel"]["output"]>;
};
type DeleteBudgetInput = {
  id: Scalars["OID"]["input"];
};
type DeleteTransactionInput = {
  id: Scalars["ID"]["input"];
};
type SetAccountInput = {
  KycAmlStatus?: InputMaybe<Scalars["String"]["input"]>;
  account: Scalars["String"]["input"];
  accountTransactionsId?: InputMaybe<Scalars["PHID"]["input"]>;
  budgetPath?: InputMaybe<Scalars["String"]["input"]>;
  chain?: InputMaybe<Array<Scalars["String"]["input"]>>;
  id: Scalars["OID"]["input"];
  name: Scalars["String"]["input"];
  owners?: InputMaybe<Array<Scalars["String"]["input"]>>;
  type?: InputMaybe<Scalars["String"]["input"]>;
};
type TransactionDetails = {
  blockNumber: Maybe<Scalars["Int"]["output"]>;
  token: Scalars["Currency"]["output"];
  txHash: Scalars["String"]["output"];
  uniqueId: Maybe<Scalars["String"]["output"]>;
};
type TransactionDirection = "INFLOW" | "OUTFLOW";
type TransactionDirectionInput = "INFLOW" | "OUTFLOW";
type TransactionEntry = {
  accountingPeriod: Scalars["String"]["output"];
  amount: Scalars["Amount_Currency"]["output"];
  budget: Maybe<Scalars["OID"]["output"]>;
  counterParty: Maybe<Scalars["EthereumAddress"]["output"]>;
  datetime: Scalars["DateTime"]["output"];
  details: TransactionDetails;
  direction: TransactionDirection;
  id: Scalars["ID"]["output"];
};
type UpdateBudgetInput = {
  id: Scalars["OID"]["input"];
  name?: InputMaybe<Scalars["OLabel"]["input"]>;
};
type UpdateTransactionInput = {
  accountingPeriod?: InputMaybe<Scalars["String"]["input"]>;
  amount?: InputMaybe<Scalars["Amount_Currency"]["input"]>;
  blockNumber?: InputMaybe<Scalars["Int"]["input"]>;
  budget?: InputMaybe<Scalars["OID"]["input"]>;
  counterParty?: InputMaybe<Scalars["EthereumAddress"]["input"]>;
  datetime?: InputMaybe<Scalars["DateTime"]["input"]>;
  direction?: InputMaybe<TransactionDirectionInput>;
  id: Scalars["ID"]["input"];
  token?: InputMaybe<Scalars["Currency"]["input"]>;
  txHash?: InputMaybe<Scalars["String"]["input"]>;
  uniqueId?: InputMaybe<Scalars["String"]["input"]>;
};
type UpdateTransactionPeriodInput = {
  accountingPeriod: Scalars["String"]["input"];
  id: Scalars["ID"]["input"];
};
//#endregion
//#region document-models/account-transactions/v1/gen/types.d.ts
type AccountTransactionsLocalState = Record<PropertyKey, never>;
type AccountTransactionsPHState = PHBaseState & {
  global: AccountTransactionsState;
  local: AccountTransactionsLocalState;
};
type AccountTransactionsDocument = PHDocument<AccountTransactionsPHState>;
//#endregion
//#region document-models/account-transactions/v1/gen/account/actions.d.ts
type SetAccountAction = Action & {
  type: "SET_ACCOUNT";
  input: SetAccountInput;
};
type AccountTransactionsAccountAction = SetAccountAction;
//#endregion
//#region document-models/account-transactions/v1/gen/transactions/actions.d.ts
type AddTransactionAction = Action & {
  type: "ADD_TRANSACTION";
  input: AddTransactionInput;
};
type UpdateTransactionAction = Action & {
  type: "UPDATE_TRANSACTION";
  input: UpdateTransactionInput;
};
type DeleteTransactionAction = Action & {
  type: "DELETE_TRANSACTION";
  input: DeleteTransactionInput;
};
type UpdateTransactionPeriodAction = Action & {
  type: "UPDATE_TRANSACTION_PERIOD";
  input: UpdateTransactionPeriodInput;
};
type AccountTransactionsTransactionsAction = AddTransactionAction | UpdateTransactionAction | DeleteTransactionAction | UpdateTransactionPeriodAction;
//#endregion
//#region document-models/account-transactions/v1/gen/budgets/actions.d.ts
type AddBudgetAction = Action & {
  type: "ADD_BUDGET";
  input: AddBudgetInput;
};
type UpdateBudgetAction = Action & {
  type: "UPDATE_BUDGET";
  input: UpdateBudgetInput;
};
type DeleteBudgetAction = Action & {
  type: "DELETE_BUDGET";
  input: DeleteBudgetInput;
};
type AccountTransactionsBudgetsAction = AddBudgetAction | UpdateBudgetAction | DeleteBudgetAction;
//#endregion
//#region document-models/account-transactions/v1/gen/actions.d.ts
type AccountTransactionsAction = AccountTransactionsAccountAction | AccountTransactionsTransactionsAction | AccountTransactionsBudgetsAction;
//#endregion
export { Scalars as A, Exact as C, MakeMaybe as D, MakeEmpty as E, TransactionEntry as F, UpdateBudgetInput as I, UpdateTransactionInput as L, TransactionDetails as M, TransactionDirection as N, MakeOptional as O, TransactionDirectionInput as P, UpdateTransactionPeriodInput as R, DeleteTransactionInput as S, InputMaybe as T, AccountTransactionsState as _, UpdateBudgetAction as a, Budget as b, DeleteTransactionAction as c, AccountTransactionsAccountAction as d, SetAccountAction as f, Account as g, AccountTransactionsPHState as h, DeleteBudgetAction as i, SetAccountInput as j, Maybe as k, UpdateTransactionAction as l, AccountTransactionsLocalState as m, AccountTransactionsBudgetsAction as n, AccountTransactionsTransactionsAction as o, AccountTransactionsDocument as p, AddBudgetAction as r, AddTransactionAction as s, AccountTransactionsAction as t, UpdateTransactionPeriodAction as u, AddBudgetInput as v, Incremental as w, DeleteBudgetInput as x, AddTransactionInput as y };
//# sourceMappingURL=actions-CYBR_1mh.d.ts.map