/**
 * QuickBooks Online Node - Version 1
 * Discriminator: resource=bill, operation=update
 */


interface Credentials {
  quickBooksOAuth2Api: CredentialReference;
}

export type QuickbooksV1BillUpdateParams = {
  resource: 'bill';
  operation: 'update';
/**
 * The ID of the bill to update
 */
    billId?: string | Expression<string> | PlaceholderValue;
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** Accounts Payable account to which the bill will be credited
     * @default {}
     */
    APAccountRef?: {
        /** Details
     */
    details?: {
      /** Name
       */
      name?: string | Expression<string> | PlaceholderValue;
      /** ID
       */
      value?: string | Expression<string> | PlaceholderValue;
    };
  };
    /** Date when the payment of the transaction is due
     */
    DueDate?: string | Expression<string>;
    /** Sales term associated with the transaction
     * @default {}
     */
    SalesTermRef?: {
        /** Details
     */
    details?: {
      /** Name
       */
      name?: string | Expression<string> | PlaceholderValue;
      /** ID
       */
      value?: string | Expression<string> | PlaceholderValue;
    };
  };
    /** Date when the transaction occurred
     */
    TxnDate?: string | Expression<string>;
  };
};

export type QuickbooksV1BillUpdateNode = {
  type: 'n8n-nodes-base.quickbooks';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<QuickbooksV1BillUpdateParams>;
};