/**
 * Stripe Node - Version 1
 * Discriminator: resource=charge, operation=update
 */


interface Credentials {
  stripeApi: CredentialReference;
}

/** Update a charge */
export type StripeV1ChargeUpdateParams = {
  resource: 'charge';
  operation: 'update';
/**
 * ID of the charge to update
 */
    chargeId?: string | Expression<string> | PlaceholderValue;
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** Arbitrary text to describe the charge to update
     */
    description?: string | Expression<string> | PlaceholderValue;
    /** Set of key-value pairs to attach to the charge to update
     * @default {}
     */
    metadata?: {
        /** Metadata Properties
     */
    metadataProperties?: Array<{
      /** Key
       */
      key?: string | Expression<string> | PlaceholderValue;
      /** Value
       */
      value?: string | Expression<string> | PlaceholderValue;
    }>;
  };
    /** The email address to which the receipt for this charge will be sent
     */
    receipt_email?: string | Expression<string> | PlaceholderValue;
    /** Shipping information for the charge
     * @default {}
     */
    shipping?: {
        /** Shipping Properties
     */
    shippingProperties?: Array<{
      /** Recipient Name
       */
      name?: string | Expression<string> | PlaceholderValue;
      /** Recipient Address
       * @default {}
       */
      address?: {
        /** Details
     */
    details?: {
      /** Address line 1 (e.g. street, PO Box, or company name)
       */
      line1?: string | Expression<string> | PlaceholderValue;
      /** Address line 2 (e.g. apartment, suite, unit, or building)
       */
      line2?: string | Expression<string> | PlaceholderValue;
      /** City, district, suburb, town, or village
       */
      city?: string | Expression<string> | PlaceholderValue;
      /** State, county, province, or region
       */
      state?: string | Expression<string> | PlaceholderValue;
      /** Two-letter country code (&lt;a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2"&gt;ISO 3166-1 alpha-2&lt;/a&gt;)
       */
      country?: string | Expression<string> | PlaceholderValue;
      /** ZIP or postal code
       */
      postal_code?: string | Expression<string> | PlaceholderValue;
    };
  };
    }>;
  };
  };
};

export type StripeV1ChargeUpdateNode = {
  type: 'n8n-nodes-base.stripe';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<StripeV1ChargeUpdateParams>;
};