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

//#region document-models/snapshot-report/v1/gen/configuration/actions.d.ts
type SetReportConfigAction = Action & {
  type: "SET_REPORT_CONFIG";
  input: SetReportConfigInput;
};
type SetAccountsDocumentAction = Action & {
  type: "SET_ACCOUNTS_DOCUMENT";
  input: SetAccountsDocumentInput;
};
type SetPeriodAction = Action & {
  type: "SET_PERIOD";
  input: SetPeriodInput;
};
type AddOwnerIdAction = Action & {
  type: "ADD_OWNER_ID";
  input: AddOwnerIdInput;
};
type SetPeriodStartAction = Action & {
  type: "SET_PERIOD_START";
  input: SetPeriodStartInput;
};
type SetPeriodEndAction = Action & {
  type: "SET_PERIOD_END";
  input: SetPeriodEndInput;
};
type RemoveOwnerIdAction = Action & {
  type: "REMOVE_OWNER_ID";
  input: RemoveOwnerIdInput;
};
type SnapshotReportConfigurationAction = SetReportConfigAction | SetAccountsDocumentAction | SetPeriodAction | AddOwnerIdAction | SetPeriodStartAction | SetPeriodEndAction | RemoveOwnerIdAction;
//#endregion
//#region document-models/snapshot-report/v1/gen/accounts/actions.d.ts
type AddSnapshotAccountAction = Action & {
  type: "ADD_SNAPSHOT_ACCOUNT";
  input: AddSnapshotAccountInput;
};
type UpdateSnapshotAccountTypeAction = Action & {
  type: "UPDATE_SNAPSHOT_ACCOUNT_TYPE";
  input: UpdateSnapshotAccountTypeInput;
};
type RemoveSnapshotAccountAction = Action & {
  type: "REMOVE_SNAPSHOT_ACCOUNT";
  input: RemoveSnapshotAccountInput;
};
type SnapshotReportAccountsAction = AddSnapshotAccountAction | UpdateSnapshotAccountTypeAction | RemoveSnapshotAccountAction;
//#endregion
//#region document-models/snapshot-report/v1/gen/balances/actions.d.ts
type SetStartingBalanceAction = Action & {
  type: "SET_STARTING_BALANCE";
  input: SetStartingBalanceInput;
};
type SetEndingBalanceAction = Action & {
  type: "SET_ENDING_BALANCE";
  input: SetEndingBalanceInput;
};
type RemoveStartingBalanceAction = Action & {
  type: "REMOVE_STARTING_BALANCE";
  input: RemoveStartingBalanceInput;
};
type RemoveEndingBalanceAction = Action & {
  type: "REMOVE_ENDING_BALANCE";
  input: RemoveEndingBalanceInput;
};
type SnapshotReportBalancesAction = SetStartingBalanceAction | SetEndingBalanceAction | RemoveStartingBalanceAction | RemoveEndingBalanceAction;
//#endregion
//#region document-models/snapshot-report/v1/gen/transactions/actions.d.ts
type AddTransactionAction = Action & {
  type: "ADD_TRANSACTION";
  input: AddTransactionInput;
};
type RemoveTransactionAction = Action & {
  type: "REMOVE_TRANSACTION";
  input: RemoveTransactionInput;
};
type UpdateTransactionFlowTypeAction = Action & {
  type: "UPDATE_TRANSACTION_FLOW_TYPE";
  input: UpdateTransactionFlowTypeInput;
};
type RecalculateFlowTypesAction = Action & {
  type: "RECALCULATE_FLOW_TYPES";
  input: RecalculateFlowTypesInput;
};
type SnapshotReportTransactionsAction = AddTransactionAction | RemoveTransactionAction | UpdateTransactionFlowTypeAction | RecalculateFlowTypesAction;
//#endregion
//#region document-models/snapshot-report/v1/gen/actions.d.ts
type SnapshotReportAction = SnapshotReportConfigurationAction | SnapshotReportAccountsAction | SnapshotReportBalancesAction | SnapshotReportTransactionsAction;
//#endregion
//#region document-models/snapshot-report/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 AccountType = "Destination" | "External" | "Internal" | "Source";
type AccountTypeInput = "Destination" | "External" | "Internal" | "Source";
type AddOwnerIdInput = {
  ownerId: Scalars["PHID"]["input"];
};
type AddSnapshotAccountInput = {
  accountAddress: Scalars["String"]["input"];
  accountId: Scalars["OID"]["input"];
  accountName: Scalars["String"]["input"];
  accountTransactionsId?: InputMaybe<Scalars["PHID"]["input"]>;
  id: Scalars["OID"]["input"];
  type: AccountTypeInput;
};
type AddTransactionInput = {
  accountId: Scalars["OID"]["input"];
  amount: Scalars["Amount_Currency"]["input"];
  blockNumber?: InputMaybe<Scalars["Int"]["input"]>;
  counterParty?: InputMaybe<Scalars["EthereumAddress"]["input"]>;
  counterPartyAccountId?: InputMaybe<Scalars["OID"]["input"]>;
  datetime: Scalars["DateTime"]["input"];
  direction: TransactionDirectionInput;
  flowType?: InputMaybe<TransactionFlowTypeInput>;
  id: Scalars["OID"]["input"];
  token: Scalars["Currency"]["input"];
  transactionId: Scalars["String"]["input"];
  txHash: Scalars["String"]["input"];
};
type RecalculateFlowTypesInput = {
  _?: InputMaybe<Scalars["String"]["input"]>;
};
type RemoveEndingBalanceInput = {
  accountId: Scalars["OID"]["input"];
  balanceId: Scalars["OID"]["input"];
};
type RemoveOwnerIdInput = {
  ownerId: Scalars["PHID"]["input"];
};
type RemoveSnapshotAccountInput = {
  id: Scalars["OID"]["input"];
};
type RemoveStartingBalanceInput = {
  accountId: Scalars["OID"]["input"];
  balanceId: Scalars["OID"]["input"];
};
type RemoveTransactionInput = {
  id: Scalars["OID"]["input"];
};
type SetAccountsDocumentInput = {
  accountsDocumentId: Scalars["PHID"]["input"];
};
type SetEndingBalanceInput = {
  accountId: Scalars["OID"]["input"];
  amount: Scalars["Amount_Currency"]["input"];
  balanceId: Scalars["OID"]["input"];
  token: Scalars["Currency"]["input"];
};
type SetPeriodEndInput = {
  periodEnd: Scalars["DateTime"]["input"];
};
type SetPeriodInput = {
  endDate: Scalars["DateTime"]["input"];
  startDate: Scalars["DateTime"]["input"];
};
type SetPeriodStartInput = {
  periodStart: Scalars["DateTime"]["input"];
};
type SetReportConfigInput = {
  accountsDocumentId?: InputMaybe<Scalars["PHID"]["input"]>;
  endDate?: InputMaybe<Scalars["DateTime"]["input"]>;
  reportName?: InputMaybe<Scalars["String"]["input"]>;
  startDate?: InputMaybe<Scalars["DateTime"]["input"]>;
};
type SetStartingBalanceInput = {
  accountId: Scalars["OID"]["input"];
  amount: Scalars["Amount_Currency"]["input"];
  balanceId: Scalars["OID"]["input"];
  token: Scalars["Currency"]["input"];
};
type SnapshotAccount = {
  accountAddress: Scalars["String"]["output"];
  accountId: Scalars["OID"]["output"];
  accountName: Scalars["String"]["output"];
  accountTransactionsId: Maybe<Scalars["PHID"]["output"]>;
  endingBalances: Array<TokenBalance>;
  id: Scalars["OID"]["output"];
  startingBalances: Array<TokenBalance>;
  transactions: Array<SnapshotTransaction>;
  type: AccountType;
};
type SnapshotReportState = {
  accountsDocumentId: Maybe<Scalars["PHID"]["output"]>;
  endDate: Maybe<Scalars["DateTime"]["output"]>;
  ownerIds: Array<Scalars["PHID"]["output"]>;
  reportName: Maybe<Scalars["String"]["output"]>;
  reportPeriodEnd: Maybe<Scalars["DateTime"]["output"]>;
  reportPeriodStart: Maybe<Scalars["DateTime"]["output"]>;
  snapshotAccounts: Array<SnapshotAccount>;
  startDate: Maybe<Scalars["DateTime"]["output"]>;
};
type SnapshotTransaction = {
  amount: Scalars["Amount_Currency"]["output"];
  blockNumber: Maybe<Scalars["Int"]["output"]>;
  counterParty: Maybe<Scalars["EthereumAddress"]["output"]>;
  counterPartyAccountId: Maybe<Scalars["OID"]["output"]>;
  datetime: Scalars["DateTime"]["output"];
  direction: TransactionDirection;
  flowType: Maybe<TransactionFlowType>;
  id: Scalars["OID"]["output"];
  token: Scalars["Currency"]["output"];
  transactionId: Scalars["String"]["output"];
  txHash: Scalars["String"]["output"];
};
type TokenBalance = {
  amount: Scalars["Amount_Currency"]["output"];
  id: Scalars["OID"]["output"];
  token: Scalars["Currency"]["output"];
};
type TransactionDirection = "INFLOW" | "OUTFLOW";
type TransactionDirectionInput = "INFLOW" | "OUTFLOW";
type TransactionFlowType = "External" | "Internal" | "Return" | "Swap" | "TopUp";
type TransactionFlowTypeInput = "External" | "Internal" | "Return" | "Swap" | "TopUp";
type UpdateSnapshotAccountTypeInput = {
  id: Scalars["OID"]["input"];
  type: AccountTypeInput;
};
type UpdateTransactionFlowTypeInput = {
  flowType: TransactionFlowTypeInput;
  id: Scalars["OID"]["input"];
};
//#endregion
//#region document-models/snapshot-report/v1/gen/types.d.ts
type SnapshotReportLocalState = Record<PropertyKey, never>;
type SnapshotReportPHState = PHBaseState & {
  global: SnapshotReportState;
  local: SnapshotReportLocalState;
};
type SnapshotReportDocument = PHDocument<SnapshotReportPHState>;
//#endregion
export { SnapshotReportAccountsAction as $, SnapshotAccount as A, SnapshotReportAction as B, SetAccountsDocumentInput as C, SetPeriodStartInput as D, SetPeriodInput as E, TransactionDirectionInput as F, UpdateTransactionFlowTypeAction as G, RecalculateFlowTypesAction as H, TransactionFlowType as I, SetEndingBalanceAction as J, RemoveEndingBalanceAction as K, TransactionFlowTypeInput as L, SnapshotTransaction as M, TokenBalance as N, SetReportConfigInput as O, TransactionDirection as P, RemoveSnapshotAccountAction as Q, UpdateSnapshotAccountTypeInput as R, Scalars as S, SetPeriodEndInput as T, RemoveTransactionAction as U, AddTransactionAction as V, SnapshotReportTransactionsAction as W, SnapshotReportBalancesAction as X, SetStartingBalanceAction as Y, AddSnapshotAccountAction as Z, RemoveEndingBalanceInput as _, AccountTypeInput as a, SetPeriodEndAction as at, RemoveStartingBalanceInput as b, AddTransactionInput as c, SnapshotReportConfigurationAction as ct, InputMaybe as d, UpdateSnapshotAccountTypeAction as et, MakeEmpty as f, RecalculateFlowTypesInput as g, Maybe as h, AccountType as i, SetPeriodAction as it, SnapshotReportState as j, SetStartingBalanceInput as k, Exact as l, MakeOptional as m, SnapshotReportLocalState as n, RemoveOwnerIdAction as nt, AddOwnerIdInput as o, SetPeriodStartAction as ot, MakeMaybe as p, RemoveStartingBalanceAction as q, SnapshotReportPHState as r, SetAccountsDocumentAction as rt, AddSnapshotAccountInput as s, SetReportConfigAction as st, SnapshotReportDocument as t, AddOwnerIdAction as tt, Incremental as u, RemoveOwnerIdInput as v, SetEndingBalanceInput as w, RemoveTransactionInput as x, RemoveSnapshotAccountInput as y, UpdateTransactionFlowTypeInput as z };
//# sourceMappingURL=types-Drz27HWv.d.ts.map