/**
 * Twist Node - Version 1
 * Discriminator: resource=messageConversation, operation=create
 */


interface Credentials {
  twistOAuth2Api: CredentialReference;
}

/** Initiates a public or private channel-based conversation */
export type TwistV1MessageConversationCreateParams = {
  resource: 'messageConversation';
  operation: 'create';
/**
 * The ID of the workspace. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
 */
    workspaceId?: string | Expression<string>;
/**
 * The ID of the conversation. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
 */
    conversationId?: string | Expression<string>;
/**
 * The content of the new message. Mentions can be used as &lt;code&gt;[Name](twist-mention://user_id)&lt;/code&gt; for users or &lt;code&gt;[Group name](twist-group-mention://group_id)&lt;/code&gt; for groups.
 */
    content?: string | Expression<string> | PlaceholderValue;
/**
 * Other options to set
 * @default {}
 */
    additionalFields?: {
    /** Actions
     * @default {}
     */
    actionsUi?: {
        /** Action
     */
    actionValues?: Array<{
      /** The action of the button
       */
      action?: 'open_url' | 'prefill_message' | 'send_reply' | Expression<string>;
      /** The text for the action button
       */
      button_text?: string | Expression<string> | PlaceholderValue;
      /** The text for the action button
       * @displayOptions.show { action: ["send_reply", "prefill_message"] }
       */
      message?: string | Expression<string> | PlaceholderValue;
      /** The type of the button. (Currently only &lt;code&gt;action&lt;/code&gt; is available).
       */
      type?: 'action' | Expression<string>;
      /** URL to redirect
       * @displayOptions.show { action: ["open_url"] }
       */
      url?: string | Expression<string> | PlaceholderValue;
    }>;
  };
    /** Name of the property that holds the binary data. Multiple can be defined separated by comma.
     * @default data
     */
    binaryProperties?: string | Expression<string> | PlaceholderValue;
    /** The users that are directly mentioned. Choose from the list, or specify IDs using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     * @default []
     */
    direct_mentions?: string[];
  };
};

export type TwistV1MessageConversationCreateNode = {
  type: 'n8n-nodes-base.twist';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<TwistV1MessageConversationCreateParams>;
};