/**
 * Zulip Node - Version 1
 * Discriminator: resource=message, operation=update
 */


interface Credentials {
  zulipApi: CredentialReference;
}

/** Update a message */
export type ZulipV1MessageUpdateParams = {
  resource: 'message';
  operation: 'update';
/**
 * Unique identifier for the message
 */
    messageId?: string | Expression<string> | PlaceholderValue;
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** The content of the message
     */
    content?: string | Expression<string> | PlaceholderValue;
    /** Which message(s) should be edited: just the one indicated in message_id, messages in the same topic that had been sent after this one, or all of them
     * @default changeOne
     */
    propagateMode?: 'changeOne' | 'changeLater' | 'changeAll' | Expression<string>;
    /** The topic of the message. Only required for stream messages.
     */
    topic?: string | Expression<string> | PlaceholderValue;
  };
};

export type ZulipV1MessageUpdateNode = {
  type: 'n8n-nodes-base.zulip';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<ZulipV1MessageUpdateParams>;
};