// Generated from CantonPayments/PaymentStream/Types/PaymentStreamProposalChanges.daml
/* eslint-disable @typescript-eslint/camelcase */
/* eslint-disable @typescript-eslint/no-namespace */
/* eslint-disable @typescript-eslint/no-use-before-define */
import * as jtv from '@mojotech/json-type-validation';
import * as damlTypes from '@daml/types';
/* eslint-disable-next-line @typescript-eslint/no-unused-vars */
import * as damlLedger from '@daml/ledger';

import * as pkg7804375fe5e4c6d5afe067bd314c42fe0b7d005a1300019c73154dd939da4dda from '../../../../Splice/Api/FeaturedAppRightV1';
import * as pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946 from '../../../../DA/Time/Types';

import * as CantonPayments_PaymentStream_Types_PaymentStreamAmount from '../../../../CantonPayments/PaymentStream/Types/PaymentStreamAmount/module';
import * as CantonPayments_PaymentStream_Types_PaymentStreamTime from '../../../../CantonPayments/PaymentStream/Types/PaymentStreamTime/module';

export declare type PaymentStreamProposalChanges = {
  payer: damlTypes.Optional<damlTypes.Party>;
  recipient: damlTypes.Optional<damlTypes.Party>;
  provider: damlTypes.Optional<damlTypes.Party>;
  appRewardBeneficiaries: damlTypes.Optional<pkg7804375fe5e4c6d5afe067bd314c42fe0b7d005a1300019c73154dd939da4dda.Splice.Api.FeaturedAppRightV1.AppRewardBeneficiary[]>;
  recipientPaymentPerDay: damlTypes.Optional<CantonPayments_PaymentStream_Types_PaymentStreamAmount.PaymentStreamAmount>;
  processorPaymentPerDay: damlTypes.Optional<damlTypes.Optional<CantonPayments_PaymentStream_Types_PaymentStreamAmount.PaymentStreamAmount>>;
  paymentsEndAt: damlTypes.Optional<damlTypes.Optional<CantonPayments_PaymentStream_Types_PaymentStreamTime.PaymentStreamExpiration>>;
  prepayWindow: damlTypes.Optional<pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946.DA.Time.Types.RelTime>;
  freeTrialExpiration: damlTypes.Optional<damlTypes.Optional<CantonPayments_PaymentStream_Types_PaymentStreamTime.PaymentStreamExpiration>>;
  description: damlTypes.Optional<damlTypes.Optional<string>>;
  metadata: damlTypes.Optional<damlTypes.Optional<{ [key: string]: string }>>;
  observers: damlTypes.Optional<damlTypes.Party[]>;
};

export declare const PaymentStreamProposalChanges:
  damlTypes.Serializable<PaymentStreamProposalChanges> & {
  }
;

