package imapclient import ( "context" "email-mcp/internal/secretstore" ) type Mailbox struct { Name string `json:"name"` } type MessageSummary struct { UID uint32 `json:"uid"` Subject string `json:"subject"` From string `json:"from"` } type Header struct { Name string `json:"name"` Value string `json:"value"` } type Message struct { UID uint32 `json:"uid"` Mailbox string `json:"mailbox"` Headers []Header `json:"headers"` Body string `json:"body"` } type Backend interface { ListMailboxes(context.Context, secretstore.Credential) ([]Mailbox, error) ListMessages(context.Context, secretstore.Credential, string, int) ([]MessageSummary, error) GetMessage(context.Context, secretstore.Credential, string, uint32) (Message, error) }