/**
 * Chat Memory Manager Node - Version 1
 * Discriminator: mode=insert
 */


/** Insert chat messages into connected memory */
export type LcMemoryManagerV1InsertParams = {
  mode: 'insert';
/**
 * Choose how new messages are inserted into the memory
 * @default insert
 */
    insertMode?: 'insert' | 'override';
/**
 * Chat messages to insert into memory
 * @default {}
 */
    messages?: {
        /** Message
     */
    messageValues?: Array<{
      /** Type Name or ID
       * @default system
       */
      type?: 'ai' | 'system' | 'user' | Expression<string>;
      /** Message
       */
      message?: string | Expression<string> | PlaceholderValue;
      /** Whether to hide the message from the chat UI
       * @default false
       */
      hideFromUI?: boolean | Expression<boolean>;
    }>;
  };
};

export interface LcMemoryManagerV1InsertSubnodeConfig {
  memory?: MemoryInstance;
}

export type LcMemoryManagerV1InsertNode = {
  type: '@n8n/n8n-nodes-langchain.memoryManager';
  version: 1;
  config: NodeConfig<LcMemoryManagerV1InsertParams> & { subnodes?: LcMemoryManagerV1InsertSubnodeConfig };
};