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

//#region document-models/billing-statement/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 AddLineItemInput = {
  description: Scalars["String"]["input"];
  id: Scalars["OID"]["input"];
  quantity: Scalars["Float"]["input"];
  totalPriceCash: Scalars["Float"]["input"];
  totalPricePwt: Scalars["Float"]["input"];
  unit: BillingStatementUnitInput;
  unitPriceCash: Scalars["Float"]["input"];
  unitPricePwt: Scalars["Float"]["input"];
};
type BillingStatementLineItem = {
  description: Scalars["String"]["output"];
  id: Scalars["OID"]["output"];
  lineItemTag: Array<BillingStatementTag>;
  quantity: Scalars["Float"]["output"];
  totalPriceCash: Scalars["Float"]["output"];
  totalPricePwt: Scalars["Float"]["output"];
  unit: BillingStatementUnit;
  unitPriceCash: Scalars["Float"]["output"];
  unitPricePwt: Scalars["Float"]["output"];
};
type BillingStatementState = {
  contributor: Maybe<Scalars["PHID"]["output"]>;
  currency: Scalars["String"]["output"];
  dateDue: Maybe<Scalars["DateTime"]["output"]>;
  dateIssued: Scalars["DateTime"]["output"];
  lineItems: Array<BillingStatementLineItem>;
  notes: Maybe<Scalars["String"]["output"]>;
  status: BillingStatementStatus;
  totalCash: Scalars["Float"]["output"];
  totalPowt: Scalars["Float"]["output"];
};
type BillingStatementStatus = "ACCEPTED" | "DRAFT" | "ISSUED" | "PAID" | "REJECTED";
type BillingStatementStatusInput = "ACCEPTED" | "DRAFT" | "ISSUED" | "PAID" | "REJECTED";
type BillingStatementTag = {
  dimension: Scalars["String"]["output"];
  label: Maybe<Scalars["String"]["output"]>;
  value: Scalars["String"]["output"];
};
type BillingStatementUnit = "DAY" | "HOUR" | "MINUTE" | "UNIT";
type BillingStatementUnitInput = "DAY" | "HOUR" | "MINUTE" | "UNIT";
type DeleteLineItemInput = {
  id: Scalars["OID"]["input"];
};
type EditBillingStatementInput = {
  currency?: InputMaybe<Scalars["String"]["input"]>;
  dateDue?: InputMaybe<Scalars["DateTime"]["input"]>;
  dateIssued?: InputMaybe<Scalars["DateTime"]["input"]>;
  notes?: InputMaybe<Scalars["String"]["input"]>;
};
type EditContributorInput = {
  contributor: Scalars["PHID"]["input"];
};
type EditLineItemInput = {
  description?: InputMaybe<Scalars["String"]["input"]>;
  id: Scalars["OID"]["input"];
  quantity?: InputMaybe<Scalars["Float"]["input"]>;
  totalPriceCash?: InputMaybe<Scalars["Float"]["input"]>;
  totalPricePwt?: InputMaybe<Scalars["Float"]["input"]>;
  unit?: InputMaybe<BillingStatementUnitInput>;
  unitPriceCash?: InputMaybe<Scalars["Float"]["input"]>;
  unitPricePwt?: InputMaybe<Scalars["Float"]["input"]>;
};
type EditLineItemTagInput = {
  dimension: Scalars["String"]["input"];
  label?: InputMaybe<Scalars["String"]["input"]>;
  lineItemId: Scalars["OID"]["input"];
  value: Scalars["String"]["input"];
};
type EditStatusInput = {
  status: BillingStatementStatusInput;
};
//#endregion
//#region document-models/billing-statement/v1/gen/types.d.ts
type BillingStatementLocalState = Record<PropertyKey, never>;
type BillingStatementPHState = PHBaseState & {
  global: BillingStatementState;
  local: BillingStatementLocalState;
};
type BillingStatementDocument = PHDocument<BillingStatementPHState>;
//#endregion
//#region document-models/billing-statement/v1/gen/general/actions.d.ts
type EditBillingStatementAction = Action & {
  type: "EDIT_BILLING_STATEMENT";
  input: EditBillingStatementInput;
};
type EditContributorAction = Action & {
  type: "EDIT_CONTRIBUTOR";
  input: EditContributorInput;
};
type EditStatusAction = Action & {
  type: "EDIT_STATUS";
  input: EditStatusInput;
};
type BillingStatementGeneralAction = EditBillingStatementAction | EditContributorAction | EditStatusAction;
//#endregion
//#region document-models/billing-statement/v1/gen/line-items/actions.d.ts
type AddLineItemAction = Action & {
  type: "ADD_LINE_ITEM";
  input: AddLineItemInput;
};
type EditLineItemAction = Action & {
  type: "EDIT_LINE_ITEM";
  input: EditLineItemInput;
};
type DeleteLineItemAction = Action & {
  type: "DELETE_LINE_ITEM";
  input: DeleteLineItemInput;
};
type BillingStatementLineItemsAction = AddLineItemAction | EditLineItemAction | DeleteLineItemAction;
//#endregion
//#region document-models/billing-statement/v1/gen/tags/actions.d.ts
type EditLineItemTagAction = Action & {
  type: "EDIT_LINE_ITEM_TAG";
  input: EditLineItemTagInput;
};
type BillingStatementTagsAction = EditLineItemTagAction;
//#endregion
//#region document-models/billing-statement/v1/gen/actions.d.ts
type BillingStatementAction = BillingStatementGeneralAction | BillingStatementLineItemsAction | BillingStatementTagsAction;
//#endregion
export { Incremental as A, DeleteLineItemInput as C, EditLineItemTagInput as D, EditLineItemInput as E, Maybe as F, Scalars as I, MakeEmpty as M, MakeMaybe as N, EditStatusInput as O, MakeOptional as P, BillingStatementUnitInput as S, EditContributorInput as T, BillingStatementState as _, BillingStatementLineItemsAction as a, BillingStatementTag as b, BillingStatementGeneralAction as c, EditStatusAction as d, BillingStatementDocument as f, BillingStatementLineItem as g, AddLineItemInput as h, AddLineItemAction as i, InputMaybe as j, Exact as k, EditBillingStatementAction as l, BillingStatementPHState as m, BillingStatementTagsAction as n, DeleteLineItemAction as o, BillingStatementLocalState as p, EditLineItemTagAction as r, EditLineItemAction as s, BillingStatementAction as t, EditContributorAction as u, BillingStatementStatus as v, EditBillingStatementInput as w, BillingStatementUnit as x, BillingStatementStatusInput as y };
//# sourceMappingURL=actions-P6q_fLge.d.ts.map