> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory Types

> TypeScript types for Memory system

## Memory Types

```typescript theme={null}
interface MemoryConfig {
  type?: 'conversation' | 'entity' | 'summary' | 'hybrid';
  maxTurns?: number;              // Max conversation turns to keep
  maxTokens?: number;             // Max tokens to keep
  summarizeAfter?: number;        // Trigger summary after N turns
  summarizePrompt?: string;       // Custom prompt for summarization
  summarizeModel?: ModelProvider; // Custom model for summarization
  memoryKey?: string;             // Custom memory key
}

interface MemoryData {
  sessionId: string;
  messages: MemoryMessage[];
  entities: Record<string, any>;
  summary?: string;
  metadata: {
    createdAt: Date;
    updatedAt: Date;
    totalTurns: number;
    totalTokens: number;
  };
}

interface MemoryMessage {
  role: 'user' | 'assistant' | 'system';
  content: string;
  timestamp: Date;
  metadata?: {
    toolsUsed?: string[];
    ragUsed?: boolean;
    model?: string;
    tokens?: number;
  };
}
```

## Next Steps

<CardGroup cols={2}>
  <Card title="RAG Types" icon="database" href="/api-reference/types/rag-types">
    View RAG types
  </Card>

  <Card title="Tool Types" icon="wrench" href="/api-reference/types/tool-types">
    View tool types
  </Card>
</CardGroup>
